1 / 32

用户输入纠错

用户输入纠错. 张扬 @imeresearch zhangyang@sogou-inc.com 20110115. Outline. 总体目标 相关工作 系统实现 评测及分析 改进方向及结论 参考资料. 总体目标. 降低用户输入中的退格次数 造成退格的原因 输入错误 词库覆盖面 调频 用户自身习惯 本文目的:通过对用户输入的自动纠错来降低退格率. 用户输入示例. id=00559D715AF5C83BD5B5FB024F1B08C8, ip=221.194.157.227

karena
Download Presentation

用户输入纠错

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 用户输入纠错 张扬@imeresearch zhangyang@sogou-inc.com 20110115

  2. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  3. 总体目标 • 降低用户输入中的退格次数 • 造成退格的原因 • 输入错误 • 词库覆盖面 • 调频 • 用户自身习惯 • 本文目的:通过对用户输入的自动纠错来降低退格率

  4. 用户输入示例 id=00559D715AF5C83BD5B5FB024F1B08C8, ip=221.194.157.227 [20110113 10:36:34.890ms]sc:0 huanzi 环资 :KwMusic.exe 0 [20110113 10:36:36.320ms]pk:KeyDown:"Backspace":KwMusic.exe [20110113 10:36:36.520ms]pk:KeyDown:"Backspace":KwMusic.exe [20110113 10:36:41.960ms]sc:6 huan 欢 :KwMusic.exe 0 [20110113 10:36:45.120ms]sc:0 zhi 直 :KwMusic.exe 0 [20110113 10:36:46.440ms]pk:KeyDown:"Backspace":KwMusic.exe [20110113 10:36:48.840ms]sc:0 zi 子 :KwMusic.exe 0 [20110113 11:48:18.400ms]sc:0 de 的 :QQ.exe 0 [20110113 11:48:18.570ms]pk:KeyDown:"Space":QQ.exe [20110113 11:48:21.380ms]sc:0 keji 科技 :QQ.exe 0 [20110113 11:48:23.370ms]sc:0 neng 能 :QQ.exe 0 [20110113 11:48:23.530ms]pk:KeyDown:"Space":QQ.exe [20110113 11:48:24.330ms]sc:0 dai 待 :QQ.exe 0 [20110113 11:48:25.500ms]pk:KeyDown:"Backspace":QQ.exe [20110113 11:48:28.260ms]sc:1 dai 带 :QQ.exe 0 [20110113 11:48:31.50ms]sc:0 tu 图 :QQ.exe 0 [20110113 11:48:31.800ms]sc:0 me 么 :QQ.exe 0

  5. 用户输入错误示例 [20110115 00:48:02.500ms]sc:0 yizhi 一直 :QQ.exe 0 [20110115 00:48:02.600ms]pk:KeyDown:"Space":QQ.exe [20110115 00:48:04.130ms]sc:0 shi 是 :QQ.exe 0 [20110115 00:48:19.850ms]sc:0 xingqi 星期 :QQ.exe 0 [20110115 00:48:19.850ms]ss:xq'x'xinqi'xin'xingqi:QQ.exe [20110115 00:48:22.920ms]sc:0 wu 五 :QQ.exe 0 [20110115 00:48:25.400ms]sc:0 xiuxi 休息 :QQ.exe 0 [20110115 00:48:25.690ms]sc:0 a 啊 :QQ.exe 0 [20110115 00:48:25.850ms]pk:KeyDown:"Space":QQ.exe [20110109 01:03:16.210ms]sc:0 ju 距 :QQ.exe 0 [20110109 01:03:16.210ms]ss:jiu'j'ju:QQ.exe [20110109 01:03:19.30ms]sc:0 py 朋友 :QQ.exe 0 [20110109 01:03:20.160ms]sc:0 xi 系 :QQ.exe 0 [20110109 01:03:26.50ms]sc:0 xiangg 香港 :QQ.exe 0 [20110109 01:03:26.50ms]ss:xiang'xian'xiangg:QQ.exe [20110109 01:03:30.290ms]sc:0 dus 读书 :QQ.exe 0 [20110109 01:03:30.400ms]pk:KeyDown:".":QQ.exe [20110109 01:03:30.550ms]pk:KeyDown:".":QQ.exe [20110111 23:56:34.920ms]pk:KeyDown:"Backspace":iexplore.exe [20110111 23:56:35.80ms]pk:KeyDown:"Backspace":iexplore.exe [20110111 23:56:41.650ms]sc:1 ke 科 :iexplore.exe 0 [20110111 23:56:42.810ms]sc:0 daifu 大夫 :iexplore.exe 0 [20110111 23:56:43.50ms]pk:KeyDown:"Space":iexplore.exe [20110111 23:56:47.840ms]sc:0 changshuo 常说 :iexplore.exe 0 [20110111 23:56:47.840ms]ss:chuangshuo'ch'changshuo:iexplore.exe [20110111 23:56:48.80ms]sc:0 de 的 :iexplore.exe 0 [20110111 23:56:49.180ms]sc:0 jius 就是 :iexplore.exe 0

  6. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  7. 相关工作-英文纠错 • 英文纠错 • 成词错误 vs. 非成词错误 taht, foto, fill the from, heal the word…… • 拼写检查 vs. 拼写校正 • 编辑距离 vs. 发音相似度 • 方法 • 基于规则 • 基于统计 N-gram, neural net, winnow, logistic regression, MaxEnt…… • 应用 OCR、email spellchecker, speller for search engine……

  8. 相关工作-中文纠错 • 中文错误类型 音近(如“按步就班”中的“步”应为“部”) 形近(如“人”和“入”) 意近(如“既往不究”中的“究”应为“咎”) • 成型系统主要是针对混淆集中的单词在上下文搭配上引起的错误,采用歧义消解的思路进行校正 • 基于输入法的拼音输入纠错 step 1: pinyin2pinyin’ step 2: pinyin’2hanzi

  9. 拼音输入纠错 • 非成音错误 vs. 成音错误 非成音错误 : shenem => shenme, nishoshuo => nishuoshuo, … 成音错误 : cifan => chifan, yingai=>yinggai, huiji => feiji, … 模糊音属于成音错误的一类 • 认知错误 vs. 非认知错误 • 用户输入编辑类型 替换(31.4%): shuijiap => shuijiao, yanjinh => yanjing, … 插入(29.8%): yhingxiong => yingxiong, tongxuie => tongxue, … 删除(31.8%): nishoshuo => nishuoshuo, zheyag => zheyang, … 交换(7.1%): shenem => shenme, wansahng => wanshang, …

  10. 拼音输入纠错 (Contd.) • 用户输入音节类型 20110101-20110114十四天78个大白狗文件 • 用户输入字母串长度分布 长度3-21占长度大于1输入比例 75.52%

  11. 拼音输入纠错 (Contd.) 统计退格前与退格中的编辑距离分布 替换: tuibi'tuib'tuiba'退吧 插入: yinghang'yin'yinhang'银行 删除: dngbei’d’dongbei’东北 交换: yihuire‘yihui’yihuier‘一会儿 编辑距离1所占比例 50.60% 编辑距离1-2所占比例 75.34%

  12. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  13. 评价指标 • Precision/recall/top-n accuracy • 误杀率

  14. 拼音纠错处理流程 输入错误识别 SpellerLib 生成候选(替换、插入、删除、交换) Pinyin2pinyin候选打分 云输入法 Pinyin2hanzi候选打分

  15. 拼音纠错模型 • 噪音信道模型 • 给定输入query,找出最大可能候选,满足 argmax P(cand|query) = argmax (P(query|cand) * P(cand)) Error model /信道模型 source model /语言模型

  16. 纠错示例 给定输入串zhemguiyi 对候选1:zhemeguiyi P(zhemeguiyi)*P(zhemguiyi|zhemeguiyi)=P(zhe)*P(me|zhe)*P(gui|zheme)*P(yi|zhemegui)*P(~|m, context) 对候选2:zhenguiyi P(zhenguiyi)*P(zhemguiyi|zhenguiyi)=P(zhen)*P(gui|zhen)*P(yi|zhengui)*P(m|n, context) 对候选3:……

  17. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  18. 评测集合 • 统计20101001到20101201共计62天的大白狗数据,从中抽取用户输入退格对进行统计。预处理后得到合法退格对703,856,416个,它们满足以下条件: 1) 退格后的拼音串为全拼(覆盖79.8%); 2) 退格前后拼音串编辑距离(字母插入、删除、替换、交换)小于1; 3) 退格对出现频率满足一定下限; • 误杀率评测 20000行大白狗用户连续输入文本,获得退格对659个,占到3.3% 评价退格对被纠正的比例,以及正常输入被误杀的比例

  19. 系统实现 • 根据四种编辑类型分别生成候选 • 使用基于字母的trigram模型进行优化 统计得出3052个合法的全拼trigram,生成正向和反向两个trie结构 快速检测错误 快速生成合法候选 理论计算量(52*len - 55),该方 法能使计算量平均降低72% 举例来说,对于片段xd,首先探测出不符合全拼trigram统计 接下来查找反向的字母trigram trie,获得xdi和xdu两个候选,从而生成xid(中间插入i)和xud (中间插入u)是合法的trigram,免除了对其它24个字母的枚举操作 aaa …… ibu …… zuz aaa …… iub …… zzu

  20. 系统实现(Contd.) • 纠错串长度4-20 • 候选生成范围:编辑距离为1 • 不考虑首字母编辑,不考虑末字母删除 • 针对用户简拼习惯的优化 • 纠错模型参数估计 • Source model使用音节bigram • Error model使用基于单字母上下文的字母操作条件概率 • 20101101到20101124共计24天的大白狗数据,共计6,953,209,997条记录

  21. 评测结果 非成词评测集,Bigram source model ONLY

  22. 评测结果(Contd.) 非成词评测集, Bigram source model + context-sensitive error model

  23. 评测结果-与客户端纠错比较

  24. 评测结果-误杀率 现在策略下,大致能达到的覆盖率为 75%(纠错长度4-20) * 75%(编辑距离为1) * 27.46%(纠错覆盖率) = 15.44%

  25. 错误分析 • 给出纠错的 pinyin2pinyin’错误 pinyin2pinyin ’正确,pinyin ’ 2hanzi(音字转换)发生错误 • 未给出纠错的 简拼优化策略带来的影响 • 评测集合 jipio jipia 机票 tasi tasi 踏实 weenluan wenluan 温暖 minsenyusen mincenyusen 名称预审 sinisenqi sinisenri 是你生日

  26. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  27. 改进方向 • 扩大纠错范围 • 更长、更大编辑距离 • 云输入、客户端、手机…… • 简拼优化策略 • 评测集的人工干预 • 个性化纠错

  28. 结论 • 可同时处理模糊音纠错和输入错误 • 方便并行实现,并根据具体使用场合控制计算量 sub/ins/del/xpos生成候选流程相互独立,方便并行实现 超时强制返回 caching ……

  29. Outline • 总体目标 • 相关工作 • 系统实现 • 评测及分析 • 改进方向及结论 • 参考资料

  30. 参考资料 • Philips L. Hanging on the Metaphone. Computer Language Magazine 7(12), 1990, pp. 38-44. • Philips L. The Double-metaphone Search Algorithm. C/C++ User‘s Journal, 18(6), June 2000. • Brill E, Moore RC. An Improved Error Model for Noisy Channel Spelling Correction. In: Proceedings of 38th Annual Meeting of Association for Computational Linguistics, 2000, pp. 286-293. • Yang Zhang, Pilian He, Wei Xiang, Mu Li. Discriminative Reranking for Spelling Correction, in proc. of the 20th Pacific Asia Conf. on Language, Information and Computation (PACLIC), 2006; • Mu Li, Yang Zhang, Muhua Zhu, Ming Zhou. Exploring Distributional Similarity-Based Models for Query Spelling Correction, in proc. of the 44th Association of Computational Linguistics (ACL), 2006; • Jurafsky D, Martin J. Speech and Language Processing, Prentice Hall, 2000. • Kukich, K. Techniques for Automatically Correcting Words in Text, ACM Computing Survey, Vol. 14, No. 4, pp 377-439, December 1992. • 张照煌. 中文自动拼写校正的一种新方法(英文). COLIPS通讯, 1994, 4(2):143-149. • 李建华, 王晓龙. 整合三元模型和自动权重分布的中文拼写校正方法. 计算机科学技术学报(英文版), 2002, 17(6): 915-923. • 张磊,周明,黄昌宁,鲁明羽. 基于特征与学习的中文文本自动校对方法. 第三届中文智能控制及智能自动化会议, 2000年. • 陈正,李开复,拼写纠正在拼音输入法中的应用,计算机学报 2001(07) • 张扬,何丕廉,向伟,李沐。一种基于判别式重排序的拼写校正方法。软件学报,2008,19(3):557-564;

  31. Any questions?

  32. Thank you!

More Related