当前位置:首页>编程日记>正文

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

1 输入法和编码

    将一个方块形状的汉字输入到计算机中,本质上是一个将人为约定的信息记录编码--汉字,转换成计算机约定的编码(国际码或者UTF-8)的信息转换过程。

    对汉字的编码分为两部分:对拼音的编码和消除歧义的编码。

    拼音输入法,而且是每个汉字编码较长的全拼输入法。优点:

        1. 它不需要专门学习。

        2. 输入自然,不会中断思维,也就是说找每个键的时间非常短。

        3. 因为编码长,有信息冗余。容错性好。

2 输入一个汉子需要敲多少个键--谈谈香农第一原理

    香农第一定理指出,对于一个信息,任何编码的长度都不小于它的信息熵。

    利用上下文最好的办法是借助语言模型。只要承认概率论,就无法否认语言模型可以保证拼音转汉字(解决一音多字的问题)的效果最好。

    目前,各家拼音输入法基本处在同一个量级,将来技术上进一步提升的关键就在于看谁能准确而有效地建立语言模型。

3 拼音转汉子的算法

    拼音转汉字的算法和在导航中寻找最短路径的算法相同,都是动态规划。

    拼音输入法就是要根据上下文在给定拼音条件下找到最优的句子,即《数学之美》第21章  拼音输入法的数学原理 配图01

    数学的妙处在于它的每一个工具有相当的普遍性,在不同的应用中都可以发挥很大的作用。

4 个性化的语言模型

    个性化的出发点是不同人平时写的东西主题不同,由于文化程度的差异,用词习惯不同,说话和写作的水平也不相同,因此,他们各自应该有各自的语言模型。

    训练用户特定的语言模型的整个步骤如下:

        1. 将训练语言模型的文本按照主题分成很多不同的类别,比如1000个,C1,C2,...,C1000

        2. 对于每个类,找到他们的特征向量(TF-IDF)X1,X2,...,X1000

        3. 统计某个人输入的文本,得到他输入的词的特征向量Y

        4. 计算Y和X1,X2,...,X1000的余弦

        5. 选择前K个和Y距离最近的类对应的文本,作为这个特定用户语言模型的训练数据

        6. 训练一个用户特定的语言模型M



http://www.coolblog.cn/news/facb94b7929ccd88.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐