semantic-markup – 查找与名词输入相关的形容词

我想根据用户输入搜索框中的单词来尝试确定用户个性的特征.这是一个例子:

搜索词:“计算机”

检测到的人格/描述符:分析性,逻辑性,系统性,有条理性

我知道这项任务非常重要.我之前使用过WordNet,但我不确定它是否包含每个名词节点的形容词云.词性标注是它自己的野兽,所以我不确定构建我自己的语料库并搜索与关键字共存的形容词术语频率是最好的想法,但我将在下面解释.

我目前正在使用维基百科转储,在删除了停用词(以及,或,,等等,等等)后处理每篇文章的术语频率.我的想法是可能寻找形容词的共存(使用WordNet进行POS标记)和整个语料库中的名词(例如,形容词逻辑经常与名词计算机共同发生),并且基于相对的,词干 – 形容词频率,判断它与名词在语义上是否相关.潜在的应用是巨大的.

另一个想法是阻止名词,搜索以该词干开头的形容词,然后搜索该形容词的同义词.例:

搜索词:“计算机”

干:“计算机”

词干形容词:计算

同义词:???

问题在于名词的形容词形式并不总是具有形容词形式,而一些名词词干将与可怕的错误形容词相匹配. * BAD *例如:

搜索词:“running”(技术上是动名词,但仍然是名词)

干:“跑 – ”

有词的形容词:流鼻涕

同义词:不是我想要的词.想找到像“运动”,“有动力”,“纪律严明”这样的词语

这是以前做过的吗?你对我如何处理这个问题有什么建议吗?这几乎就像我正在寻求为文档中的“重要”单词生成形容词云.

编辑:我意识到这个问题没有“正确”的答案.我会奖励那些提出具有最佳理论潜力的方法的赏金.

最佳答案 假设你有一些重要的计算资源,我建议使用像Hyperspace Analog of Language(HAL)这样简单的东西为你的维基百科转储构建一个Term X Term矩阵.然后,您的算法可能是这样的:

>给定查询词/术语,找到它的(HAL)向量.
>对于矢量,找到具有最高权重的形容词组件.

>为了有效地执行此操作,您可能希望我们使用字典(如WordNet)来预处理您的术语列表(即由HAL提取的术语),以便您知道(在处理查询之前)哪些可用作形容词.

>对于每个形容词,在HAL空间中找到N个最相似的向量.

>可选:您可以通过查找在搜索字词中共存的字词来缩小此列表的范围.

在代码和数据结构方面,这种方法基本上折衷了存储器和计算效率.然而,对于我认为你想要的东西,它应该做得很好.第一步将为您提供最常与查询词相关联的形容词,而HAL空间中的向量相似性(步骤3)将给出与范例相关的词(粗略地,可以相互替换,因此如果您开始对于某种形容词,你应该在与查询词的关系方面得到更多形容词“喜欢它”,这应该是你正在寻找的“云”的一个相当好的代理.

点赞