2013-11-20 56 views
3

我正在C#中爲一個uni項目創建一個聊天機器人,我目前還不確定如何去做。我是OO編程和C#的新手。如何在C#中開發一個聊天機器人#

聊天機器人如何工作的基礎是,它的目的是學習,它與用戶交互的越多。它通過解析所有用戶輸入句子並計算每個單詞後面某個單詞的次數來實現此目的。

該程序從句子中獲取一個隨機單詞,並使用單詞圖形生成答覆。

因此,舉例來說,下面的報價約可分爲:

「我孤獨地漫遊,爲高礦瓦萊斯和丘陵浮時都在同一我看見一羣金色的水仙花主機的雲」

我:徘徊(1)鋸(1)

徘徊:寂寞(1)

LON伊利:如(1)

爲:一(1)

一個:雲(1)人羣(1)主機(1)

雲:(1 )

等等

到目前爲止,我有這個想法要使用的持有以下單詞多少次的計數followingWord類遵循主詞。

MainWord類包含單詞以及包含以下單詞及其計數的FollowingWord類型的列表。

class FollowingWord 
{ 
string word; //the following word 
int count; //the amount of times word has followed the main word. 
} 

class MainWord 
{ 
string word;  //the main word 
List<FollowWord> following = new List<FollowWord>(); //a list of type FollowWord which holds all the following words and their counts. 

} 

我在正確的軌道上嗎?因爲我無法想出任何其他方式來解決這個問題。

+0

在它生成一個簡單的句子之前,你需要多少次運行它? –

+2

@ p.s.w.g他在開場時陳述了'uni project'。 – bland

+0

@bland啊,我沒有看到。 –

回答

0

我知道這個問題是4歲,你可能已經完成了大學。

那麼這個主題是自然語言處理,並且有一系列來自斯坦福大學的視頻,它有很多你所追求的理論。

NPL Open Course Online

我沒有看他們,有一種方法來告訴一個字是怎麼可能給出上一個字。這就是建議的文字在手機上打字時的工作方式。