0

テキスト コーパスでトライグラム言語モデルをトレーニングしようとしていて、KN 平滑化を実行したいと考えています。どうやら、「nltk.trigrams」は文字レベルでこれを行います。どうすれば単語レベルでこれを行うことができ、KN 平滑化も実行できるのだろうかと考えていました。これは私が書いたコードで、動作しません:

    with open('file.txt',"r",encoding = "ISO-8859-1") as ff:
        text = ff.read()

    word_tok = tknzr.tokenize(text)
    ngrams = nltk.trigrams(word_tok)
    freq_dist = nltk.FreqDist(ngrams)
    kneser_ney = nltk.KneserNeyProbDist(freq_dist)
    print(kneser_ney.prob('you go to'))

エラーが発生します:

    Expected an iterable with 3 members.
4

1 に答える 1