Я хочу (прочитать) книгу (в текстовом файле) в том виде, в каком она есть в ее текущем виде.Формат книги в текстовом файле, например
В трудах Американского математического общества, том 9, страницы 541–544, 1958. [314] Р. Де Никола и Ф. Ваандрагер.Три логики для ветвления бисимуляции (расширенная аннотация).В 5-м ежегодном симпозиуме IEEE по логике в информатике (LICS), стр. 118–129.IEEE Computer Society Press, Springer-Verlag, 1990. [315] X. Николлин и Ж.-Л.Ричье и Дж. Сифакис и Дж. Вуарон.АТФ: алгебра для временных процессов.В рабочей конференции IFIP TC2 «Концепции и методы программирования», стр. 402–427.Северная Голландия, 1990.
Книгой может быть любая книга (файл .txt) объемом 400 или более страниц.
Я пытаюсь сделать следующее: прежде всего яразбить каждое предложение книги (текстовый файл) на список, используя sent_tokenize
.После этого теперь в файле есть список предложений по отношению к входному текстовому файлу, и мне нужно записать файл (как и со списком предложений) в новый файл.
Программа выполнена успешно, но когда я открываю новый сгенерированный файл, который, как предполагается, содержит предложение списков, он печатает пробел [] [] [].Я надеюсь, что есть некоторые проблемы с кодировкой.Это вывод, похожий на
Мне интересно выяснить эту проблему.Любая помощь приветствуется.
Код, который я пробовал, выглядит следующим образом:
import nltk, re
import string
from collections import Counter
from string import punctuation
from nltk.tokenize import TweetTokenizer, sent_tokenize, word_tokenize
from nltk.corpus import gutenberg, stopwords
from nltk.stem import WordNetLemmatizer
def remove_punctuation(from_text):
table = str.maketrans('', '', string.punctuation)
stripped = [w.translate(table) for w in from_text]
return stripped
def preprocessing():
with open("F:\\Pen Drive 8 GB\\PDF\\Code\\Books Handbooks\\Books Handbooks Text\\b1.txt", encoding="utf-8") as f:
tokens_sentences = sent_tokenize(f.read())
tokens = [[word.lower() for word in line.split()] for line in tokens_sentences]
global stripped_tokens
stripped_tokens = [remove_punctuation(i) for i in tokens]
sw = (stopwords.words('english'))
filter_set = [[token for token in sentence if (token.lower() not in sw and token.isalnum() and token.isalpha() and re.findall(r"[^_ .'\"-[A-Za-z]]+", token))] for sentence in stripped_tokens]
lemma = WordNetLemmatizer()
lem = []
for w in filter_set:
lem.append([wi for wi in map(lemma.lemmatize, w)])
return lem
result = preprocessing()
with open('F:\\Pen Drive 8 GB\\PDF\\Code\\Books Handbooks\\Books Handbooks Text\\b1list.txt', "w", encoding="utf-8") as f:
for e in result[:]:
f.write(str(e))
preprocessing()