什么是使用单词本身作为任何机器学习算法中的功能的最佳方法?
我必须从特定段落中提取单词相关功能的问题。我应该使用字典中的索引作为数字特征吗?如果是这样,我将如何规范这些?
一般来说,单词本身如何用作NLP中的功能?
答案 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)