Весь текст сохраняется в одну строку - PullRequest
0 голосов
/ 27 августа 2018

Итак, я пытался использовать NLTK из Python для выполнения части тегов речи в текстовом файле. Это код, который я использовал

import nltk
from nltk import word_tokenize, pos_tag
f = open('all.txt')
raw = f.read()
text = word_tokenize(raw)
paosted = nltk.pos_tag(text)
saveFile = open('ol.txt', 'w')
saveFile.write(str(paosted))
saveFile.close()

Код работал, но проблема в том, что он сохранил весь текст в одну строку, как показано на прилагаемом рисунке. как показано здесь .. Я знаю, что должен использовать функцию "\ n", но я новичок в Python и не знаю, как это сделать, поэтому любая помощь будет принята :) :)

                      -------- UPDATE -----------

ХОРОШО, Люди действительно помогли и предложили некоторые решения, то есть этот код:

import nltk
from nltk import word_tokenize, pos_tag
f = open('all.txt')
raw = f.read()
text = word_tokenize(raw)
paosted = nltk.pos_tag(text)
saveFile.write(str(paosted).replace('),' ,  '),\n'))
saveFile.close()

Но мне все еще нужно иметь его в форме абзаца, потому что я собираюсь использовать его в программном обеспечении согласования. Пожалуйста, посмотрите на этот скриншот: https://i.stack.imgur.com/tU1NW.png

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Обновление моего ответа соответственно,

temp = []
for i in paosted:
    temp.append("_".join(i))

" ".join(temp)
0 голосов
/ 29 августа 2018

Спасибо всем! Я следовал некоторым вашим инструкциям, и лучший результат, который я получил, был с этим кодом:

import nltk
from nltk import word_tokenize, pos_tag
f = open('all.txt')
raw = f.read()
text = word_tokenize(raw)
paosted = nltk.pos_tag(text)
saveFile = open('output.txt', 'w')
saveFile.write(str(paosted).replace("('.', '.')" ,  "\n"))
saveFile.close()
0 голосов
/ 27 августа 2018

paosted - это список кортежей, которые вы можете перебирать и записывать каждый кортеж в строку

Ex:

paosted = nltk.pos_tag(text)
saveFile = open('ol.txt', 'w')
for line in paosted:
    saveFile.write(str(line)+ "\n")
saveFile.close()
...