6

将单词本身用作任何机器学习算法中的特征的最佳方法是什么?如何在分类中包含单词作为数字特征

问题我必须从一个特定的段落中提取单词相关的功能。我应该使用词典中的索引作为数字特征吗?如果是这样,我将如何正常化这些?

一般来说,单词在NLP中如何被用作特征?

回答

8

存在通过其词语被映射到特征(在其中行是单独的数据矢量的2D数据矩阵的列),以便输入到机器学习模型几种传统技术。 classification

  • 一个布尔字段,其​​编码一个给定文档中的存在或不存在该字的;

  • 一 预定组单词的频率直方图,往往X最常从包括训练数据(更多关于这一个在此答案的 最后一段)中的所有文档之间存在的话;

  • 并置的两个或更多个字 (例如,“替代”和以连续顺序 “生活方式”具有 不相关或者 部件字含义);这种并列可以在数据模型本身中被捕获,例如,表示在文档中彼此直接相邻的两个特定词的存在或不存在的布尔特征,或者这种关系可以在ML技术中被利用作为初始贝叶斯分类器将在这种情况下做强调文本;

  • 字作为原始数据提取潜特征,例如LSA或潜在语义分析(有时也称为LSI为潜在语义索引)。 LSA是一种基于矩阵分解的技术,它从文本中的文本本身的词汇中导出隐含变量。

机器学习中的通用参考数据集由50个左右最常用单词的频率组成,也就是“停用词”(例如,,一个一个的,如果)莎士比亚,伦敦,奥斯汀,和米尔顿的发表作品。具有单个隐藏层的基本多层感知器可以以100%的准确度分离该数据集。该数据集及其变体在ML数据仓库中广泛存在,并且academic papers呈现分类结果同样是常见的。

+0

“丰富功能”(我是这个术语的新手)是什么意思? – william007 2014-06-28 06:49:39

6

标准方法是每个单词有一个特征的“bag-of-words”表示,如果单词出现在文档中,则为“1”,如果不出现则为“0”。

这提供了很多功能,但如果你有一个像朴素贝叶斯这样的简单学习者,那还是可以的。

“字典中的索引”是一个无用的功能,我不会使用它。

1

tf-idf是将单词转换为数字特征的一种非常标准的方式。

您需要记住使用支持数字特征的学习算法,如SVM。朴素贝叶斯不支持数字特征。

相关问题