查找与名词输入相关的形容词

Jon*_*Jon 5 semantic-markup wordnet semantic-analysis part-of-speech

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

搜索词:“计算机”

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


我知道这项任务极其艰巨。我以前使用过WordNet,但不确定是否每个名词节点都包含形容词云。词性标记本身就是一头野兽,所以我不确定建立自己的语料库并搜索与关键字共存的形容词词频是最好的主意,但我将在下面进行解释。

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


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

搜索词:“计算机”

词干:“ comput-”

带词干的形容词:计算

同义词:???


问题在于名词的形容词形式并不总是具有形容词形式,并且某些名词词干会与可怕的错误形容词匹配。* 错误 *示例:

搜索词:“运行中”(技术上是gerund,但仍然是名词)

:“奔跑”

带词干的形容词:流

同义词:不是我想要的单词。想找到“运动”,“有动力”,“有纪律”之类的词


这是以前做过的事吗?您对我如何处理此问题有建议吗?几乎就像我要为文档中的“重要”单词生成形容词云一样。

编辑:我意识到没有“正确”的答案此问题。我将奖励那些提出具有最佳理论潜力的方法的人。

Tur*_*rix 1

假设您有大量的计算资源可以解决这个问题,我建议使用像超空间模拟语言(HAL)这样简单的东西来为您的维基百科转储构建术语 X 术语矩阵。然后,你的算法可能是这样的:

  • 给定一个查询词/术语,找到它的 (HAL) 向量。
  • 对于向量,找到权重最高的形容词成分。
    • 为了有效地做到这一点,您可能需要使用字典(如 WordNet)来预处理您的术语列表(即由 HAL 提取的术语),以便您知道(在处理查询之前)哪些术语可以用作形容词。
  • 对于每个形容词,在 HAL 空间中找到 N 个最相似的向量。
    • 可选:您可以通过查找在搜索词中同时出现的单词来缩小此列表的范围。

这种方法基本上是为了代码和数据结构的简单性而牺牲内存和计算效率。然而,它应该能很好地满足我认为你想要的。第一步将为您提供与查询词最常相关的形容词,而 HAL 空间中的向量相似度(步骤 3)将提供范式相关的单词(粗略地说,可以相互替换,所以如果您开始对于某种类型的形容词,您应该获得更多“喜欢它”的形容词(就其与查询词的关系而言),这应该是您正在寻找的“云”的相当好的代理。