现代输入法大多首选拼音输入法,其原因便是拼音符合人的认知规律,尽管需要多输入几个字母,但速度并不慢。它不需要专门去学习,输入时不用中断思维去考虑,而且对于前后鼻音具有很好的冗余性。

而拼音转汉字的算法与导航中的寻找最短路径是相同的。乍一看,难以想象。但可以将拼音转汉字看成一个通信问题,模型对输入的字母转换成文字。这就类似于翻译模型了。

每个拼音可以对应多个字,把一个拼音串对应的汉字连接起来,就形成一张有向图,称之为网格图或篱笆图。

这里就有关于在何时可以使用HMM模型,一般情况下task类似翻译,从一种形式转换成另一种形式。这两种形式之间存在对应关系。当使用条件概率最大化概率时,使用HMM对其做概率转换,如上由于人输入的拼音是动态无法统计的,在经过HMM转换后,就将基于人输入的概率问题转换成基于模型数据库的统计问题。这是就可以基于模型的认知,求解最大概率。

上述方法虽然好,但存在的问题是语言模型一般较大,放置在手机上不方便;一种方式就是放到云服务器上;另一种就是在本地建立基于用户喜好的个性化小模型。这时的问题是用户自己的输入语料库一般不大,无法形成有效的训练。因此我们需要借助先收集的大量语料库,进行分类,找出与用于最为匹配的语料库,结合用户自己语料库训练。这里就涉及到先前介绍的提取文本TD-IDF特征,使用余弦相似性聚类。方法如下:

用户特定的语言模型M1对于特定的用户输入比通用模型M0要好,但是对于较为偏僻的内容,M1模型就不如M0模型了。因为M1模型训练的语料库远小于通用模型M0。一个更好的办法是结合这两种模型。这里就涉及到前面的最大熵模型。但是最大熵模型由于计算复杂,为每个人建立一个模型不够实际。因此可以使用一个简化方法:线性插值模型。线性插值模型效果比最大熵模型效果略差,但差不多能得到大约80%的收益。google拼音就是使用的这种方法。

数学之美:拼音输入法的数学原理相关推荐

  1. 拼音输入法的数学原理

    拼音输入法的数学原理 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言 过去的25年里,中文输入法经历从自然音节编码输入,到偏旁笔画拆字输入,再回归自然音 ...

  2. 《数学之美》第21章 拼音输入法的数学原理

    1 输入法和编码 将一个方块形状的汉字输入到计算机中,本质上是一个将人为约定的信息记录编码--汉字,转换成计算机约定的编码(国际码或者UTF-8)的信息转换过程. 对汉字的编码分为两部分:对拼音的编码 ...

  3. 《数学之美》第二十一章——拼音输入法的数学原理

    提高输入法的效率主要在于两方面: 输入汉字的平均击键次数接近理论上的最小值 寻找一个键的时间不要太长 1. 输入法与编码 讨论了全拼输入法对比于双拼输入法的优势,主要在于双拼输入法有更多的歧义性,虽然 ...

  4. java 对数取反_数学之美读书笔记-拼音输入法的数学原理

    从理论上分析,输入汉字到底能有多快?这里需要用到信息论中的香农第一定理.假定在国标GB2312里面,一共有6700多个常用的汉字.如果不考虑汉字频率的分布,用键盘上的26个字母对汉字进行编码,两个字母 ...

  5. 算法与数学之美:最全数学各个分支简介

    数论 人类从学会计数开始就一直和自然数打交道了,后来由于实践的需要,数的概念进一步扩充,自然数被叫做正整数,而把它们的相反数叫做负整数,介于正整数和负整数中间的中性数叫做0.它们和起来叫做整数. 对于 ...

  6. 数学之美11--拼音输入法的数学原理

    第21章 拼音输入法的数学原理 1.输入法与编码: a.对汉字的编码分为两个部分: i.对拼音的编码 ii.对消除歧义的编码 b.拼音输入法的优势: i.不需要专门的学习 ii.输入自然,不会中断思维 ...

  7. 度量相似性数学建模_数学之美读书笔记

    2020年6月读,先通读一遍,随后为写读书笔记又重新读了一遍,收获颇丰,虽然没有很多数学或者编程方面的知识,但正如作者所说,这本书讲述的是道,而非术. 读这本书让我领略到了科学的趣味,并不是枯燥的敲代 ...

  8. 《数学之美》-吴军 读书笔记

    从吴军的<数学之美>找到了伽莫夫的<从一到无穷大>,前段时间先整理了<从一到无穷大>的笔记.现在整理下<数学之美>以巩固下. 近段时间AlfaGo 与人 ...

  9. 《数学之美》——吴军#读书笔记

    <数学之美> 吴军 第一章:文字和语言vs数字和信息 主要内容概述:"语言和数学的产生都是为了同一个目的--记录和传播信息".科技是伴随着人类的不断进化而发展进步的.信 ...

最新文章

  1. 在 C# 中通过 P/Invoke 调用Win32 DLL
  2. 你知道Java 8 的方法引用吗
  3. interface接口_golang 基础(Four) 接口进阶
  4. python assert 断言的作用
  5. js利用localStorage和sessionStorage完成记住我功能
  6. C/C++常见标准头文件前格式探讨
  7. Eclipse自动换行
  8. python 入门基础-Python入门基础
  9. DJ音乐播放管理软件rekordbox如何从导出设备恢复音乐
  10. centos 对某ip开放 防火墙端口_Centos防火墙设置与端口开放的方法
  11. IntelliJ IDEA2017.3 破解
  12. 【高德地图在React项目中的使用——(二)各种配置的使用】
  13. 梦三花重金修改服务器,《新天龙八部》6月14日全服更新维护公告
  14. Lens5 指南:专为Kubernetes人员设计的IDE
  15. JDBC查询超时时间设置
  16. android 仿微信demo————微信主界面实现
  17. PAT-2021年春季考试-甲级
  18. matlab 仿射变换函数,matlab 中的仿射变换函数
  19. iPhone14到手先做啥,捷客特教你避雷手机配件“坑”
  20. 高级webshell,过狗

热门文章

  1. 力扣PTA~每天至少三题
  2. GCN(通过https://www.bilibili.com/video/BV1QK4y1t75Q?p=1share_medium=androidshare_plat=androidshare)
  3. 随笔:做一个平庸程序员,are you scared?
  4. iSCSI #2 issue 记录
  5. import 和 from … import 模块的变量、方法引用差异
  6. 说说tushare pro积分规则或积分获取的那些坑!
  7. Java计算机毕业设计电影票网上订票系统源码+系统+数据库+lw文档
  8. 清华大学刘知远:知识指导的自然语言处理
  9. 三维度重新评估新股价值
  10. 大连BI工具大连BI软件哪家好