【问题标题】:Word characteristics tags字特征标签
【发布时间】:2011-02-06 12:35:01
【问题描述】:

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

类似的东西: “它是蓝色的,它是向上的,但它不是天花板”

翻译:

<Object X>
    <blue>
    <up>
    <!ceiling>
</Object X>

(答案:天空?)

所以输入是一组特征(对象中存在\不存在),输出是匹配的,最有可能的对象。

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

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

关于我如何实现这样的事情有什么想法吗?关于这个主题的一些文献有什么想法吗?

谢谢

【问题讨论】:

  • 每当我看到支持 AND、OR 和 NOT 中的两个但不支持所有三个(以及括号)的搜索功能时,我都会担心。

标签: search tags dns artificial-intelligence neural-network


【解决方案1】:

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

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

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,尽管系统会询问问题而不是用户。有趣的是,它是根据用户输入“在线”训练的。

维基百科当然有很多数据,但您可能会发现为您的程序提取这些数据非常困难。 Cyc 的数据更加规范化,但是它的 API 有一个巨大的学习曲线。另一种选择是语义词典项目Wordnet。它具有适用于几乎所有编程语言的相当直观的 API,以及用于数千个单词的广泛上位词/下位词模型(例如 cat 是一种猫科动物/哺乳动物/动物/有机体/事物)。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢,看起来很有趣,我一定要试试
    猜你喜欢
    • 2014-11-21
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2020-01-22
    • 1970-01-01
    • 2017-11-26
    相关资源
    最近更新 更多