【问题标题】:Algorithm for Determining Word Type using WordNet Database使用 WordNet 数据库确定词类型的算法
【发布时间】:2015-03-02 09:02:05
【问题描述】:

我正在开展一个项目,该项目需要扫描英文自然文本段落并检测它们是什么类型的单词。该应用程序适用于 AJAX、PHP 和 MySQL。

我的应用程序不需要 100% 准确,只需尝试找到与文本输入匹配的最佳内容。为此,我使用了 WordNet 数据库的 SQL 版本,它允许我使用 dict 视图搜索单词及其类型。

SELECT lemma, pos FROM dict WHERE lemma = 'fool' ORDER BY lemma;

以上是数据库所见的示例,但我的 PHP 实际上基于来自 AJAX 调用的文本创建动态绑定参数,并且实际上将包含许多关键字。

这将返回一个记录数组,其中包含搜索的每个单词及其类型。

然而,我的问题是大多数单词可以是多种类型,例如,对于傻瓜示例,它带回三个作为名词,四个作为动词。我不需要细微的差别,但我想知道这个词在用法中是名词还是动词。

这个问题在大多数单词中都存在,这意味着我无法准确检测不同类型的单词,因为它可能是任何用途。

我想知道是否有人可以指出算法的正确方向,或者我可以做些什么,以便至少对单词类型进行最佳猜测。

最重要的是形容词和名词。

【问题讨论】:

标签: php mysql algorithm nlp wordnet


【解决方案1】:

您尝试完成的任务称为词性标记(正如 cmets 中已建议的那样),Wordnet 绝对不是执行此操作的工具。 在 cmets 中还有一个非常简单的 PHP POS 方法的链接。 POS 有很多库。 cmets中链接的那个实现了Brill解析器,非常简单,效果也不错。为了获得更好的性能,我建议使用具有 PHP 接口的斯坦福 NLP 工具,例如:https://github.com/agentile/PHP-Stanford-NLP

有几个相关的 SO 问题:

【讨论】:

  • 嘿!感谢您的回答。我确实按照链接进行操作,最终出于我的目的使用了 Brill 标记器!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多