首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单词特征标签

单词特征标签
EN

Stack Overflow用户
提问于 2010-04-11 00:03:48
回答 2查看 68关注 0票数 1

我想为我的AI班级做一个谜语AI聊天机器人。所以我认为聊天机器人的输入应该是:

例如:“它是蓝色的,它是向上的,但它不是天花板。”

翻译:

代码语言:javascript
复制
<Object X>
    <blue>
    <up>
    <!ceiling>
</Object X>

(答案: sky?)

因此,输入是一组特征(存在于对象中或不存在于对象中),输出是匹配的、最有可能的对象。

域将被限制为许多对象,我可以自己输入所有属性,但我在考虑:

我如何才能以编程方式为一个单词建立一个特征数据库?有这样的数据库吗?我如何标记一个单词,如何通过编程找到它的所有属性?我正在考虑爬行维基百科,或一些论坛,但我不能看到它建立任何可靠的词标签数据库。

我怎么才能做到这样的事情,有什么想法吗?关于这个主题的一些文献有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-11 04:19:26

这听起来像是一个基本的分类问题。你本质上是在问;给定N个特征(color=blue、location=up等),M个分类中哪一个最有可能?有许多算法可以做到这一点(朴素贝叶斯,最大熵,支持向量机),但你必须研究哪一个是最准确和最容易实现的。最大的挑战通常是获取准确的训练数据,但如果您愿意将其限制在手动输入的示例列表中,那么这应该会简化您的实现。

您的示例表明,无论您选择什么算法,都必须支持稀疏数据。换句话说,如果你已经在300个特征上训练了系统,它将不需要你输入所有300个特征来获得答案。它还会使您的训练和测试文件变得更小,因为您将省略与某些对象无关的功能。例如:

代码语言:javascript
复制
sky | color:blue,location:up
tree | has_bark:true,has_leaves:true,is_an_organism=true
cat | has_fur:true,eats_mice:true,is_an_animal=true,is_an_organism=true

这可能不是很有帮助,因为它是专有的,但一个商业应用程序,类似于您试图实现的是网站20q.net,尽管系统会询问问题,而不是用户。有趣的是,它是基于用户输入“在线”训练的。

Wikipedia当然有很多数据,但是您可能会发现为您的程序提取这些数据将非常困难。Cyc的数据更加规范化,但它的API有一个巨大的学习曲线。另一个选择是语义字典项目Wordnet。它为几乎每种编程语言都提供了相当直观的API,并为数千个单词提供了广泛的上位词/下位词模型(例如,猫是一种猫/哺乳动物/动物/生物体/事物)。

票数 2
EN

Stack Overflow用户

发布于 2010-04-11 00:20:30

Cyc项目有非常相似的目标:我相信它既包含执行AI的推理引擎,也包含有关常识知识(如天空的颜色)的事实数据库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2613979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档