NLP:从文本中检索词汇

时间:2015-03-26 11:54:36

标签: nlp vocabulary

我有一些不同语言的文本,可能还有一些错字或其他错误,我想找回自己的词汇。我一般都没有使用过NLP,所以也许我不恰当地使用了一些词。

使用词汇我指的是单一语言的单词集合,其中每个单词都是唯一的,并且不考虑性别,数字或时态的变化(例如 think 认为思想都被认为是思考)。

这是主要问题,所以让我们把它减少到一种语言的词汇检索,例如英语,并且没有错误。

我认为(至少)有三种不同的方法,也许解决方案包含它们的组合:

  • 在数据库中搜索与彼此关系存储的单词。所以,我可以搜索思想(考虑动词)并阅读思想思考的相关信息
  • 通过处理变形形式来计算单词的基本形式" (一个没有变形的单词)。也许它可以通过词干来完成?
  • 使用任何API的服务。是的,我也接受这种方法,但我更喜欢在当地这样做

对于第一个近似值,算法不必区分名词和动词。例如,如果在文本中有 think 这个词,如名词和动词,它可以被认为已经存在于第二场比赛的词汇表中。

我们已经减少了检索英文文本词汇而没有错误的问题,并且没有考虑单词的标记。

关于如何做到这一点的任何想法?或者只是一些提示?

当然,如果你对其他约束(错误和多语言,不仅仅是印欧语言)有这个问题的建议,我们将非常感激。

2 个答案:

答案 0 :(得分:1)

你需要词形还原 - 它与你的第二项相似,但不完全(difference)。

尝试nltk lemmatizer用于Python或Standford NLP / Clear NLP用于Java。实际上nltk使用WordNet,所以它实际上是第一种和第二种方法的结合。

为了应对错误,在词形还原之前使用拼写校正。请查看related questions或Google以获取相应的库。

关于词性标记 - 遗憾的是,nltk不考虑POS标记(以及一般的上下文),因此您应该为它提供可以通过nltk pos标记找到的标记。同样,已经讨论过here(以及相关/相关问题)。我不确定Stanford NLP在这里 - 我想它应该考虑上下文,但我确信NLTK会这样做。正如我从this code snippet所看到的,斯坦福大学不使用POS标签,而Clear NLP则不使用POS标签。

关于其他语言 - 谷歌的词典化模型,因为大多数语言(至少来自同一家族)的算法几乎相同,差异在于训练数据。看看here例如德国人;正如我所见,它是几个引理器的包装器。

但是,您总是可以以精确度为代价使用词干分析器,而且词干分析器更容易用于不同的语言。

答案 1 :(得分:1)

话题词已成为当今世界辩论中不可或缺的一部分。某些人认为主题词(同义词)是有益的,而反对者则拒绝说这一概念会导致许多问题,因此对此表示反对。从我的角度来看,主题词(同义词)在全球范围内产生的积极影响要大于负面影响。本文将进一步阐述这种趋势的正面和负面影响,从而得出合理的结论。

一方面,有许多论据支持我的信念。该主题有很多优点。最突出的是主题词(同义词)。根据西悉尼大学进行的研究,超过70%的用户赞成主题词(同义词)提供的好处。其次,论文优势。因此,可以说主题词(同义词)在我们的生活中起着至关重要的作用。

另一方面,批评者可能指出主题词(同义词)的最主要缺点之一是由于缺点与该主题有关。例如,在美国进行的一项调查表明了这一缺点。因此,该示例明确表明它对我们的生存产生了各种负面影响。

因此,在对其他段落进行检查之后,我深信它的好处更多,而不是缺点。主题词(同义词)已成为我们生活中至关重要的部分。因此,应该促进主题词(同义词)方法的有效使用;但是,过度使用和滥用应该受到谴责。