前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NLP系列学习:基于Markov的拼音汉字转换方法

NLP系列学习:基于Markov的拼音汉字转换方法

原创
作者头像
云时之间
修改2020-07-14 17:19:40
1.8K0
修改2020-07-14 17:19:40
举报
文章被收录于专栏:云时之间

通常情况下,我们在做语音识别的时候,一般是以下的一个流程:

这里最主要的是依靠两个模型:声学模型和语言模型,声学模型接收我们说话的音频,输出的结果为拼音,而从拼音转换到文字,这个就需要语言模型来进行操作。也就是这一篇文章的核心,基于马尔可夫的拼音文字转换方法。

一:拼音到文字的Markov模型推导

Markov模型的特点是某一状态的发生概率仅其以前的状态有关,而和其他状态无关

,这一点在语言学中称为左语境约束,左语境约束这一点很好理解,因为我们的文字读写习惯都是从左到右,因此你现在读到的文字语境会受到你刚刚读到的文字的约束。

前提假设:

综上所述:可以通过下边的图片来解释这个流程,其中方块表示输入的拼音,圆形表示同音字,箭头表示对外转移概率(没有箭头表示转移概率为0)

二:动态规划的算法求解

包括最大似然估计,很多方法都可以解决寻找路径的问题。需要通过对观察到的数据来进行概率判断下一时刻最可能的状态,从拼音到汉字的转换过程可以看做是在一个有向图中,求解概率最大路径的问题。可以用维特比(Viterb)算法:

假设:我们观察到的是拼音:

但是观测序列中序列排序很复杂,比如wo可能有三种可能:喔、我、沃,如下图所示:

现在变成了最大概率问题,把概率最大的理解为路径最短,转换为了求解最短路径问题

算法求解:

1:A->B

2:A->B->C

3:A->B->C->D

4:A->B->C->D->E

最终就得到了A->E的最短路径A->B1->C2->D2->E1,至此,找到了wo ai zhong guo对应的概率最大的中文汉字组合为:我爱中国。

三:系统结构

参考https://github.com/letiantian/Pinyin2Hanzi项目代码。罗列系统结构:

用户输入拼音串后,会学习语料库,然后通过维特比算法去求解最大解,,并

将形成最大值的状态串接起来作为输出 。

四:实验结果

代码学习部分放在下一篇

五:参考文章

1:基于词词同现概率的拼音汉字自动转换方法。马少平老师

2:如何通俗地讲解 viterbi 算法?

https://www.zhihu.com/question/2013

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档