gpt4 book ai didi

machine-learning - 语义网络的概率生成

转载 作者:行者123 更新时间:2023-11-30 08:24:12 25 4
gpt4 key购买 nike

我研究了一些简单的语义网络实现和解析自然语言的基本技术。然而,我还没有看到很多项目试图弥合两者之间的差距。

例如,考虑以下对话框:

"the man has a hat"
"he has a coat"
"what does he have?" => "a hat and coat"

基于上述句子的语法树解析的简单语义网络可能如下所示:

the_man = Entity('the man')
has = Entity('has')
a_hat = Entity('a hat')
a_coat = Entity('a coat')
Relation(the_man, has, a_hat)
Relation(the_man, has, a_coat)
print the_man.relations(has) => ['a hat', 'a coat']

但是,此实现假设先验知识文本段“the man”和“he”指的是同一网络实体。

您将如何设计一个系统来“学习”语义网络各段之间的这些关系?我习惯于通过创建属性/值对的简单训练集来思考 ML/NL 问题,并将其提供给分类或回归算法,但我在以这种方式表述这个问题时遇到了困难。

最终,我似乎需要在语义网络之上叠加概率,但这会使实现变得非常复杂。有没有类似的现有技术?我研究了一些库,例如 NLTK 和 OpenNLP,虽然它们有不错的工具来处理符号逻辑和解析自然语言,但似乎都没有任何类型的概率框架来将一种库转换为另一种库。

最佳答案

此类任务背后有相当多的历史。您最好的开始可能是查看 Question Answering

我总是给出的一般建议是,如果您有一些高度受限的领域,您知道所有可能提到的事物以及它们交互的所有方式,那么您可能会非常成功。如果这更像是一个“开放世界”问题,那么就很难想出一些可以接受的方法。

从自然语言中提取关系的任务称为“关系提取”(有趣的是),有时也称为事实提取。这是一个相当大的研究领域,this guy和许多其他人一样,他也就此发表了一篇博士论文。正如您所注意到的,这里存在大量挑战,例如实体检测、照应解析等。这意味着您提取的实体和关系中可能存在大量“噪音”。

对于表示知识库中提取的事实,大多数人倾向于不使用概率框架。在最简单的层面上,实体和关系作为三元组存储在平面表中。另一种方法是使用本体来添加结构并允许对事实进行推理。这使得知识库变得更加有用,但也增加了很多可扩展性问题。至于添加概率,我知道 Prowl旨在创建概率本体的项目,但在我看来还不是很成熟。

有一些关于概率关系建模的研究,主要是 Markov Logic Networks在华盛顿大学和 Probabilstic Relational Models在斯坦福大学和其他地方。我对这个领域有点脱节,但这是一个难题,据我所知,这都是早期研究。存在很多问题,主要围绕高效且可扩展的推理。

总而言之,这是一个好主意,也是一件非常明智的事情。然而,实现起来也非常困难。如果你想看看最先进的例子(即一群人和金钱可以实现什么)也许可以看看 PowerSet .

关于machine-learning - 语义网络的概率生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3216440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com