字符粒度表示用于词性标注
2017-09-19 14:13
267 查看
简述
概括来讲,就是把单词的字符序列用CNN来提取特征,与预训练的word2vec一并,用于提升词性标注的效果文章全名:Learning Character-level Representations for Part-of-Speech Tagging
字符特征
字符特征的提取主要是考虑到字母的大小写、前后缀事实上是传统优化算法用于词性标注任务的重要特征,如果能恰如其分用网络结构表示出来,可能取得更好的效果类似于单词,每个字母都有一个从one-hot到向量的表示,这是第一层
每个单词可以看成字母的序列,进而可以看成字母序列的ngram,取窗口大小为k,其中的一个ngram可以表示为
一个单词转化成{z1,...,zm,...zM},经过一层变换后,在M中取最大的,就得到一个单词的最终表示
最后看到的就是下面这个结构:
每一个单词都分别对应一个通过word2vec训练得到的词向量,和一个字符向量,而字符向量不需要预训练
其他部分都遵循了C&W的文章的方法
其他细节
文章只用了4线程的CPU来训练,对硬件要求不高从结果上看,保持其他设定,对比手工提取前后缀特征,文章的方法有细微的提升;在遇到未登陆词的时候,在不同的语料上互有胜负。但如果彻底不用形态特征,遇到未登陆词时效果就很差了
字符向量相似度最高的词举例:
相关文章推荐
- 在C++中有两种类型可以用于表示字符,char和wchar_t。
- viterbi用于中文词性标注
- 中文词性标注 符号表示
- 编写一个程序,用于接收用户输入的数,然后显示从0到该数为止表示的所有字符,询问用户是否愿意再次继续同样的过程
- viterbi用于中文词性标注
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- fastText一个库用于词表示的高效学习和句子分类
- perl 字符和字节 表示utf8
- 用于string对象中字符截取的几种函数总结——语法、参数意义及用途举例
- Java:简单的文件操作,将用字符表示的16进制数转为对应的2进制内容保存到新文件中
- 数据结构习题分析:已知由一个线性链表表示的线性表中含有三类字符的数据元素,是编写算法将该线性表分割为三个循环链表,其中每个。。。。。
- 16进制字符窜表示的颜色转化为RGB格式
- java实现10进制转换为英文字符表示的26进制,得到唯一自增的英文字符串序列。
- 自然语言处理基于java实现(2) 之 词性标注
- 写一点应用关于 Lucene.Net,snowball的重新组装(一)在Lucene.Net中加入词性标注与词根还原功能
- 该文件包含不能在当前代码页(936)中表示的字符。
- 写了一个字符串截取一定长度的代码,中文两个字符,英文一个字符,如果截断了自动用一个.或两个.来对齐,用于标题的显示
- 词性标注
- HTML当中特殊字符的表示 (特别是sql运算符在xml和html中的表示)