我想计算已转换为标记的文本文件中特定单词前后三个单词的频率。from nltk.tokenize import sent_tokenizefrom nltk.tokenize import word_tokenizefrom nltk.util import ngramswith open('dracula.txt', 'r', encoding="ISO-8859-1") as textfile: text_data = textfile.read().replace('\n', ' ').lower()tokens = nltk.word_tokenize(text_data)text = nltk.Text(tokens)grams = nltk.ngrams(tokens, 4)freq = Counter(grams)freq.most_common(20)我不知道如何搜索字符串 'dracula' 作为过滤词。我也试过:text.collocations(num=100)text.concordance('dracula')所需的输出看起来像这样的计数:“dracula”之前的三个词,排序计数(('and', 'he', 'saw', 'dracula'), 4),(('one', 'cannot', 'see', 'dracula'), 2)'dracula' 后面的三个词,排序计数(('dracula', 'and', 'he', 'saw'), 4),(('dracula', 'one', 'cannot', 'see'), 2)中间包含 'dracula' 的三元组,排序计数(('count', 'dracula', 'saw'), 4),(('count', 'dracula', 'cannot'), 2)预先感谢您的任何帮助。
添加回答
举报
0/150
提交
取消