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

搜索词:“计算机”

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

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

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

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

搜索词:“计算机”

干词:“comput-”

和词干的形容词:计算的

同义词:???

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

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

干词:“运行”

形容词与词干:流鼻涕

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

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

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

最佳答案

假设您需要大量计算资源,我建议您使用诸如Hyperspace Analog of Language(HAL)之类的简单工具为您的Wikipedia转储建立Term X Term矩阵。然后,您的算法可能类似于:

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

  • 为了简化代码和数据结构,此方法基本上权衡了内存和计算效率。但是,对于我认为您想要的,它应该做得很好。第一步将为您提供最常与查询词相关联的形容词,而HAL空间中的向量相似度(第3步)将为您提供与范式相关的词(大致上可以相互替代),所以如果您开始使用某种形容词,就其与查询词的关系而言,您应该获得更多“喜欢它”的形容词),这对于您要查找的“云”来说应该是一个很好的代理。

    关于semantic-markup - 查找与名词输入相关的形容词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11504940/

    10-13 00:11