CN103869998B - 一种对输入法所产生的候选项进行排序的方法及装置 - Google Patents
一种对输入法所产生的候选项进行排序的方法及装置 Download PDFInfo
- Publication number
- CN103869998B CN103869998B CN201210531852.4A CN201210531852A CN103869998B CN 103869998 B CN103869998 B CN 103869998B CN 201210531852 A CN201210531852 A CN 201210531852A CN 103869998 B CN103869998 B CN 103869998B
- Authority
- CN
- China
- Prior art keywords
- candidate
- weight
- user
- candidate item
- cumulative weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 230000001186 cumulative effect Effects 0.000 claims description 258
- 230000002123 temporal effect Effects 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims 1
- 238000009825 accumulation Methods 0.000 abstract 3
- 230000008569 process Effects 0.000 description 17
- 230000006399 behavior Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 235000016496 Panda oleosa Nutrition 0.000 description 6
- 240000000220 Panda oleosa Species 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000002354 daily effect Effects 0.000 description 4
- 239000000126 substance Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000013106 supervised machine learning method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种对输入法所产生的候选项进行排序的方法及装置。其中该方法包括:接收当前用户在当前时段的输入信息;利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取输入信息的候选项集合中每个候选项在先前时间语言模型下的第一权值;根据每个候选项的第一权值计算每个候选项的第一累积权值,其中第一权值对第一累积权值的贡献度随时间先后顺序逐步消减;基于每个候选项的第一累积权值,对输入信息的候选项进行排序;展示排序后的候选项。通过上述方式,本发明能够针对用户在不同时段输入同样的输入信息时,向用户推送与时间相关的候选项排序,以满足不同时段用户的需求,提升用户体验。
Description
技术领域
本发明涉及输入法领域,特别是涉及一种对输入法所产生的候选项进行排序的方法及装置。
背景技术
输入法是指为了将各种符号输入计算机或其他设备(如手机)而采用的编码方法。
利用输入法进行输入时,通常通过向设备发送各种字符以获取字符对应的候选项,并选择相应的候选项来完成输入。而对于输入的相同读音的字符时,获取得到的字符对应的候选项的集合中各候选项的排序通常都是一样的。比如对于拼音“daxue”,该拼音对应的候选项包括“大学”、“大雪”、“大血”、“打血”等多个,而每次针对用户对拼音“daxue”的输入,向用户推送的候选项排序基本是一样的,或者是只按照候选项在大规模语料中出现的频次来排序。
本申请的发明人在长期的研究中发现,每个用户在不同的时段输入的同一个读音的字符时,可能所需要的候选项不一样。针对同一个输入推送的候选项排序都一样或者只简单的按照频次来进行排序,不足以满足不同时段用户的需求,影响用户体验。
发明内容
本发明主要解决的技术问题是提供一种对候选项进行排序的方法及装置,能够针对用户输入同样的字符时,向用户推送的候选项排序能够满足不同时段用户的需求,提升用户体验。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种对输入法所产生的候选项进行排序的方法,包括:接收当前用户在当前时段的输入信息;利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取所述输入信息的候选项集合中每个候选项在所述先前时间语言模型下的第一权值;根据每个候选项的所述第一权值计算每个候选项的第一累积权值,其中所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减;基于所述每个候选项的第一累积权值,对所述输入信息的候选项进行排序;展示排序后的候选项。
其中,所述接收当前用户在当前时段的输入信息的步骤之前,还包括:使用文本分类技术对网页语料按时间先后顺序进行分类整理,获得多个不同先前时段的网页语料;基于每一先前时段的网页语料分别训练出一所述时间语言模型。
其中,所述根据每个候选项的所述第一权值计算每个候选项的第一累积权值的步骤包括:通过如下公式计算所述第一累积权值:
其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
其中,所述基于每个候选项的第一累积权值,对所述输入信息的候选项进行排序的步骤包括:按照所述第一累积权值的大小对所述候选项进行排序。
其中,所述基于每个候选项的第一累积权值,对所述输入信息的候选项进行排序的步骤包括:根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值;根据所述第二权值计算每个用户针对每个候选项的第二累积权值,其中所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;基于所述第一累积权值和所述第二累积权值计算第三累积权值,并根据第三累积权值的大小对所述输入信息的候选项进行排序。
其中,所述根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值的步骤包括:对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;统计每个用户在每个先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
其中,根据所述第二权值计算每个用户针对每个候选项的第二累积权值的步骤包括:通过如下公式计算所述第二累积权值:
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
其中,所述基于第一累积权值和所述第二累积权值计算第三累积权值的步骤包括:通过如下公式计算所述第三累积权值:
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
其中,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
其中,所述基于第一累积权值和所述第二累积权值,计算第三累积权值,并根据第三累积权值的大小对所述输入信息的候选项进行排序的步骤之后,还包括:根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词。
其中,判断候选项集合中是否有高频热词或新词的步骤包括:若候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值,则确定所述候选项为新词。
其中,所述判断候选项集合中是否有高频热词或新词的步骤包括:若候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值,则确定所述候选项为高频热词。
其中,所述判断候选项集合中是否有高频热词或新词的步骤之后,还包括:向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
其中,所述展示排序后的候选项的步骤包括:展示进行排序后的候选项以及候选项的新词或热词的标识。
其中,所述展示进行排序后的候选项的步骤之后,还包括:根据用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行排序;展示按所述第二累积权值进行排序的候选项。
其中,所述时间语言模型是N-Gram语言模型或N-Pos语言模型。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种对输入法所产生的候选项进行排序的装置,包括接收模块、第一获取模块、第二获取模块、第一排序模块以及展示模块,其中:所述接收模块用于接收当前用户在当前时段的输入信息,并将所述当前用户在当前时段的输入信息发送给所述第一获取模块;所述第一获取模块用于利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取所述输入信息的候选项集合中每个候选项在所述先前时间语言模型下的第一权值,并将所述第一权值发送给所述第二获取模块;所述第二获取模块用于根据每个候选项的所述第一权值计算每个候选项的第一累积权值,其中所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减,并将所述第一累积权值发送给所述第一排序模块;所述第一排序模块用于基于所述每个候选项的第一累积权值,对所述输入信息的候选项进行排序,并将进行所述排序后的候选项发送给所述展示模块;所述展示模块用于展示进行所述排序后的候选项。
其中,所述装置还包括网页语料分类模块、训练模块,其中:所述网页语料分类模块用于使用文本分类技术对网页语料按时间先后顺序进行分类整理,获得多个不同先前时段的网页语料,并将所述不同先前时段的网页语料发送给所述训练模块;所述训练模块用于基于每一先前时段的网页语料分别训练出一所述时间语言模型。
其中,所述第二获取模块具体用于通过如下公式计算所述第一累积权值:其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
其中,所述第一排序模块具体用于按照所述第一累积权值的大小对所述候选项进行排序。
其中,所述第一排序模块包括第一获取单元、第二获取单元、第三获取单元以及排序单元,其中:所述第一获取单元用于根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值,并将所述第二权值发送给所述第二获取单元;所述第二获取单元用于根据所述第二权值计算每个用户针对每个候选项的第二累积权值,其中所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减,并将所述第二累积权值发送给所述第三获取单元;所述第三获取单元用于基于所述第一累积权值和所述第二累积权值,计算第三累积权值,并将所述第三累积权值发送给所述排序单元;所述排序单元用于根据所述第三累积权值的大小对所述输入信息的候选项进行排序。
其中,所述第一获取单元包括用户分类子单元以及统计子单元,其中:所述用户分类子单元用于对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;所述统计子单元用于统计每个用户在每个先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
其中,所述第二获取单元具体用于通过如下公式计算所述第二累积权值:其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
其中,所述第三获取单元具体用于通过如下公式计算所述第三累积权值:
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
其中,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上输入历史信息。
其中,所述第一排序模块还包括判断单元,用于根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词。
其中,所述判断单元具体用于当候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值时,则确定所述候选项为高频热词;或具体用于当候选项集合中候选项当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值时,则确定所述候选项为新词。
其中,所述第一排序模块还包括推送单元,用于向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
其中,所述展示模块具体用于展示排序后的候选项以及候选项的新词或高频热词的标识。
其中,所述装置还包括第二排序模块,用于根据用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行排序;所述展示模块具体用于展示按所述第二累积权值进行排序的候选项。
其中,所述时间语言模型是n-gram语言模型或n-pos语言模型。
本发明的有益效果是:区别于现有技术的情况,本发明根据已建立按时间先后顺序划分的多个先前时段的时间语言模型,获取当前用户在当前时段输入信息的候选项集合中每个候选项的第一权值,并根据每个候选项的第一权值计算每个候选项的第一累积权值,基于每个候选项的第一累积权值对候选项进行排序。由于不同时段用户关注的候选项不一样,时间语言模型能够反映各个作为候选项的词组在当前时间之前出现的情况,按照候选项的第一累积权值对候选项进行排序。通过这种方式,能够使候选项的排序实时地与时间相关,针对用户不同时段下相同的输入推送不同的候选项排序,既能满足用户不同时段的需求,又能减少用户对候选项的选择时间,提升用户体验。
附图说明
图1是本发明的对输入法所产生的候选项进行排序的方法一实施方式的流程图;
图2是本发明的对输入法所产生的候选项进行排序的方法另一实施方式的流程图;
图3是本发明的计算每个用户针对每个候选项的第二权值的一实施方式的流程图;
图4是本发明的建立时间语言模型的一实施方式的流程图;
图5是本发明的确定高频热词的一实施方式的流程图;
图6是某一输入法的展示界面示意图;
图7是某一假名对应的部分候选项的示意图;
图8是某一输入法的展示界面示意图;
图9是,某一输入法的展示界面示意图;
图10是本发明的对输入法所产生的候选项进行排序的装置一实施方式的结构示意图;
图11是本发明的对输入法所产生的候选项进行排序的装置另一实施方式的结构示意图;
图12是本发明的第一排序模块的结构示意图;
图13是本发明的第一获取单元的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
参阅图1,本发明对输入所产生的候选项进行排序的方法一实施方式包括:
步骤S101:接收当前用户在当前时段的输入信息;
利用输入法接收当前用户当前输入信息,比如接收当前用户当前输入的拼音字符、假名、或者英文单词或句子等等。
步骤S102:利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型,获取输入信息的候选项集合中每个候选项在先前时间语言模型下的第一权值;
语言模型(Language Model,LM)的目的是建立一个能够描述给定词序列在语言中的出现频次或概率的分布。即利用语言模型,可以确定哪个词序列的可能性更大,或者给定若干个词,可以预测下一个最可能出现的词语。举个音字转换的例子来说,输入拼音串为“nixianzaiganshenme”,对应的输出可以有多种形式,如“你现在干什么”、“你西安再赶什么”等等,那么到底哪个才是正确的转换结果呢?利用语言模型,我们知道前者的概率大于后者,因此转换成前者在多数情况下比较合理。再举一个机器翻译的例子,给定一个汉语句子为“李明正在家里看电视”,可以翻译为“Li Ming is watching TV athome”、“Li Mingathome is watching TV”等等,同样根据语言模型,我们知道前者的概率大于后者,所以翻译成前者比较合理。
那么如何计算一个句子的概率呢?比如给定句子(词语序列)为:
S=W1,W2,...,Wk,
那么,它的概率可以表示为:
P(S)=P(W1,W2,...,Wk)=p(W1)P(W2|W1)...P(Wk|W1,W2,...,Wk-1)
由于上式中的参数过多,因此需要近似的计算方法。常见的方法有n-gram模型方法、决策树方法、最大熵模型方法、最大熵马尔科夫模型方法、条件随机域方法、神经网络方法等等。
在本实施例中,按时间先后顺序划分的多个先前时段的时间语言模型可通过如下方式建立。
请参阅图2,本发明建立多个先前时段的时间语言模型的步骤包括:
步骤S201:使用文本分类技术,对网页语料进行分类整理,获得多个不同先前时段的网页语料;
文本分类技术就是在给定的分类体系下,让计算机根据文本内容自动确定相关类别的过程。在本发明实施方式中使用文本分类技术,利用“时间戳”对大规模网页语料进行分类整理,得到多个不同先前时段的网页语料。比如2012年1月的网页语料、2012年2月的网页语料、2012年3月的网页语料等等。
上述的时段的语料只是本发明实施方式的一个举例,在实际应用中,可以周、月或者年等来对网页语料进行分类而得到对应的时段的网页语料。
步骤S202:基于每一先前时段的网页语料分别训练出一时间语言模型;
基于每一个先前的时段以及与每个先前时段对应的网页语料,分别训练出相应的多个时间语言模型。
比如针对时段2012年1月的时间语言模型,针对时段2012年2月的时间语言模型,针对时段2012年3月的时间语言模型等。
上述时间语言模型可以确定一个句子、一个词或词组或者若干词等输入信息的第一权值,这里的第一权值是指在没有用户行为参与的情况下,一个句子、一个词或词组或若干词等在先前时段的各个时间语言模型下的出现频次。也就是说,一个句子、一个词或词组或若干词等在每个先前时段的时间语言模型下都对应一个第一权值。第一权值越大,则说明该句子、词或词组或若干词在该时间语言模型下出现的频次越多。
用户输入信息后,会产生相应的多个候选项,这些候选项即组成候选项集合,根据时间语言模型,可以知道每个候选项的在每个时间语言模型下的第一权值大小。
本发明实施方式中,时间语言模型可以是n-gram语言模型或n-pos语言模型。
n-gram语言模型(n元语言模型)中当前词出现的概率仅和其左边的n-1个词有关系。当n取1、2、3时,n-gram模型分别称为unigram(一元语言模型)、bigram(二元语言模型)和trigram语言模型(三元语言模型)。n越大,语言模型越准确,计算也越复杂,计算量也越大。最常用的是bigram,其次是unigram和trigram,n取大于等于4的情况较少。当n-gram语言模型用到中文网页的时候,得到汉语n元语言模型;当n-gram语言模型用到英文网页的时候,得到英语n元语言模型。例如当n取值为2的时候,当前词的出现的概率仅和其前一个词有关系。例如对于句子:
S=张三董事长发表了四个优先重要指示的讲话。
在2元语言模型下,该句子的概率(衡量该句子的正确性的度量)为:
P(S)=P(张三|<s>)P(董事长|张三)P(发表|董事长)P(了|发表)P(四个|了)P(优先|四个)P(重要|优先)P(指示|重要)P(的|指示)P(讲话|的)P(。|讲话)P(</s>|。)
这里<s>和</s>,是两个人工构造的词,分别代表了句子的开始和结尾。(其目的是判断“张三”作为句子开头词的概率,和“。”句号作为句子接尾词的概率)
如果是在3元语言模型下,该句子的概率是:
P(S)=P(张三|<s>)P(董事长|<s>,张三)P(发表|张三,董事长)P(了|董事长,发表)P(四个|发表,了)P(优先|了,三个)P(重要|四个,优先)P(指示|优先,重要)P(的|重要,指示)P(讲话|指示,的)P(。|的,讲话)P(</s>|讲话。)
这里,2元模型中一个概率的计算方法为:
P(董事长|张三)=count(张三董事长)/count(张三)
分子是,“张三董事长”在训练语料(例如大规模网络语料)中出现的频次;分母是“张三”在训练语料中出现的频次。
相应地,3元模型中一个概率的计算公式为:
P(发表|张三,董事长)=count(张三董事长发表)/count(张三董事长)
这里的分子是“张三董事长发表”在训练语料中出现的频次,而分母是“张三董事长”在训练语料中出现的频次。
在n-pos模型下,假设我们有句子S=w1w2…wK,其包含K个词,则P(S)可以写成:
区别于n-gram模型(例如bigram)中直接使用wi-1和wi的条件概率P(wi|wi-1)来刻画P(S),我们这里引入了“隐马尔科夫模型”(Hidden Markov Model-HMM)的思想,即把词性ci作为“隐变量”(latentvariable)。这个公式中使用了两种概率,P(wi|ci)代表的是从词类ci到词wi的“生成概率”(或者称为发射概率);P(ci|ci-1)表示的是词类bigram模型,即ci-1词类后面接ci词类的概率。
在词类n-gram模型中,一个词类ci出现的概率条件地依赖于前n-1个词的词类,也就是说:
P(ci=c|history)=P(ci=c|ci-n+1,…,ci-1)
n-pos模型其实是基于词的n-gram模型的一个近似。假设,我们有10000个词,10个词类,那么对于bigram的词的模型,我们需要训练10000*10000个参数。而在n-pos模型中,我们只需要训练P(wi|ci)和P(ci|ci-1)就可以了,前者的个数为10000*10,后者为10*10。这样,我们需要训练的参数的个数就会大大减少(这里从10000*10000减少到10000*10+10*10个)。
注意到一点,随着词类的数目的增加,n-pos模型越来越接近n-gram模型。极端地,如果一个词一个词类,那么n-pos模型就是n-gram模型了。另外一个极端是,如果只有一个词类,那么n-pos模型退化成uni-gram模型。
因此,n-pos语言模型的优点在于它需要训练的数据比n-gram语言模型少得多,并且模型的参数空间也要小得多;缺点在于词的概率分布依赖于词性而非词本身,显然按照词类划分词的概率分布不如词本身的划分精细。因此,在实际应用中(如语言识别)中,这类语言模型一般难以达到n-gram语言模型的精度。
步骤S103:根据每个候选项的第一权值计算每个候选项的第一累积权值;
根据每个候选项在每个时间语言模型下的第一权值,可以计算得到每个候选项的第一累积权值。
在实际应用过程中,可以通过如下公式计算第一累积权值:其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
由此可见,第一权值对第一累积权值的贡献度随时间先后顺序逐步消减。即随着时间的推移,10天前一个候选出现了1000次,该候选的第一累积权值可能不比昨天出现100次的候选的第一累积权值大。
步骤S104:基于每个候选项的第一累积权值,对输入信息的候选项进行排序;
通过每个候选项在先前所有时段的时间语言模型下的第一权值,可以得到每一个候选项在当前时段下对应的一个第一累积权值,按照第一累积权值由大到小、由小到大或者别的方式顺序对候选项进行排序。当然,本发明实施方式中优选按照第一累积权值由大到小的顺序对候选项进行排序。
比如用户输入信息的候选项A、B、C、D的第一累积权值分别为0.02、0.1、0.3、0.5,那么候选项的优选排序为D、C、B、A。以此实现候选项的排序与时间相关,具有实时性,便于用户选择候选项,提升用户体验。
步骤S105:展示排序后的候选项;
对候选项进行排序后,将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
通过上述实施方式的描述,本发明根据已建立按时间先后顺序划分的多个先前时段的时间语言模型,获取当前用户在当前时段输入信息的候选项集合中每个候选项的第一权值,并根据每个候选项的第一权值计算每个候选项的第一累积权值,基于每个候选项的第一累积权值对候选项进行排序。由于不同时段用户关注的候选项不一样,时间语言模型能够反映各个作为候选项的词组在当前时间之前出现的情况,按照候选项的第一累积权值对候选项进行排序。通过这种方式,能够使候选项的排序实时地与时间相关,针对用户不同时段下相同的输入推送不同的候选项排序,既能满足用户不同时段的需求,又能减少用户对候选项的选择时间,提升用户体验。
上述实施方式通过获取每个候选项的第一累积权值,按照每个候选项第一累积权值大小对候选项进行排序的方式,只是一种针对在没有用户行为参与的情况下的候选项排序。因为时间语言模型只是基于网页语料得来的,并没有考虑用户的实际选择情况。
为了获取更加精确的与时间相关的候选项排序,本发明提供对输入法所产生的候选项进行排序的方法另一实施方式,请参阅图3,包括:
步骤S301:接收当前用户在当前时段的输入信息;
步骤S302:利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型,获取输入信息的候选项集合中每个候选项在先前时间语言模型下的第一权值;
步骤S303:根据每个候选项的第一权值计算每个候选项的第一累积权值;
步骤S304:根据包括当前用户在内的多个用户在多个先前时段的输入历史信息,计算每个用户针对每个候选项的第二权值;
第二权值是指在多个先前时段中,输入同样的字符情况下,每个用户对每个候选项的选择次数。比如先前的多个时段,输入假名“かがく”,对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选。用户A先前的第一时段选择候选项“価格”3次,第二时段选择“化学”5次,第三时段选择候选项“歌学”2次……那么在第一时段用户A对候选项“価格”的第二权值是3,第二时段用户A对候选项“化学”的第二权值是5,第三时段用户A对候选项“歌学”的第二权值是2……依次类推,每个用户每个时段对每个候选项都有一个第二权值。
步骤S305:根据第二权值计算每个用户针对每个候选项的第二累积权值;
第二累积权值是指在先前多个时段,每个用户针对每个候选项的累积选择次数。
实际应用过程中,我们可以通过以下公式计算第二累积权值:
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
步骤S306:基于第一累积权值和第二累积权值,计算第三累积权值;
为了使候选项的排序更加贴近用户的实际需求,需要同时考虑在没有用户行为参与下的每个候选项的第一累积权值,同时还要考虑每个候选项在有用户行为参与下的第二累积权值,根据第一累积权值和第二累积权值得到当前用户在当前时段输入时每个候选项的第三累积权值。
在实际应用过程中,可以通过以下公式计算第三累积权值:
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
通过上述的公式,我们可以以一种在线学习的方式,不断地根据各时段用户输入日志信息,更新各候选项的第三累积权值,以使得更新后的各候选项的排序更加接近用户的实际需求,提升用户输入体验。
值得一提的是,上述第三累积权值的计算方法,利用了同一时段的各个用户输入历史信息,是一种用户信息、数据共享的技术方法。
步骤S307:根据第三累积权值的大小对输入信息的候选项进行排序;
根据得到的每个候选项的第三累积权值,按照第三累积权值从大到小、从小到大或者别的方式对输入信息的候选项进行排序。当然,本发明实施方式中,以第三累积权值从大到小的方式对候选项进行排序为优选的方式。
比如用户输入假名“かがく”对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选。可能按照第一累积权值的排序为“花岳”、“科学”、“価格”、“歌学”、“化学”。但是在实际应用过程中,用户输入假名“かがく”,在一个月前选择了“花岳”,而最近三次输入假名“かがく”,分别选择的“科学”、“価格”和“価格”,那么当前时间输入假名“かがく”,可以通过调节系数进行调节,从而使得“価格”的第三累积权值比其他候选项的第三累积权值大,排在最前面,以更加贴合当前用户的实际所需。
这里的候选项的第三累积权值是与时间和用户的历史选择相应候选项的次数相关的。是当前时间之前的所有时间内用户对于某个候选项的选择概率以及该候选项在每个时段出现的概率的叠加。
步骤S308:展示排序后的候选项;
对候选项进行排序后,将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
其中,请参阅图4,在对输入法所产生的候选项进行排序的方法另一实施方式中,根据包括当前用户在内的多个用户在多个先前时段的输入历史信息,计算每个用户针对每个候选项的第二权值的步骤包括:
步骤S401:对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;
用户的输入历史信息可以客观的反映用户关注的与某些方面相关的信息,一个用户可以在同一时段关注多个方面的信息。另外,一个用户关注的信息可能会随着时间推移而不断发生变化,例如,一段时间内,当前用户关注彩票信息、服饰信息等,另一段时间内,当前用户关注的可能是计算机信息、首饰信息等。
用户输入历史信息可以包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上输入历史信息。
例如,用户在使用日文输入法产品的时候,上传给服务器的输入历史信息;在twitter这样的即时通信工具上,按照时间的新旧顺序收集用户输入的历史信息;在facebook这样的社交网站上,同样按照时间的新旧顺序收集用户输入的历史信息。
对每个用户的输入历史信息按时间先后顺序进行分类整理,可以得到多个不同先前时段的每个用户的输入历史信息。
根据多个不同先前时段的每个用户的输入历史信息,结合多个不同先前时段的时间语言模型的语料,用半督导机器学习方法分别按照各自的时段训练出多个不同时段的用户分类器。
机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
在半督导机器学习中,已得到的观察量中一部分是加了标识的数据,另一部分是没有标识的数据,通过这种方式,可以只需要标识一部分数据即可获得比较精确的结果。
在训练时间相关的用户分类器时,一部分是少而精的用户语料,一部分是大量而内容广泛的网页语料,结合两部分语料的优势,可以训练出更加具有代表性的与时间相关的用户分类器。
对用户进行分类,主要有两个目的:第一,减轻单用户的稀疏的在特定时间段下的输入历史信息对用户输入行为挖掘的学习算法的负影响;第二,自动识别并汇聚“同时间段”用户的输入历史信息,以实现输入知识的“分享”,以达到更好的用户输入体验。
步骤S402:统计每个用户在每个先前时段输入当前时段的输入信息时对每个候选项的选择次数;
根据训练得到的不同时段的用户分类器,可以统计每个用户在每个先前时段输入当前时段的驶入信息时,对每个候选项的选择次数,作为第二权值。从而可以根据第二权值计算每个用户对每个候选项的第二累积权值。
本发明对输入法所产生的候选项进行排序的方法实施方式中,通常需要事先建立时间语言模型。以通过时间语言模型来获得当前用户当前输入信息的候选项集合中每个候选项的第一权值。
在本实施例中,一方面通过与时间相关的语言模型,可以获得时间语言模型中每个词组的第一权值,根据每个词组的第一权值进而计算每个词组的第一累积权值。
另一方面,根据建立的时间语言模型,结合与时间相关的用户分类器,可以获取每个候选项的第二权值,进而计算每个候选项的第二累积权值。
在实际应用过程中,可以结合第一累积权值以及第二累积权值,计算得到每个候选项的第三累积权值,得到的候选项的第三累积权值,并根据第三累积权值对候选项进行排序。
在实际应用过程中,通过上述实施方式得到的候选项的第三累积权值,可以用于确定当前输入信息的候选项集合中是否有高频热词或新词。
若候选项当前迭代所产生的第三累积权值与前一次迭代所产生的第三累积权值相比的变化量大于预设的新词的阈值,则确定该候选项为新词。
比方说,可以通过计算候选项w的第k次迭代所产生的第三累积权值weightk(w,ul)和第k-1次迭代所产生的第三累积权值weightk-1(w,ul)的变化量,若weightk(w,ul)–weightk-1(w,ul)>θ,则候选项w时新词。这里的θ是预设的新词的阈值,即我们可以根据整体的新词数目来调节变化的阈值θ。
例如,我们控制所有假名下一共最多允许有1000个新词,那么按照这种规格过滤下去,从而最后确定阈值。即我们按照这个阈值过滤之后,最后剩余大约1000个新词,推送给用户。
这里,我们可以根据实际情况和用户数据的更新的量,来选择一周更新一次迭代等。这样,我们可以按周为单位推出“一周新词”;当然,我们可以类似地,设定一个月,一个季度,一个迭代单元,从而推出“一月新词”,“一季度新词”等。
若候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值,则确定该候选项为高频热词。
比方说,可以通过计算候选项w的连续a次迭代的第三累积权值,若weightk-a+1(w,ul)>b,…,weightk(w,ul)>b,则该候选项w为高频热词。这里的a、b可以根据需要的高频热词的数量来设置。
比如我们需要控制所有假名下一共最多允许2000个热词,即按照这个最终热词的规模,来界定a和b的取值。另一方面需要注意的是,为了在“热词”中过滤掉那些日常经常使用的词,我们可以根据需要限定“热词”中的80%左右都来自“新词”,即有一个“新词”到“热词”的变换过程;而剩余的20%左右,将来自那些日常用语(例如,“お疲れ様です-您辛苦了”等这种日常问候语)。通过迭代次数,我们可以设定“每月热词,季度热词,年度热词”等。
事实上,热词跟新词都是跟随时间不断变化的,比如影片名《蜘蛛侠》,在电影刚开始上演的时候,“蜘蛛侠”这个词可能是新词,然后以新词持续一段时间,一段时间后,随着影片热播,人们利用输入法输入越来越多,“蜘蛛侠”可能就转变为热词了。
以下,我们来以高频热词的确定来举例说明:
请参阅图5,本发明对输入法所产生的候选项进行排序的方法另一实施方式中,确定高频热词的步骤包括:
步骤S501:判断是否有候选项的连续预定次迭代所产生的第三累积权值均大于预设的高频热词的阈值;
高频热词是指出现的频次比较高,备受众多用户关注的词、词组或句子等。获取候选项的连续预定次迭代产生的第三累积权值,判断是否有候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值。高频热词的阈值可以根据需要自行设置。
当有候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值时,进入步骤S502,如果没有候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值,则进入步骤S503。
步骤S502:确定该候选项为高频热词;
当有候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值时,则确定该候选项为高频热词。所得到的高频热词可以有多方面的应用,比如用来添加到一些预测词典中以提高预测的覆盖率和准确率,或者更新一些语言模型等。
优选地,可以根据所得到的高频热词或新词,向当前用户推送一些相关的网页链接或者搜索链接等。比如假设“谍影重重”是高频热词,当用户输入信息的候选项中出现“谍影重重”时,可以向用户推送《谍影重重》相关的简介以及相应的电影观看网页链接等,也可以推送某些影院的电影票销售网站等等。这样既能提高相关网页的点击率,也能吸引用户进一步地关注高频热词相关的信息。
步骤S503:没有高频热词;
当没有候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值时,则判定当前的候选项集合中没有高频热词。
上述任何一个实施方式中所提到的时间语言模型是n-gram语言模型或n-pos语言模型。
另一方面,根据上述实施方式获取候选项第三累积权值的方式,在实际应用过程中,可以进一步地根据用户的切换指令,对候选项按照候选项的第二累积权值进行排序,反映每个候选项到当前时刻为止的累积的选择次数,候选项的第二累积权值依赖于候选项的历史被选择次数,同时还跟时间有关,体现的是候选项随着时间的活跃程度。
比如一个月前候选项w1被选择100次和候选项w2被选择10次,昨天候选项w2被选择100次和候选项w1被选择10次,则虽然w1,w2的被选择次数都是110次,但是根据第二累积权值的计算方式,w2的第二累积权值要大于w1的第二累积权值,因为w2在最近的时间段活跃程度大于w1在最近时间段的活跃程度,从而按照第二累积权值对候选项进行排序时将w2排在w1前面更能满足当前用户的当前需求。
在实际应用中,可以根据具体情况增减本发明上述实施方式的相关步骤,在此不再赘叙。
需要注意的是,上述各实施方式中,涉及到用户类型分类都是围绕“用户”来展开的。对于企业级用户,本发明的实施方式也同样适用。简单起见,本发明这里只描述企业级用户的特有特征:
1、单个企业的各个不同主干分支,分别对应一个用户类型,而整个企业也对应一个更大的用户类型,这样分门别类地收集各个用户类型的输入历史信息,并进行汇集,训练出与用户类型相关的语言模型;
2、依据该企业的营业内容等,推送相关类型的细胞词库或相关类型的高频热词链接等。
其中,请参阅图6,某一输入法的展示界面,其中,A部分展示的是输入假名“かがく”的候选项按照候选项的第三累积权值的排序结果,而B部分展示的是接收用户的切换指令后,按照候选项的第二累积权值由大到小排列的排序结果。
实际应用过程中,可以按照候选项的第二累积权值的由大到小、由小到大排列或者别的方式排列,当然,优选按照候选项的第二累积权值由大到小排列。
比如用户第一次按切换指令,按照第二累积权值的由大到小进行排序并展示,再次按切换指令,按照第二累积权值由小到大进行排序并展示,第三次按切换指令,恢复原来依据候选项的第三累积权值进行排序并展示。当然,上述的切换指令对应的排序规则只是一个举例,实际应用中可以根据需要自行设置。
根据上述实施方式,在展示候选项给用户时,可以同时展示每个候选项的第二累积权值,候选项的热词或新词的标识等任意一种或多种信息。
另一方面,为了更直观的体现候选项的活跃程度,可以在展示候选项的时候,对于按照候选项的第三累积权值排列和按照候选项的第二累积权值排列都排在后面一定数量的候选项,以灰色来展示(当然也可以是别的颜色),以便于用户区分。至于具体限定排在后面的多少个数量的候选项以灰色来展示,可以根据需要自行设置。
比如某一输入法下输入假名“こうき”,其对应的候选项有上百个,其中部分候选项可请参阅图7,其中,如果按照候选项的第三累积权值由大到小排序,排在前面的几个候选项可参见图8的B部分,如果按照候选项的第二累积权值的由大到小排序,排在前面的几个候选项可参见图8的A部分,而对于前面两种排序都排在后面的候选项,可参见图8的C部分,这些候选项可以以不同于前述两种方式都排列在前面的候选项的颜色来展示,这样,用户可以尽可能少的时间选择到自己需要的候选项。
更进一步地,可参阅图9,某一输入法对候选项的展示界面,其中,A部分中同时展示了候选项以及候选项的新词或热词的标识。其中,候选项“花岳”标识为新词,当用户对新词“花岳”感兴趣时,其选择焦点达到“花岳”的时候,可以向用户展示“花岳”的第二累积权值随着时间的变化曲线,如图9中的B部分是“花岳”的第二累积权值在一周内的变化曲线,可以根据用户的选择展示一个月的或者一年的变化曲线。
另外,还可以进一步向用户推送新词对应的链接,即地名对应的所谓高人气的名胜古迹“花岳寺”,并在“花岳寺”下面附上一个表示超链接的箭头。当用户焦点到达箭头时,请参见图9的C部分所示的画面,向用户呈现“花岳寺”的相应搜索链接地址,用户点击箭头的时候,在浏览器中展现搜索结果。
当然,上述对候选项的展示方式,只是一种举例,实际应用中不限于上述方式,比如表示新词相关的超链接标识不一定用箭头表示,可以是一个手指图标或者别的,打开链接的方式也不限于是点击超链接标识,可以通过现有的别的打开超链接的方式,比如快捷键等。
请参阅图10,本发明对输入法所产生的候选项进行排序的装置一实施方式包括接收模块11、第一获取模块12、第二获取模块13、第一排序模块14以及展示模块15,其中:
接收模块11用于接收当前用户的当前输入信息,并将当前用户的当前输入信息发送给第一获取模块12;
接收模块11利用输入法接收当前用户当前输入信息,比如接收当前用户当前输入的拼音字符、假名、或者英文单词或句子等等。将接收的当前用户当前输入信息发送给第一获取模块12。
第一获取模块12用于利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型,获取输入信息的候选项集合中每个候选项在先前时间语言模型下的第一权值,并将第一权值发送给第二获取模块13;
语言模型(Language Model,LM)的目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。即利用语言模型,可以确定哪个词序列的可能性更大,或者给定若干个词,可以预测下一个最可能出现的词语。
时间语言模型,可以确定一个句子、一个词或词组或者若干词等的第一权值,这里的第一权值是指在没有用户行为参与的情况下,一个句子、一个词或词组或若干词等在先前时段的各个时间语言模型下的出现频次。也就是说,一个句子、一个词或词组或若干词等在每个先前时段的时间语言模型下都对应一个第一权值。第一权值越大,则说明该句子、词或词组或若干词在该时间语言模型下出现的频次越多。
用户输入信息后,会产生相应的多个候选项,这些候选项即组成候选项集合,根据时间语言模型,可以知道每个候选项的在每个时间语言模型下的第一权值大小。
本发明实施方式中,时间语言模型可以是n-gram语言模型或n-pos语言模型。
第二获取模块13用于根据每个候选项的第一权值计算每个候选项的第一累积权值,并将第一累积权值发送给第一排序模块14;
第二获取模块13可以通过如下公式计算第一累积权值:其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为第一权值,n为先前时段的数量,λ为消减系数。
由此可见,第一权值对第一累积权值的贡献度随时间先后顺序逐步消减。即随着时间的推移,10天前一个候选出现了1000次,该候选的第一累积权值可能不比昨天出现100次的候选的第一累积权值大。
第一排序模块14用于基于每个候选项的第一累积权值,对输入信息的候选项进行排序,并将进行排序后的候选项发送给展示模块15;
通过每个候选项在先前所有时段的时间语言模型下的第一权值,可以得到每一个候选项在当前时段下对应的一个第一累积权值。第一排序模块14按照第一累积权值由大到小、由小到大或者别的方式顺序对候选项进行排序,并将排序后的候选项发送给展示模块15。当然,本发明实施方式中优选按照第一累积权值由大到小的顺序对候选项进行排序。
比如用户输入信息的候选项A、B、C、D的第一累积权值分别为0.02,0.1,0.3,0.5,那么候选项的优选排序为D、C、B、A。以此实现候选项的排序与时间相关,具有实时性,便于用户选择候选项,提升用户体验。
展示模块15用于展示排序后的候选项。
对候选项进行排序后,通过展示模块15将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
请参阅图11,本发明对输入法所产生的候选项进行排序的装置另一实施方式中,包括网页语料分类模块21、训练模块22、接收模块23、第一获取模块24、第二获取模块25、第一排序模块26、第二排序模块28以及展示模块27,其中:
网页语料分类模块21用于使用文本分类技术,对网页语料按时间先后顺序进行分类整理,获得多个不同先前时段的网页语料,并将不同先前时段的网页语料发送给训练模块22;
文本分类技术就是在给定的分类体系下,让计算机根据文本内容自动确定相关类别的过程。在本发明实施方式中使用文本分类技术,利用“时间戳”对大规模网页语料进行分类整理,得到多个不同先前时段的网页语料。比如2012年1月的网页语料、2012年2月的网页语料、2012年3月的网页语料等等。
上述时段的语料只是本发明实施方式的一个举例,在实际应用中,可以周、月或者年等来对网页语料进行分类,而得到对应的时段的网页语料。
训练模块22用于基于每一先前时段的网页语料分别训练出一时间语言模型。
训练模块22基于每一个先前的时段以及与每个先前时段对应的网页语料,分别训练出相应的多个时间语言模型。
比如针对时段2012年1月的时间语言模型,针对时段2012年2月的时间语言模型,针对时段2012年3月的时间语言模型等。
通过与时间相关的语言模型,可以获得时间语言模型中每个词组的第一权值,根据每个词组的第一权值进而计算每个词组的第一累积权值。
另一方面,根据建立的时间语言模型,结合与时间相关的用户分类器,可以获取每个候选项的第二权值,以使候选项按照时间的排序更加精确。
接收模块23用于接收当前用户的当前输入信息,并将当前用户的当前输入信息发送给第一获取模块24;
第一获取模块24用于利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取输入信息的候选项集合中每个候选项在先前时间语言模型下的第一权值,并将第一权值发送给第二获取模块25;
第二获取模块25用于根据每个候选项的第一权值计算每个候选项的第一累积权值,并将第一累积权值发送给第一排序模块26;
第一排序模块26用于基于每个候选项的第一累积权值,对输入信息的候选项进行排序,并将进行排序后的候选项发送给展示模块27;
请参阅图12,本发明对输入所产生的候选项进行排序的装置的另一实施方式中,第一排序模块包括第一获取单元111、第二获取单元112、第三获取单元113以及排序单元114,其中:
第一获取单元111用于根据包括当前用户在内的多个用户在多个先前时段的输入历史信息,计算每个用户针对每个候选项的第二权值,并将第二权值发送给第二获取单元112;
第二权值是指在多个先前时段中,输入同样的字符情况下,每个用户对每个候选项的选择次数。通过第一获取单元111可以获取每个用户针对每个候选项的第二权值,并将第二权值发送给第二获取单元112。
比如先前的多个时段,输入假名“かがく”,对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选。用户A先前的第一时段选择候选项“価格”3次,第二时段选择“化学”5次,第三时段选择候选项候选项“歌学”2次……那么在第一时段用户A对候选项“価格”的第二权值是3,第二时段用户A对候选项“化学”的第二权值是5,第三时段用户A对候选项“歌学”的第二权值是2……依次类推,每个用户每个时段对每个候选项都有一个第二权值。
第二获取单元112用于根据第二权值计算每个用户针对每个候选项的第二累积权值,并将第二累积权值发送给第三获取单元113,其中,第二权值对第二累积权值的贡献度随时间先后顺序逐步消减;
第二累积权值是指在先前多个时段,每个用户针对每个候选项的累积选择次数。
实际应用过程中,第二获取单元112可以通过以下公式计算第二累积权值:
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
第三获取单元113用于基于第一累积权值和第二累积权值,计算第三累积权值,并将第三累积权值发送给排序单元114;
为了使候选项的排序更加贴近用户的实际需求,需要同时考虑在没有用户行为参与下的每个候选项的第一累积权值,同时还要考虑每个候选项在有用户行为参与下的第二累积权值,根据第一累积权值和第二累积权值得到当前用户在当前时段输入时每个候选项的第三累积权值。
在实际应用过程中,第三获取单元113通过以下公式计算第三累积权值:
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
通过上述的公式,我们可以以一种在线学习的方式,不断地根据各时段用户输入日志信息,更新各候选项的权值,以使得更新后的各候选项的排序更加接近用户的实际需求,提升用户输入体验。
值得一提的是,上述第三累积权值的计算方法,利用了同一时段的各个用户输入历史信息,是一种用户信息、数据共享的技术方法。
排序单元114用于根据第三累积权值的大小对输入信息的候选项进行排序。
排序单元114根据得到的每个候选项的第三累积权值,按照第三累积权值从大到小、从小到大或者别的方式对输入信息的候选项进行排序。当然,本发明实施方式中,以第三累积权值从大到小的方式对候选项进行排序为优选的方式。
比如用户输入假名“かがく”对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选。可能按照第一累积权值的排序为“花岳”、“科学”、“価格”、“歌学”、“化学”。但是在实际应用过程中,用户输入假名“かがく”,在一个月前选择了“花岳”,而最近三次输入假名“かがく”,分别选择的“科学”、“価格”和“価格”,那么当前时间输入假名“かがく”,可以通过调节系数进行调节,从而使得“価格”的第三累积权值比其他候选项的第三累积权值大,排在最前面,以更加贴合当前用户的实际所需。
这里的候选项的第三累积权值是与时间和用户的历史选择相应候选项的次数相关的。是当前时间之前的所有时间内用户对于某个候选项的选择概率以及该候选项在每个时段出现的概率的叠加。
更进一步地,请继续参阅图12,在另一实施方式中,第一排序模块还包括判断单元115,其中:
判断单元115用于根据候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词;
高频热词是指出现的频次比较高,备受众多用户关注的词、词组或句子等。当候选项集合中候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值时,判断单元115则确定该候选项为高频热词;
比方说,可以通过计算候选项w的连续a次迭代的第三累积权值,若weightk-a+1(w,ul)>b,…,weightk(w,ul)>b,则该候选项w为高频热词。这里的a、b可以根据需要的高频热词的数量来设置。
比如我们需要控制所有假名下一共最多允许2000个热词,即按照这个最终热词的规模,来界定a和b的取值。另一方面需要注意的是,为了在“热词”中过滤掉那些日常经常使用的词,我们可以根据需要限定“热词”中的80%左右都来自“新词”,即有一个“新词”到“热词”的变换过程;而剩余的20%左右,将来自那些日常用语(例如,“お疲れ様です-您辛苦了”等这种日常问候语)。通过迭代次数,我们可以设定“每月热词,季度热词,年度热词”等。
事实上,热词跟新词都是跟随时间不断变化的,比如影片名《蜘蛛侠》,在电影刚开始上演的时候,“蜘蛛侠”这个词可能是新词,然后以新词持续一段时间,一段时间后,随着影片热播,人们利用输入法输入越来越多,“蜘蛛侠”可能就转变为热词了。
另外,当候选项集合中候选项当前迭代所产生的第三累积权值与前一次迭代所产生的第三累积权值相比的变化量大于预设的新词的阈值时,判断单元115则确定该候选项为新词。
比方说,可以通过计算候选项w的第k次迭代所产生的第三累积权值weightk(w,ul)和第k-1次迭代所产生的第三累积权值weightk-1(w,ul)的变化量,若weightk(w,ul)–weightk-1(w,ul)>θ,则候选项w时新词。这里的θ是预设的新词的阈值,即我们可以根据整体的新词数目来调节变化的阈值θ。
例如,我们控制所有假名下一共最多允许有1000个新词,那么按照这种规格过滤下去,从而最后确定阈值。即我们按照这个阈值过滤之后,最后剩余大约1000个新词,推送给用户。
这里,我们可以根据实际情况和用户数据的更新的量,来选择一周更新一次迭代等。这样,我们可以按周为单位推出“一周新词”;当然,我们可以类似地,设定一个月,一个季度,一个迭代单元,从而推出“一月新词”,“一季度新词”等。
所得到的高频热词或新词可以有多方面的应用,比如用来添加到一些预测词典中以提高预测的覆盖率和准确率,或者更新一些语言模型等。
更进一步地,请继续参阅图12,第一排序模块还包括推送单元116,用于向当前用户推送判断单元115确定的高频热词或新词对应的链接,和/或高频热词或新词的第二累积权值相对于时间的变化曲线。
推送单元116可以根据所得到的高频热词或新词,向当前用户推送一些相关的网页链接或者搜索链接等。或者向用户推送高频热词或新词的第二累积权值相对于时间的变化曲线。
比如假设“谍影重重”是高频热词,当用户输入信息的候选项中出现“谍影重重”时,可以向用户推送《谍影重重》相关的简介以及相应的电影观看网页链接等,也可以推送某些影院的电影票销售网站等等。这样既能提高相关网页的点击率,也能吸引用户进一步地关注高频热词相关的信息。
展示模块27用于展示排序后的候选项。
进一步地,请继续参阅图11,本实施方式的装置还包括第二排序模块28,用于根据用户的切换指令,按照候选项的第二累积权值对候选项进行排序。
另一方面,根据上述实施方式获取候选项第三累积权值的方式,在实际应用过程中,第二排序模块28可以进一步地根据用户的切换指令,对候选项按照候选项的第二累积权值进行排序,反映每个候选项到当前时刻为止的累积的选择次数,候选项的第二累积权值依赖于候选项的历史被选择次数,同时还跟时间有关,体现的是候选项随着时间的活跃程度。
比如一个月前候选项w1被选择100次和候选项w2被选择10次,昨天候选项w2被选择100次和候选项w1被选择10次,则虽然w1,w2的被选择次数都是110次,但是根据第二累积权值的计算方式,w2的第二累积权值要大于w1的第二累积权值,因为w2在最近的时间段活跃程度大于w1在最近时间段的活跃程度,从而按照第二累积权值对候选项进行排序时将w2排在w1前面更能满足当前用户的当前需求。
实际应用过程中,第二排序模块28可以按照候选项的第二累积权值的由大到小、由小到大排列或者别的方式排列,当然,优选按照候选项的第二累积权值由大到小排列。
比如用户第一次按切换指令,按照第二累积权值的由大到小进行排序并展示,再次按切换指令,按照第二累积权值由小到大进行排序并展示,第三次按切换指令,恢复原来依据候选项的第三累积权值进行排序并展示。当然,上述的切换指令对应的排序规则只是一个举例,实际应用中可以根据需要自行设置。
根据上述实施方式,展示模块27在展示候选项给用户时,可以同时展示每个候选项的第二累积权值,候选项的热词或新词的标识等任意一种或多种信息。
另一方面,为了更直观的体现候选项的活跃程度,展示模块27可以在展示候选项的时候,对于按照候选项的第三累积权值排列和按照候选项的第二累积权值排列都排在后面一定数量的候选项,以灰色来展示(当然也可以是别的颜色),以便于用户区分。至于具体限定排在后面的多少个数量的候选项以灰色来展示,可以根据需要自行设置。
请参阅图13,在另一实施方式中,上述实施方式中的第一获取单元还可以包括用户分类子单元211以及统计子单元212,其中:
用户分类子单元211用于对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;
用户的输入历史信息可以客观的反映用户关注的与某些方面相关的信息,一个用户可以在同一时段关注多个方面的信息。另外,一个用户关注的信息可能会随着时间推移而不断发生变化,例如,一段时间内,当前用户关注彩票信息、服饰信息等,另一段时间内,当前用户关注的可能是计算机信息、首饰信息等。
用户输入历史信息可以包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上输入历史信息。
例如,用户在使用日文输入法产品的时候,上传给服务器的输入历史信息;在twitter这样的即时通信工具上,按照时间的新旧顺序收集用户输入的历史信息;在facebook这样的社交网站上,同样按照时间的新旧顺序收集用户输入的历史信息。
用户分类子单元211对每个用户的输入历史信息按时间先后顺序进行分类整理,可以得到多个不同先前时段的每个用户的输入历史信息。
根据多个不同先前时段的每个用户的输入历史信息,结合多个不同先前时段的时间语言模型的语料,用半督导机器学习方法分别按照各自的时段训练出多个不同时段的用户分类器。
机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
在半督导机器学习中,已得到的观察量中一部分是加了标识的数据,另一部分是没有标识的数据,通过这种方式,可以只需要标识一部分数据即可获得比较精确的结果。
在训练时间相关的用户分类器时,一部分是少而精的用户语料,一部分是大量而内容广泛的网页语料,结合两部分语料的优势,可以训练出更加具有代表性的与时间相关的用户分类器。
对用户进行分类,主要有两个目的:第一,减轻单用户的稀疏的在特定时间段下的输入历史信息对用户输入行为挖掘的学习算法的负影响;第二,自动识别并汇聚“同时间段”用户的输入历史信息,以实现输入知识的“分享”,以达到更好的用户输入体验。
统计子单元212用于统计每个用户在每个先前时段输入当前时段的输入信息时对每个候选项的选择次数,作为第二权值。
根据训练得到的不同时段的用户分类器,统计子单元212可以统计每个用户在每个先前时段输入当前时段的驶入信息时,对每个候选项的选择次数,作为第二权值。从而可以根据第二权值计算每个用户对每个候选项的第二累积权值。
本发明对输入法所产生的候选项进行排序的方法实施方式中,通常需要事先建立时间语言模型。以通过时间语言模型来获得当前用户当前输入信息的候选项集合中每个候选项的第一权值。
通过上述实施方式的描述,可以理解,本发明根据已建立按时间先后顺序划分的多个县区时段的时间语言模型,获取当前用户在当前时段输入信息的候选项集合中每个候选项的第一权值,并根据每个候选项的所述第一权值计算每个候选项的第一累积权值,基于每个候选项的第一累积权值对候选项进行排序。由于不同时段用户关注的候选项不一样,时间语言模型能够反映各个作为候选项的词组在当前时间之前出现的情况,按照候选项的第一累积权值对候选项进行排序。通过这种方式,能够使候选项的排序实时地与时间相关,针对用户不同时段下相同的输入推送不同的候选项排序,既能满足用户不同时段的需求,又能减少用户对候选项的选择时间,提升用户体验。
另一方面,通过候选项的第三累积权值来确定高频热词,所得到的高频热词可以有多方面的应用,比如用来添加到一些预测词典中以提高预测的覆盖率和准确率,或者更新一些语言模型等,还可以根据所得到的高频热词,向该高频热词对应的用户类型的各个用户推送一些相关的网页链接或者搜索链接等。这样既能提高相关网页的点击率,也能吸引用户进一步地关注高频热词相关的信息。
还有,可以根据用户的切换指令,按照候选项的第二累积权值即候选项随时间的活跃程度对候选项进行排序。同时,在展示候选项的时候,可以根据需要一并展示候选项的第二累积权值、候选项的第二累积权值相对于时间的变化曲线、候选项的热词或新词的标识等的任意一种或多种信息,给用户更多的输入体验。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (31)
1.一种对输入法所产生的候选项进行排序的方法,其特征在于,包括:
接收当前用户在当前时段的输入信息;
利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取所述输入信息的候选项集合中每个候选项在所述多个先前时段的时间语言模型下的第一权值;
分别确定每个候选项的第一累积权值,具体包括:对候选项在多个先前时段的时间语言模型下的第一权值进行加权处理,得到该候选项的第一累积权值;其中各先前时段的时间语言模型下的第一权值对应的加权权重与当前时段和先前时段之间的时间差呈负相关;
基于所述每个候选项的第一累积权值,对所述输入信息的候选项进行排序;
展示排序后的候选项。
2.根据权利要求1所述的方法,其特征在于,所述接收当前用户在当前时段的输入信息的步骤之前,还包括:
使用文本分类技术对网页语料按时间先后顺序进行分类整理,获得多个不同先前时段的网页语料;
基于每一先前时段的网页语料分别训练出一所述时间语言模型。
3.根据权利要求1所述的方法,其特征在于,所述对候选项在多个先前时段的时间语言模型下的第一权值进行加权处理,得到该候选项的第一累积权值包括:
通过如下公式计算所述第一累积权值:
<mrow>
<mi>C</mi>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</msubsup>
<msub>
<mi>num</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<mi>w</mi>
<mo>&times;</mo>
<mi>k</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
4.根据权利要求1所述的方法,其特征在于,所述基于每个候选项的第一累积权值,对所述输入信息的候选项进行排序的步骤包括:
按照所述第一累积权值的大小对所述候选项进行排序。
5.根据权利要求1所述的方法,其特征在于,所述基于每个候选项的第一累积权值,对所述输入信息的候选项进行排序的步骤包括:
根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值;
根据所述第二权值计算每个用户针对每个候选项的第二累积权值,其中所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;
基于所述第一累积权值和所述第二累积权值计算第三累积权值,并根据第三累积权值的大小对所述输入信息的候选项进行排序。
6.根据权利要求5所述的方法,其特征在于,所述根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值的步骤包括:
对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;
统计每个用户在每个先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
7.根据权利要求6所述的方法,其特征在于,根据所述第二权值计算每个用户针对每个候选项的第二累积权值的步骤包括:
通过如下公式计算所述第二累积权值:
<mrow>
<msub>
<mi>E</mi>
<mi>m</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</msubsup>
<msub>
<mi>s</mi>
<mi>j</mi>
</msub>
<mo>&times;</mo>
<mi>k</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>t</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
8.根据权利要求7所述的方法,其特征在于,所述基于第一累积权值和所述第二累积权值计算第三累积权值的步骤包括:
通过如下公式计算所述第三累积权值:
<mrow>
<msup>
<mi>weight</mi>
<mi>k</mi>
</msup>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&mu;</mi>
<mn>1</mn>
</msub>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&mu;</mi>
<mn>2</mn>
</msub>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>x</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mi>x</mi>
<mo>!</mo>
<mo>=</mo>
<mi>l</mi>
</mrow>
<mi>M</mi>
</msubsup>
<msub>
<mi>E</mi>
<mi>x</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>cos</mi>
<mi> </mi>
<msup>
<mi>t</mi>
<mn>0</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
9.根据权利要求5所述的方法,其特征在于,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
10.根据权利要求8所述的方法,其特征在于,所述基于第一累积权值和所述第二累积权值,计算第三累积权值,并根据第三累积权值的大小对所述输入信息的候选项进行排序的步骤之后,还包括:
根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词。
11.根据权利要求10所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤包括:
若候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值,则确定所述候选项为新词。
12.根据权利要求10所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤包括:
若候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值,则确定所述候选项为高频热词。
13.根据权利要求10所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤之后,还包括:
若候选项集合中有高频热词或新词时,向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
14.根据权利要求10所述的方法,其特征在于,所述展示排序后的候选项的步骤包括:
展示进行排序后的候选项以及候选项的新词或热词的标识。
15.根据权利要求8所述的方法,其特征在于,所述展示进行排序后的候选项的步骤之后,还包括:
根据用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行重新排序;
展示按所述第二累积权值进行重新排序的候选项。
16.根据权利要求1或2所述的方法,其特征在于,所述时间语言模型是N-Gram语言模型或N-Pos语言模型。
17.一种对输入法所产生的候选项进行排序的装置,其特征在于,包括接收模块、第一获取模块、第二获取模块、第一排序模块以及展示模块,其中:
所述接收模块用于接收当前用户在当前时段的输入信息,并将所述当前用户在当前时段的输入信息发送给所述第一获取模块;
所述第一获取模块用于利用已建立的按时间先后顺序划分的多个先前时段的时间语言模型获取所述输入信息的候选项集合中每个候选项在所述多个先前时段的时间语言模型下的第一权值,并将所述第一权值发送给所述第二获取模块;
所述第二获取模块用于分别确定每个候选项的第一累积权值,具体执行:对候选项在多个先前时段的时间语言模型下的第一权值进行加权处理,得到该候选项的第一累积权值,并将所述第一累积权值发送给所述第一排序模块;其中各先前时段的时间语言模型下的第一权值对应的加权权重与当前时段和先前时段之间的时间差呈负相关;
所述第一排序模块用于基于所述每个候选项的第一累积权值,对所述输入信息的候选项进行排序,并将进行所述排序后的候选项发送给所述展示模块;
所述展示模块用于展示进行所述排序后的候选项。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括网页语料分类模块、训练模块,其中:
所述网页语料分类模块用于使用文本分类技术对网页语料按时间先后顺序进行分类整理,获得多个不同先前时段的网页语料,并将所述不同先前时段的网页语料发送给所述训练模块;
所述训练模块用于基于每一先前时段的网页语料分别训练出一所述时间语言模型。
19.根据权利要求17所述的装置,其特征在于,所述第二获取模块具体用于对候选项在多个先前时段的时间语言模型下的第一权值进行加权处理,得到该候选项的第一累积权值时,具体执行:
通过如下公式计算所述第一累积权值:
<mrow>
<mi>C</mi>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</msubsup>
<msub>
<mi>num</mi>
<mi>i</mi>
</msub>
<mo>&CenterDot;</mo>
<mi>w</mi>
<mo>&times;</mo>
<mi>k</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>,</mo>
<msub>
<mi>t</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
其中,C(w,t)为候选项w在当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在第i个先前时段的时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
20.根据权利要求17所述的装置,其特征在于,所述第一排序模块具体用于按照所述第一累积权值的大小对所述候选项进行排序。
21.根据权利要求20所述的装置,其特征在于,所述第一排序模块包括第一获取单元、第二获取单元、第三获取单元以及排序单元,其中:
所述第一获取单元用于根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息计算每个用户针对每个候选项的第二权值,并将所述第二权值发送给所述第二获取单元;
所述第二获取单元用于根据所述第二权值计算每个用户针对每个候选项的第二累积权值,其中所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减,并将所述第二累积权值发送给所述第三获取单元;
所述第三获取单元用于基于所述第一累积权值和所述第二累积权值,计算第三累积权值,并将所述第三累积权值发送给所述排序单元;
所述排序单元用于根据所述第三累积权值的大小对所述输入信息的候选项进行排序。
22.根据权利要求21所述的装置,其特征在于,所述第一获取单元包括用户分类子单元以及统计子单元,其中:
所述用户分类子单元用于对每个用户的输入历史信息按时间先后顺序进行分类整理,获得多个不同先前时段的输入历史信息;
所述统计子单元用于统计每个用户在每个先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
23.根据权利要求21所述的装置,其特征在于,所述第二获取单元具体用于通过如下公式计算所述第二累积权值:其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Em(w,t)为第m个用户针对候选项w的第二累积权值,sj为第m个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
24.根据权利要求23所述的装置,其特征在于,所述第三获取单元具体用于通过如下公式计算所述第三累积权值:
<mrow>
<msup>
<mi>weight</mi>
<mi>k</mi>
</msup>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&mu;</mi>
<mn>1</mn>
</msub>
<msub>
<mi>E</mi>
<mi>l</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>&mu;</mi>
<mn>2</mn>
</msub>
<msubsup>
<mi>&Sigma;</mi>
<mrow>
<mi>x</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mi>x</mi>
<mo>!</mo>
<mo>=</mo>
<mi>l</mi>
</mrow>
<mi>M</mi>
</msubsup>
<msub>
<mi>E</mi>
<mi>x</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>cos</mi>
<mi> </mi>
<msup>
<mi>t</mi>
<mn>0</mn>
</msup>
<mrow>
<mo>(</mo>
<mi>w</mi>
<mo>,</mo>
<msub>
<mi>u</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中,weightk(w,ul)表示第k次迭代时当前用户ul输入所述输入信息时候选项w的第三累积权值,El(w,t)为当前用户ul在当前时段t针对候选项w的第二累积权值,表示当前用户ul以外的其他用户在当前时段t针对候选项w的第二累积权值的求和,cost0(w,ul)是候选项w在没有用户选择时的的原始权值,即cost0(w,ul)=C(w,t),C(w,t)为所述第一累积权值,μ1和μ2为调节系数。
25.根据权利要求21所述的装置,其特征在于,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上输入历史信息。
26.根据权利要求24所述的装置,其特征在于,所述第一排序模块还包括判断单元,用于根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词。
27.根据权利要求26所述的装置,其特征在于,所述判断单元具体用于当候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值时,则确定所述候选项为高频热词;或具体用于当候选项集合中候选项当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值时,则确定所述候选项为新词。
28.根据权利要求26所述的装置,其特征在于,所述第一排序模块还包括推送单元,用于向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
29.根据权利要求26所述的装置,其特征在于,所述展示模块具体用于展示排序后的候选项以及候选项的新词或高频热词的标识。
30.根据权利要求24所述的装置,其特征在于,所述装置还包括第二排序模块,用于根据用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行排序;
所述展示模块具体用于展示按所述第二累积权值进行排序的候选项。
31.根据权利要求17或18所述的装置,其特征在于,所述时间语言模型是n-gram语言模型或n-pos语言模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210531852.4A CN103869998B (zh) | 2012-12-11 | 2012-12-11 | 一种对输入法所产生的候选项进行排序的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210531852.4A CN103869998B (zh) | 2012-12-11 | 2012-12-11 | 一种对输入法所产生的候选项进行排序的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103869998A CN103869998A (zh) | 2014-06-18 |
CN103869998B true CN103869998B (zh) | 2018-05-01 |
Family
ID=50908618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210531852.4A Active CN103869998B (zh) | 2012-12-11 | 2012-12-11 | 一种对输入法所产生的候选项进行排序的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103869998B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267825A (zh) * | 2014-09-01 | 2015-01-07 | 深圳市金立通信设备有限公司 | 一种字符输入方法 |
CN105094368B (zh) * | 2015-07-24 | 2018-05-15 | 上海二三四五网络科技有限公司 | 一种对输入法候选项进行调频排序的控制方法及控制装置 |
CN106020505B (zh) * | 2016-05-27 | 2018-10-16 | 维沃移动通信有限公司 | 一种输入法候选项的排序方法及移动终端 |
CN106446054B (zh) * | 2016-08-31 | 2019-11-19 | 北京搜狗科技发展有限公司 | 一种信息推荐方法、装置及电子设备 |
US11520412B2 (en) * | 2017-03-06 | 2022-12-06 | Microsoft Technology Licensing, Llc | Data input system/example generator |
CN107678560B (zh) * | 2017-08-31 | 2021-10-08 | 科大讯飞股份有限公司 | 输入法的候选结果生成方法及装置、存储介质、电子设备 |
CN111694487B (zh) * | 2019-03-11 | 2021-12-28 | 网易(杭州)网络有限公司 | 信息处理的方法及装置、电子设备、存储介质 |
CN110456921A (zh) * | 2019-08-01 | 2019-11-15 | 吉旗(成都)科技有限公司 | 预测用户键盘操作行为的方法以及装置 |
CN111399666B (zh) * | 2020-03-05 | 2023-07-21 | 百度在线网络技术(北京)有限公司 | 一种候选词显示方法、装置以及电子设备 |
CN111984131B (zh) * | 2020-07-07 | 2021-05-14 | 北京语言大学 | 一种基于动态权重进行信息输入的方法及系统 |
CN112783337B (zh) * | 2020-12-31 | 2024-04-12 | 科大讯飞股份有限公司 | 输入法候选项的排序方法及相关模型的训练方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920827A (zh) * | 2006-08-23 | 2007-02-28 | 北京搜狗科技发展有限公司 | 获取新编码字符串的方法及输入法系统、词库生成装置 |
CN101373468A (zh) * | 2007-08-20 | 2009-02-25 | 北京搜狗科技发展有限公司 | 一种加载词库的方法、字符输入的方法和输入法系统 |
CN100483417C (zh) * | 2007-05-25 | 2009-04-29 | 北京搜狗科技发展有限公司 | 获取限制词信息的方法、优化输出的方法和输入法系统 |
CN101645066A (zh) * | 2008-08-05 | 2010-02-10 | 北京大学 | 一种互联网新颖词监测方法 |
CN101697109A (zh) * | 2009-10-26 | 2010-04-21 | 北京搜狗科技发展有限公司 | 一种获取输入法候选项的方法及系统 |
CN102163228A (zh) * | 2011-04-13 | 2011-08-24 | 北京百度网讯科技有限公司 | 用于确定资源候选项的排序结果的方法、装置及设备 |
CN102314222A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种自适应输入方法、设备及系统 |
CN102446061A (zh) * | 2010-10-06 | 2012-05-09 | 富士通株式会社 | 信息终端装置和文字输入方法 |
CN102722483A (zh) * | 2011-03-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | 用于确定输入法的候选项排序的方法、装置和设备 |
-
2012
- 2012-12-11 CN CN201210531852.4A patent/CN103869998B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920827A (zh) * | 2006-08-23 | 2007-02-28 | 北京搜狗科技发展有限公司 | 获取新编码字符串的方法及输入法系统、词库生成装置 |
CN100483417C (zh) * | 2007-05-25 | 2009-04-29 | 北京搜狗科技发展有限公司 | 获取限制词信息的方法、优化输出的方法和输入法系统 |
CN101373468A (zh) * | 2007-08-20 | 2009-02-25 | 北京搜狗科技发展有限公司 | 一种加载词库的方法、字符输入的方法和输入法系统 |
CN101645066A (zh) * | 2008-08-05 | 2010-02-10 | 北京大学 | 一种互联网新颖词监测方法 |
CN101697109A (zh) * | 2009-10-26 | 2010-04-21 | 北京搜狗科技发展有限公司 | 一种获取输入法候选项的方法及系统 |
CN102314222A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种自适应输入方法、设备及系统 |
CN102446061A (zh) * | 2010-10-06 | 2012-05-09 | 富士通株式会社 | 信息终端装置和文字输入方法 |
CN102722483A (zh) * | 2011-03-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | 用于确定输入法的候选项排序的方法、装置和设备 |
CN102163228A (zh) * | 2011-04-13 | 2011-08-24 | 北京百度网讯科技有限公司 | 用于确定资源候选项的排序结果的方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
基于文本库的完全加权词间关键规则挖掘算法;黄名选,等;《广西师范大学学报:自然科学版》;20071231;第25卷(第4期);24-27 * |
Also Published As
Publication number | Publication date |
---|---|
CN103869998A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103869998B (zh) | 一种对输入法所产生的候选项进行排序的方法及装置 | |
CN103870001B (zh) | 一种生成输入法候选项的方法及电子装置 | |
CN108829822B (zh) | 媒体内容的推荐方法和装置、存储介质、电子装置 | |
CN108021616B (zh) | 一种基于循环神经网络的社区问答专家推荐方法 | |
CN103870000A (zh) | 一种对输入法所产生的候选项进行排序的方法及装置 | |
CN110674271B (zh) | 一种问答处理方法及装置 | |
US20220284327A1 (en) | Resource pushing method and apparatus, device, and storage medium | |
CN108363790A (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN109271493A (zh) | 一种语言文本处理方法、装置和存储介质 | |
CN108763332A (zh) | 一种搜索提示词的生成方法和装置 | |
CN102214246B (zh) | 一种互联网上汉语电子文档阅读分级的方法 | |
CN106168954B (zh) | 一种基于编辑距离的负面信息模式模糊匹配方法 | |
CN109582852B (zh) | 一种全文检索结果的排序方法及系统 | |
CN103577386A (zh) | 一种基于用户输入场景动态加载语言模型的方法及装置 | |
CN103699521A (zh) | 文本分析方法及装置 | |
CN110321561B (zh) | 一种关键词提取方法和装置 | |
CN102246169A (zh) | 为搜索词分配指标权重 | |
CN102609424B (zh) | 评价信息抽取方法和设备 | |
CN111767393A (zh) | 一种文本核心内容提取方法及装置 | |
CN107807958A (zh) | 一种文章列表个性化推荐方法、电子设备及存储介质 | |
CN110489747A (zh) | 一种图像处理方法、装置、存储介质及电子设备 | |
CN115840796A (zh) | 一种事件整合方法、装置、设备及计算机可读存储介质 | |
CN108920451A (zh) | 基于动态阈值和多分类器的文本情感分析方法 | |
CN113934835A (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN110019832B (zh) | 语言模型的获取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |