我正在用C#編寫一個軟件工程課程的聊天機器人。是否可以引導一個馬爾可夫鏈向某些關鍵字?
我使用馬爾可夫鏈生成文本,使用維基百科文章作爲語料庫。我希望它能夠根據用戶的輸入以(至少稍微)智能的方式響應用戶輸入,但我不知道如何去做。
我目前的想法是,我會嘗試從用戶的輸入中提取關鍵字,然後使用它們來指導生成句子。但是由於馬爾可夫屬性,關鍵字必須是句子中的第一個單詞,這可能看起來很愚蠢。同樣,對於n
訂單鏈,我不得不每次從用戶提取確切的n
關鍵字。
生成器的數據是一個字典,其中鍵是單詞列表,值是與單詞組合的單詞列表,取決於單詞出現在單詞後面的頻率。因此,像:
它可以在命令行測試程序,但我只是提供它生成文本的每一位的n
字的種子。
我希望有一些方法可以讓鏈更喜歡用戶使用的附近單詞的單詞,而不是用輸入中的第一個/最後一個n
單詞或n
關鍵字或任何其他單詞進行播種。有沒有辦法做到這一點?
好主意!我希望這可以在一篇文章中工作(基於標題標題等)。 –
這工作就像一個魅力,謝謝。 –
此網站已停止服務。 –