ASO优化关键词中文分词算法原理

苹果应用商店上架了超过200万款应用,AppStore搜索拥有至少500万个搜索关键词,而热度≥4605的搜索词也接近7万个,面对如此庞大并实时变化的数据,如何理解用户的搜索意图,并精准匹配相应的应用,从而在搜索结果中展现用户想要的结果,都绕不开一个重要环节“中文分词算法”。

什么是中文分词?简单来讲,中文分词(Chinese Word Segmentation)就是把一段汉字分割成一个个独立有意义的词语,相对于英文分词来说,区别是非常大的,因为英文中每一个单词就是一个独立的词语,而且英文书写时候是用空格隔开每个单词,而我们汉字是以字为基本单位,由不同字组合成词语,并且中文是由连续的汉字序列构成,词与词之间是没有天然的分隔符 ,所以中文分词相对来说困难很多,因此需要设计中文分词算法按照一定的规范进行区分。

中文分词算法

为帮助大家理解上述概念,小泽就以“中文分词”这个词条作为例子,如上图所示,右侧的英文由3个空格隔开的单词组成,chinese(中国的)、word(词语)、segmentation(分割),而左侧的“中文分词”,经历过九年制义务教育的中国人,一眼就能区分为“中文、分词”,但计算机就难搞了,因为独立的字符串分为“中、文、分、词”,那按照什么规则进行组合呢?这个时候就需要中文分词,帮助系统能够理解。

根据小泽的搜集分析,发现中文分词算法常用分为两种:基于词典分词和基于统计分词

一、基于词典的分词方法

顾名思义就是查字典,系统建立一个“足够大”的词典,然后把汉字按照一定的“规则”输入到词典中进行匹配,如果在词典中匹配到某个词,那么就意味着找到一个词条。

原理很简单,但是对于规则的设计却有一定的难度,目前常见的规则包含:

1)正向最大匹配法(方向从左到右):基本思路是从词典中先找出最长的词条,假如长度为L,那么以L作为标准尺度,将需要分词的汉字文本从左到右进行截取,并到词典中查找是否存在该字符串的词条,如果匹配成功,则标记为分割成功的词语,如果匹配失败,则将截取长度调整为(N-1),再重复上述匹配过程,直到截图长度为最小值1为止,最终以匹配整个汉字文本作为结束。

2)逆向最大匹配法(方向从右到左):逻辑和正向最大匹配法一致,就是分词的方向换成从右到左,也是按照词典中最长词条的长度L,从文本末尾向左截取汉字与词典进行匹配。

逆向最大匹配法和正向最大匹配法的分词结果会有什么不同吗?

为方便理解,小泽可以通过一个简单的文本“研究生命的起源”的分词结果来说明。

按照正向最大匹配法分词为:研究生/命/的/起源

按照逆向最大匹配法分词为:研究/生命/的/起源

显而易见,后者更加符合原文的意思,按照统计结果表明,正向最大匹配法错误率为1/169,而逆向最大匹配法错误率为1/245。

3)双向最大匹配法(从左到右、从右到左):结合上述两种分词法,然后将两种分词结果进行比较,如果两组词结果一致,则判定分词结果是正确的,如果存在不一致,则判定存在歧义,需要采取新的技术手段来进一步消除歧义。

研究表明,中文90%的语句采取正向和逆向最大匹配法是完全重合并正确的,只有9%的语句两种分词方法得到的结果不一致,但其中确定有一个是正确的,只有不到1%的句子,采取两种分词方法都是错误的,这正是双向最大匹配法在实用中文信息处理系统中得以广泛使用的原因所在。

4)设立切分标志法(收集切分标志):简单来讲,就是在自动分词前处理切分标志,然后再用正向或逆向最大匹配法执行。切分标志分为自然和非自然两种,自然切分标志是指文本中出现的非文字符号(标点符号),非自然标志是利用词缀和不构成词的词(单音词、复音节词和象声词),这种方法并非真正意义上的分词法,属于自动分词前的一种处理方式。

5)最佳匹配法(分正向和逆向):这种方法也不是纯粹意义上的分词方法,属于对词典的一种组织方式,其原理是先在词典中按照词频大小顺序进行排列,方便分词对词典快速匹配,缩短分词词典的检索时间,加快分词的速度。最佳匹配法会要求词典给每个词条表明长度,所以词典空间复杂度有所增加,但分词处理的时间有所下降。

基于词典的分词方法简单、速度快,效果明显,但对歧义和新词的处理不是很好,对词典中未登录的词没法进行处理。

二、基于统计的分词方法

统计分词法的中心思想是:词是固定字的组合,因此在上下文中,相邻的字出现的次数越多,就说明越有可能组成一个词。该方法又称为无字典分词,只需要对文本中相邻出现的各个字组合的频率进行统计,就能计算他们之间相互的展现几率,几率越高说明关系紧密程度越高,当紧密程度高于某个阈值时,便可以认定该字组合可以构成一个词。

基于统计的分词法的优点是不受待处理文本领域的限制,不需要专门的词典,能尽量避免分词导致的歧义,但该方法需要有人工标注分好词的语料作为训练支撑,分词速度较慢,需要耗费相当大的性能。

在实际应用中,一般把统计分词法和词典分词法结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点来识别一些新词。

三、中文分词在ASO优化关键词设置的运用

在了解完中文分词的基本理论后,如何在ASO关键词设置中运用呢?

1、制作一款ASO分词工具

小泽首先想到的就是建立一个苹果AppStore的mini词典,词典仅包含有搜索热度的词语,然后建立一套词典和统计相结合的模拟分词算法,制作成一个ASO分词工具,把应用名称、副标题、关键词输入进去,方便用户迅速了解分词结果是否覆盖想要的关键词,同时能够计算出分词结果在词典中出现的词频,统计词与词之间相互组合的几率,最终能根据词频效率给出新的文字方案作为参考。(筹备中)

2、关于撰写元素据ASO方案的建议

一般在搜索引擎中的设计中,搜索查询和索引收录会采取不同的分词算法,在用户搜索时会采用粗粒度分词保证精准,而在开发者在提交应用时会使用细粒度的分词保证覆盖全面。比如“上海人民广场”,粗粒度的分词就是“上海人民广场”,而细粒度分词是“上海/人民/广场”。

所以,用户通过搜索栏输入关键词或下拉菜单的搜索联想词,会通过苹果系统进行粗粒度分词匹配,同时应用名称、副标题、关键词会通过细粒度分词算法进行收录,具体想法参考如下:

aso关键词分词组词

1、有利于词典分词法的撰写建议:基于词典的分词法都需要用到一个最长字符关键词的长度作为截取标准,而且是从头或者从尾进行分词,小泽猜测最长字符数应该不会超应用名称最大上限30个字符(详见下图),因此,根据分词优先级的考虑,建议在撰写关键词时,把重要的关键词分为两类,一类在头,一类放尾,而且根据词频把相关的词语写在一起,为方便组词,间隔最多不超过30个字符。

aso应用名称字符数

2、有利于统计分词法的撰写建议:苹果会参考相邻字符出现的次数和频率,因此,我们在设置关键词时候,不要为了节省空间硬组词,比如把“支付宝、宝贝”组合为“支付宝贝”,而应该把两个词尽可能分开,各自选择符合用户搜索习惯的词语进行组词,比如系统推荐的搜索联想词比较合适。