如何在分类中包含单词作为数字特征

时间:2010-11-17 17:03:40

标签: machine-learning nlp classification document-classification

什么是使用单词本身作为任何机器学习算法中的功能的最佳方法?

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

一般来说,单词本身如何用作NLP中的功能?

3 个答案:

答案 0 :(得分:8)

有几种传统技术可以将映射到要素(2D数据矩阵中的列,其中行是各个数据向量),用于输入到机器学习模型。classification

  • 一个布尔字段,用于对给定文档中该字的存在与否进行编码;

  • a的频率直方图 预定的一组单词,通常是包含训练数据的所有文件中最常出现的X个单词(更多关于这一单词中的一个) 本答案的最后一段);

  • 两个或两个以上的并列 单词(例如,'替代'和 “生活方式”连续有序 一个意义也无关 组成词);这种并置可以在数据模型本身中捕获,例如,布尔特征表示文档中彼此直接相邻的两个特定单词的存在或不存在,或者这种关系可以在ML技术中被利用,作为一个天真的贝叶斯分类器将在此实例中执行强调文本;

  • 单词作为原始数据来提取潜在功能,例如LSA或潜在语义分析(有时也称为潜在语义索引的LSI) 。 LSA是一种基于矩阵分解的技术,它从文本本身的单词中看不到文本中的潜在变量。

机器学习中的公共参考数据集包括最常见单词的50左右的频率,即“停用词”(例如, a 那里 if )发布的作品莎士比亚,伦敦,奥斯汀和米尔顿。具有单个隐藏层的基本多层感知器可以以100%的准确度分离该数据集。这些数据集及其变体在ML数据库中广泛可用,academic papers呈现分类结果同样很常见。

答案 1 :(得分:6)

标准方法是“词袋”表示,其中每个单词有一个特征,如果单词出现在文档中则给出“1”,如果没有出现则给出“0”。

这提供了很多功能,但是如果你有像Naive Bayes这样的简单学习者,那还是可以的。

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

答案 2 :(得分:1)

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

您需要记住使用支持数字特征的学习算法,例如SVM。 Naive Bayes不支持数字功能。