最常出现的邻居(nltk)

时间:2018-12-19 10:03:56

标签: python-3.x nltk

我需要编写一个函数(属于类的一部分),利用该函数可以在古腾堡语料库的书中找到最频繁出现的邻居(左右)。我有点迷路了...

from nltk.corpus import gutenberg
Class .......
.   def getNeighbour(self, word)
.       # code that gets neighbour
.    Return neighbour

nltk中是否有内置函数可以做到这一点?

1 个答案:

答案 0 :(得分:0)

第一个使输入字符串标记成为

token = file_text.split(" ")

使用

将此脚趾的二字形
def make_ngram(tokens, N=2):
    arr_ngram = []
    for i in range(len(tokens) - N + 1):
        arr_ngram.append(tokens[i:i + N])
    return arr_ngram

现在像这样计算频率

 def calculate_frequency(arr_ngram):
    counts = {}
    for ngram in arr_ngram:
        token_seq = SPACE.join(ngram[:-1])
        last_token = ngram[-1]
        if token_seq not in counts:
            counts[token_seq] = {};
        if last_token not in counts[token_seq]:
            counts[token_seq][last_token] = 0;
        counts[token_seq][last_token] += 1;
    return counts;

计数将返回所有邻居及其频率。您可以选择频率最高的邻居。