输入法之模型训练

输入法。尤其是拼音输入法,解决的就是一些序列标注的问题,针对给定的状态(拼音),获取其概率最高的隐状态(中文)。
这个是一个标准的HMM,针对HMM的解码过程,是一个非常成熟也非常完备的东西。


local的计算和存储能力都有限。我们选择通常是二阶马尔科夫,也就是所谓的bigram model。

高阶对质量会有帮助。可是涉及到存储和计算。project上不可行。

同理,利用ME 以及CRFmodel都能够解决这一类的标注问题,相同是project上的问题。不太可行。

确定了採用bigram model。那么训练过程也就非常确定:
1.Segment and Count bigram&unigram
2.smoothing 
3.prunning

在seg之前,须要对我们的训练语料做一下预处理。输入法重点关注的是中文以及中文的关系,所以须要对当中的英文以及符号等切割做一个预处理。不然会添加后期剪枝的复杂度。
一版的做法是,针对里面的英文,能够用一个统一的ENGLISH的标记取代,尽量不要去掉,而对于符号,作为句子的分隔符号,将整个句子折断成一个一个纯中文的短句。作为训练语料。

作为完备的model。会包含 開始符号BOS 以及结束符EOS,则能够保证整个model是封闭的。只是针对输入法。这个不是必须的,对于输入过程。用户的每一次開始输入,都不一定是句子的開始,强行加上去,不一定有好的效果。

作为训练过程#1 没有什么好说的,直接处理即可。
#2是非常关键的一个。HMM的解码,涉及到大量的转义概率乘,假设两个状态的概率没看到,那么转义概率为0。整个相乘链就为0,显然不合理。所以须要平滑,事实上就是通过策略为没有看到的二元对提供一个默认的计算方式。

#3 二元对之间的关系非常多,一版在1B规模以上。而输入法智能非常用非常小规模(1kw),那么就须要对这个进行剪枝,剪枝非常重要,最大限度的保证剪枝后模型的准确率和剪枝前相近,后面具体介绍。

转载于:https://www.cnblogs.com/mqxnongmin/p/10573835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拼音输入法的二元模型是指在拼音输入时,根据前一个拼音和当前拼音的组合,预测用户输入的语。该模型可以提高输入法的准确性和输入速度。 在拼音输入法中,用户通过按键输入拼音,输入法根据用户输入的拼音,从库中筛选出可能的语,并给出联想结果供用户选择。而二元模型则是在选择候选时,结合前一个拼音和当前拼音的组合进行预测,提高输入法的准确性。 举个例子来说,当用户输入“shi”的时候,在二元模型中,根据前一个拼音和当前拼音的组合,“shi”的下一个可能是“shi”,也可能是“shou”或其他语。输入法可以根据用户的习惯和使用情境来推测用户的意图,给出最合适的候选供用户选择。 二元模型的实现主要依赖于大规模语料库的统计分析和训练。通过分析大量的拼音输入数据,统计每个拼音出现在其他拼音后面的概率,然后根据这些概率来生成预测。这样就可以根据用户输入的前一个拼音和当前拼音的组合,预测下一个可能的拼音,从而提高输入法的准确性。 总的来说,拼音输入法的二元模型通过预测用户输入的语,提高输入法的准确性和输入速度。通过大规模语料库的统计分析和训练,二元模型可以根据前一个拼音和当前拼音的组合,预测下一个可能的拼音,给出最合适的候选供用户选择。这样,用户在使用拼音输入法时,可以更加方便地输入所需的语。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值