5

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

搜索词:“电脑”

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


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

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


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

搜索词:“电脑”

词干:“计算-”

带词干的形容词:计算

同义词:???


问题是名词的形容词形式并不总是有形容词形式,一些名词词干会匹配到非常错误的形容词。*不好*例如:

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

词干:“跑——”

带词干的形容词:流鼻涕

同义词:不是我想要的词。想找到像“运动”、“有动力”、“有纪律”这样的词


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

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

4

2 回答 2

1

WordNet 没有您需要的东西 - 它(几乎)不包含有关非同义词或未分层链接的单词之间关系的信息(椅子->家具)等。

只需使用 OpenNLP (http://opennlp.apache.org) 并解析大量文本 - OpenNLP 解析器将检测句子中的动词-形容词/名词-形容词,从而允许您构建关系数据库。此时剩下的就是根据预定义的形容词列表过滤数据库。

于 2012-07-19T21:58:49.517 回答
1

假设您有大量的计算资源可以投入使用,我建议您使用诸如超空间语言模拟 (HAL) 之类的简单方法来为您的 Wikipedia 转储建立一个 Term X Term 矩阵。然后,您的算法可能类似于:

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

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

于 2012-07-23T05:42:03.670 回答