嗨,我在 AI 上做了一个短期课程,我们设计了一个基于 AIML 和 python 的聊天机器人。我有一个新任务来设计某种形式的语义搜索引擎。我希望人们能够浏览数据或搜索问题并给他们结果。最初它将针对特定主题,例如交通和地理。来自用户的一些示例输入:
我从 x 到 y 需要多少钱?
答:它会花费你 26 美元
x 离 z 多远?
答:25英里
用户可以添加最喜欢的路线,这样他们就可以简单地输入,添加最喜欢的路线,然后将要求用户输入 f 路线。
Ans:您是否要求在您最喜欢的路线中添加一个条目?
用户:是的。
Ans: 请输入您喜欢的路线。
显示我的常用路线。
Ans:您的常用路线是 x、y 和 z。
因此,正在搜索的数据可能特定于用户,因此可能必须使用数据库。一些外部数据可能会引发谷歌地图查询距离。有些问题可能只需要聊天机器人的回应。
那么我应该在用户输入时做什么?标记它,阻止它,解析它?
我希望在某处使用 AIML,但我读了一篇文章http://knytetrypper.proboards.com/index.cgi?board=gbot&action=print&thread=285。说 AIML 只适用于模式匹配。有人请指出我正确的方向。我下载了 NLTK,它似乎很有用,但我不知道它本身是否可以满足我的要求。
有没有类似的项目文章?