6

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

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

一般来说,单词本身是如何在 NLP 中用作特征的?

4

3 回答 3

8

有几种传统技术可以将单词映射到特征(2D 数据矩阵中的列,其中行是单独的数据向量)以输入到机器学习模型。分类

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

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

  • 两个或多个单词的并列(例如,连续顺序的“替代”和“生活方式”的含义与任何一个组成词都不相关);这种并置可以在数据模型本身中捕获,例如,一个布尔特征,表示文档中两个直接相邻的特定单词的存在或不存在,或者这种关系可以在 ML 技术中被利用,作为一种天真在这种情况下,贝叶斯分类器会强调文本

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

A common reference data set in machine learning is comprised of frequencies of 50 or so of the most common words, aka "stop words" (e.g., a, an, of, and, the, there, if) for published works of Shakespeare, London, Austen, and Milton. A basic multi-layer perceptron with a single hidden layer can separate this data set with 100% accuracy. This data set and variations on it are widely available in ML Data Repositories and academic papers presenting classification results are likewise common.

于 2010-11-17T18:37:42.000 回答
6

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

这提供了很多功能,但是如果您有像朴素贝叶斯这样的简单学习器,那仍然可以。

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

于 2010-11-17T18:33:34.343 回答
1

tf-idf is a pretty standard way of turning words into numeric features.

You need to remember to use a learning algorithm that supports numeric featuers, like SVM. Naive Bayes doesn't support numeric features.

于 2010-12-03T20:10:43.743 回答