1

因此,我在Java中使用word2vec,並試圖以某種方式訓練它,以便它爲我提供單詞和句子的矢量表示。如何一起使用word2vec和RNN?

我可以使用它來將輸入饋送到神經網絡中,以獲得基於word2vec數據的響應嗎?我打算在這個幫助下製作一個聊天機器人。

+0

因此,您想使用word2vec獲取單詞的矢量表示,然後將該矢量用作RNN的輸入? word2vec的行爲類似於RNN的嵌入函數,但要分別進行培訓?還是共同? – gcucurull

+0

我認爲使用它作爲RNN的輸入會更有益處。我想共同訓練他們。你怎麼看?什麼是更好的方法? @galloguille很好,如果你能幫我解決這個問題。 –

+0

嗯,我對NLP瞭解不多,但我想你可以使用預訓練的word2vec來生成單詞嵌入,然後使用該嵌入作爲RNN的輸入,所以你不需要自己訓練word2vec。 – gcucurull

回答

2

添加到@ galloguille的評論,您可以使用預先訓練的word2vec的單詞向量來初始化您的RNN。 RNN可以從單詞序列中學習以預測下一個單詞。一個很好的例子代碼,你可以在這裏找到 - https://github.com/larspars/word-rnn

,在本領域的聊天機器人在這裏的當前狀態的好收藏 - https://stanfy.com/blog/the-rise-of-chat-bots-useful-links-articles-libraries-and-platforms/

從我的理解,最有效的聊天機器人不直接使用RNN(目前)回覆的問題,而是試圖預測意圖(從一組固定的意圖)第一步中的問題。根據每個意圖,他們計算出一些可操作的見解併合理回答問題。

+0

那麼最好的方法是什麼呢?而不是RNN? –

+0

如果你想通過深度學習來發揮文本生成功能,RNN是一種很好的方法。但是如果你想在實際應用中部署聊天機器人,那麼深度學習還沒有。您必須對用戶的可能意圖進行硬編碼(基於用例),並將每個問題與意圖進行匹配,然後針對特定問題再次硬編碼一組固定的響應。 – kampta

相關問題