当前位置:  开发笔记 > 人工智能 > 正文

自然语言处理中的二值化

如何解决《自然语言处理中的二值化》经验,为你挑选了0个好方法。

二值化是将实体的彩色特征转换为数字向量(通常是二进制向量)的行为,以便为分类器算法提供良好的示例.

如果我们将句子"猫吃狗"二进制化,我们可以先为每个单词分配一个ID(例如cat-1,ate-2,the-3,dog-4),然后简单地将单词替换为它的ID给出了矢量<3,1,2,3,4>.

给定这些ID,我们还可以通过给每个字四个可能的槽创建二进制向量,并将对应于特定单词的槽设置为1,给出向量<0,0,1,0,1,0,0,0 ,0,1,0,0,0,0,0,1>.据我所知,后一种方法通常被称为词袋方法.

现在,对于我的问题,一般来说,描述自然语言处理的特征,特别是基于转换的依赖解析(使用Nivres算法)时,最好的二值化方法是什么?

在这种情况下,我们不希望编码整个句子,而是编码解析的当前状态,例如堆栈中的顶部单词和输入队列中的第一个单词.由于订单具有高度相关性,因此排除了词袋方法.

有了最好的,我指的是,使数据的最可理解的分类方法,而无需使用了不必要的内存.例如,如果只有2%的双子星实际存在,我不想要一个单词bigram使用4亿个特征来获得20000个独特单词.

由于答案也取决于特定的分类器,我最感兴趣的是最大熵模型(liblinear),支持向量机(libsvm)和感知器,但是也欢迎适用于其他模型的答案.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有