除了 Bag Of Words (TF-IDF),还有哪些方法可以将文本特征转换为数字特征?

What are the methods except Bag Of Words (TF-IDF) for converting textual features into numerical features?

这几天一直在研究自然语言处理。我的目标是根据某些标准对用罗马文字书写的多语言句子中的不同单词进行分类。因此,我需要一个分类器。毫无疑问,有很多。但是由于我的特征不是数字的而是文本的,并且大多数分类器(如支持向量机 (SVM))输入数字特征,所以我寻找一些方法将我的文本特征转换为数字特征。虽然使用词频和逆文档频率 (TF-IDF) 的词袋概念是用于此目的的通用方法,但我的文本特征之一,即局部上下文,是固定长度的,我想知道是否不使用 TF-IDF 也可以将其转换为数值特征。局部上下文特征是指考虑前两个词和后两个词(构成特定词的上下文)。因此,我正在寻找在这种情况下可以证明更好的任何其他方法。我在 Quora 的 Cross Validated here, but that is for document clustering and i want to classify individual words into different classes. I also found one unanswered similar question 找到了类似的查询。

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

您当然不必对词袋使用 TF-IDF(例如,一个简单的计数向量就可以),但它旨在帮助 select 最有用的词分类。

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

本质上,词袋是文本的表示。

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

真正的问题是,如何枚举可能的输入?这是真正 "the only real limit is your imagination" 的罕见情况之一。但是一个简单的方法是只对可能的排列进行分类,并为每个排列分配一个数字。

使用小得可笑的词典,您可以为词典中单词的每个可能排列分配一个数字。如果你的词汇量是{'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 "bag of words".或者如果你想强调上下文,也许分配二元特征,并对中心词应用乘数:

001 bag
010 of
100 words

会得到 (1 * 001) + (1000 * 010) + (1 * 100) = 010101 = 21 为中心词 'of' 包围前导上下文 'bag' 和尾随上下文 'words'.

什么有意义取决于您的应用程序。很容易想出小众应用程序,在这些应用程序中计算字母 b 或其他任何东西的出现次数可能有意义,并直接使用您感兴趣的指标作为标识符。