Я использую язык Python для задач обработки естественного языка, и я сталкиваюсь с следующая проблема: у меня есть вектор предложений типа pandas.core.series.Series, и я хочу разбить каждое предложение (один столбец) на четыре отдельных предложения (четыре столбца), взяв в качестве ссылки для разрыва основного предложения четыре ключевые строки.
Предложения имеют следующую общую структуру:
Задача: USUÁRIO INFORMA QUE HÁ UMA NF REJEITADA NO SISTEMA. Причина: Нет SAP имеет доступ к преобразователю информации «UF», если клиент находится снаружи, и не существует для Transportadores.Desse modo, примечание фискального é rejeitada por ter um valor несовместимо с тегом nesta no XML. Решение: Для того, чтобы использовать триангулус для реализации, чтобы установить палитру, разрешить или проверить и авторизовать фискальную ноту. Reforçamos que seria needária uma Melhoria para correção Definitiva do проблема. Пользователь: Карлос Донтел. ИСПРАВЛЕНИЕ ОШИБКИ: 10745625
Строки, выделенные жирным шрифтом, - это ключи, которые я хочу использовать для разделения предложений, например, Проблема: , Причина: , Решение: ] и Пользователь: .
Можно ли сделать это с помощью Python?
Выполните итерации пословно и добавьте новые строки перед каждым ключевым словом, если Вы видите тот.
#!/usr/bin/env python3
import sys
word_list=['Problem:','Cause:',
'Solution:','User:']
with open(sys.argv[1]) as f:
for line in f:
for word in line.strip().split():
if word in word_list:
print("\n"+word,end=" ")
else:
print(word,end=" ")