2017-07-19 84 views
2

我正在做一些關於NLP的測試,我正在考慮編寫一個像這樣工作的代碼。我應該關注哪個AI分支?

主題 - >用戶輸入 - >輸出

養狗 - >我有一隻狗 - >是

養狗 - >我的狗被稱爲喬 - >是

養狗 - >我沒有狗 - >沒有

你認爲哪個分支或ai算法是解決這個問題的最好方法?

我不期待有人解決我的問題,只是爲了指向正確的方向。 謝謝!

+0

您是否知道還有其他的姐妹[網站](https://stackexchange.com/sites#science-questionsperday)到SO,那裏的NLP專家會比這裏更多? –

+0

我不是,不是我。無論如何,NLP專家也可能會在這裏,因爲這是Stack Exchange中最大的社區。謝謝! – bleand

回答

0

在我看來,你想要的是一個dialog system。如果您將用戶輸入限制爲是/否問題,那麼這將使您的項目相對簡單。我會這樣做的方式是使用AIML和Python創建一個chatbot。這裏是an example

0

我對NLP並不熟悉,但可以使用AIML模式匹配(AIML是Eliza的遙遠後代)輕鬆完成樣本。例如:

<category> <!-- 1 --> 
    <pattern>I OWN A DOG</pattern> 
    <template> 
    <think><set name="dog_owner">true</set></think> 
    You own a dog. 
    </template> 
</category> 

<category> <!-- 2 --> 
    <pattern>I DO NOT OWN A DOG</pattern> 
    <template> 
    <think> 
     <set name="dog_owner">false</set> 
     <set name="dog_name"></set> 
    </think> 
    You do not own a dog. 
    </template> 
</category> 

<category> <!-- 3 --> 
    <pattern>DO I OWN A DOG</pattern> 
    <template> 
    <condition name="dog_owner"> 
     <li value="true">You own a dog.</li> 
     <li>You don't have a dog.</li> 
    </condition> 
    </template> 
</category> 

<category> <!-- 4 --> 
    <pattern>MY DOG IS CALLED *</pattern> 
    <template> 
    <think> 
     <set name="dog_owner">true</set> 
     <set name="dog_name"><star/></set> 
    </think> 
    Your dog is called <get name="dog_name"/>. 
    </template> 
</category> 

1類和2讓你告訴AIML intepreter你是否有一隻狗,它存儲在屬性「dog_owner」和「dog_name」這一點(和狗的名字)。當你問你是否有狗時,類別3給出了正確的答案,而4則允許你選擇狗的名字。這些類別可以擴展爲允許忘記狗的名字,或允許貓等。希望這會顯示您AIML的NLP支持,所以您可以決定它是否有用。

相關問題