2017-02-26 108 views
0

我已經爲我想要計算最大似然估計值的測試語料庫構建了三元模型。計算各種ngram的最大似然估計值

假設我們有以下文字:

text = "The white fox, The white fox, the black fox." 

它的卦爲:​​

要做到這一點,我將不得不計算讓我們說「白」的所有事件,然後所有出現以'狐狸'結尾的卦,其次是'白','黑'等等。

有沒有更好的做法是除了遍歷所有的trigrams,分裂他們和閱讀他們的內容,看看他們是我需要的當前迭代?

我知道nltk,但這是爲了學習的目的,我寧願看看它是如何完成自己。

+0

使用KenLM或SRILM。 – user3639557

回答

0

總之,我會說不。遍歷每個三元組似乎很費力且效率低下,但如果要從給定概率生成文本,這一點至關重要。在我個人看來,我會建議使用二元法系統,因爲難以用三元組產生任何可行的結果。除非使用非常好的數據來源,否則我認爲用簡單的雙重概率方法可以產生更好的結果。想一想你想達到什麼目的,以及你是否擁有三克系統的必要資源