我不确定用于单词关系分类的最佳算法是什么。例如,在“The yellow sun”这样的句子中,黄色和太阳之间存在关系。到目前为止,我考虑过的机器学习技术是贝叶斯统计、粗糙集、模糊逻辑、隐马尔可夫模型和人工神经网络。
请问有什么建议吗?
谢谢你 :)
我不确定用于单词关系分类的最佳算法是什么。例如,在“The yellow sun”这样的句子中,黄色和太阳之间存在关系。到目前为止,我考虑过的机器学习技术是贝叶斯统计、粗糙集、模糊逻辑、隐马尔可夫模型和人工神经网络。
请问有什么建议吗?
谢谢你 :)
听起来您正在寻找依赖项解析器。这样的解析器将为您提供句子中任何单词与其语义或句法头之间的关系。
MSTParser使用称为MIRA的在线最大边距技术对单词之间的关系进行分类。MaltParser包的作用相同,但使用 SVM 做出解析决策。这两个系统都是可训练的,并提供相似的分类和附件性能,请参见此处的表 1 。
斯坦福解析器完全符合您的要求。甚至还有一个在线演示。这是您的示例的结果。
Your sentence
The yellow sun.
Tagging
The/DT yellow/JJ sun/NN ./.
Parse
(ROOT
(NP (DT The) (JJ yellow) (NN sun) (. .)))
Typed dependencies
det(sun-3, The-1)
amod(sun-3, yellow-2)
Typed dependencies, collapsed
det(sun-3, The-1)
amod(sun-3, yellow-2)
从您的问题来看,您似乎对类型化的依赖项感兴趣。
就像用户 dmcer 指出的那样,依赖解析器将为您提供帮助。你可以阅读大量关于依赖解析的文献。这本书和这些讲义是介绍传统方法的良好起点。
Link Grammar Parser 有点像依赖解析,它使用 Sleator 和 Temperley 的 Link Grammar 语法来生成词-词链接。您可以在原始链接语法页面和更新的Abiword 页面上找到更多信息(Abiword 现在维护实现)。
对于依赖解析的非常规方法,您可以阅读这篇论文,该论文模拟了类似于化学/物理学中亚原子粒子相互作用的词-词关系。