Word Hasing

何为Word Hashing?

仅用于英文中。具体以book这个单词为例,分为三个步骤:

  • 在book两端添加临界符#book#
  • 采用n-gram的方式分成多个部分,如果是trigrams那么结果是[#bo, boo, ook, ok#]
  • 最终book将会用[#bo, boo, ook, ok#]的向量来表示

上面的过程就是word hashing,不难发现,hashing后的结果[#bo, boo, ook, ok#] 每个letter长度都是3个字母,因此成为tri-letter。
这种方式还叫BPE (Byte Pair Encode)

作用

单词词表很大,很容易出现OOV。但是word hashing后,词表不再是单词,而是每个letter,也就是词根,这样词表规模就会小很多。即使单词没有收入,但是词根都有,可以有效避免OOV。

当然,随之而来的可能有副作用,会存在两个不同的单词也有可能具有相同的tri-grams,针对这个问题论文中做了统计,这个冲突的概率非常的低,500K个word可以降到30k维,冲突的概率为0.0044%。

在中文中,其实我们也效仿了这种做饭,会采用字向量的形式,而非词向量,词典包含了大部分的中文,能有效降低oov的可能性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容