首页 文章

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

提问于
浏览
0

这些天我一直在从事自然语言处理 . 我的目的是根据一些标准对罗马剧本中的多语言句子中的不同单词进行分类 . 因此,我需要一个分类器 . 毫无疑问,有很多 . 但由于我的特征不是数字而是文本,并且大多数分类器如支持向量机(SVM)输入数字特征,我寻找一些方法将我的文本特征转换为数字特征 . 虽然使用术语频率和反文档频率(TF-IDF)的Bag Of Words的概念是用于此目的的通用方法,但我的一个文本特征,即本地上下文,具有固定长度,我想知道是否可以在不使用TF-IDF的情况下将其转换为数字特征 . 局部上下文特征指的是考虑前两个和后两个单词(其包括特定单词的上下文) . 因此,我正在寻找在这种情况下可以证明更好的任何其他方法 . 我在Cross Validated here找到了类似的查询,但这是用于文档聚类,我想将单个单词分类到不同的类中 . 我还在quora上找到了一个类似的question未答复 .

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

3 回答

  • 0

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

    使用一个荒谬的小词典,你可以为词典中单词的每个可能的排列分配一个数字 . 如果您的词汇量是{'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.1556482_ . 或者,如果您想强调上下文,可以指定二进制特征,并将乘数应用于中心词:

    001 bag
    010 of
    100 words
    

    对于由前导上下文'bag'和尾随上下文'words'包围的头字'of',将获得(1 * 001)(1000 * 010)(1 * 100)= 010101 = 21 .

    有意义取决于您的应用程序 . 很容易想出小众应用程序,可以计算字母b或其他任何事件的出现次数,并直接使用您感兴趣的度量标准作为标识符 .

  • 0

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

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

  • 0

    从本质上讲,一个词袋是 text 的表示 .

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

相关问题