我听说过一种名为 AIML 的编程语言,可用于编程智能机器人。 我是一名Web开发人员,使用Python 2.7构建了一个Web爬虫,并为Wikipedia编制索引......
所以我想用python构建一个应答引擎,它会使用一个字符串变量 (这是一个包含整个维基百科的巨大变量)作为信息来源并使用AI来回答...
最后,我想把它放在学校的网站上......
我可以在 AIML 中完成吗?
稍后我也想修改它,以便给出我的实时分数答案,如:
"What is the age of ~someperson~?"
等
为此,我将发送我的网络抓取工具来索引某些分数页等。
我可以在 AIML 中编程这种应答代理吗?
如果是,请提供教程链接,告诉我该怎么做? (使用字符串变量作为信息来源来解析查询并像人类一样回答)
此外, AIML 使用如下语法:
<category>
<pattern>WHAT ARE YOU</pattern>
<template>
<think><set name="topic">Me</set></think>
I am the latest result in artificial intelligence,
which can reproduce the capabilities of the human brain
with greater speed and accuracy.
</template>
</category>
如果模式是查询而模板是答案,那么这是否意味着我必须坐下来为所有可能的查询编写这些标记?
或者我可以利用它的大脑来弄清楚这个人想要什么并给他们答案 使用字符串变量作为其信息来源。
谢谢。
答案 0 :(得分:13)
看起来AIML是一种模式匹配形式。而且,看起来这主要是针对dialog based agents。因此,要使用AIML,您可能需要手动生成每个问题和正确的响应(答案)。
你真正想要的是我们所谓的question answering系统。简而言之,QA系统通常具有以下组件:
如果您真的想深入挖掘这个领域,我建议您使用Google Scholar并搜索我提到的一些术语,这些术语将为您提供一些详细的研究论文许多这些主题。一些文章可以帮助您入门:
我最近参加了natural language processing的课程,并开发了一个基本的QA系统,该系统使用维基百科作为知识库。 (实际上,我使用Simple English Wikipedia因为它更容易使用;虽然系统确实可以使用完整版本更慢。)
如果您有兴趣查看某些Python代码作为参考,您可以在项目的GitHub页面上执行此操作:bwbaugh/causeofwhy。此外,还有一些更详细的文档,介绍system components的每个步骤中发生的事情。
还有一个非常基本working demo的QA系统正在运行(目前)可用,但请记住,系统是一个概念验证,可能需要超过30秒才能响应一个问题(取决于问题)。