CN103870001B - 一种生成输入法候选项的方法及电子装置 - Google Patents
一种生成输入法候选项的方法及电子装置 Download PDFInfo
- Publication number
- CN103870001B CN103870001B CN201210532165.4A CN201210532165A CN103870001B CN 103870001 B CN103870001 B CN 103870001B CN 201210532165 A CN201210532165 A CN 201210532165A CN 103870001 B CN103870001 B CN 103870001B
- Authority
- CN
- China
- Prior art keywords
- candidate
- user
- weight
- field
- sorting
- 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 139
- 238000012163 sequencing technique Methods 0.000 claims abstract description 11
- 230000001186 cumulative effect Effects 0.000 claims description 244
- 238000012549 training Methods 0.000 claims description 22
- 238000005516 engineering process Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 11
- 235000016496 Panda oleosa Nutrition 0.000 description 9
- 240000000220 Panda oleosa Species 0.000 description 9
- 230000006399 behavior Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000001914 filtration Methods 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
- 238000009826 distribution Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013106 supervised machine learning method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种生成输入法候选项的方法及电子装置。生成输入法候选项的方法包括:接收当前用户在当前时段的输入信息;根据已建立的按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域‑时间语言模型,获取当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各领域‑时间语言模型中的第一权值;根据每个候选项的第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值;基于每个候选项的所述第一累积权值,对输入信息的候选项进行排序;展示进行所述排序后的候选项。通过上述方式,本发明能够对不同的用户在不同的时间段输入推送不同的候选项排序,提升用户体验。
Description
技术领域
本发明涉及输入法领域,特别是涉及一种生成输入法候选项的方法及电子装置。
背景技术
输入法是指为了将各种符号输入计算机或其他设备(如手机)而采用的编码方法。
利用输入法进行输入时,通常通过向设备发送各种字符以获取字符对应的候选项,并选择相应的候选项来完成输入。而对于输入的相同读音的字符时,获取得到的字符对应的候选项的集合中各候选项的排序通常都是一样的。对于假名“かがく”,这个读音所对应的日文汉字包括“価格、科学、化学、歌学、花岳”等众多候选,向用户推送的候选基本是一样的,或者是只按照候选项在大规模语料中出现的频次来排序。
本申请的发明人在长期的研究中发现,基于以上的候选项排序方法,至少存在以下问题:不同的用户对候选项的排序要求也是不一样的,即时是同一个用户在不同的时间段对候选项的排序要求也不一样,对所有用户不同时间段下的输入都推送相同的候选项排序,用户往往需要浪费大量时间在候选项中选择自己所需要的候选项,这样大大降低了用户的输入体验。
发明内容
本发明主要解决的技术问题是提供一种生成输入法候选项的方法及电子装置,能够对不同的用户在不同的时间段输入推送不同的候选项排序,提升用户体验。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种生成输入法候选项的方法,包括:接收当前用户在当前时段的输入信息;根据已建立的按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取所述当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各所述领域-时间语言模型中的第一权值;根据每个所述候选项的所述第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,其中,所述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减;基于每个所述候选项的所述第一累积权值,对所述输入信息的候选项进行排序;展示进行所述排序后的候选项。
其中,接收当前用户在当前时段的输入信息的步骤之前,还包括:使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的网页语料;对所述按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料;基于每一所述按领域及时间先后顺序进行划分的网页语料,分别训练出一所述领域-时间语言模型。
其中,所述基于每个候选项的所述第一累积权值,对所述输入信息的候选项进行排序的步骤包括:按照所述第一累积权值的大小对所述候选项进行排序。
其中,所述基于每个候选项的所述第一累积权值,对所述输入信息的候选项进行排序的步骤包括:根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值;根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值,其中,所述第二累积权值是每个用户在每一领域的多个先前时段下的第二权值的加权求和,所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取每个候选项在全部领域下的第三累积权值,并根据所述第三累积权值的大小对所述输入信息的候选项进行排序,其中,所述第三累积权值是基于时间、领域以及用户的贡献程度,当前用户在当前时段对候选项的累积的权值。
其中,所述根据包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值的步骤包括:对每个用户的输入历史信息,按照领域进行分类,对所述按照领域进行分类后的输入历史信息按时间先后顺序进行分类整理,获得多个不同领域及先前时段的不同领域下的输入历史信息;统计每个用户在每个领域及先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
其中,所述基于所述第一累积权值和所述第二累积权值获取第三累积权值的步骤包括:
其中,weightk(w,um)表示第k次迭代时当前用户um输入所述输入信息时对于候选项w的第三累积权值,lm是当前用户um所属的领域集合,Em(w,l,t)表示当前用户um在当前时段t针对领域l下的候选项w的第二累积权值,weight(w,l)是候选项w在领域l下的权值,pl(w)为候选项w属于领域l的概率,weight(um,l)表示用户um在领域l下的权值,L是所有领域的集合,pl(log of um)表示用户um的输入文本在领域l下的概率,
表示当前用户um在当前时段t针对候选项w的第三累积权值的贡献;
表示当前用户um之外的所有用户在当前时段t针对候选项w的第三累积权值的贡献,ln表示用户un所属的领域集合;cost0(w,um)是候选项w在没有用户选择时的原始权值,cost0(w,um)=C(w,l,t),C(w,l,t)为所述第一累积权值,μ1和μ2为调节系数。
其中,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
其中,所述基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取在每个候选项在全部领域下的第三累积权值,并根据所述第三累积权值的大小对所述输入信息的候选项进行排序的步骤之后,还包括:根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词,以供输入法应用使用所述高频热词或新词。
其中,所述判断候选项集合中是否有高频热词或新词的步骤包括:若候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值,则确定所述候选项为新词。
其中,所述判断候选项集合中是否有高频热词或新词的步骤包括:若候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值,则确定所述候选项为高频热词。
其中,所述判断候选项集合中是否有高频热词或新词的步骤之后,还包括:若候选项集合中有高频热词或新词时,向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
其中,所述展示排序后的候选项的步骤包括:展示进行排序后的候选项以及候选项的新词或热词的标识。
其中,所述展示进行排序后的候选项的步骤之后,还包括:接收用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行重新排序;展示按所述第二累积权值进行重新排序的候选项。
其中,所述展示进行排序后的候选项的步骤之后,还包括:接收用户的切换指令,按照选择次数Sj的求和结果对所述候选项进行排序;展示按所述求和结果进行排序的候选项以及所述求和结果。
其中,所述展示进行排序后的候选项的步骤之后,还包括:接收用户的切换指令,对所述候选项按照领域进行排序;展示按照领域排序的候选项以及候选项所属的领域。
其中,所述接收用户的切换指令,对所述候选项按照领域进行排序的步骤包括:接收用户的切换指令,将所述候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果;按照所述当前用户属于候选项所属的领域的权值的大小,对所述第一排序结果进行排序,获得第二排序结果;按照候选项在所有领域中的权值的大小,对所述第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果;所述展示按照领域排序的候选项以及候选项所属的领域的步骤包括:展示所述第三排序结果的候选项以及候选项所属的领域。
其中,所述领域-时间语言模型是n-gram语言模型或n-pos语言模型。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种电子装置,包括接收模块、第一获取模块、第二获取模块、第一排序模块以及展示模块,其中:所述接收模块用于接收当前用户在当前时段的输入信息,并将所述当前用户在当前时段的输入信息发送给所述第一获取模块;所述第一获取模块用于根据已建立的按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取所述当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各所述领域-时间语言模型中的第一权值,并将所述第一权值发送给所述第二获取模块,其中,所述领域-时间语言模型是与用户、领域以及时间都相关的语言模型;所述第二获取模块用于根据每个所述候选项的所述第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,并将所述第一累积权值发送给所述第一排序模块,其中,所述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减;所述第一排序模块用于基于每个候选项的所述第一累积权值,对所述输入信息的候选项进行排序,并将进行所述排序后的候选项发送给所述展示模块;所述展示模块用于展示进行所述排序后的候选项。
其中,所述装置还包括第一分类模块、第二分类模块以及训练模块,其中:所述第一分类模块用于使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的的网页语料,并将所述按领域进行划分的的网页语料发送给所述第二分类模块;所述第二分类模块用于对所述按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料,并将所述按领域及时间先后顺序进行划分的网页语料发送给所述训练模块;所述训练模块用于基于每一所述按领域及时间先后顺序进行划分的网页语料,分别训练出一所述领域-时间语言模型。
其中,所述第一排序模块具体用于按照所述第一累积权值的大小对所述候选项进行排序。
其中,所述第一排序模块包括第一获取单元、第二获取单元、第三获取单元以及排序单元,其中:所述第一获取单元用于根据包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值,并将所述第二权值发送给所述第二获取单元;所述第二获取单元用于根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值,并将所述第二累积权值发送给所述第三获取单元,其中,所述第二累积权值是每个用户在每一领域的多个先前时段下的第二权值的加权求和,所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;所述第三获取单元用于基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取每个候选项在全部领域下的第三累积权值,并将所述第三累积权值发送给所述排序单元;所述排序单元用于根据所述第三累积权值的大小对所述输入信息的候选项进行排序。
其中,所述第一获取单元包括获取子单元以及统计子单元,其中:所述获取子单元用于对每个用户的输入历史信息,按照领域进行分类,对所述按照领域进行分类后的输入历史信息按时间先后顺序进行分类整理,获得多个不同领域及先前时段的输入历史信息,并将多个不同领域及先前时段的输入历史信息发送给所述统计子单元;所述统计子单元用于统计每个用户在每个领域及先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
其中,第三获取单元具体用于通过如下方式获取所述第三累积权值:
其中,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
其中,所述第一排序模块还包括判断单元,用于根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词,以供输入法应用使用所述高频热词或新词。
其中,所述判断单元具体用于当候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值时,则确定所述候选项为新词;或具体用于当候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值时,则确定所述候选项为高频热词。
其中,所述第一排序模块还包括推送单元,用于当候选项集合中有高频热词或新词时,向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
其中,所述展示模块具体用于展示进行排序后的候选项以及候选项的新词或热词的标识。
其中,所述装置还包括第二排序模块,用于接收用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行重新排序;所述展示模块具体用于展示按所述第二累积权值进行重新排序的候选项。
其中,所述装置还包括第三排序模块,用于接收用户的切换指令,按照选择次数Sj的求和结果对所述候选项进行排序;所述展示模块具体用于展示按所述求和结果进行排序的候选项以及所述求和结果。
其中,所述装置还包括第四排序模块,用于接收用户的切换指令,对所述候选项按照领域进行排序,所述展示模块具体用于展示按照领域排序的候选项以及候选项所属的领域。
其中,所述第四排序模块包括第一排序单元、第二排序单元以及第三排序单元,其中:所述第一排序单元用于接收用户的切换指令,将所述候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果,并将所述第一排序结果发送给所述第二排序单元;所述第二排序单元用于按照所述当前用户属于候选项所属的领域的权值的大小,对所述第一排序结果进行排序,获得第二排序结果,并将所述第二排序结果发送给所述第三排序单元;所述第三排序单元用于按照候选项在所有领域中的权值的大小,对所述第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果;所述展示模块具体用于展示所述第三排序结果的候选项以及候选项所属的领域。
其中,所述领域-时间语言模型是n-gram语言模型或n-pos语言模型。
本发明的有益效果是:区别于现有技术的情况,本发明通过已建立的领域-时间语言模型,分别获取当前用户的当前输入信息的候选项集合中每个候选项的第一权值,并进而根据第一权值获取每个候选项的第一累积权值,基于每个候选项的第一累积权值,对当前用户的当前输入信息的候选项进行排序。通过这种方式,对候选项的排序同时考虑领域以及时间的个性化信息,使得候选项的排序更加贴近用户的实际需求,可以减少用户选择候选的时间,提升用户体验。
附图说明
图1是本发明生成输入法候选项的方法一个实施方式的流程图;
图2是本发明生成输入法候选项的方法一个实施方式中建立多个不同的领域-时间语言模型的流程图;
图3是本发明生成输入法候选项的方法另一个实施方式的流程图;
图4是本发明生成输入法候选项的方法另一个实施方式中,获取第二权值的流程图;
图5是本发明生成输入法候选项的方法另一个实施方式中,确定高频热词的流程图;
图6是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图7是本发明生成输入法候选项的方法其中一个实施方式中,输入某一假名对应的部分候选项的示意图;
图8是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图9是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图10是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图11是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图12是本发明生成输入法候选项的方法其中一个实施方式的展示界面示意图;
图13是本发明电子装置一个实施方式的结构示意图;
图14是本发明电子装置另一个实施方式的结构示意图;
图15是本发明电子装置其中一个实施方式中第一排序模块的结构示意图;
图16是本发明电子装置其中一个实施方式中第一获取单元的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明:
参阅图1,本发明生成输入法候选项的方法一个实施方式包括:
步骤S101:接收当前用户在当前时段的输入信息;
利用输入法接收当前用户当前输入信息,比如接收当前用户当前输入的拼音字符、假名、或者英文单词或句子等等。
步骤S102:根据已建立按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各领域-时间语言模型中的第一权值;
语言模型(Language Model,LM)的目的是建立一个能够描述给定词序列在语言中的出现频次或概率的分布。即利用语言模型,可以确定哪个词序列的可能性更大,或者给定若干个词,可以预测下一个最可能出现的词语。举个音字转换的例子来说,输入拼音串为“nixianzaiganshenme”,对应的输出可以有多种形式,如“你现在干什么”、“你西安再赶什么”等等,那么到底哪个才是正确的转换结果呢?利用语言模型,可以知道前者的概率大于后者,因此转换成前者在多数情况下比较合理。再举一个机器翻译的例子,给定一个汉语句子为“李明正在家里看电视”,可以翻译为“Li Ming is watching TV at home”、“LiMingat home 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:使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的网页语料;
文本分类是将大量文本文档划分为若干组,每组一个类别,使得各个类别代表不同的概念主题。这种分类通常是一个有指导的学习过程,它根据一个己经被标注的训练文档集合,找到文档特征和文档类别之间的关系模型,然后利用这种学习得到的关系模型对新的文档进行类别判断。
通过文本分类技术,对网页语料分类整理,获得多个不同的领域,以及整理好的多类不同的与领域相关的网页语料。例如,领域包括:日常用语、经济、自然科学与技术、艺术、宗教与文化等等,相应的与领域相关的网页语料包括日常用语、经济、自然科学与技术、艺术、宗教与文化的网页语料等。
步骤S202:对按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料;
利用“时间戳”对整理好的多类按照领域进行划分的网页语料进行分类整理,得到多个不同先前时段的与领域相关的网页语料。比如2012年1月的日常用语的网页语料、2012年2月的经济的网页语料、2012年3月的艺术的网页语料等等。
上述的不同时段的与领域相关的语料只是本发明实施方式的一个举例,在实际应用中,可以周、月或者年等来对整理好的多类不同的与领域相关的网页语料进行分类而得到对应的时段的与领域相关的网页语料。
其中,可参阅下表1的方式,对网页语料进行归类,横坐标是按领域来进行归类,纵坐标是按领域分类后的语料按时间再次切分,从而得到按领域及时间先后顺序进行划分的网页语料:
表1网页语料的归类
步骤S203:基于每一按领域及时间先后顺序进行划分的网页语料,分别训练出一领域-时间语言模型;
基于每一按领域及时间先后顺序进行划分的网页语料,根据现有的普通语言模型的训练方法,分别训练出相应的领域-时间语言模型。
比如上表所示的l1.t1、l2.t1、l1.t2、l2.t3对应的语料等等,分别训练得到对应的l1-t1语言模型、l2-t1语言模型、l1-t2语言模型以及l2-t3语言模型等等。
该领域-时间语言模型可以确定一个句子、一个词或词组或者若干词等输入信息的第一权值,这里的第一权值是指在没有用户行为参与的情况下,一个句子、一个词或词组或若干词等在先前时段的各个领域-时间语言模型下的出现频次。也就是说,一个句子、一个词或词组或若干词等在每个先前时段的领域-时间语言模型下都对应一个第一权值。第一权值越大,则说明该句子、词或词组或若干词在该领域-时间语言模型下出现的频次越多。
用户输入信息后,会产生相应的多个候选项,这些候选项即组成候选项集合,根据领域-时间语言模型,可以知道每个候选项的在每个领域-时间语言模型下的第一权值大小。
本发明实施方式中,领域-时间语言模型可以是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=w1 w2 … wK,其包含K个词,则P(S)可以写成:
区别于n-gram模型(例如bigram)中直接使用wi-1和wi的条件概率P(wi|wi-1)来刻画P(S),这里引入了“隐马尔科夫模型”(Hidden MarkovModel-HMM)的思想,即把词性ci作为“隐变量”(latent variable)。这个公式中使用了两种概率,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:根据每个候选项的第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值;
根据每个候选项在每个领域-时间语言模型下的第一权值,可以获取得到每个候选项的第一累积权值。这里的第一累积权值是述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且第一权值对第一累积权值的贡献度随时间先后顺序逐步消减,其既与时间相关也与候选项所属的领域相关,并且随着时间的推移而不断衰减。
在实际应用过程中,可以通过以下方式获取第一累积权值:
由此可见,第一权值对第一累积权值的贡献度随时间先后顺序逐步消减。即随着时间的推移,10天前一个领域l下的候选出现了1000次,该候选的第一累积权值可能不比昨天出现100次的领域J下的候选的第一累积权值大。
步骤S104:基于每个候选项的第一累积权值,对输入信息的候选项进行排序;
通过每个候选项在先前所有时段的领域-时间语言模型下的第一权值,可以得到每一个候选项在当前时段下对应的一个第一累积权值,按照第一累积权值由大到小、由小到大或者别的方式顺序对候选项进行排序。当然,本发明实施方式中优选按照第一累积权值由大到小的顺序对候选项进行排序。
比如用户输入信息的候选项A、B、C、D的第一累积权值分别为0.08、0.12、0.5、0.8,那么候选项的优选排序为D、C、B、A。以此实现候选项的排序与时间、领域都相关,具有实时性,便于用户选择候选项,提升用户体验。
步骤S105:展示进行排序后的候选项;
对候选项进行排序后,将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
通过上述实施方式的阐述,可以理解,本发明通过已建立按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,分别获取当前用户的当前输入信息的候选项集合中每个候选项的第一权值,并进而根据第一权值获取每个候选项的第一累积权值,基于每个候选项的第一累积权值,对当前用户的当前输入信息的候选项进行排序。由于领域-时间语言模型是与领域和时间都相关的,因此,通过这种方式,对候选项的排序同时考虑领域以及时间的个性化信息,使得候选项的排序更加贴近用户的实际需求,可以减少用户选择候选的时间,提升用户体验。
上述实施方式通过获取每个候选项的第一累积权值,基于每个候选项第一累积权值对候选项进行排序的方式,只是一种针对在没有用户行为参与的情况下的候选项排序。因为领域-时间语言模型只是基于网页语料得来的,并没有考虑用户的实际选择情况。
为了获取更加精确的候选项排序,本发明提供生成输入法候选项的方法另一个实施方式,请参阅图3,包括:
步骤S301:接收当前用户在当前时段的输入信息;
步骤S302:根据已建立按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各领域-时间语言模型中的第一权值;
步骤S303:根据每个候选项的第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值;
步骤S304:根据包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值;
第二权值是指在多个先前时段中,输入同样的字符情况下,每个用户在各领域和先前时段下对每个候选项的选择次数。比如先前的多个时段,输入假名“かがく”,对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选,其中,“価格”属于经济、日常用语领域,“科学”属于自然科学与技术领域,“化学”属于自然科学与技术领域,“歌学”属于艺术领域,“花岳”属于地名领域。用户A先前的第一时段选择候选项“価格”3次,第二时段选择“化学”5次,第三时段选择候选项“歌学”2次……那么在第一时段用户A对经济、日常用语领域的候选项“価格”的第二权值是3,第二时段用户A对自然科学与技术领域的候选项“化学”的第二权值是5,第三时段用户A对艺术领域的候选项“歌学”的第二权值是2……依次类推,每个用户每个时段对每个候选项都有一个第二权值。
步骤S305:根据第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值;
第二累积权值是指每个用户在每一领域的多个先前时段下的候选项的第二权值的加权求和。第二累积权值与领域、用户以及时间相关,并且随着时间推移逐步衰减。也就是说,第二权值对第二累积权值的贡献度随时间先后顺序逐步消减。
实际应用过程中,可以通过以下公式获取第二累积权值:
其中,上述实施方式中获取第一累积权值以及第二累积权值的步骤不严格区分先后顺序,也就是说,实际应用中,也可以先获取第二累积权值再获取第一累积权值。
步骤S306:基于每个候选项在每一领域下的第一累积权值和第二累积权值获取每个候选项在全部领域下的第三累积权值;
为了使候选项的排序更加贴近用户的实际需求,需要同时考虑在没有用户行为参与下的每个候选项的第一累积权值,同时还要考虑每个候选项在有用户行为参与下的第二累积权值,根据第一累积权值和第二累积权值得到当前用户在当前时段输入时每个候选项的第三累积权值。
在实际应用过程中,可以通过以下方式获取第三累积权值:
通过上述的公式,可以以一种在线学习的方式,不断地根据各时段用户输入日志信息,更新各候选项的第三累积权值,以使得更新后的各候选项的排序与领域、时间以及用户相关,更加接近用户的实际需求,提升用户输入体验。
值得一提的是,上述第三累积权值的计算方法,利用了同一时段同一领域的各个用户输入历史信息,是一种用户信息、数据共享的技术方法。
步骤S307:根据第三累积权值的大小对输入信息的候选项进行排序;
根据得到的每个候选项的第三累积权值,按照第三累积权值从大到小、从小到大或者别的方式对输入信息的候选项进行排序。当然,本发明实施方式中,以第三累积权值从大到小的方式对候选项进行排序为优选的方式。
比如用户输入假名“かがく”对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选。可能按照第一累积权值的排序为“花岳”、“科学”、“価格”、“歌学”、“化学”。但是在实际应用过程中,用户输入假名“かがく”,在一个月前选择了地名领域的“花岳”,而最近三次输入假名“かがく”,分别选择自然科学与技术领域的“科学”、经济、日常用语领域的“価格”和经济、日常用语领域的“価格”,那么当前时间输入假名“かがく”,可以通过调节系数进行调节,从而使得经济、日常用语领域的“価格”的第三累积权值比其他候选项的第三累积权值大,排在最前面,以更加贴合当前用户的实际所需。
这里的候选项的第三累积权值是与时间、领域以及用户的历史选择相应候选项的次数相关的。是当前时间之前的所有时间内用户对于某个候选项的选择概率以及该候选项在每个时段、每个领域出现的概率的叠加。
步骤S308:展示排序后的候选项;
对候选项进行排序后,将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
其中,请参阅图4,在生成输入法候选项的方法另一个实施方式中,根据包括当前用户在内的多个用户在多个先前时段的输入历史信息,获取每个用户针对每个候选项的第二权值的步骤包括:
步骤S401:对每个用户的输入历史信息按领域进行分类,然后对各个领域的输入历史信息按时间先后顺序进行分类整理,获得多个不同领域及先前时段的输入历史信息;
当前用户的输入历史信息可以客观的反映用户关注的与某些领域相关的信息,一个用户可以关注与多个领域相关的信息,另外,一个用户关注的与领域相关的信息经常发生变化,例如,一段时间内,当前用户关注的信息与经济、自然科学与技术相关,另一段时间内,当前用户关注的信息与日常用语、经济相关。
用户输入历史信息可以包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上输入历史信息。
例如,用户在使用日文输入法产品的时候,上传给服务器的输入历史信息;在twitter这样的即时通信工具上,按照时间的新旧顺序收集用户输入的历史信息;在facebook这样的社交网站上,同样按照时间的新旧顺序收集用户输入的历史信息。
对每个用户的输入历史信息按照领域先进行分类整理,再按时间先后顺序对每个领域的网页语料进行分类整理,可以获得多个不同领域及先前时段的输入历史信息。
根据多个不同领域及先前时段的输入历史信息,结合多个不同领域及先前时段下的领域-时间语言模型的语料,用半督导机器学习方法分别按照各自的时段训练出多个不同领域及先前时段的用户分类器。
机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
在半督导机器学习中,已得到的观察量中一部分是加了标识的数据,另一部分是没有标识的数据,通过这种方式,可以只需要标识一部分数据即可获得比较精确的结果。
在训练不同领域及先前时段的用户分类器时,一部分是少而精的用户语料,一部分是大量而内容广泛的网页语料,结合两部分语料的优势,可以训练出更加具有代表性的不同领域及先前时段的用户分类器。
对用户进行分类,主要有两个目的:第一,减轻单用户的稀疏的在特定时间段下的输入历史信息对用户输入行为挖掘的学习算法的负影响;第二,自动识别并汇聚“同时间段同领域”用户的输入历史信息,以实现输入知识的“分享”,以达到更好的用户输入体验。
步骤S402:统计每个用户在每个领域及先前时段输入当前时段的输入信息时对每个候选项的选择次数;
根据训练得到的不同领域及先前时段的用户分类器,可以统计每个用户在每个领域及先前时段输入当前时段的输入信息时,对每个候选项的选择次数,作为第二权值。从而可以根据第二权值获取每个用户对每个候选项的第二累积权值。
本发明对输入法所产生的候选项进行排序的方法实施方式中,通常需要事先建立领域-时间语言模型。以通过领域-时间语言模型来获得当前用户当前输入信息的候选项集合中每个候选项的第一权值。
在本实施例中,一方面通过与领域-时间语言模型,可以获得领域-时间语言模型中每个词组的第一权值,根据每个词组的第一权值进而计算每个词组的第一累积权值。
另一方面,根据建立的领域-时间语言模型,结合不同领域及先前时段的用户分类器,可以获取每个候选项的第二权值,进而计算每个候选项的第二累积权值。
在实际应用过程中,可以结合第一累积权值以及第二累积权值,计算得到每个候选项在全部领域下的第三累积权值,并根据第三累积权值对候选项进行排序。
在实际应用过程中,通过上述实施方式得到的候选项的第三累积权值,可以用于确定当前输入信息的候选项集合中是否有高频热词或新词。
若候选项当前迭代所产生的第三累积权值与前一次迭代所产生的第三累积权值相比的变化量大于预设的新词的阈值,则确定该候选项为新词。
比方说,可以通过计算得到候选项w的第k次迭代所产生的第三累积权值weightk(w,um)和第k-1次迭代所产生的第三累积权值weightk-1(w,um)的变化量,若weightk(w,um)–weightk-1(w,um)>θ,则候选项w时新词。这里的θ是预设的新词的阈值,即可以根据整体的新词数目来调节变化的阈值θ。
例如,控制所有假名下一共最多允许有1000个新词,那么按照这种规格过滤下去,从而最后确定阈值。即按照这个阈值过滤之后,最后剩余大约1000个新词,推送给用户。
这里,可以根据实际情况和用户数据的更新的量,来选择一周更新一次迭代、一个月更新一次迭代等。这样,可以按周为单位推出“一周新词”;当然,可以类似地,设定一个月,一个季度,一个迭代单元,从而推出“一月新词”,“一季度新词”等。
若候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值,则确定该候选项为高频热词。
比方说,可以通过计算候选项w的连续a次迭代的第三累积权值,若weightk-a+1(w,um)>b,...,weightk(w,um)>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前面,更能满足当前用户的当前需求。
请参阅图6,本发明生成输入法候选项的方法一个实施方式中的展示界面示意图,其中,A部分展示的是输入假名“かがく”的候选项按照候选项的第三累积权值的排序结果,而B部分展示的是接收用户的切换指令后,按照候选项的第二累积权值由大到小排列的排序结果。
实际应用过程中,可以按照候选项的第二累积权值的由大到小、由小到大排列或者别的方式排列,当然,优选按照候选项的第二累积权值由大到小排列。
比如用户第一次按切换指令,按照第二累积权值的由大到小进行排序并展示,再次按切换指令,按照第二累积权值由小到大进行排序并展示,第三次按切换指令,恢复原来依据候选项的第三累积权值进行排序并展示。当然,上述的切换指令对应的排序规则只是一个举例,实际应用中可以根据需要自行在输入法的相应设置界面进行设置。
根据上述实施方式,在展示候选项给用户时,可以同时展示每个候选项的第二累积权值,候选项的热词或新词的标识等任意一种或多种信息。
另一方面,为了更直观的体现候选项的活跃程度,可以在展示候选项的时候,对于按照候选项的第三累积权值排列或按照候选项的第二累积权值排列都排在后面一定数量的候选项,以灰色来展示(当然也可以是别的颜色),以便于用户区分。至于具体限定排在后面的多少个数量的候选项以灰色来展示,可以根据需要自行设置。
比如某一输入法下输入假名“こうき”,其对应的候选项有上百个,其中部分候选项可请参阅图7,其中,如果按照候选项的第三累积权值由大到小排序,排在前面的几个候选项可参见图8的B部分,如果按照候选项的第二累积权值的由大到小排序,排在前面的几个候选项可参见图8的A部分,而对于前面两种排序都排在后面的候选项,可参见图8的C部分,这些候选项可以以不同于前述两种方式都排列在前面的候选项的颜色来展示,这样,用户可以尽可能少的时间选择到自己需要的候选项。
还有一方面,根据获取候选项第三累积权值的方式,在实际应用过程中,还可以根据用户的切换指令,对所有用户对当前候选项集合中每个候选项的选择次数进行求和(即每个候选项历史被选择的次数),以选择次数的求和结果对候选项集合中的候选项进行排序。
比如可以通过获取m个用户u1、u2、…、um在输入当前用户当前输入信息的情况下,对同一个候选项ci的选择次数s1、s2、…、sm,则m个用户对当前候选项集合中的候选项的选择次数求和即为E=s1+s2+…+sm,以这一个求和结果对当前的候选项进行排序并展示给用户。
请参阅图9,为本发明生成输入法候选项的方法一个实施方式中的展示界面示意图,其中A为某一输入法下依据候选项的第三累积权值进行排序的结果展示,同时还展示了候选项的历史被选择次数以及新词或热词的标识,如果用户按下按照选择次数排序的切换指令,则候选项的排序按照选择次数进行排序。其中,图9中的B为按照选择次数的降序进行排序的结果展示。
实际应用中,可以按照选择次数的升序或降序进行排序,比如用户第一次按切换指令,按照选择次数的升序进行排序并展示,再次按切换指令,按照选择次数的降序进行排序并展示,第三次按切换指令,恢复原来依据候选项的权值进行排序并展示。当然,上述的切换指令对应的排序规则只是一个举例,实际应用中可以根据需要自行设置。
根据上述实施方式,在展示候选项给用户时,可以同时展示每个候选项历史被选择的次数,候选项的热词或新词的标识等任意一种或多种信息。
还有一方面,根据获取候选项第三累积权值的方式,还可以进一步根据用户的切换指令,对候选项集合中的候选项按照领域进行排序。并展示按照领域进行排序的候选项以及候选项所属的领域。
在实际应用过程中,可以通过以下方式对候选项集合中的候选项按照领域进行排序:
(1)将当前用户当前输入信息的候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果。
将候选项按照领域进行分类,属于同一个领域的候选项排列在一起,获得初步的排序结果,即第一排序结果。
(2)按照当前用户属于候选项所属的领域的权值的大小,对第一排序结果进行排序,获得第二排序结果。
当前用户属于候选项所属的领域的权值的大小是不一样的,根据该权值的大小对第一排序结果进行第二次排序,获得第二排序结果。其中,当前用户属于候选项所属的领域的权值的大小的计算方法可以参考公式:
(3)按照候选项在领域中的权值的大小,对第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果。
对于第二次排序的结果,属于同一个领域内的候选项仅仅只是排列在一起,并没有进行具体的排序,因此,可以按照候选项在领域中的权值的大小,对第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果。其中,候选项在领域中的权值的大小的计算方法可以参考公式:
可以参考的普遍的原则是:日常生活领域高于专业术语领域,属于多个领域的候选,排名尽量靠前。
请参阅图10,本发明生成输入法候选项的方法一实施方式中,又一展示界面的示意图,其中,A表示按照第三累积权值排列的候选项的展示,同时展示了候选项所属的领域;B展示的是接收用户的切换指令后,对候选项按照领域进行排序后的排序结果即上述的第三排序结果。
通过上述方式,用户可以自己定制候选显示方式,可以让用户快速定位自己感兴趣领域的各个候选,减少用户查找正确候选项所需要的时间。在展示时,通常只显示一个候选项的“最可能”属的领域,即在一个候选项属于多个领域的时候,只展示最常用的那个领域(在该领域中,候选项出现的次数最多)。
在另一实施方式中,还有一种展示方式可参阅图11,其中,A部分中同时展示了候选项以及候选项的新词或热词的标识。其中,候选项“花岳”标识为新词,当用户对新词“花岳”感兴趣时,其选择焦点达到“花岳”的时候,可以向用户展示“花岳”的第二累积权值随着时间的变化曲线,如图11中的B部分是“花岳”的第二累积权值在一周内的变化曲线,可以根据用户的选择展示一个月的或者一年的变化曲线。
另外,还可以进一步向用户推送新词对应的链接,即地名对应的所谓高人气的名胜古迹“花岳寺”,并在“花岳寺”下面附上一个表示超链接的箭头。当用户焦点到达箭头时,请参见图11的C部分所示的画面,向用户呈现“花岳寺”的相应搜索链接地址,用户点击箭头的时候,在浏览器中展现搜索结果。
当然,上述对候选项的展示方式,只是一种举例,实际应用中不限于上述方式,比如表示新词相关的超链接标识不一定用箭头表示,可以是一个手指图标或者别的,打开链接的方式也不限于是点击超链接标识,可以通过现有的别的打开超链接的方式,比如快捷键等。
请参阅图12,是本发明另一个实施方式中又一种展示方式示意图,其中展示了候选项所属的领域,并针对于新词“花岳”展示了相应的名胜古迹“花岳寺”的相应搜索链接地址。其实现过程跟上述实现过程相似,在此不再赘述。
在实际应用中,可以根据具体情况增减本发明上述实施方式的相关步骤,在此不再赘叙。
需要注意的是,上述各实施方式中,涉及到用户类型分类都是围绕“用户”来展开的。对于企业级用户,本发明的实施方式也同样适用。简单起见,本发明这里只描述企业级用户的特有特征:
1、单个企业的各个不同主干分支(例如:研发、销售、运营等部门),分别对应一个“企业子领域”或者说是“企业类型”,而整个企业也对应一个更大的“企业领域”或“企业类型”,这样分门别类地收集各个企业的输入历史信息,并进行汇集,训练出针对企业的不同领域及先前时段的领域-时间语言模型;
2、依据企业的营业内容等,推送相关领域的细胞词库以及相关领域的新词热词,并绑定一些搜索结果链接等。
请参阅图13,本发明电子装置一个实施方式包括接收模块11、第一获取模块12、第二获取模块13、第一排序模块14以及展示模块15,其中:
接收模块11用于接收当前用户在当前时段的输入信息,并将当前用户在当前时段的输入信息发送给第一获取模块12;
接收模块11利用输入法接收当前用户当前输入信息,比如接收当前用户当前输入的拼音字符、假名、或者英文单词或句子等等。
第一获取模块12用于根据已建立的按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各领域-时间语言模型中的第一权值,并将第一权值发送给第二获取模块13;
领域-时间语言模型可以确定一个句子、一个词或词组或者若干词等输入信息的第一权值,这里的第一权值是指在没有用户行为参与的情况下,一个句子、一个词或词组或若干词等在先前时段的各个领域-时间语言模型下的出现频次。也就是说,一个句子、一个词或词组或若干词等在每个先前时段的领域-时间语言模型下都对应一个第一权值。第一权值越大,则说明该句子、词或词组或若干词在该领域-时间语言模型下出现的频次越多。
用户输入信息后,会产生相应的多个候选项,这些候选项即组成候选项集合,根据领域-时间语言模型,第一获取模块12可以获取每个候选项的在每个领域-时间语言模型下的第一权值大小。
第二获取模块13用于根据每个候选项的第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,并将第一累积权值发送给第一排序模块14,其中,第一累积权值为每一领域的多个先前时段下的第一权值的加权求和,且第一权值对第一累积权值的贡献度随时间先后顺序逐步消减;
根据每个候选项在每个领域-时间语言模型下的第一权值,第二获取模块13可以获取得到每个候选项的第一累积权值。这里的第一累积权值是述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且第一权值对第一累积权值的贡献度随时间先后顺序逐步消减,其既与时间相关也与候选项所属的领域相关,并且随着时间的推移而不断衰减。
在实际应用过程中,第二获取模块13可以通过以下方式获取第一累积权值:
由此可见,第一权值对第一累积权值的贡献度随时间先后顺序逐步消减。即随着时间的推移,10天前一个候选出现了1000次,该候选的第一累积权值可能不比昨天出现100次的候选的第一累积权值大。
第一排序模块14用于基于每个候选项的第一累积权值,对输入信息的候选项进行排序,并将进行排序后的候选项发送给展示模块15;
通过每个候选项在先前所有时段的领域-时间语言模型下的第一权值,可以得到每一个候选项在当前时段下对应的一个第一累积权值,第一排序模块14按照第一累积权值由大到小、由小到大或者别的方式顺序对候选项进行排序。当然,本发明实施方式中优选按照第一累积权值由大到小的顺序对候选项进行排序。
比如用户输入信息的候选项A、B、C、D的第一累积权值分别为0.08、0.12、0.5、0.8,那么候选项的优选排序为D、C、B、A。以此实现候选项的排序与时间、领域以及用户都相关,具有实时性,便于用户选择候选项,提升用户体验。
展示模块15用于展示进行排序后的候选项。
对候选项进行排序后,将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
请参阅图14,本发明电子装置的另一实施方式中,包括第一分类模块21、第二分类模块22、训练模块23、接收模块24、第一获取模块25、第二获取模块26、第一排序模块27、第二排序模块28以及展示模块29,其中:
第一分类模块21用于使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的网页语料,并将按领域进行划分的网页语料发送给第二分类模块22;
文本分类是将大量文本文档划分为若干组,每组一个类别,使得各个类别代表不同的概念主题。这种分类通常是一个有指导的学习过程,它根据一个己经被标注的训练文档集合,找到文档特征和文档类别之间的关系模型,然后利用这种学习得到的关系模型对新的文档进行类别判断。
第一分类模块21通过文本分类技术,对网页语料分类整理,获得多个不同的领域,以及整理好的多类不同的与领域相关的网页语料,并将按领域进行划分的网页语料发送给第二分类模块22。例如,领域包括:日常用语、经济、自然科学与技术、艺术、宗教与文化等等,相应的与领域相关的网页语料包括日常用语、经济、自然科学与技术、艺术、宗教与文化的网页语料等。
第二分类模块22用于对按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料,并将按领域及时间先后顺序进行划分的网页语料发送给训练模块23;
第二分类模块22利用“时间戳”对整理好的多类按领域进行划分的网页语料进行分类整理,得到多个不同领域及先前时段的网页语料。比如2012年1月的日常用语的网页语料、2012年2月的经济的网页语料、2012年3月的艺术的网页语料等等。
上述的不同时段的与领域相关的语料只是本发明实施方式的一个举例,在实际应用中,可以周、月或者年等来对整理好的多类不同的与领域相关的网页语料进行分类而得到对应的时段的与领域相关的网页语料。
训练模块23用于基于每一先前时段的与领域相关的网页语料,分别训练出一领域-时间语言模型。
基于每一个先前时段以及与每个先前时段对应的与领域相关的网页语料,分别训练出相应的多个领域-时间语言模型。
接收模块24用于接收当前用户在当前时段的输入信息,并将当前用户在当前时段的输入信息发送给第一获取模块25;
第一获取模块25用于根据已建立的按领域及时间先后顺序进行划分的多个不同领域及先前时段下的领域-时间语言模型,获取当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各领域-时间语言模型中的第一权值,并将第一权值发送给第二获取模块26;
第二获取模块26用于根据每个候选项的第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,并将第一累积权值发送给第一排序模块27,其中,第一累积权值为每一领域的多个先前时段下的第一权值的加权求和,且第一权值对第一累积权值的贡献度随时间先后顺序逐步消减;
第一排序模块27用于基于每个候选项的第一累积权值,对输入信息的候选项进行排序;
请参阅图15,本发明电子装置另一个实施方式中,第一排序模块包括第一获取单元111、第二获取单元112、第三获取单元113以及排序单元114,其中:
第一获取单元111用于包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值,并将第二权值发送给第二获取单元112;
第二权值是指在多个先前时段中,输入同样的字符情况下,每个用户在各领域和先前时段下对每个候选项的选择次数。
比如先前的多个时段,输入假名“かがく”,对应的候选项包括“価格”、“科学”、“化学”、“歌学”、“花岳”等众多候选,其中,“価格”属于经济、日常用语领域,“科学”属于自然科学与技术领域,“化学”属于自然科学与技术领域,“歌学”属于艺术领域,“花岳”属于地名领域。用户A先前的第一时段选择候选项“価格”3次,第二时段选择“化学”5次,第三时段选择候选项“歌学”2次……那么在第一时段用户A对经济、日常用语领域的候选项“価格”的第二权值是3,第二时段用户A对自然科学与技术领域的候选项“化学”的第二权值是5,第三时段用户A对艺术领域的候选项“歌学”的第二权值是2……依次类推,每个用户每个时段对每个候选项都有一个第二权值。
第二获取单元112用于根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值,并将第二累积权值发送给第三获取单元113,其中,所述第二累积权值是每个用户在每一领域的多个先前时段下的第二权值的加权求和,所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;
第二累积权值是指每个用户在每一领域的多个先前时段下的候选项的第二权值的加权求和。第二累积权值与领域、用户以及时间相关,并且随着时间推移逐步衰减。也就是说,第二权值对第二累积权值的贡献度随时间先后顺序逐步消减。
实际应用过程中,第二获取单元112可以通过以下公式获取第二累积权值:
第三获取单元113用于基于每个候选项在每一领域下的第一累积权值和第二累积权值获取在每个候选项在全部领域下的第三累积权值,并将第三累积权值发送给排序单元114;
为了使候选项的排序更加贴近用户的实际需求,需要同时考虑在没有用户行为参与下的每个候选项的第一累积权值,同时还要考虑每个候选项在有用户行为参与下的第二累积权值,根据第一累积权值和第二累积权值得到当前用户在当前时段输入时每个候选项的第三累积权值。
在实际应用过程中,第三获取单元113可以通过以下方式获取第三累积权值:
其中,weightk(w,um)表示第k次迭代时当前用户um输入所述输入信息时对于候选项w的第三累积权值,lm是当前用户um所属的领域集合,Em(w,l,t)表示当前用户um在当前时段t针对领域l下的候选项w的第二累积权值,weight(w,l)是候选项w在领域l下的权值,pl(w)为候选项w属于领域l的概率,weight(um,l)表示用户um在领域l下的权值,L是所有领域的集合,pl(log of um)表示用户um的输入文本在领域l下的概率,
表示当前用户um在当前时段t针对候选项w的第三累积权值的贡献;
通过上述的公式,可以以一种在线学习的方式,不断地根据各时段用户输入日志信息,更新各候选项的第三累积权值,以使得更新后的各候选项的排序与领域、时间以及用户相关,更加接近用户的实际需求,提升用户输入体验。
值得一提的是,上述第三累积权值的计算方法,利用了同一时段同一领域的各个用户输入历史信息,是一种用户信息、数据共享的技术方法。
排序单元114用于根据第三累积权值的大小对输入信息的候选项进行排序。
根据得到的每个候选项的第三累积权值,排序单元114按照第三累积权值从大到小、从小到大或者别的方式对输入信息的候选项进行排序。当然,本发明实施方式中,以第三累积权值从大到小的方式对候选项进行排序为优选的方式。
更进一步地,请继续参阅图15,在另一实施方式中,第一排序模块还包括判断单元115,其中:
判断单元115用于用于根据候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词;
高频热词是指出现的频次比较高,备受众多用户关注的词、词组或句子等。当候选项集合中候选项的连续预定次迭代产生的第三累积权值均大于预设的高频热词的阈值时,判断单元115则确定该候选项为高频热词;
比方说,可以通过计算候选项w的连续a次迭代的第三累积权值,若weightk-a+1(w,um)>b,...,weightk(w,um)>b,则该候选项w为高频热词。这里的a、b可以根据需要的高频热词的数量来设置。
比如需要控制所有假名下一共最多允许2000个热词,即按照这个最终热词的规模,来界定a和b的取值。另一方面需要注意的是,为了在“热词”中过滤掉那些日常经常使用的词,可以根据需要限定“热词”中的80%左右都来自“新词”,即有一个“新词”到“热词”的变换过程;而剩余的20%左右,将来自那些日常用语(例如,“お疲れ様です-您辛苦了”等这种日常问候语)。通过迭代次数,可以设定“每月热词,季度热词,年度热词”等。
事实上,热词跟新词都是跟随时间不断变化的,比如影片名《蜘蛛侠》,在电影刚开始上演的时候,“蜘蛛侠”这个词可能是新词,然后以新词持续一段时间,一段时间后,随着影片热播,人们利用输入法输入越来越多,“蜘蛛侠”可能就转变为热词了。
另外,当候选项集合中候选项当前迭代所产生的第三累积权值与前一次迭代所产生的第三累积权值相比的变化量大于预设的新词的阈值时,判断单元115则确定该候选项为新词。
比方说,可以通过计算候选项w的第k次迭代所产生的第三累积权值weightk(w,um)和第k-1次迭代所产生的第三累积权值weightk-1(w,um)的变化量,若weightk(w,um)–weightk-1(w,um)>θ,则候选项w时新词。这里的θ是预设的新词的阈值,即可以根据整体的新词数目来调节变化的阈值θ。
例如,控制所有假名下一共最多允许有1000个新词,那么按照这种规格过滤下去,从而最后确定阈值。即按照这个阈值过滤之后,最后剩余大约1000个新词,推送给用户。
这里,可以根据实际情况和用户数据的更新的量,来选择一周更新一次迭代等。这样,可以按周为单位推出“一周新词”;当然,可以类似地,设定一个月,一个季度,一个迭代单元,从而推出“一月新词”,“一季度新词”等。
所得到的高频热词或新词可以有多方面的应用,比如用来添加到一些预测词典中以提高预测的覆盖率和准确率,或者更新一些语言模型等。
请继续参阅图15,在另一实施方式中,第一排序模块还包括推送单元116,用于向当前用户推送判断单元115确定的高频热词或新词对应的链接,和/或高频热词或新词的第二累积权值相对于时间的变化曲线。
推送单元116可以根据所得到的高频热词或新词,向当前用户推送一些相关的网页链接或者搜索链接等。或者向用户推送高频热词或新词的第二累积权值相对于时间的变化曲线。
比如假设“谍影重重”是高频热词,当用户输入信息的候选项中出现“谍影重重”时,可以向用户推送《谍影重重》相关的简介以及相应的电影观看网页链接等,也可以推送某些影院的电影票销售网站等等。这样既能提高相关网页的点击率,也能吸引用户进一步地关注高频热词相关的信息。
第二排序模块28用于接收用户的切换指令,按照候选项的第二累积权值对候选项进行重新排序;
第二排序模块28可以进一步地根据用户的切换指令,对候选项按照候选项的第二累积权值进行排序,反映每个候选项到当前时刻为止的累积的选择次数,候选项的第二累积权值依赖于候选项的历史被选择次数,同时还跟时间有关,体现的是候选项随着时间的活跃程度。
比如一个月前候选项w1被选择100次和候选项w2被选择10次,昨天候选项w2被选择100次和候选项w1被选择10次,则虽然w1,w2的被选择次数都是110次,但是根据第二累积权值的计算方式,w2的第二累积权值要大于w1的第二累积权值,因为w2在最近的时间段活跃程度大于w1在最近时间段的活跃程度,从而按照第二累积权值对候选项进行排序时将w2排在w1前面,更能满足当前用户的当前需求。
展示模块29用于展示进行排序后的候选项。
对候选项进行排序后,展示模块29将排序后的候选项展示给用户,以使用户能够选择自己需要的候选项。
展示模块在展示候选项给用户时,可以同时展示每个候选项的第二累积权值,候选项的热词或新词的标识等任意一种或多种信息。
在另一个实施方式中,本发明的电子装置还包括第三排序模块,用于接收用户的切换指令,按照选择次数sj的求和结果对候选项进行排序。
在实际应用过程中,第三排序模块还可以根据用户的切换指令,对所有用户对当前候选项集合中每个候选项的选择次数进行求和(即每个候选项历史被选择的次数),以选择次数的求和结果对候选项集合中的候选项进行排序。
比如可以通过获取m个用户u1、u2、…、um在输入当前用户当前输入信息的情况下,对同一个候选项ci的选择次数s1、s2、…、sm,则m个用户对当前候选项集合中的候选项的选择次数求和即为E=s1+s2+…+sm,以这一个求和结果对当前的候选项进行排序,展示模块进一步用于展示按照第三排序模块排序后的候选项以及候选项被选择的次数。
实际应用中,第三排序模块可以按照选择次数的升序或降序进行排序,比如用户第一次按切换指令,按照选择次数的升序进行排序并展示,再次按切换指令,按照选择次数的降序进行排序并展示,第三次按切换指令,恢复原来依据候选项的权值进行排序并展示。当然,上述的切换指令对应的排序规则只是一个举例,实际应用中可以根据需要自行设置。
根据上述实施方式,展示模块在展示候选项给用户时,可以同时展示每个候选项历史被选择的次数,候选项的热词或新词的标识等任意一种或多种信息。
在又一实施方式中,本发明的电子装置还包括第四排序模块,用于接收用户的切换指令,对候选项按照领域进行排序。
其中,第四排序模块还包括第一排序单元、第二排序单元、第三排序单元,其中:
第一排序单元将当前用户当前输入信息的候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果。
将候选项按照领域进行分类,属于同一个领域的候选项排列在一起,获得初步的排序结果,即第一排序结果。
第二排序单元按照当前用户属于候选项所属的领域的权值的大小,对第一排序结果进行排序,获得第二排序结果。
当前用户属于候选项所属的领域的权值的大小是不一样的,根据该权值的大小对第一排序结果进行第二次排序,获得第二排序结果。其中,当前用户属于候选项所属的领域的权值的大小的计算方法可以参考公式:
第三排序单元按照候选项在领域中的权值的大小,对第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果。
对于第二次排序的结果,属于同一个领域内的候选项仅仅只是排列在一起,并没有进行具体的排序,因此,可以按照候选项在领域中的权值的大小,对第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果。其中,候选项在领域中的权值的大小的计算方法可以参考公式:
可以参考的普遍的原则是:日常生活领域高于专业术语领域,属于多个领域的候选,排名尽量靠前。
上述本发明电子装置的实施方式中,所提到的语言模型是n-gram语言模型或n-pos语言模型。
其中,所提到的第一排序模块、第二排序模块、第三排序模块以及第四排序模块,上述的实施方式只是一种举例,在必要的情况下,四个排序模块可以集成为一个排序模块上。只要能实现相同的效果,本发明不限定具体的实现方式,针对其他实施方式的结果示意图不再一一展示。
通过上述实施方式的阐述,可以理解,本发明通过已建立的领域-时间语言模型,分别获取当前用户的当前输入信息的候选项集合中每个候选项的第一权值,并进而根据第一权值获取每个候选项的第一累积权值,基于每个候选项的第一累积权值,对当前用户的当前输入信息的候选项进行排序。由于领域-时间语言模型是与用户、领域和时间都相关的,因此,通过这种方式,对候选项的排序同时考虑用户的领域以及时间的个性化信息,使得候选项的排序更加贴近用户的实际需求,可以减少用户选择候选的时间,提升用户体验。
另一方面,通过候选项的第三累积权值来确定高频热词,所得到的高频热词可以有多方面的应用,比如用来添加到一些预测词典中以提高预测的覆盖率和准确率,或者更新一些语言模型等,还可以根据所得到的高频热词,向该高频热词对应的用户类型的各个用户推送一些相关的网页链接或者搜索链接等。这样既能提高相关网页的点击率,也能吸引用户进一步地关注高频热词相关的信息。
还有,可以根据用户的切换指令,按照候选项的第二累积权值即候选项随时间的活跃程度对候选项进行排序。还可以根据用户的切换指令,对候选项按照领域进行排序或按照候选项的被选择次数进行排序。同时,在展示候选项的时候,可以根据需要一并展示候选项的第二累积权值、候选项的第二累积权值相对于时间的变化曲线、候选项的热词或新词的标识、候选项所属的领域等的任意一种或多种信息,给用户更多的输入体验。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (35)
1.一种生成输入法候选项的方法,其特征在于,包括:
接收当前用户在当前时段的输入信息;
根据已建立的按领域及时间先后顺序进行划分的多个不同领域及不同先前时段下的领域-时间语言模型,获取所述当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各所述领域-时间语言模型中的第一权值;
根据每个所述候选项的所述第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,其中,所述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减;
基于每个所述候选项的所述第一累积权值,对所述输入信息的候选项进行排序,包括:
根据包括当前用户在内的多个用户在所述多个先前时段的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值;
根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值,其中,所述第二累积权值是每个用户在每一领域的多个先前时段下的第二权值的加权求和,所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;
基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取每个候选项在全部领域下的第三累积权值,并根据所述第三累积权值的大小对所述输入信息的候选项进行排序,其中,所述第三累积权值是基于时间、领域以及用户的贡献程度,当前用户在当前时段对候选项的累积的权值;
展示进行所述排序后的候选项。
2.根据权利要求1所述的方法,其特征在于,接收当前用户在当前时段的输入信息的步骤之前,还包括:
使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的网页语料;
对所述按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料;
基于每一所述按领域及时间先后顺序进行划分的网页语料,分别训练出一所述领域-时间语言模型。
3.根据权利要求1所述的方法,其特征在于,所述根据每个所述候选项的所述第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值的步骤包括:
通过如下公式获取所述第一累积权值:
其中,C(w,l,t)为候选项w在领域l下的当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在领域l的第i个先前时段下的领域-时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
4.根据权利要求1所述的方法,其特征在于,所述基于每个候选项的所述第一累积权值,对所述输入信息的候选项进行排序的步骤包括:
按照所述第一累积权值的大小对所述候选项进行排序。
5.根据权利要求1所述的方法,其特征在于,所述根据包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值的步骤包括:
对每个用户的输入历史信息,按照领域进行分类,对所述按照领域进行分类后的输入历史信息按时间先后顺序进行分类整理,获得多个不同领域及先前时段的不同领域下的输入历史信息;
统计每个用户在每个领域及先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值的步骤包括:
通过如下公式获取第二累积权值:
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Eu(w,l,t)为第u个用户在当前时段t针对领域l下的候选项w的第二累积权值,sj为第u个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一累积权值和所述第二累积权值获取第三累积权值的步骤包括:
其中,weightk(w,um)表示第k次迭代时当前用户um输入所述输入信息时对于候选项w的第三累积权值,lm是当前用户um所属的领域集合,Em(w,l,t)表示当前用户um在当前时段t针对领域l下的候选项w的第二累积权值,weight(w,l)是候选项w在领域l下的权值,pl(w)为候选项w属于领域l的概率,weight(um,l)表示用户um在领域l下的权值,L是所有领域的集合,pl(log of um)表示用户um的输入文本在领域l下的概率,
表示当前用户um在当前时段t针对候选项w的第三累积权值的贡献;
表示当前用户um之外的所有用户在当前时段t针对候选项w的第三累积权值的贡献,ln表示用户un所属的领域集合;cost0(w,um)是候选项w在没有用户选择时的原始权值,cost0(w,um)=C(w,l,t),C(w,l,t)为所述第一累积权值,μ1和μ2为调节系数。
8.根据权利要求1所述的方法,其特征在于,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
9.根据权利要求7所述的方法,其特征在于,所述基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取在每个候选项在全部领域下的第三累积权值,并根据所述第三累积权值的大小对所述输入信息的候选项进行排序的步骤之后,还包括:
根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词,以供输入法应用使用所述高频热词或新词。
10.根据权利要求9所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤包括:
若候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值,则确定所述候选项为新词。
11.根据权利要求9所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤包括:
若候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值,则确定所述候选项为高频热词。
12.根据权利要求9所述的方法,其特征在于,所述判断候选项集合中是否有高频热词或新词的步骤之后,还包括:若候选项集合中有高频热词或新词时,向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
13.根据权利要求9所述的方法,其特征在于,所述展示排序后的候选项的步骤包括:展示进行排序后的候选项以及候选项的新词或热词的标识。
14.根据权利要求7所述的方法,其特征在于,所述展示进行排序后的候选项的步骤之后,还包括:
接收用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行重新排序;
展示按所述第二累积权值进行重新排序的候选项。
15.根据权利要求7所述的方法,其特征在于,所述展示进行排序后的候选项的步骤之后,还包括:
接收用户的切换指令,按照选择次数Sj的求和结果对所述候选项进行排序;
展示按所述求和结果进行排序的候选项以及所述求和结果。
16.根据权利要求7所述的方法,其特征在于,所述展示进行排序后的候选项的步骤之后,还包括:
接收用户的切换指令,对所述候选项按照领域进行排序;
展示按照领域排序的候选项以及候选项所属的领域。
17.根据权利要求16所述的方法,其特征在于,所述接收用户的切换指令,对所述候选项按照领域进行排序的步骤包括:
接收用户的切换指令,将所述候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果;
按照所述当前用户属于候选项所属的领域的权值的大小,对所述第一排序结果进行排序,获得第二排序结果;
按照候选项在所有领域中的权值的大小,对所述第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果;
所述展示按照领域排序的候选项以及候选项所属的领域的步骤包括:展示所述第三排序结果的候选项以及候选项所属的领域。
18.根据权利要求1所述的方法,其特征在于,所述领域-时间语言模型是n-gram语言模型或n-pos语言模型。
19.一种电子装置,其特征在于,包括接收模块、第一获取模块、第二获取模块、第一排序模块以及展示模块,其中:
所述接收模块用于接收当前用户在当前时段的输入信息,并将所述当前用户在当前时段的输入信息发送给所述第一获取模块;
所述第一获取模块用于根据已建立的按领域及时间先后顺序进行划分的多个不同领域及不同先前时段下的领域-时间语言模型,获取所述当前用户在当前时段的输入信息所对应的候选项集合中每个候选项在各所述领域-时间语言模型中的第一权值,并将所述第一权值发送给所述第二获取模块,其中,所述领域-时间语言模型是与用户、领域以及时间都相关的语言模型;
所述第二获取模块用于根据每个所述候选项的所述第一权值获取每个候选项在每一领域的多个先前时段下的第一累积权值,并将所述第一累积权值发送给所述第一排序模块,其中,所述第一累积权值为每一领域的多个先前时段下的所述第一权值的加权求和,且所述第一权值对所述第一累积权值的贡献度随时间先后顺序逐步消减;
所述第一排序模块用于基于每个候选项的所述第一累积权值,对所述输入信息的候选项进行排序,并将进行所述排序后的候选项发送给所述展示模块;
所述展示模块用于展示进行所述排序后的候选项;
其中,所述第一排序模块包括第一获取单元、第二获取单元、第三获取单元以及排序单元,其中:
所述第一获取单元用于根据包括当前用户在内的多个用户的输入历史信息获取每个用户在各领域和先前时段下针对每个候选项的第二权值,并将所述第二权值发送给所述第二获取单元;
所述第二获取单元用于根据所述第二权值获取每个用户在每一领域的多个先前时段下针对每个候选项的第二累积权值,并将所述第二累积权值发送给所述第三获取单元,其中,所述第二累积权值是每个用户在每一领域的多个先前时段下的第二权值的加权求和,所述第二权值对所述第二累积权值的贡献度随时间先后顺序逐步消减;
所述第三获取单元用于基于每个候选项在每一领域下的所述第一累积权值和所述第二累积权值获取每个候选项在全部领域下的第三累积权值,并将所述第三累积权值发送给所述排序单元;
所述排序单元用于根据所述第三累积权值的大小对所述输入信息的候选项进行排序。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括第一分类模块、第二分类模块以及训练模块,其中:
所述第一分类模块用于使用文本分类技术,对网页语料进行分类整理,获得按领域进行划分的的网页语料,并将所述按领域进行划分的的网页语料发送给所述第二分类模块;
所述第二分类模块用于对所述按领域进行划分的网页语料再按时间先后顺序进行分类整理,获得按领域及时间先后顺序进行划分的网页语料,并将所述按领域及时间先后顺序进行划分的网页语料发送给所述训练模块;
所述训练模块用于基于每一所述按领域及时间先后顺序进行划分的网页语料,分别训练出一所述领域-时间语言模型。
21.根据权利要求19所述的装置,其特征在于,所述第二获取模块具体用于通过如下公式获取所述第一累积权值:
其中,C(w,l,t)为候选项w在领域l下的当前时段t的第一累积权值,ti为第i个先前时段,numi·w为候选项w在领域l的第i个先前时段下的领域-时间语言模型下的出现频次,作为所述第一权值,n为所述先前时段的数量,λ为消减系数。
22.根据权利要求19所述的装置,其特征在于,所述第一排序模块具体用于按照所述第一累积权值的大小对所述候选项进行排序。
23.根据权利要求19所述的装置,其特征在于,所述第一获取单元包括获取子单元以及统计子单元,其中:
所述获取子单元用于对每个用户的输入历史信息,按照领域进行分类,对所述按照领域进行分类后的输入历史信息按时间先后顺序进行分类整理,获得多个不同领域及先前时段的输入历史信息,并将多个不同领域及先前时段的输入历史信息发送给所述统计子单元;
所述统计子单元用于统计每个用户在每个领域及先前时段输入所述输入信息时对每个候选项的选择次数,作为第二权值。
24.根据权利要求23所述的装置,其特征在于,所述第二获取单元具体用于通过如下公式获取第二累积权值:
其中,t表示当前时段,tj为第j个先前时段,n为所述先前时段的数量,Eu(w,l,t)为第u个用户在当前时段t针对领域l下的候选项w的第二累积权值,sj为第u个用户在第j个先前时段输入所述输入信息时对候选项w的选择次数,λ为消减常数。
25.根据权利要求24所述的装置,其特征在于,第三获取单元具体用于通过如下方式获取所述第三累积权值:
其中,weightk(w,um)表示第k次迭代时当前用户um输入所述输入信息时对于候选项w的第三累积权值,lm是当前用户um所属的领域集合,Em(w,l,t)表示当前用户um在当前时段t针对领域l下的候选项w的第二累积权值,weight(w,l)是候选项w在领域l下的权值,pl(w)为候选项w属于领域l的概率,weight(um,l)表示用户um在领域l下的权值,L是所有领域的集合,pl(log of um)表示用户um的输入文本在领域l下的概率,表示当前用户um在当前时段t针对候选项w的第三累积权值的贡献;表示当前用户um之外的所有用户在当前时段t针对候选项w的第三累积权值的贡献,ln表示用户un所属的领域集合;cost0(w,um)是候选项w在没有用户选择时的原始权值,cost0(w,um)=C(w,l,t),C(w,l,t)为所述第一累积权值,μ1和μ2为调节系数。
26.根据权利要求19所述的装置,其特征在于,所述输入历史信息包括在输入法应用中的输入历史信息、在即时通信工具中的输入历史信息以及在社交网站中的输入历史信息中的任意一种或两种以上。
27.根据权利要求25所述的装置,其特征在于,所述第一排序模块还包括判断单元,用于根据所述候选项集合中每个候选项的第三累积权值的大小,判断候选项集合中是否有高频热词或新词,以供输入法应用使用所述高频热词或新词。
28.根据权利要求27所述的装置,其特征在于,所述判断单元具体用于当候选项集合中候选项的当前迭代所产生的所述第三累积权值与前一次迭代所产生的所述第三累积权值相比的变化量大于预设的新词的阈值时,则确定所述候选项为新词;或具体用于当候选项集合中候选项的连续预定次迭代产生的所述第三累积权值均大于预设的高频热词的阈值时,则确定所述候选项为高频热词。
29.根据权利要求27所述的装置,其特征在于,所述第一排序模块还包括推送单元,用于当候选项集合中有高频热词或新词时,向当前用户推送所述高频热词或新词对应的链接,和/或所述高频热词或新词的所述第二累积权值相对于时间的变化曲线。
30.根据权利要求27所述的装置,其特征在于,所述展示模块具体用于展示进行排序后的候选项以及候选项的新词或热词的标识。
31.根据权利要求25所述的装置,其特征在于,所述装置还包括第二排序模块,用于接收用户的切换指令,按照候选项的所述第二累积权值对所述候选项进行重新排序;
所述展示模块具体用于展示按所述第二累积权值进行重新排序的候选项。
32.根据权利要求25所述的装置,其特征在于,所述装置还包括第三排序模块,用于接收用户的切换指令,按照选择次数Sj的求和结果对所述候选项进行排序;
所述展示模块具体用于展示按所述求和结果进行排序的候选项以及所述求和结果。
33.根据权利要求25所述的装置,其特征在于,所述装置还包括第四排序模块,用于接收用户的切换指令,对所述候选项按照领域进行排序;
所述展示模块具体用于展示按照领域排序的候选项以及候选项所属的领域。
34.根据权利要求33所述的装置,其特征在于,所述第四排序模块包括第一排序单元、第二排序单元以及第三排序单元,其中:
所述第一排序单元用于接收用户的切换指令,将所述候选项集合中的候选项按照属于同一领域的候选项排列在一起的条件进行排序,获得第一排序结果,并将所述第一排序结果发送给所述第二排序单元;
所述第二排序单元用于按照所述当前用户属于候选项所属的领域的权值的大小,对所述第一排序结果进行排序,获得第二排序结果,并将所述第二排序结果发送给所述第三排序单元;
所述第三排序单元用于按照候选项在所有领域中的权值的大小,对所述第二排序结果中排列在一起的属于同一领域的候选项进行排序,获得第三排序结果;
所述展示模块具体用于展示所述第三排序结果的候选项以及候选项所属的领域。
35.根据权利要求19所述的装置,其特征在于,所述领域-时间语言模型是n-gram语言模型或n-pos语言模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210532165.4A CN103870001B (zh) | 2012-12-11 | 2012-12-11 | 一种生成输入法候选项的方法及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210532165.4A CN103870001B (zh) | 2012-12-11 | 2012-12-11 | 一种生成输入法候选项的方法及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870001A CN103870001A (zh) | 2014-06-18 |
CN103870001B true CN103870001B (zh) | 2018-07-10 |
Family
ID=50908621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210532165.4A Active CN103870001B (zh) | 2012-12-11 | 2012-12-11 | 一种生成输入法候选项的方法及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870001B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375663A (zh) * | 2014-11-11 | 2015-02-25 | 广东欧珀移动通信有限公司 | 一种联想输入方法及装置 |
CN104598583B (zh) * | 2015-01-14 | 2018-01-09 | 百度在线网络技术(北京)有限公司 | 查询语句推荐列表的生成方法和装置 |
GB201511887D0 (en) | 2015-07-07 | 2015-08-19 | Touchtype Ltd | Improved artificial neural network for language modelling and prediction |
CN106681523A (zh) * | 2015-11-06 | 2017-05-17 | 北京奇虎科技有限公司 | 一种输入法的字库配置方法、装置以及调用处理方法 |
CN106896975A (zh) * | 2015-12-18 | 2017-06-27 | 北京搜狗科技发展有限公司 | 一种输入方法和装置、一种用于输入的装置 |
CN105718070A (zh) * | 2016-01-16 | 2016-06-29 | 上海高欣计算机系统有限公司 | 一种拼音的长句连打输入方法及其系统 |
US11205110B2 (en) * | 2016-10-24 | 2021-12-21 | Microsoft Technology Licensing, Llc | Device/server deployment of neural network data entry system |
CN108304078B (zh) * | 2017-01-11 | 2024-01-30 | 北京搜狗科技发展有限公司 | 一种输入方法、装置及电子设备 |
CN110389667A (zh) * | 2018-04-17 | 2019-10-29 | 北京搜狗科技发展有限公司 | 一种输入方法及装置 |
CN110377916B (zh) * | 2018-08-17 | 2022-12-16 | 腾讯科技(深圳)有限公司 | 词预测方法、装置、计算机设备及存储介质 |
CN109710753B (zh) * | 2018-12-29 | 2021-08-03 | 北京金山安全软件有限公司 | 基于个性化主题的快捷信息生成方法、装置和电子设备 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920827A (zh) * | 2006-08-23 | 2007-02-28 | 北京搜狗科技发展有限公司 | 获取新编码字符串的方法及输入法系统、词库生成装置 |
CN101271459A (zh) * | 2007-03-22 | 2008-09-24 | 北京搜狗科技发展有限公司 | 一种生成词库的方法、一种输入的方法和一种输入法系统 |
CN101697109A (zh) * | 2009-10-26 | 2010-04-21 | 北京搜狗科技发展有限公司 | 一种获取输入法候选项的方法及系统 |
CN102103416A (zh) * | 2009-12-17 | 2011-06-22 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
CN102591472A (zh) * | 2011-01-13 | 2012-07-18 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
CN102722483A (zh) * | 2011-03-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | 用于确定输入法的候选项排序的方法、装置和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1936893B (zh) * | 2006-06-02 | 2010-05-12 | 北京搜狗科技发展有限公司 | 基于互联网信息的输入法词频库的生成方法和系统 |
US20080294982A1 (en) * | 2007-05-21 | 2008-11-27 | Microsoft Corporation | Providing relevant text auto-completions |
-
2012
- 2012-12-11 CN CN201210532165.4A patent/CN103870001B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920827A (zh) * | 2006-08-23 | 2007-02-28 | 北京搜狗科技发展有限公司 | 获取新编码字符串的方法及输入法系统、词库生成装置 |
CN101271459A (zh) * | 2007-03-22 | 2008-09-24 | 北京搜狗科技发展有限公司 | 一种生成词库的方法、一种输入的方法和一种输入法系统 |
CN101697109A (zh) * | 2009-10-26 | 2010-04-21 | 北京搜狗科技发展有限公司 | 一种获取输入法候选项的方法及系统 |
CN102103416A (zh) * | 2009-12-17 | 2011-06-22 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
CN102591472A (zh) * | 2011-01-13 | 2012-07-18 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
CN102722483A (zh) * | 2011-03-29 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | 用于确定输入法的候选项排序的方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103870001A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870001B (zh) | 一种生成输入法候选项的方法及电子装置 | |
US11868386B2 (en) | Method and system for sentiment analysis of information | |
CN103869998B (zh) | 一种对输入法所产生的候选项进行排序的方法及装置 | |
CN103870000A (zh) | 一种对输入法所产生的候选项进行排序的方法及装置 | |
US7983902B2 (en) | Domain dictionary creation by detection of new topic words using divergence value comparison | |
CN105183833B (zh) | 一种基于用户模型的微博文本推荐方法及其推荐装置 | |
JP5379138B2 (ja) | 領域辞書の作成 | |
CN108073568A (zh) | 关键词提取方法和装置 | |
CN111324771B (zh) | 视频标签的确定方法、装置、电子设备及存储介质 | |
CN106168954B (zh) | 一种基于编辑距离的负面信息模式模糊匹配方法 | |
CN109255012B (zh) | 机器阅读理解以及减少候选数据集规模的方法、装置 | |
CN103699521A (zh) | 文本分析方法及装置 | |
CN109582852B (zh) | 一种全文检索结果的排序方法及系统 | |
CN109508441B (zh) | 通过自然语言实现数据统计分析的方法、装置及电子设备 | |
CN109063147A (zh) | 基于文本相似度的在线课程论坛内容推荐方法及系统 | |
CN103942328B (zh) | 一种视频检索方法及视频装置 | |
CN102609424B (zh) | 评价信息抽取方法和设备 | |
CN103869999B (zh) | 对输入法所产生的候选项进行排序的方法及装置 | |
CN115510326A (zh) | 基于文本特征和情感倾向的网络论坛用户兴趣推荐算法 | |
JP5302614B2 (ja) | 施設関連情報の検索データベース形成方法および施設関連情報検索システム | |
CN110717008A (zh) | 基于语意识别的搜索结果排序方法及相关装置 | |
CN110019763B (zh) | 文本过滤方法、系统、设备及计算机可读存储介质 | |
CN116402166B (zh) | 一种预测模型的训练方法、装置、电子设备及存储介质 | |
CN112380422A (zh) | 一种基于关键词热度的金融新闻推荐装置 | |
Voronov et al. | Forecasting popularity of news article by title analyzing with BN-LSTM network |
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 |