NLTK Word Tokenizer в записной книжке Python - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь найти часто встречающиеся слова в кадре данных, где каждая строка состоит из многострочной строки.

from nltk.tokenize import word_tokenize
from nltk.tokenize import sent_tokenize
tokens = [word for sent in nltk.sent_tokenize(df['file_data'].to_string()) for 
         word in nltk.word_tokenize(sent)]

Наиболее распространенное слово

Здесь, (...) как наиболее распространенное слово, но на самом деле его нет ни в одной строке.По умолчанию записная книжка на многострочном принте (...) представляет продолжение.Но проблема в том, что nltk считает (...) словом и на этом заканчивается.Он пропускает оставшиеся слова в строке.Пожалуйста, дайте мне знать, где мне не хватает, заранее спасибо.

1 Ответ

0 голосов
/ 18 декабря 2018

Мне кажется, что это не целевое использование to_string(), которое, насколько я понимаю, предназначено для консольного вывода (хотя я могу ошибаться).Как насчет:

from nltk.tokenize import word_tokenize
from nltk.tokenize import sent_tokenize
tokens = [word for row in df['file_data'].apply(nltk.sent_tokenize).values for sent in row for 
         word in nltk.word_tokenize(sent)]

Я не уверен, что это сработает так, как задумано, если вы опубликуете короткий образец данных, которые я могу проверить.

...