什么是使用单词本身作为任何机器学习算法中的功能的最佳方法?
我必须从特定段落中提取单词相关功能的问题.我应该使用字典中的索引作为数字特征吗?如果是这样,我将如何规范这些?
一般来说,单词本身如何在NLP中用作特征?
存在若干传统技术,通过这些技术将字映射到特征(2D数据矩阵中的列,其中行是各个数据矢量),以输入到机器学习模型.分类:
一个布尔字段,用于对给定文档中该单词的存在与否进行编码;
预定词组的频率直方图,通常是包含训练数据的所有文件中最常出现的X个词(更多关于本答案最后一段中的这一个);
两个或多个单词的并置(例如,连续顺序中的"替代"和"生活方式"具有与组成单词无关的含义); 这种并置可以在数据模型本身中捕获,例如,布尔特征表示文档中彼此直接相邻的两个特定单词的存在或不存在,或者这种关系可以在ML技术中被利用,作为一个天真的贝叶斯分类器在这种情况下会强调文本 ;
单词作为提取潜在特征的原始数据,例如LSA或潜在语义分析(有时也称为潜在语义索引的LSI).LSA是一种基于矩阵分解的技术,它从文本本身的单词中不明显的文本中导出潜在变量.
在机器学习中设置的公共参考的数据是由50频率的左右的最常用的词,又名"停止词"(例如,一,一个,的,并且,所述,有,如果)莎士比亚的出版的作品,伦敦,奥斯汀和米尔顿.具有单个隐藏层的基本多层感知器可以以100%的准确度分离该数据集.该数据集及其变体在ML数据库中广泛可用,并且提供分类结果的学术论文同样是常见的.
标准方法是"词袋"表示,其中每个单词有一个特征,如果单词出现在文档中则给出"1",如果没有出现则给出"0".
这提供了很多功能,但是如果你有像Naive Bayes这样的简单学习者,那仍然可以.
"字典中的索引"是一个无用的功能,我不会用它.