Scikit - 如何使用sklearn获得类似单词的单个术语

时间:2015-11-01 04:09:56

标签: machine-learning scikit-learn feature-extraction tf-idf

我是文本分析和scikit-learn的新手。我正在尝试使用sklearn' TfidfVectorizer 类来推文。当我使用' get_feature_names()'列出条款时在对推文进行制作后,我会看到类似的字词,例如' 目标',' gooooal '或' goaaaaaal '作为不同的术语。

问题是,如何制定单一术语'目标'使用sklearn特征提取技术(或任何其他技术)来获得更好的结果?

1 个答案:

答案 0 :(得分:2)

简而言之 - 你做不到。这是一个非常复杂的问题,需要全面的语言理解。想一想 - 你能准确定义“相似但不同”的意思吗?如果你不能,计算机也将无法做到。你能做什么?

  1. 您可以提出简单的预处理规则,例如“删除任何重复的字母”,这将解决“目标”问题。 (这不应该导致任何进一步的问题)
  2. 您可以使用同义词的现有数据库(如wordnet)将相同的含义“合并”到相同的令牌(这可能会导致误报 - 由于缺乏上下文分析,您可能会“合并”不同含义的词)< / LI>
  3. 您可以构建一些语言模型,并使用它将您的数据嵌入到较低维度的空间中,迫使您的模型合并相似的含义(使用众所周知的启发式“类似上下文中出现的词语具有类似含义”)。其中一种技术是Latent Semantic Analysis,但显然还有更多可能。