CN103984688B - 一种基于本地词库提供输入候选词条的方法与设备 - Google Patents

一种基于本地词库提供输入候选词条的方法与设备 Download PDF

Info

Publication number
CN103984688B
CN103984688B CN201310157069.0A CN201310157069A CN103984688B CN 103984688 B CN103984688 B CN 103984688B CN 201310157069 A CN201310157069 A CN 201310157069A CN 103984688 B CN103984688 B CN 103984688B
Authority
CN
China
Prior art keywords
entry
input
user
local dictionary
candidate entry
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
Application number
CN201310157069.0A
Other languages
English (en)
Other versions
CN103984688A (zh
Inventor
何明哲
吴闯
邵玉珊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=51276664&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN103984688(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310157069.0A priority Critical patent/CN103984688B/zh
Priority to PCT/CN2014/074856 priority patent/WO2014176959A1/zh
Publication of CN103984688A publication Critical patent/CN103984688A/zh
Application granted granted Critical
Publication of CN103984688B publication Critical patent/CN103984688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的目的是提供一种用于基于本地词库提供输入候选词条的方法与设备;获取用户输入的输入字符串;根据该输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,该本地词库根据用户历史分段上屏的输入词条记录建立或更新;根据该候选词条中所包括的末节子词条,在该本地词库中匹配查询得到对应的下文词条;将该候选词条与该下文词条进行合并处理,得到输入候选词条并提供给该用户。与现有技术相比,本发明准确、有效地扩大了提供的输入候选词条的范围,使得提供的输入候选词条更符合用户的输入需求,提升了用户的输入体验。

Description

一种基于本地词库提供输入候选词条的方法与设备
技术领域
本发明涉及输入法技术领域,尤其涉及一种用于基于本地词库提供输入候选词条的技术。
背景技术
现有技术中,输入法一般仅对用户某次完整输入的内容进行学习,但没对分段上屏的上下文关系进行学习。例如用户分别输入输入字符串ab,上屏ab对应的输入词条a1,紧接着该用户输入输入字符串cd,并上屏cd对应的输入词条a2,现有输入法并不会对该两个分段上屏的输入词条a1、a2间的上下文关系进行学习;仅当该用户一次输入输入字符串abcd,并上屏输入词条a1a2时,现有输入法才会对该输入词条a1a2进行学习。
显然,现有技术的该种方式不利于本地词库的更新,使得匹配得到的输入候选词条受到了限制,影响了用户的输入体验。
并且,现有技术的输入法不会基于用户历史分段上屏的输入词条记录,给出预测的输入候选词条,进一步使得提供给用户的输入候选词条受到了限制,影响了用户的输入体验。
因此,如何有效地基于本地词库提供输入候选词条,提升用户的输入体验,成为本领域技术人员亟需解决的一个问题。
发明内容
本发明的目的是提供一种用于基于本地词库提供输入候选词条的方法与设备。
根据本发明的一个方面,提供了一种用于基于本地词库提供输入候选词条的方法,其中,该方法包括以下步骤:
a获取用户输入的输入字符串;
b根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;
c对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;
d将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;
e将所述输入候选词条提供给所述用户。
根据本发明的另一方面,还提供了一种用于基于本地词库提供输入候选词条的用户设备,其中,该设备包括:
第一获取装置,用于获取用户输入的输入字符串;
第一匹配装置,用于根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;
第二匹配装置,用于对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;
合并装置,用于将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;
提供装置,用于将所述输入候选词条提供给所述用户。
与现有技术相比,本发明根据用户输入的输入字符串,在根据用户历史分段上屏的输入词条记录建立或更新的本地词库中进行匹配查询,获取对应的候选词条,并进一步根据该候选词条中所包括的末节子词条,在该本地词库中匹配查询得到对应的下文词条,将该候选词条与该下文词条进行合并处理,得到输入候选词条并提供给该用户,准确、有效地扩大了提供的输入候选词条的范围,使得提供的输入候选词条更符合用户的输入需求,提升了用户的输入体验。
进一步地,本发明对用户分段上屏的输入词条记录进行学习,利用输入词条记录的上下文关系,可以根据用户刚上屏的上文词条和输入历史中两个上屏词条之间的关系权值来确定预测的输入候选词条,从而提高当前输入的召回率,提高对预测的召回率。
进一步地,本发明还可对完整输入的输入词条记录拆分成细粒度或合并粒度进行学习,即用户如果上屏一个较长的输入词条记录,本发明会对输入词条记录进行合理的粒度切分,取到每个合理粒度的词条粒度进行学习,这样就不会导致预测输入候选词条时预测出一个不合理长度的词条。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的用于基于本地词库提供输入候选词条的设备示意图;
图2示出根据本发明一个优选实施例的用于基于本地词库提供输入候选词条的设备示意图;
图3示出根据本发明另一个方面的用于基于本地词库提供输入候选词条的方法流程图;
图4示出根据本发明一个优选实施例的用于基于本地词库提供输入候选词条的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的用于基于本地词库提供输入候选词条的设备示意图。用户设备1包括第一获取装置101、第一匹配装置102、第二匹配装置103、合并装置104和提供装置105。
其中,该用户设备1包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或手写设备等方式进行人机交互的电子产品,例如计算机、手机、PDA、平板电脑、游戏机或IPTV等。本领域技术人员应能理解上述用户设备仅为举例,其他现有的或今后可能出现的用户设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第一获取装置101获取用户输入的输入字符串。具体地,用户通过与用户设备1的交互,在用户设备1中输入输入字符串,第一获取装置101通过一次或多次调用该用户设备1所提供的应用程序接口(API),获取该用户输入的输入字符串。
本领域技术人员应能理解上述输入及获取输入字符串的方式仅为举例,其他现有的或今后可能出现的输入或获取输入字符串的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第一匹配装置102根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新。具体地,第一匹配装置102根据第一获取装置101所获取的输入字符串,在本地词库中进行匹配查询,获取与该输入字符串对应的候选词条,如根据该本地词库中所存储的读音与词条的映射关系,或通过遍历该本地词库中以树形结构存放的词条,匹配得到读音与该输入字符串匹配的候选词条。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则第一获取装置101通过与用户设备1的交互,获取该输入字符串abcdef;第一匹配装置102根据该输入字符串,在本地词库中进行匹配查找,直接找到与该输入字符串读音匹配的候选词条a1a2a3,;或者,第一匹配装置102分别找到与ab读音匹配的a1、与cd读音匹配的a2、与ef读音匹配的a3,再将三者进行拼接,得到与该输入字符串abcdef读音匹配的候选词条a1a2a3;或者,第一匹配装置102根据a1找到a1的下文词条a2,a2的读音和输入字符串abcdef中的cd匹配,则把它拼接a1,组成a1a2,接着,再根据a2找到a2的下文词条a3,a3的读音和输入字符串abcdef中的ef匹配,则把它拼接a1a2,组成a1a2a3,作为与该输入字符串匹配的候选词条。
在此,该本地词库根据用户历史分段上屏的输入词条记录建立或更新,该分段上屏的输入词条记录为用户接连上屏的输入词条。例如,用户历史输入输入字符串ab,并选择了输入词条a1上屏,紧接着,该用户又输入输入字符串cd,并选择了输入词条a2上屏,则该输入词条a1及a2即为分段上屏的输入词条记录,该用户设备1将该分段上屏的输入词条记录存入该本地词库中,以实现对该本地词库的建立或更新。具体建立或更新的方式将在图2对应的实施例中详细描述。
本领域技术人员应能理解上述匹配候选词条的方式仅为举例,其他现有的或今后可能出现的匹配候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
第二匹配装置103对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条。具体地,第二匹配装置103根据第一匹配装置102所匹配获得的候选词条,根据该候选词条中所包括的末节子词条,如上例中最后匹配得到的末节子词条a3,在该本地词库中进行匹配查询,确定该末节子词条所对应的下文词条,如根据该本地词库中所存储的词条间的上下文关系,找到与该末节子词条具有上下文关系的下文词条。
优选地,该第二匹配装置103可以根据该匹配得到的下文词条,继续在该本地词库中进行匹配查询,得到该下文词条的下文词条,即,得到该末节子词条的下下文词条。最终匹配得到的词条与该第一匹配装置102所匹配得到的候选词条可拼接为一个完整的输入候选词条,以提供给该用户。
本领域技术人员应能理解上述匹配下文词条的方式仅为举例,其他现有的或今后可能出现的匹配下文词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
合并装置104将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条。具体地,合并装置104将第一匹配装置102匹配得到的候选词条和第二匹配装置103匹配得到的下文词条进行合并处理,如将第二匹配装置103匹配得到的下文词条拼接在第一匹配装置匹配得到的候选词条之后,获得合并处理后的合并结果,作为输入候选词条。例如,该合并装置104根据第一匹配装置102匹配得到的候选词条a1a2a3及第二匹配装置103匹配得到的下文词条b1,将这两者进行合并处理,得到输入候选词条a1a2a3b1。
本领域技术人员应能理解上述合并处理的方式仅为举例,其他现有的或今后可能出现的合并处理的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
提供装置105将所述输入候选词条提供给所述用户。具体地,提供装置105将该合并装置104合并所获得的输入候选词条,通过调用ASP、JSP或PHP等页面技术,或通过其他约定的显示方式,提供给该用户。这一操作可以采用任何已知的计算机提供人可读信息的技术手段,典型的例子如屏幕显示、扬声器播放等。以屏幕显示为例,提供装置105将合并装置104合并处理所获得的输入候选词条,按一定顺序和格式提供给所述用户,供其选择以作具体输入。具体地,通过在显示器的一个输入窗口栏中显示给用户时,可将多个输入候选词条与输入字符串分栏显示,多个输入候选词条可全部列入下一栏中供用户选择。优选地,可以在词条栏中仅显示一行输入候选词条,该行输入候选词条数目可以是缺省的也可由用户设定,通过由用户按动特定功能键显示上一行或下一行输入候选词条,该特定功能键例如可以是”+”和”-”。
本领域技术人员应能理解上述提供输入候选词条的方式仅为举例,其他现有的或今后可能出现的提供输入候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,用户设备1的各个装置之间是持续不断工作的。具体地,第一获取装置101获取用户输入的输入字符串;第一匹配装置102根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;第二匹配装置103对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;合并装置104将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;提供装置105将所述输入候选词条提供给所述用户。在此,本领域技术人员应理解“持续”是指用户设备1的各装置分别按照设定的或实时调整的工作模式要求进行输入字符串的获取、候选词条和下文词条的获取和合并处理、输入候选词条的提供,直至该用户设备1在较长时间内停止获取用户输入的输入字符串。
在此,本发明根据用户输入的输入字符串,在根据用户历史分段上屏的输入词条记录建立或更新的本地词库中进行匹配查询,获取对应的候选词条,并进一步根据该候选词条中所包括的末节子词条,在该本地词库中匹配查询得到对应的下文词条,将该候选词条与该下文词条进行合并处理,得到输入候选词条并提供给该用户,准确、有效地扩大了提供的输入候选词条的范围,使得提供的输入候选词条更符合用户的输入需求,提升了用户的输入体验。
优选地,所述本地词库以树形结构存放词条;其中,所述第一匹配装置102和第二匹配装置103所执行的匹配查询包括采用深度遍历算法,遍历所述本地词库中的所述树形结构。具体地,该本地词库以树形结构存放词条,各节点存放读音、词条、读音切分、词条切分、下文读音、下文词条等。该第一匹配装置102和第二匹配装置103采用深度遍历算法,遍历该树形结构。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则第一获取装置101通过与用户设备1的交互,获取该输入字符串abcdef;第一匹配装置102根据该输入字符串,分别用a、ab、abc、abcd、abcde...在本地词库中进行匹配查询,找到读音匹配的词,假设这里找出前缀词a1、ax,在此,前缀词为与输入字符串部分读音匹配的词条;接着,第一匹配装置102采用深度遍历算法,追溯每个前缀词的下文,例如根据a1找到a1的下文a2,a2的读音和输入字符串abcdef中的cd匹配,则把它拼接a1,组成a1a2;如果遇到不匹配的则跳过,一直拼接到一个读音和输入字符串一致的词,如a1a2a3,作为候选词条;或者,该第一匹配装置102根据输入字符串abcdef,直接在本地词库中匹配查询到读音匹配的词A,作为候选词条。优选地,在第一匹配装置102匹配得到前缀词之后,可以按照用户历史输入该前缀词的先后顺序,依次追溯该前缀词的下文,例如对于前缀词a1、ax,用户最近输入过a1,则第一匹配装置102根据a1追溯其下文。
在此,第二匹配装置103同样采用深度遍历算法,遍历该本地词库中的树形结构。接上例,该第二匹配装置103根据该第一匹配装置102所匹配得到的候选词条a1a2a3,根据其中的末节子词条a3,采用深度遍历算法,追溯其下文词条,例如找到下文词条b1;随后,合并装置104将该候选词条a1a2a3及该下文词条b1进行合并处理,获得合并结果a1a2a3b1,作为输入候选词条;随后,提供装置105将该输入候选词条提供给该用户。
优选地,该第二匹配装置103可继续沿着下文词条b1进行遍历,例如获得b1的下文词条b2,该b2即为a3的下下文词条;该第二匹配装置103可再沿着b2遍历,得到b3,假设a1a2a3b1b2b3为一完整的词条,则合并装置104可将a1a2a3与b1、b2、b3进行合并处理,得到a1a2a3b1b2b3,作为输入候选词条;随后,提供装置105将该输入候选词条提供给该用户。
优选地,由于深度遍历算法时间复杂度比较大,因此,该第一匹配装置102和第二匹配装置103在找到符合结果数的输入候选词条后即可终止遍历。在此,该输入候选词条的结果数可由***预置,也可由用户进行设置。
更优选地,所述匹配查询包括根据所述树形结构的节点中所存放的词条的上下文关系,采用所述深度遍历算法,遍历所述本地词库中的所述树形结构。具体地,该第一匹配装置102和第二匹配装置103根据该本地词库中树形结构的节点中存放的词条的上下文关系,如该词条的上上文关系,采用深度遍历算法,遍历该树形结构。例如,用户历史分别分段上屏过a1、a2、a3;a2、a4;a2、a5;则该本地词库中的树形结构的a2节点分别对应上文词条a1、对应下文词条a3、a4、a5,即,该词条a3与该词条a1具有上上文关系。因此,若该第一匹配装置102或该第二匹配装置103在匹配过程中优先考虑上上文关系,则当该两个装置在查询a2的下文词条并同时找到下文词条a3、a4、a5时,由于词条a3还对应上上文词条a1,因此该两个装置优先拼接词条a3,并继续从a3节点进行遍历。优选地,该两个装置在深度遍历每层节点时,可优先考虑节点中所存放词条的上下文关系,再考虑用户历史输入该词条的时间顺序。
优选地,该用户设备1还包括优先级确定装置(未示出),该优先级确定装置根据所述用户的历史输入顺序,确定所述输入候选词条的优先级;其中,所述提供装置105按照所述优先级,将所述输入候选词条提供给所述用户。具体地,该优先级确定装置根据用户的历史输入顺序,确定所述输入候选词条的优先级,例如,按用户历史输入该输入候选词条的远近进行排序,用户最近输入的输入候选词条的优先级最高;随后,该提供装置105按照该优先级确定装置所确定的优先级,将该输入候选词条提供给该用户。
更优选地,所述优先级确定装置根据所述用户的历史输入顺序,并结合所述输入候选词条的词条属性,确定所述输入候选词条的优先级;
其中,所述词条属性包括以下至少任一项:
-所述输入候选词条对应所述本地词库的概率属性;
-所述用户历史输入所述输入候选词条的次数;
-所述输入候选词条中所包括的子词条间的转移概率;
-所述输入候选词条所对应的预测长度。
具体地,优先级确定装置根据用户的历史输入顺序,再结合该输入候选词条的词条属性,如该输入候选词条对应该本地词库的概率属性、该述用户历史输入该输入候选词条的次数、该输入候选词条中所包括的子词条间的转移概率、该输入候选词条所对应的预测长度等,确定所述输入候选词条的优先级。例如,该历史输入顺序与各个词条属性可分别对应一定的分数与权值,优先级确定装置通过加权计算,得到各个输入候选词条的分值,再按照该分值,确定每个输入候选词条的优先级。该权值可由***预置,或可由用户自行设置。
在此,该输入候选词条对应该本地词库的概率属性例如该输入候选词条在该本地词库中的出现概率,可由该输入候选词条在该本地词库中的出现次数与该本地词库中所有词条的出现次数来计算得出。该述用户历史输入该输入候选词条的次数可通过统计得出。该输入候选词条中所包括的子词条间的转移概率可通过语言模型的转移概率计算得出,转移概率为例如输入候选词条ab在上文词条为a的情况时下文词条为b的概率。该输入候选词条所对应的预测长度例如一个输入候选词条最大可包括的子词条的数量,其可由***预置,或可由用户自行设置。
优选地,优先级确定装置可根据该用户的历史输入顺序,并结合输入候选词条的上述任意多个词条属性,确定该输入候选词条的优先级,例如可通过将词条属性对应的权值置为零的方式,筛选所需考虑的词条属性。
本领域技术人员应能理解上述词条属性仅为举例,其他现有的或今后可能出现的提供输入候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,优先级确定装置还可根据如下方式确定输入候选词条的优先级,例如,将精确匹配的输入候选词条与完整的输入候选词条按照用户的历史输入顺序进行排序,再将仅预测一个下文词条的输入候选词条紧跟在该精确匹配的输入候选词条之后。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则第一匹配装置102根据该输入字符串,所匹配得到的a1a2a3即为精确匹配的输入候选词条;第二匹配装置103根据其中的末节子词条a3,采用深度遍历算法,找到下文词条b1之后,合并装置104所拼接得到的a1a2a3b1,即为仅预测一个下文词条的输入候选词条;而第二匹配装置103继续沿着下文词条b1进行遍历,获得b1的下文词条b2,再沿着b2遍历,得到b3,假设a1a2a3b1b2b3为一完整的词条,则该合并装置104将a1a2a3与b1、b2、b3进行合并处理之后得到的a1a2a3b1b2b3,即为完整的输入候选词条。且该用户输入该精确匹配的输入候选词条a1a2a3的时间后于输入该完整的输入候选词条a1a2a3b1b2b3的时间,则该优先级确定装置据此确定的输入候选词条的优先级由高到低依次为:a1a2a3、a1a2a3b1、a1a2a3b1b2b3。
图2示出根据本发明一个优选实施例的用于基于本地词库提供输入候选词条的设备示意图。该用户设备1还包括第二获取装置206和更新装置207。以下参照图2对该优选实施例进行详细描述:具体地,第二获取装置206获取所述用户历史分段上屏的输入词条记录;更新装置207根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库;第一获取装置201获取用户输入的输入字符串;第一匹配装置202根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;第二匹配装置203对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;合并装置204将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;提供装置205将所述输入候选词条提供给所述用户。在此,第一获取装置201、第一匹配装置202、第二匹配装置203、合并装置204及提供装置205与图1所示对应装置相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
第二获取装置206获取所述用户历史分段上屏的输入词条记录。具体地,用户通过与用户设备1的交互,分段上屏了输入词条记录,第二获取装置206通过调用该用户设备1所提供的应用程序接口(API),或其他约定的方式,获取该用户分段上屏的输入词条记录。例如,用户历史输入输入字符串ab,并选择了输入词条a1上屏,则该第二获取装置206通过与该用户设备1的交互,获取该用户上屏的输入词条a1,作为该用户历史上屏的输入词条记录;紧接着,该用户又输入输入字符串cd,并选择了输入词条a2上屏,则该第二获取装置206继续通过与该用户设备1的交互,获取该用户上屏的输入词条a2,作为该用户历史上屏的输入词条记录,由于该输入词条a1、a2为该用户接连上屏的,该输入词条a1、a2即为该用户历史分段上屏的输入词条记录。
更新装置207根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库。接上例,更新装置207根据该第二获取装置206所获取的该用户历史分段上屏的输入词条记录a1、a2,根据该两个输入词条记录间的上下文关系,并结合该两个输入词条记录的输入频次,建立或更新该本地词库,例如将该分段上屏的输入词条记录及其对应的上下文关系存入该本地词库中,如该a2作为该a1的下文词条,被以一个属性名为nextentry的vector结构记录,以实现对该本地词库的建立或更新。
优选地,该用户设备1还包括切词装置(未示出),该切词装置对所述输入词条记录进行切词处理,以获得至少一个词条粒度;其中,所述更新装置207根据所述至少一个词条粒度间的上下文关系,建立或更新所述本地词库。具体地,当该用户上屏的输入词条记录较长,例如可预设一长度阈值,当该输入词条记录的词条长度超过该长度阈值时,判断该输入词条记录长度较长,需要进行切词处理,该切词装置根据该第二获取装置206所获取的输入词条记录,对其进行切词处理,以获得至少一个词条粒度。随后,该更新装置207将经切词处理后所获得的至少一个词条粒度,及其相互间的上下文关系,存入该本地词库中,如存入该本地词库的树形结构中,以实现对该本地词库的建立或更新。
例如,用户历史分别分段上屏A、B两个较长的输入词条记录,第二获取装置206获取该两个输入词条记录;该切词装置对该两个输入词条记录进行切词处理,将输入词条记录A切分为a1、a2、a3三个词条粒度,将输入词条记录B切分为b1、b2、b3三个词条粒度。随后,更新装置207首先将A、B、a1、a2、a3、b1、b2、b3作为一个完整的词条被学,再保存其间的上下文关系,下文用一个属性名为nextentry的vector结构记录,如a1的下文词条增加a2,a2的下文词条增加a3,a3的下文词条除了增加b1外还要增加B,B在b1之前;接着,该更新装置207继续记录其间的上上文关系,例如词条粒度a2增加a3作为下文词条时,同时要记录a3作为下文词条时a2的上文词条是a1,如在a2的nextentryvector里增加一条记录“a3\ra1”,在此,“\r”用于分割下文词条和上上文词条。
更优选地,所述更新装置207判断由至少两个词条粒度合并后所获得的词条是否为高频词条,其中,所述至少两个词条粒度具有上下文关系;若所述词条为高频词条,根据所述词条,建立或更新所述本地词库。具体地,更新装置207根据切词装置所切词处理后的词条粒度,判断由至少两个词条粒度合并后所获得的词条是否为高频词条,例如,判断该合并后的词条在该本地词库中的出现概率是否大于预定概率阈值,若大于该预定概率阈值,则判断该合并后的词条为高频词条;随后,将该词条存入该本地词库中,如存入该本地词库的树形结构的对应节点中,以建立或更新该本地词库。在此,该合并后获得高频词条的两个词条粒度具有上下文关系。接前例,第二获取装置206获取的输入词条记录为A和B;切词装置对该两个输入词条记录进行切词处理,获得词条粒度a1、a2、a3、b1、b2、b3;更新装置207判断由词条粒度a2、a3合并后的词条a2a3为高频词条,其中,该词条粒度a2和a3具有上下文关系,随后,该更新装置207将该词条粒度a2、a3进行合并处理,获得词条a2a3,并将该词条a2a3存入该本地词库中,以实现对该本地词库的建立或更新。这样,当下次匹配查询在该本地词库的树形结构中遍历时,追溯a1可得下文词条a2或a2a3。
图3示出根据本发明另一个方面的用于基于本地词库提供输入候选词条的方法流程图。
在步骤S301中,用户设备1获取用户输入的输入字符串。具体地,用户通过与用户设备1的交互,在用户设备1中输入输入字符串,在步骤S301中,用户设备1通过一次或多次调用该用户设备1所提供的应用程序接口(API),获取该用户输入的输入字符串。
本领域技术人员应能理解上述输入及获取输入字符串的方式仅为举例,其他现有的或今后可能出现的输入或获取输入字符串的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S302中,用户设备1根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新。具体地,在步骤S302中,用户设备1根据在步骤S301中所获取的输入字符串,在本地词库中进行匹配查询,获取与该输入字符串对应的候选词条,如根据该本地词库中所存储的读音与词条的映射关系,或通过遍历该本地词库中以树形结构存放的词条,匹配得到读音与该输入字符串匹配的候选词条。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则在步骤S301中,用户设备1通过与用户设备1的交互,获取该输入字符串abcdef;在步骤S302中,用户设备1根据该输入字符串,在本地词库中进行匹配查找,直接找到与该输入字符串读音匹配的候选词条a1a2a3,;或者,在步骤S302中,用户设备1分别找到与ab读音匹配的a1、与cd读音匹配的a2、与ef读音匹配的a3,再将三者进行拼接,得到与该输入字符串abcdef读音匹配的候选词条a1a2a3;或者,在步骤S302中,用户设备1根据a1找到a1的下文词条a2,a2的读音和输入字符串abcdef中的cd匹配,则把它拼接a1,组成a1a2,接着,再根据a2找到a2的下文词条a3,a3的读音和输入字符串abcdef中的ef匹配,则把它拼接a1a2,组成a1a2a3,作为与该输入字符串匹配的候选词条。
在此,该本地词库根据用户历史分段上屏的输入词条记录建立或更新,该分段上屏的输入词条记录为用户接连上屏的输入词条。例如,用户历史输入输入字符串ab,并选择了输入词条a1上屏,紧接着,该用户又输入输入字符串cd,并选择了输入词条a2上屏,则该输入词条a1及a2即为分段上屏的输入词条记录,该用户设备1将该分段上屏的输入词条记录存入该本地词库中,以实现对该本地词库的建立或更新。具体建立或更新的方式将在图2对应的实施例中详细描述。
本领域技术人员应能理解上述匹配候选词条的方式仅为举例,其他现有的或今后可能出现的匹配候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S303中,用户设备1对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条。具体地,在步骤S303中,用户设备1根据在步骤S302中所匹配获得的候选词条,根据该候选词条中所包括的末节子词条,如上例中最后匹配得到的末节子词条a3,在该本地词库中进行匹配查询,确定该末节子词条所对应的下文词条,如根据该本地词库中所存储的词条间的上下文关系,找到与该末节子词条具有上下文关系的下文词条。
优选地,在步骤S303中,用户设备1可以根据该匹配得到的下文词条,继续在该本地词库中进行匹配查询,得到该下文词条的下文词条,即,得到该末节子词条的下下文词条。最终匹配得到的词条与该用户设备1在步骤S302中所匹配得到的候选词条可拼接为一个完整的输入候选词条,以提供给该用户。
本领域技术人员应能理解上述匹配下文词条的方式仅为举例,其他现有的或今后可能出现的匹配下文词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S304中,用户设备1将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条。具体地,在步骤S304中,用户设备1将在步骤S302中匹配得到的候选词条和在步骤S303中匹配得到的下文词条进行合并处理,如将在步骤S303中匹配得到的下文词条拼接在步骤S302中匹配得到的候选词条之后,获得合并处理后的合并结果,作为输入候选词条。例如,在步骤S304中,用户设备1根据在步骤S302中匹配得到的候选词条a1a2a3及在步骤S303中匹配得到的下文词条b1,将这两者进行合并处理,得到输入候选词条a1a2a3b1。
本领域技术人员应能理解上述合并处理的方式仅为举例,其他现有的或今后可能出现的合并处理的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S305中,用户设备1将所述输入候选词条提供给所述用户。具体地,在步骤S305中,用户设备1将在步骤S304中合并所获得的输入候选词条,通过调用ASP、JSP或PHP等页面技术,或通过其他约定的显示方式,提供给该用户。这一操作可以采用任何已知的计算机提供人可读信息的技术手段,典型的例子如屏幕显示、扬声器播放等。以屏幕显示为例,在步骤S305中,用户设备1将在步骤S304中合并处理所获得的输入候选词条,按一定顺序和格式提供给所述用户,供其选择以作具体输入。具体地,通过在显示器的一个输入窗口栏中显示给用户时,可将多个输入候选词条与输入字符串分栏显示,多个输入候选词条可全部列入下一栏中供用户选择。优选地,可以在词条栏中仅显示一行输入候选词条,该行输入候选词条数目可以是缺省的也可由用户设定,通过由用户按动特定功能键显示上一行或下一行输入候选词条,该特定功能键例如可以是”+”和”-”。
本领域技术人员应能理解上述提供输入候选词条的方式仅为举例,其他现有的或今后可能出现的提供输入候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,用户设备1的各个步骤之间是持续不断工作的。具体地,在步骤S301中,用户设备1获取用户输入的输入字符串;在步骤S302中,用户设备1根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;在步骤S303中,用户设备1对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;在步骤S304中,用户设备1将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;在步骤S305中,用户设备1将所述输入候选词条提供给所述用户。在此,本领域技术人员应理解“持续”是指用户设备1的各步骤分别按照设定的或实时调整的工作模式要求进行输入字符串的获取、候选词条和下文词条的获取和合并处理、输入候选词条的提供,直至该用户设备1在较长时间内停止获取用户输入的输入字符串。
在此,本发明根据用户输入的输入字符串,在根据用户历史分段上屏的输入词条记录建立或更新的本地词库中进行匹配查询,获取对应的候选词条,并进一步根据该候选词条中所包括的末节子词条,在该本地词库中匹配查询得到对应的下文词条,将该候选词条与该下文词条进行合并处理,得到输入候选词条并提供给该用户,准确、有效地扩大了提供的输入候选词条的范围,使得提供的输入候选词条更符合用户的输入需求,提升了用户的输入体验。
优选地,所述本地词库以树形结构存放词条;其中,在步骤S302中和在步骤S303中所执行的匹配查询包括采用深度遍历算法,遍历所述本地词库中的所述树形结构。具体地,该本地词库以树形结构存放词条,各节点存放读音、词条、读音切分、词条切分、下文读音、下文词条等。在步骤S302中和在步骤S303中,该用户设备1采用深度遍历算法,遍历该树形结构。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则在步骤S301中,用户设备1通过与用户设备1的交互,获取该输入字符串abcdef;在步骤S302中,用户设备1根据该输入字符串,分别用a、ab、abc、abcd、abcde...在本地词库中进行匹配查询,找到读音匹配的词,假设这里找出前缀词a1、ax,在此,前缀词为与输入字符串部分读音匹配的词条;接着,在步骤S302中,用户设备1采用深度遍历算法,追溯每个前缀词的下文,例如根据a1找到a1的下文a2,a2的读音和输入字符串abcdef中的cd匹配,则把它拼接a1,组成a1a2;如果遇到不匹配的则跳过,一直拼接到一个读音和输入字符串一致的词,如a1a2a3,作为候选词条;或者,在步骤S302中,用户设备1根据输入字符串abcdef,直接在本地词库中匹配查询到读音匹配的词A,作为候选词条。优选地,在步骤S302中,用户设备1匹配得到前缀词之后,可以按照用户历史输入该前缀词的先后顺序,依次追溯该前缀词的下文,例如对于前缀词a1、ax,用户最近输入过a1,则该用户设备1根据a1追溯其下文。
在此,在步骤S303中,用户设备1同样采用深度遍历算法,遍历该本地词库中的树形结构。接上例,在步骤S303中,用户设备1根据在步骤S302中所匹配得到的候选词条a1a2a3,根据其中的末节子词条a3,采用深度遍历算法,追溯其下文词条,例如找到下文词条b1;随后,在步骤S304中,用户设备1将该候选词条a1a2a3及该下文词条b1进行合并处理,获得合并结果a1a2a3b1,作为输入候选词条;随后,在步骤S305中,用户设备1将该输入候选词条提供给该用户。
优选地,在步骤S303中,用户设备1可继续沿着下文词条b1进行遍历,例如获得b1的下文词条b2,该b2即为a3的下下文词条;该用户设备1可再沿着b2遍历,得到b3,假设a1a2a3b1b2b3为一完整的词条,则在步骤S304中,用户设备1可将a1a2a3与b1、b2、b3进行合并处理,得到a1a2a3b1b2b3,作为输入候选词条;随后,在步骤S305中将该输入候选词条提供给该用户。
优选地,由于深度遍历算法时间复杂度比较大,因此,在步骤S302中和在步骤S303中,用户设备1在找到符合结果数的输入候选词条后即可终止遍历。在此,该输入候选词条的结果数可由***预置,也可由用户进行设置。
更优选地,所述匹配查询包括根据所述树形结构的节点中所存放的词条的上下文关系,采用所述深度遍历算法,遍历所述本地词库中的所述树形结构。具体地,在步骤S302中和在步骤S303中,用户设备1根据该本地词库中树形结构的节点中存放的词条的上下文关系,如该词条的上上文关系,采用深度遍历算法,遍历该树形结构。例如,用户历史分别分段上屏过a1、a2、a3;a2、a4;a2、a5;则该本地词库中的树形结构的a2节点分别对应上文词条a1、对应下文词条a3、a4、a5,即,该词条a3与该词条a1具有上上文关系。因此,若在步骤S302中或在步骤S303中,用户设备1在匹配过程中优先考虑上上文关系,则当用户设备1在该两个步骤中查询a2的下文词条并同时找到下文词条a3、a4、a5时,由于词条a3还对应上上文词条a1,因此该两个步骤优先拼接词条a3,并继续从a3节点进行遍历。优选地,该用户设备1在该两个步骤中深度遍历每层节点时,可优先考虑节点中所存放词条的上下文关系,再考虑用户历史输入该词条的时间顺序。
优选地,该方法还包括步骤S308(未示出),在步骤S308中,用户设备1根据所述用户的历史输入顺序,确定所述输入候选词条的优先级;其中,在步骤S305中,用户设备1按照所述优先级,将所述输入候选词条提供给所述用户。具体地,在步骤S308中,用户设备1根据用户的历史输入顺序,确定所述输入候选词条的优先级,例如,按用户历史输入该输入候选词条的远近进行排序,用户最近输入的输入候选词条的优先级最高;随后,在步骤S305中,用户设备1按照在步骤S308中所确定的优先级,将该输入候选词条提供给该用户。
更优选地,在步骤S308中,用户设备1根据所述用户的历史输入顺序,并结合所述输入候选词条的词条属性,确定所述输入候选词条的优先级;
其中,所述词条属性包括以下至少任一项:
-所述输入候选词条对应所述本地词库的概率属性;
-所述用户历史输入所述输入候选词条的次数;
-所述输入候选词条中所包括的子词条间的转移概率;
-所述输入候选词条所对应的预测长度。
具体地,在步骤S308中,用户设备1根据用户的历史输入顺序,再结合该输入候选词条的词条属性,如该输入候选词条对应该本地词库的概率属性、该述用户历史输入该输入候选词条的次数、该输入候选词条中所包括的子词条间的转移概率、该输入候选词条所对应的预测长度等,确定所述输入候选词条的优先级。例如,该历史输入顺序与各个词条属性可分别对应一定的分数与权值,在步骤S308中,用户设备1通过加权计算,得到各个输入候选词条的分值,再按照该分值,确定每个输入候选词条的优先级。该权值可由***预置,或可由用户自行设置。
在此,该输入候选词条对应该本地词库的概率属性例如该输入候选词条在该本地词库中的出现概率,可由该输入候选词条在该本地词库中的出现次数与该本地词库中所有词条的出现次数来计算得出。该述用户历史输入该输入候选词条的次数可通过统计得出。该输入候选词条中所包括的子词条间的转移概率可通过语言模型的转移概率计算得出,转移概率为例如输入候选词条ab在上文词条为a的情况时下文词条为b的概率。该输入候选词条所对应的预测长度例如一个输入候选词条最大可包括的子词条的数量,其可由***预置,或可由用户自行设置。
优选地,在步骤S308中,用户设备1可根据该用户的历史输入顺序,并结合输入候选词条的上述任意多个词条属性,确定该输入候选词条的优先级,例如可通过将词条属性对应的权值置为零的方式,筛选所需考虑的词条属性。
本领域技术人员应能理解上述词条属性仅为举例,其他现有的或今后可能出现的提供输入候选词条的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S308中,用户设备1还可根据如下方式确定输入候选词条的优先级,例如,将精确匹配的输入候选词条与完整的输入候选词条按照用户的历史输入顺序进行排序,再将仅预测一个下文词条的输入候选词条紧跟在该精确匹配的输入候选词条之后。例如,用户通过与用户设备1的交互,输入输入字符串abcdef,其中,假设ab是a1的读音,cd是a2的读音,ef是a3的读音,则在步骤S302中,用户设备1根据该输入字符串,所匹配得到的a1a2a3即为精确匹配的输入候选词条;在步骤S303中,用户设备1根据其中的末节子词条a3,采用深度遍历算法,找到下文词条b1之后,在步骤S304中,用户设备1所拼接得到的a1a2a3b1,即为仅预测一个下文词条的输入候选词条;在步骤S303中,用户设备1继续沿着下文词条b1进行遍历,获得b1的下文词条b2,再沿着b2遍历,得到b3,假设a1a2a3b1b2b3为一完整的词条,则在步骤S304中,用户设备1将a1a2a3与b1、b2、b3进行合并处理之后得到的a1a2a3b1b2b3,即为完整的输入候选词条。且该用户输入该精确匹配的输入候选词条a1a2a3的时间后于输入该完整的输入候选词条a1a2a3b1b2b3的时间,则在步骤S308中,用户设备1据此确定的输入候选词条的优先级由高到低依次为:a1a2a3、a1a2a3b1、a1a2a3b1b2b3。
图4示出根据本发明一个优选实施例的用于基于本地词库提供输入候选词条的方法流程图。以下参照图4对该优选实施例进行详细描述:具体地,在步骤S406中,用户设备1获取所述用户历史分段上屏的输入词条记录;在步骤S407中,用户设备1根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库;在步骤S401中,用户设备1获取用户输入的输入字符串;在步骤S402中,用户设备1根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;在步骤S403中,用户设备1对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,确定所述末节子词条所对应的下文词条;在步骤S404中,用户设备1将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;在步骤S405中,用户设备1将所述输入候选词条提供给所述用户。在此,步骤S401-S405与图3所示对应步骤相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
在步骤S406中,用户设备1获取所述用户历史分段上屏的输入词条记录。具体地,用户通过与用户设备1的交互,分段上屏了输入词条记录,在步骤S406中,用户设备1通过调用该用户设备1所提供的应用程序接口(API),或其他约定的方式,获取该用户分段上屏的输入词条记录。例如,用户历史输入输入字符串ab,并选择了输入词条a1上屏,则在步骤S406中,用户设备1通过与该用户设备1的交互,获取该用户上屏的输入词条a1,作为该用户历史上屏的输入词条记录;紧接着,该用户又输入输入字符串cd,并选择了输入词条a2上屏,则在步骤S406中,用户设备1继续通过与该用户设备1的交互,获取该用户上屏的输入词条a2,作为该用户历史上屏的输入词条记录,由于该输入词条a1、a2为该用户接连上屏的,该输入词条a1、a2即为该用户历史分段上屏的输入词条记录。
在步骤S407中,用户设备1根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库。接上例,在步骤S407中,用户设备1根据在步骤S406中所获取的该用户历史分段上屏的输入词条记录a1、a2,根据该两个输入词条记录间的上下文关系,并结合该两个输入词条记录的输入频次,建立或更新该本地词库,例如将该分段上屏的输入词条记录及其对应的上下文关系存入该本地词库中,如该a2作为该a1的下文词条,被以一个属性名为nextentry的vector结构记录,以实现对该本地词库的建立或更新。
优选地,该方法还包括步骤S409(未示出),在步骤S409中,用户设备1对所述输入词条记录进行切词处理,以获得至少一个词条粒度;其中,在步骤S407中,用户设备1根据所述至少一个词条粒度间的上下文关系,建立或更新所述本地词库。具体地,当该用户上屏的输入词条记录较长,例如可预设一长度阈值,当该输入词条记录的词条长度超过该长度阈值时,判断该输入词条记录长度较长,需要进行切词处理,在步骤S409中,用户设备1根据在步骤S406中所获取的输入词条记录,对其进行切词处理,以获得至少一个词条粒度。随后,在步骤S407中,用户设备1将经切词处理后所获得的至少一个词条粒度,及其相互间的上下文关系,存入该本地词库中,如存入该本地词库的树形结构中,以实现对该本地词库的建立或更新。
例如,用户历史分别分段上屏A、B两个较长的输入词条记录,在步骤S406中,用户设备1获取该两个输入词条记录;在步骤S409中,用户设备1对该两个输入词条记录进行切词处理,将输入词条记录A切分为a1、a2、a3三个词条粒度,将输入词条记录B切分为b1、b2、b3三个词条粒度。随后,在步骤S407中,用户设备1首先将A、B、a1、a2、a3、b1、b2、b3作为一个完整的词条被学,再保存其间的上下文关系,下文用一个属性名为nextentry的vector结构记录,如a1的下文词条增加a2,a2的下文词条增加a3,a3的下文词条除了增加b1外还要增加B,B在b1之前;接着,在步骤S407中,用户设备1继续记录其间的上上文关系,例如词条粒度a2增加a3作为下文词条时,同时要记录a3作为下文词条时a2的上文词条是a1,如在a2的nextentryvector里增加一条记录“a3\ra1”,在此,“\r”用于分割下文词条和上上文词条。
更优选地,在步骤S407中,用户设备1判断由至少两个词条粒度合并后所获得的词条是否为高频词条,其中,所述至少两个词条粒度具有上下文关系;若所述词条为高频词条,根据所述词条,建立或更新所述本地词库。具体地,在步骤S407中,用户设备1根据在步骤S409中所切词处理后的词条粒度,判断由至少两个词条粒度合并后所获得的词条是否为高频词条,例如,判断该合并后的词条在该本地词库中的出现概率是否大于预定概率阈值,若大于该预定概率阈值,则判断该合并后的词条为高频词条;随后,将该词条存入该本地词库中,如存入该本地词库的树形结构的对应节点中,以建立或更新该本地词库。在此,该合并后获得高频词条的两个词条粒度具有上下文关系。接前例,在步骤S406中,用户设备1获取的输入词条记录为A和B;在步骤S409中,用户设备1对该两个输入词条记录进行切词处理,获得词条粒度a1、a2、a3、b1、b2、b3;在步骤S407中,用户设备1判断由词条粒度a2、a3合并后的词条a2a3为高频词条,其中,该词条粒度a2和a3具有上下文关系,随后,该用户设备1将该词条粒度a2、a3进行合并处理,获得词条a2a3,并将该词条a2a3存入该本地词库中,以实现对该本地词库的建立或更新。这样,当下次匹配查询在该本地词库的树形结构中遍历时,追溯a1可得下文词条a2或a2a3。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (16)

1.一种用于基于本地词库提供输入候选词条的方法,其中,该方法包括以下步骤:
a获取用户输入的输入字符串;
b根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;
c对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,根据所述本地词库中所存储的词条间的上下文关系,确定所述末节子词条所对应的下文词条;
d将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;
e将所述输入候选词条提供给所述用户。
2.根据权利要求1所述的方法,其中,所述本地词库以树形结构存放词条;其中,所述步骤b和步骤c中的匹配查询包括:
-采用深度遍历算法,遍历所述本地词库中的所述树形结构。
3.根据权利要求2所述的方法,其中,所述匹配查询包括:
-根据所述树形结构的节点中所存放的词条的上下文关系,采用所述深度遍历算法,遍历所述本地词库中的所述树形结构。
4.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
x根据所述用户的历史输入顺序,确定所述输入候选词条的优先级;
其中,所述步骤e包括:
-按照所述优先级,将所述输入候选词条提供给所述用户。
5.根据权利要求4所述的方法,其中,所述步骤x包括:
-根据所述用户的历史输入顺序,并结合所述输入候选词条的词条属性,确定所述输入候选词条的优先级;
其中,所述词条属性包括以下至少任一项:
-所述输入候选词条对应所述本地词库的概率属性;
-所述用户历史输入所述输入候选词条的次数;
-所述输入候选词条中所包括的子词条间的转移概率;
-所述输入候选词条所对应的预测长度。
6.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
-获取所述用户历史分段上屏的输入词条记录;
r根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库。
7.根据权利要求6所述的方法,其中,该方法还包括:
-对所述输入词条记录进行切词处理,以获得至少一个词条粒度;
其中,所述步骤r包括:
-根据所述至少一个词条粒度间的上下文关系,建立或更新所述本地词库。
8.根据权利要求7所述的方法,其中,所述步骤r包括:
-判断由至少两个词条粒度合并后所获得的词条是否为高频词条,其中,所述至少两个词条粒度具有上下文关系;
-若所述词条为高频词条,根据所述词条,建立或更新所述本地词库。
9.一种用于基于本地词库提供输入候选词条的用户设备,其中,该设备包括:
第一获取装置,用于获取用户输入的输入字符串;
第一匹配装置,用于根据所述输入字符串,在本地词库中进行匹配查询,获取对应的候选词条,其中,所述本地词库根据用户历史分段上屏的输入词条记录建立或更新;
第二匹配装置,用于对所述候选词条中所包括的末节子词条,在所述本地词库中进行匹配查询,根据所述本地词库中所存储的词条间的上下文关系,确定所述末节子词条所对应的下文词条;
合并装置,用于将所述候选词条与所述下文词条进行合并处理,以获得待提供给所述用户的输入候选词条;
提供装置,用于将所述输入候选词条提供给所述用户。
10.根据权利要求9所述的用户设备,其中,所述本地词库以树形结构存放词条;其中,所述第一匹配装置和第二匹配装置所执行的匹配查询包括:
-采用深度遍历算法,遍历所述本地词库中的所述树形结构。
11.根据权利要求10所述的用户设备,其中,所述匹配查询包括:
-根据所述树形结构的节点中所存放的词条的上下文关系,采用所述深度遍历算法,遍历所述本地词库中的所述树形结构。
12.根据权利要求9至11中任一项所述的用户设备,其中,该设备还包括:
优先级确定装置,用于根据所述用户的历史输入顺序,确定所述输入候选词条的优先级;
其中,所述提供装置用于:
-按照所述优先级,将所述输入候选词条提供给所述用户。
13.根据权利要求12所述的用户设备,其中,所述优先级确定装置用于:
-根据所述用户的历史输入顺序,并结合所述输入候选词条的词条属性,确定所述输入候选词条的优先级;
其中,所述词条属性包括以下至少任一项:
-所述输入候选词条对应所述本地词库的概率属性;
-所述用户历史输入所述输入候选词条的次数;
-所述输入候选词条中所包括的子词条间的转移概率;
-所述输入候选词条所对应的预测长度。
14.根据权利要求9至11中任一项所述的用户设备,其中,该设备还包括:
第二获取装置,用于获取所述用户历史分段上屏的输入词条记录;
更新装置,用于根据所述历史分段上屏的输入词条记录间的上下文关系,建立或更新所述本地词库。
15.根据权利要求14所述的用户设备,其中,该设备还包括:
切词装置,用于对所述输入词条记录进行切词处理,以获得至少一个词条粒度;
其中,所述更新装置用于:
-根据所述至少一个词条粒度间的上下文关系,建立或更新所述本地词库。
16.根据权利要求15所述的用户设备,其中,所述更新装置用于:
-判断由至少两个词条粒度合并后所获得的词条是否为高频词条,其中,所述至少两个词条粒度具有上下文关系;
-若所述词条为高频词条,根据所述词条,建立或更新所述本地词库。
CN201310157069.0A 2013-04-28 2013-04-28 一种基于本地词库提供输入候选词条的方法与设备 Active CN103984688B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310157069.0A CN103984688B (zh) 2013-04-28 2013-04-28 一种基于本地词库提供输入候选词条的方法与设备
PCT/CN2014/074856 WO2014176959A1 (zh) 2013-04-28 2014-04-04 一种基于本地词库提供输入候选词条的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310157069.0A CN103984688B (zh) 2013-04-28 2013-04-28 一种基于本地词库提供输入候选词条的方法与设备

Publications (2)

Publication Number Publication Date
CN103984688A CN103984688A (zh) 2014-08-13
CN103984688B true CN103984688B (zh) 2015-11-25

Family

ID=51276664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310157069.0A Active CN103984688B (zh) 2013-04-28 2013-04-28 一种基于本地词库提供输入候选词条的方法与设备

Country Status (2)

Country Link
CN (1) CN103984688B (zh)
WO (1) WO2014176959A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268166B (zh) * 2014-09-09 2017-04-19 北京搜狗科技发展有限公司 一种输入方法、装置和电子设备
CN104281649B (zh) * 2014-09-09 2017-04-19 北京搜狗科技发展有限公司 一种输入方法、装置及电子设备
CN105868113B (zh) * 2016-03-31 2019-05-31 广州华多网络科技有限公司 字符串查找方法及装置
CN107665206B (zh) * 2016-07-27 2023-04-07 北京搜狗科技发展有限公司 清理用户词库的方法、***和用于清理用户词库的装置
CN106484135B (zh) * 2016-09-23 2019-03-19 百度在线网络技术(北京)有限公司 一种用于提供输入候选项的方法与装置
CN106557178B (zh) * 2016-11-29 2021-03-09 百度国际科技(深圳)有限公司 用于更新输入法词条的方法及装置
CN106909232A (zh) * 2017-02-28 2017-06-30 百度在线网络技术(北京)有限公司 用于展示候选词条的方法和装置
CN106873801A (zh) * 2017-02-28 2017-06-20 百度在线网络技术(北京)有限公司 用于生成输入法词库中的词条组合的方法和装置
CN108572953B (zh) * 2017-03-07 2023-06-20 上海颐为网络科技有限公司 一种词条结构的合并方法
CN110019656A (zh) * 2017-07-26 2019-07-16 上海颐为网络科技有限公司 一种新建词条相关内容智能推送方法和***
CN107844580A (zh) * 2017-11-10 2018-03-27 北京酷我科技有限公司 一种搜索词匹配方法
CN109961791B (zh) * 2017-12-22 2021-10-22 北京搜狗科技发展有限公司 一种语音信息处理方法、装置及电子设备
CN111522448B (zh) * 2019-02-02 2024-04-30 北京搜狗科技发展有限公司 一种提供输入候选项的方法、装置和设备
CN113703588A (zh) * 2020-05-20 2021-11-26 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458694A (zh) * 2008-10-09 2009-06-17 浙江大学 一种基于树形词库的中文分词方法
CN102346743A (zh) * 2010-08-02 2012-02-08 腾讯科技(深圳)有限公司 生成候选词的方法及装置
CN102360250A (zh) * 2011-10-13 2012-02-22 广东步步高电子工业有限公司 一种记忆式输入法、***及其应用的移动手持设备
CN102445994A (zh) * 2010-09-30 2012-05-09 北京搜狗科技发展有限公司 一种智能输入方法及输入法***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070856A (ja) * 2003-08-27 2005-03-17 Seiko Instruments Inc 電子辞書における漢字熟語検索機能
CN101419531B (zh) * 2008-12-12 2011-10-05 腾讯科技(深圳)有限公司 在计算机中进行文字输入的方法及装置
CN102629160B (zh) * 2012-03-16 2016-08-03 华为终端有限公司 一种输入法、输入装置及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458694A (zh) * 2008-10-09 2009-06-17 浙江大学 一种基于树形词库的中文分词方法
CN102346743A (zh) * 2010-08-02 2012-02-08 腾讯科技(深圳)有限公司 生成候选词的方法及装置
CN102445994A (zh) * 2010-09-30 2012-05-09 北京搜狗科技发展有限公司 一种智能输入方法及输入法***
CN102360250A (zh) * 2011-10-13 2012-02-22 广东步步高电子工业有限公司 一种记忆式输入法、***及其应用的移动手持设备

Also Published As

Publication number Publication date
WO2014176959A1 (zh) 2014-11-06
CN103984688A (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
CN103984688B (zh) 一种基于本地词库提供输入候选词条的方法与设备
CN110062939B (zh) 用于将静态图像转换成交互式地图的方法、***和设备
CN103064826B (zh) 一种用于表情输入的方法、装置与***
CN103677299A (zh) 一种在输入法中实现智能联想的方法、装置及终端设备
CN104281649A (zh) 一种输入方法、装置及电子设备
CN105550171A (zh) 一种垂直搜索引擎的查询信息纠错方法和***
CN102193993B (zh) 用于确定字符串信息间相似度信息的方法、装置和设备
CN104978368A (zh) 一种用于提供推荐信息的方法和装置
CN111401228B (zh) 视频目标标注方法、装置及电子设备
CN104866275A (zh) 一种用于获取图像信息的方法和装置
CN106484131A (zh) 一种输入纠错方法和输入法装置
CN106446019A (zh) 一种软件功能处理方法和装置
CN112035549A (zh) 数据挖掘方法、装置、计算机设备及存储介质
CN102982125A (zh) 一种用于确定同义文本的方法和装置
CN112765452A (zh) 搜索推荐方法、装置及电子设备
CN110781658A (zh) 简历解析方法、装置、电子设备和存储介质
CN111986490A (zh) 路况预测方法、装置、电子设备和存储介质
CN105094603A (zh) 一种关联输入的方法与装置
CN107493370A (zh) 流量模板确定方法、流量信息识别方法及装置
CN105260092A (zh) 一种动态改变输入键盘的方法和装置
CN104346174B (zh) 一种在线矢量图建模过程的描述与重现方法
CN112926135B (zh) 场景信息确定方法、装置、设备、存储介质和程序产品
CN105045890A (zh) 确定目标新闻源中的热点新闻的方法与设备
CN117194687A (zh) 多媒体推荐方法、装置、设备及存储介质
CN112416212A (zh) 程序访问方法、装置、电子设备和可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant