簡體   English   中英

Python筆記本中的Nltk Word令牌生成器

[英]Nltk Word Tokenizer in python notebook

我試圖在每行由多行字符串組成的數據框中找到頻率詞。

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將(...)視為單詞並以此結尾。 它跳過字符串中剩余的單詞。 請先讓我知道我想念的地方。

在我看來,這並不是to_string()的預期用途,據我所知, 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)]

如果您發布我可以檢查的簡短數據樣本,我不確定這是否會按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM