我在R中建立一個語言模型,根據前面的單詞預測句子中的下一個單詞。目前我的模型是Kneser-Ney平滑的簡單ngram模型。它通過在訓練集中找到具有最大概率(頻率)的ngram來預測下一個單詞,其中平滑提供了插值低階ngram的方式,這在高階ngram具有低頻並且可能不提供可靠預測的情況下是有利的。雖然這種方法工作得相當好,但它在n-gram無法捕獲上下文的情況下失敗。例如,「外面溫暖陽光充足,讓我們去......」和「外面很冷,下雨,讓我們去...」將會提出同樣的預測,因爲沒有捕捉到天氣的背景在最後的n-gram中(假設n < 5)。用R中的text2vec來預測下一個單詞
我正在研究更先進的方法,並且我找到了text2vec包,它允許將單詞映射到向量空間,其中具有相似含義的單詞用類似(近似)向量表示。我有一種感覺,這種表示可以有助於下一個單詞預測,但我無法弄清楚如何確切定義訓練任務。我的問題是,如果text2vec是用於下一個單詞預測的正確工具,並且如果是,那麼可以用於此任務的合適的預測算法是什麼?
你知道RNNLM是否有R實現? – Sasha
可能不會是我的猜測。 – Aaron