Subword Models

    技术2022-07-10  115

    1.人类语言的声音

    语音学是音流,这是属于物理层面的东西

    词法学:一个n-grams的代替方案

    在基于单词的模型中存在一些问题: 需要处理很大的词汇表,在英语中单词只要变个形态就是另一个单词了,比如说:gooooood bye

    2.字符级别模型

    单词嵌入可以由字符嵌入表示:

    能为不知道的单词生成嵌入 相似的拼写有相似的嵌入 解决了oov问题 传统来说,一个因素或者一个字母不是一个因素单元,但是深度语言模型把它们组合在一起了。 单词之下的书写系统 大部分深度学习的任务都是从语言的书写形式来处理语言的,这是一个简单的过程,需要寻找数据。 纯字符级模型 在上一堂课的句子分类中,我们看到了一个纯字符级模型的好例子: 用于文本分类的超深度卷积网络 Conneau,Schwenk,Lecun和Barrault EACL 2017

    通过深度卷积堆栈获得强大结果 纯字符级NMT模型 luong和Manining测试了一个纯字符级的seq2seq(LSTM)NMT系统作为baseline,它和基于word level的模型一样运行的很好,但是在训练时非常耗费时间。下图来是该系统的BLEU评分: 无需显式细分的全字符级神经机器翻译

    3.n-gram

    N-Gram是基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关。(这也是隐马尔可夫当中的假设。)整个句子出现的概率就等于各个词出现的概率乘积。各个词的概率可以通过语料中统计计算得到。假设句子T是有词序列w1,w2,w3…wn组成,用公式表示N-Gram语言模型如下:

    P(T)=P(w1)*p(w2)*p(w3)***p(wn)=p(w1)*p(w2|w1)*p(w3|w1w2)***p(wn|w1w2w3…) 一般常用的N-Gram模型是Bi-Gram和Tri-Gram。分别用公式表示如下:

    一元Bi-Gram:  P(T)=p(w1|begin)*p(w2|w1)*p(w3|w2)***p(wn|wn-1)

    二元Tri-Gram:  P(T)=p(w1|begin1,begin2)*p(w2|w1,begin1)*p(w3|w2w1)***p(wn|wn-1,wn-2) 除此之外,还有four-gram、five-gram等,不过n>5的应用很少见。

    Processed: 0.017, SQL: 9