Machine learning 除了单词袋(TF-IDF)外,还有哪些方法可以将文本特征转换为数字特征?

Machine learning 除了单词袋(TF-IDF)外,还有哪些方法可以将文本特征转换为数字特征?,machine-learning,nlp,random-forest,tf-idf,Machine Learning,Nlp,Random Forest,Tf Idf,这些天我一直在研究自然语言处理。我的目标是根据一些标准,对用罗马文字书写的多语种句子中的不同单词进行分类。因此,我需要一个分类器。毫无疑问,有很多。但由于我的特征不是数字特征而是文本特征,而且大多数分类器(如支持向量机(SVM))都输入数字特征,因此我寻找了一些方法将文本特征转换为数字特征。尽管使用术语频率和反向文档频率(TF-IDF)的单词袋概念是用于此目的的通用方法,但我的文本特征之一,即本地上下文,具有固定长度,我想知道是否有可能在不使用TF-IDF的情况下将其转换为数字特征。本地上下文特

这些天我一直在研究自然语言处理。我的目标是根据一些标准,对用罗马文字书写的多语种句子中的不同单词进行分类。因此,我需要一个分类器。毫无疑问,有很多。但由于我的特征不是数字特征而是文本特征,而且大多数分类器(如支持向量机(SVM))都输入数字特征,因此我寻找了一些方法将文本特征转换为数字特征。尽管使用术语频率和反向文档频率(TF-IDF)的单词袋概念是用于此目的的通用方法,但我的文本特征之一,即本地上下文,具有固定长度,我想知道是否有可能在不使用TF-IDF的情况下将其转换为数字特征。本地上下文特征是指考虑前两个和后两个单词(组成特定单词的上下文)。因此,我正在寻找任何其他方法,可以证明在这种情况下更好。我在交叉验证中发现了类似的查询,但这是针对文档聚类的,我想将单个单词分类为不同的类。我在quora上也发现了一个未回答的类似问题


为了达到我的目的,我希望将文本特征转换为数字特征,或者使用能够将文本特征作为输入的分类器。有没有人可以帮我…

您当然不必将TF-IDF用于单词包(例如,一个简单的计数向量就可以),但它的目的是帮助选择分类中最有用的单词


如果没有更多关于您试图进行何种分类的信息,就有点难以提供帮助,但其他一些方法可能是查看单词周围的n-gram,对周围的单词进行情感分析,或者使用LDA提取单词的主题分布,并将这些向量用作特征。(这些都是将文本数据转换为有用的数字特征的方法——没有真正的分类器处理原始文本。)

从本质上说,一袋单词是一个文本的表示形式


要表示一个单词,可以使用一袋字母、字母n-grams或类似的东西。另一个想法是通过查看单词的左右邻域(表示为单词包)对单词进行分类

问题是,我如何列举可能的输入?这是一种罕见的情况,真正“唯一真正的限制是你的想象力”。但一个简单的方法是对可能的排列进行编目,并为每个排列分配一个编号

对于一个非常小的词汇表,您可以为词汇表中每个可能的单词排列分配一个数字。如果你的词汇量是{'bag','of','words},你可以指定数字

1 bag of words
2 bag words of
3 of bag words
4 of words bag
5 words bag of
6 words of bag
也许还有一些,以满足空位的需要。但对于一本大词典来说,这显然是不可行的。如果您改为为为每个单词分配一个数字标识符:

1 bag
2 of
3 words
然后,您可以执行类似(1*100)+(2*10)+(1*3)的操作来获得排列“单词袋”的数字123。或者,如果要强调上下文,可以指定二进制特征,并对中心词应用乘数:

001 bag
010 of
100 words
将获得(1*001)+(1000*010)+(1*100)=010101=21的首字“of”,由前导上下文“bag”和尾随上下文“words”包围

什么是有意义的取决于您的应用程序。很容易找到合适的应用程序,在这些应用程序中,计算字母b或其他字母出现的次数是有意义的,只需直接使用您感兴趣的度量作为标识符