Divide uma sentença em múltiplas sentenças usando strings de chave [closed]

0

Estou usando a linguagem python para tarefas de processamento de linguagem natural e estou encontrando o seguinte problema: Eu tenho um vetor de sentenças do tipo pandas.core.series.Series e quero dividir cada sentença (uma coluna) em quatro frases separadas (quatro colunas) tomando como referência para quebrar a frase principal quatro cordas principais.

As frases têm a seguinte estrutura geral:

Problema: USUÁRIO INFORMA QUE HÁ UMA NF REJEITADA NO SISTEMA. Causa: Atualmente não existe uma solução para o conversor de informações "UF" quando o cliente é exterior, pois essa tratator ainda não existe para Transportadores. Desse modo, uma nota fiscal é rejeitada por um valor incompatível nesta tag no XML. Solução: foi necessária a realização de uma nova tentativa de reajuste de capital e de ajuste da ação fiscal. Requeção que seria necessária para melhorar a correção definitiva do problema. Usuário: Carlos Dontel. CORRECÇÃO: 10745625

As strings em negrito são as chaves que eu quero usar dividir minhas frases, ou seja, Problema: , Causa: , Solução: e Utilizador: .

É possível realizar isso usando python?

    
por Rodrigo Cesar Silva 02.02.2017 / 22:15

1 resposta

1

Iterar palavra por palavra e acrescentar novas linhas antes de cada palavra-chave, se você vir uma.

#!/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=" ") 
    
por Sergiy Kolodyazhnyy 02.02.2017 / 23:08