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

Posted

技术标签:

【中文标题】如何在分类中包含单词作为数字特征【英文标题】:How to include words as numerical feature in classification 【发布时间】:2011-05-11 13:26:39 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

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

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

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

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

机器学习中的常用参考数据集由频率为 50 左右的最常用词组成,也就是“停用词”(例如,aan , of, and, the, there, if)莎士比亚、伦敦、奥斯汀和弥尔顿。具有单个隐藏层的基本多层感知器可以 100% 准确地分离该数据集。该数据集及其变体在 ML Data Repositories 中广泛可用,academic papers 呈现分类结果也很常见。

【讨论】:

“丰富的功能”是什么意思(我是这个词的新手)?【参考方案3】:

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

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

【讨论】:

以上是关于如何在分类中包含单词作为数字特征的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Weka 文件中指定字符串?

如何使用单词的向量表示(从Word2Vec等获得)作为分类器的特征?

在 LSTM 中包含分类特征和序列以进行序列预测的最佳实践?

如何使用单词的向量表示(从 Word2Vec 等获得)作为分类器的特征?

如何知道 UITextView 中包含多少个单词

使用 Weka 进行句子分类