Archive for category 酷灵开发
谈谈酷灵输入法与统计自然语言处理
在我没有参加开发酷灵输入法之前,我对输入法的认识是比较肤浅的,认为输入法只是一个文字输入程序而已,但随着对输入法开发的不断深入,我对输入法认识已不再只是个文字输入的程序这么简单了,它涉及到的网络,信息安全,文件系统,多线程或者多进程通信,分布式,自然语言处理等诸多领域,那么今天我们就谈谈自然语言处理这块。
为什么输入法会和统计自然语言处理相关呢。这里要回到人和计算机交互这个范畴上来了。人类的梦想是能和计算机进行更好地交互,那什么的交互才是更好的呢,是不是大家都有这样的体会,在从前谈及输入法就是指五笔输入,为什么是五笔输入呢,因为在当时的情况下,拼音还不是很普及,而且五笔输入较之拼音输入的一个很重要的优势是重码率很少,最多4个键确定一个字,这样的话,只要每个字的编码记得清楚的话,那么打字的效率就自然提高了。而用拼音打字的话,同一个音,却有很多个汉字,据我了解一个“yi”音就有400多个汉字,可想而知,要检索出一个我需要的汉字,是多么“痛苦”的一件事啊。但是五笔要求记住每个字的编码,对于我们这些80后受拼音教育很深的一代,更是“痛苦”的一件事情。为了解决这个问题,所以就将统计自然语言处理运用到了拼音输入法中。
自然语言处理的基本方法基本分为理性主义方法和经验主义方法。理性主义方法主张建立符号处理系统,由人工整理和编写原始的语言知识表示系统(通常为规则),构造相应的推理程序,也就是说用语法规则来处理我们的语言,但是自然语言,尤其是汉语,很多时候不是按照严格的语法规则来书写的。于是经验主义方法就提出通过建立特定的数学模型来学习复杂的,广泛的语言结构,然后利用统计学,模式识别和机器学习等方法来训练模型的参数,以扩大语言的使用规模,经验主义的自然语言处理方法是建立在统计方法基础之上的,因此我们称其为统计自然语言处理。
统计自然语言处理是怎么运用到酷灵的拼音输入模式中去的。主要是运用在整句输入中,如果S表示一个有意义的句子,由一连串特定顺序排列的词W1,W2 … Wn组成,而对应的音则是Y1,Y2 … Yn,那么要想知道句子S在整句输入中出现的可能性,也就需要使用数学上的概率P(S)来表示。利用条件概率的公式,S这个序列出现的概率等于每个词出现的概率乘积,公式如下:
P(S) = P(W1)*P(W2|W1)*P(W3|W1W2)….P(Wn|W1W2…Wn-1)。
其中P(W1)表示第一词W1出现的概率,P(W2|W1)是在已知的第一个词的前提下,第二个词出现的概率,依此类推,可以看出到了词Wn,它出现的概率取决于它前面所有词,但是这么做在实际的计算过程中是很难实现的。更何况是用在输入法这样要求计算速度快的程序中,因此我们假定任意一个词Wi出现的概率只和它前面的词Wi-1有关(这叫马尔可夫假设),这样计算就可以得到简化,句子S出现的概率就变为:
P(S) = P(W1)*P(W2|W1)*P(W3|W2)….P(Wi|Wi-1)。
这样的模型被称为二元语法模型。那如何计算P(Wi|Wi-1)呢?这就需要语言模型的训练,统计出词对(Wi-1, Wi)在文本中出现的次数,以及词Wi-1本身在同样的文本中前后相邻出现的次数,然后用公式P(Wi|Wi-1) = P(Wi-1, Wi) / P(Wi-1)就可以求出,这个文本统计的过程,倾注了酷灵团队所有人的心血,经历了机器分词,人工整理,不断地调整,最后才得出比较准确的词频,用户在酷灵输入法2.1正式版在打字的过程中可以体验到,词频上有了很大的改进,整句的输入准确度也有了不同程度的提高。
其实自然语言处理运用到输入法的地方还很多很多,这里只是向大家展示了下自然语言处理中的二元语法模型在整句输入中的运用,酷灵团队也在不断地努力,将会为用户提供体验更好,品质更高的输入法。我作为酷灵输入法开发团队中的一员,酷灵多的一分努力,用户可以得到多的一分喜悦。
一个美工眼里的酷灵输入法
作为酷灵团队的一位美工,在负责输入法的皮肤设计的这段时间里,我感觉到一种置身其中的兴趣和热爱。
在微软的win7发布会上,微软大中华区的一位工程师说过一段这样的话:”我为什么选择进入微软,就是我想让我做的东西给全世界最多的人使用。“而我门热爱输入法的设计开发,就是因为希望让最多的人看到并使用我们做出的东西。这是我们团队源源不断的动力来源。
使用不同的输入法,对用户的工作效率的影响是肯定存在的。而设计师们坚信,一个输入法的皮肤,不仅仅会影响用户的工作效率,更加会影响到他的心情。这段时间和朋友们聚会时发现,他们竟然还有用智能ABC的。这让我很吃惊,于是很“多事”的向他们推荐了酷灵输入法。也看到了他们惊奇的眼神。与之前输入法的笨拙相比,酷灵很奇特就在词组记忆功能能让我们轻松选到自己想要的词组。而其他输入法则没有这个“灵性”,不懂我们的用户的心。
这上面只是用户在选取文字的方便快捷,一个输入法的成功。还需要我们许许多多新的人性化的功能,功能性的东西是程序员的事,我们设计人员就不必班门弄斧了,我们考虑的是必须还要有另一种突破。我认为也是最重要的突破。那就是漂亮,并且有多种皮肤样式的选择。更关键的是用户们在使用输入法的时候,往往会有想换不同皮肤使用的想法。这就是对我们美工的要求了。
创造一套皮肤就是孕育一个生命,新皮肤是否具备鲜活的生命力?是否会有夭折的命运?判定标准还是取决于用户是否会使用。不仅要求让人们眼前一亮,去下载安装。还得在用户使用的日子里,让他用的舒服。这里就要求我们在设计的阶段里必须考虑很多!
第一,有好的主题和创意是一个皮肤的灵魂,这些需要不停的思考和想象。皮肤的主题必须是新颖的,漂亮的,不一样的。让人一看就有种找到,符合自己心情的感觉。
第二,对于美工来讲,皮肤颜色的选取会影响一个人的心情,红色躁动,蓝色平静,紫色恐慌….所以我们会考虑到不同年龄段的人喜欢不同的颜色,不同性别的人喜欢不同的颜色,不同职位的人喜欢不同的颜色。另外不同的颜色放在不同的背景里的效果,颜色不能太脏。在做透明背景时候要考虑放在任何背景上都能看清文字,否着透明效果再好看不清候选文字,一切也还是徒劳。
第三,定皮肤坐标时候尺寸是否合适,这个也是我曾经犯过的错误。整个状态栏的过大的话,会占用屏幕太大面积。用户工作时候,只是选用一种输入法而已,而绝对不会因为你的皮肤样式的好看牺牲屏幕的一大个板块,横条输入栏和竖条输入栏也是这个道理。另外我们要考虑到候选文字在版面的排版,一般遵循左对齐原则。当然,文字也要遵循一些黄金分割比例,留白等等因素。因为候选项从3个到9个不等,所以也必须要考虑到各个数量情况的比例和美观度。
第四,皮肤切割这个问题,他会限制设计人员的天马行空的想象。因为输入文字时输入栏的长短会相应的变换,会使背景拉伸或者平铺。这也就是说要考虑到重复拉伸后背景边缘的连接的美观。
这是我个人对创作输入法的一点经验和认识,部门里的一位同事说过:“判定皮肤的好坏很简单,就是你做了一套皮肤,你自己会用么?“我一直用这个标准来裁定自己的设计。
正是因为我们团队的每个人对输入法的热爱。才会使得酷灵输入法从最初的简单版本,经过不断的完善bug,直到推出最新的2.1beta版。在我们看到一个个陌生客户使用我们输入法的时候,在我们看到我们的交流群里不断有用户加入并咨询我们输入法问题,关心我们新版本何时发布的时候。我们有了一种很强的成就感和责任感,并且相信酷灵输入法会给千千万万的用户带去的工作效率,带去愉悦的心情。因为我们在用心做。
Rocky.Pxy
贺新春
在虎年新春佳节到来之际,感谢大家在这一年来的关注支持!在此先送上我们的一份祝福,祝福大家合家欢乐、万事如意在、新的一年里身体健康!事业有成!
再送上我们专为新春做的精美皮肤!
皮肤名称:恭贺新春
皮肤名称:翻动的台历
皮肤名称:逝去的日子
建议
平时上班时间开发人员都在处工作状态,回复QQ群中所提出问题会有些缓慢。所以建议大家以后碰到问题最好到BBS上发帖,或者在每天的中午或晚上我们会在空余时第一时间回复用户的提问。
感谢
酷灵2.1 Beta版,发布已经将近半个月的时间了。用户们通过了多种的渠道在酷灵论坛、酷灵QQ群、360百科中对新版输入法做了很多的评价(如在功能上的疑问,使用时遇到的问题,以及对功能上的改进)。我们也都在第一时间回复了用户们的疑问。用户对新版本的肯定,更给予了我们将酷灵越做越好的信心。
推荐几款Cooling新皮肤!
虎年贺新春 虎虎生威
寒冷的冬天有泰迪的陪伴格外的温暖……
透明的世界 简洁大气 更能配合我的电脑主题
酷灵 2.1 Beta 发布
版本信息:
新增功能
1.优化五笔整句输入效果。
2.优化酷灵五笔的输入模式。
3.增加拼音自定义短语支持多行、空格、指定位置排序。
4.增加五笔自造词功能。
5.通过快捷键,快速切换输入法的功能。
6.支持输入框光标移动。
7.自定义模式:随意导入用户自由组合的输入法码表。
8.双拼:用定义好的单字母代替较长的多字母韵母或声母来进行输入。
功能改进
1.繁体词库问题,不再出现“台的输出只能显示颱,而不能显示台或臺”的情况;
2.优化完善语料,使动态组词的组词速度快,准确率更高 。
3.状态栏、右键菜单、输入法界面进行美化。
4.支持Microsoft Windows 7、Windows Vista系统。
bug修复
1.改进部分的按键冲突
2.修复了在部分游戏和应用软件中的兼容性问题。
酷灵推出2.1 Beta版,用户们可将自己试用的结果或使用时想到好的建议,及时的反馈与我们。我们将不断地吸纳好的建议,在下一版本(或以后)做为我们的需求,做出更适合用户使用的输入法。
下载地址:http://cooling.ape-tech.com/

Beta 版本进展
最近几周,大家都忙着在做最后的完善和测试,每个人都在为 Beta 版本的问世而做着最后的努力。 感谢用户长久以来的支持,相信很快2.1 Beta 版本就能和用户们见面,届时希望得到用户们的试用反馈。
为酷灵加油!
感谢用户一直以来的支持,为了能让更多的人知道酷灵、了解酷灵、使用酷灵。能有更多的用户体验到酷灵输入法,请在360软件百科上投上一票。感谢大家!
投票地址: http://baike.360.cn/wiki/item/%BF%E1%C1%E9%CA%E4%C8%EB%B7%A8
最近评论