我正在对NLP进行一些测试,我正在考虑编写一个像这样的代码。
主题 - >用户输入 - >输出
狗的所有权 - >我有一只狗 - >是
狗的所有权 - >我的狗叫乔 - >是
狗的所有权 - >我没有狗 - >否
您认为哪种分支或ai算法是解决此问题的最佳方法?
我不希望有人解决我的问题,只是指出我正确的方向。 谢谢!
答案 0 :(得分:0)
在我看来,你想要的是dialog system。如果您将用户输入限制为是/否问题,那么这将使您的项目相对简单。我将这样做的方法是使用AIML和Python创建一个聊天机器人。这是an example。
答案 1 :(得分: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解释器您是否有狗,它将此事实(以及狗的名字)存储在属性“dog_owner”和“dog_name”中。当你询问你是否有狗时,第3类给出了正确的答案,4允许你选择狗的名字。这些类别可以扩展到允许狗的名字被遗忘,或允许猫等。希望这显示你AIML的NLP支持,所以你可以决定它是否有用。