CN113625884A - 一种输入词推荐方法、装置、服务器及存储介质 - Google Patents

一种输入词推荐方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN113625884A
CN113625884A CN202010375221.2A CN202010375221A CN113625884A CN 113625884 A CN113625884 A CN 113625884A CN 202010375221 A CN202010375221 A CN 202010375221A CN 113625884 A CN113625884 A CN 113625884A
Authority
CN
China
Prior art keywords
target
character
input
dictionary
input word
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.)
Granted
Application number
CN202010375221.2A
Other languages
English (en)
Other versions
CN113625884B (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.)
SF Technology Co Ltd
Original Assignee
SF 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
Application filed by SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN202010375221.2A priority Critical patent/CN113625884B/zh
Priority claimed from CN202010375221.2A external-priority patent/CN113625884B/zh
Publication of CN113625884A publication Critical patent/CN113625884A/zh
Application granted granted Critical
Publication of CN113625884B publication Critical patent/CN113625884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本申请实施例中公开了一种输入词推荐方法、装置、服务器及存储介质,该方法包括:获取用户在输入框输入的目标字符信息;根据目标字符信息,获取与目标字符信息对应的多个待定输入词;获取预设的目标字典树,目标字典树为多个第一字典树进行加权处理后得到的;利用目标字典树对多个待定输入词进行排序,得到待定输入词的推荐结果。本申请实施例通过针对不同领域或不同的用户构建多个字典树,对多个字典树进行加权处理;且将不同的输入词拆分为不同长度的字符串,以构建字典树。使得对于不同领域或不同用户,输入词的推荐具有针对性,输入词推荐更加的准确,减少用户输入时的选择时间,提高用户的使用流畅性。

Description

一种输入词推荐方法、装置、服务器及存储介质
技术领域
本申请涉及计算机网络技术领域,具体涉及一种输入词推荐方法、装置、服务器及存储介质。
背景技术
随着计算机网络技术的不断发展,通过网络获取信息的方式不但在信息获取的速度上很快,而且获取的信息量大,内容丰富,较容易满足用户的需求。随之而来的是越来越多的用户通过网络搜索进行各种信息的查询和获取。
但是,根据现有的搜索技术,当用户通过搜索引擎输入某个查询词后,可以在搜索框下方自动推荐候选词,向用户推荐用户输入查询语义相关的其他查询。但是传统的搜索方式通过字典树模型,基于用户在搜索引擎的搜索频次按照概率排布,在固定的位置展现固定的词,排序方法简单。且对于不同的技术领域,推荐词排序一成不变,不便于用户更好更快的查找出所需要的词。
发明内容
本申请实施例提供一种输入词推荐方法、装置、服务器及存储介质,旨在解决现有技术下的对于不同的领域或不同用户没有区分,且输入词推荐不准确的问题。
第一方面,本申请提供一种输入词推荐方法,所述方法包括:
获取用户在输入框输入的目标字符信息;
根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;
获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;
利用所述目标字典树对所述多个待定输入词进行排序,得到所述待定输入词的推荐结果。
进一步的,所述获取多个第一字典树,包括:
获取不同领域或不同用户对应的多个输入词集合;
创建包括根节点的多个初始字典树,所述多个初始字典树与所述多个输入词集合一一对应;
分别以所述多个输入词集合中一个输入词集合为目标输入词集合,利用所述目标输入词集合,更新所述目标初始字典树,以生成目标输入词集合对应的第一字典树,所述目标初始字典树为所述目标输入词集合对应的初始字典树。
进一步的,所述利用所述目标输入词集合,更新所述目标初始字典树,以生成目标输入词集合对应的第一字典树,包括:
将所述目标输入词集合中各输入词拆分为长度依次减小的多个字符串,所述多个字符串中每个字符串至少包括一个字符;
依次以所述目标输入词集合中各输入词为目标输入词,分别以所述目标输入词中的每个字符串为目标字符串,遍历所述目标字符串中的每个字符,判断所述目标字符串中的每个字符是否在所述目标初始字典树中;
若所述目标字符串中的字符不在所述目标初始字典树中,则在所述目标初始字典树中新增代表字符的字符节点,以生成所述目标输入词集合对应的第一字典树。
进一步的,所述若所述目标字符串中的字符不在所述目标初始字典树中,则在所述目标初始字典树中新增代表字符的字符节点,以生成所述目标输入词集合对应的第一字典树,包括:
判断所述目标字符串中的第一个字符是否在所述目标初始字典树的根节点下方;
若不在,则在所述根节点下方新增第一字符节点,并更新所述第一字符节点的频次权重,所述第一字符节点对应所述第一个字符;
若在,更新所述第一个字符对应的第一字符节点的频次权重。
进一步的,所述更新所述第一个字符的频次权重,包括:
增加所述第一个字符对应的第一字符节点的频次权重。
判断每个所述目标字符串中第二个字符是否在所述第一字符节点的下方;
若不在,则在所述第一字符节点下方新增第二字符节点,并更新所述第二字符节点的频次权重;
若在,则更新所述第二字符节点的频次权重;
遍历所述目标字符串中每个字符,更新所述目标字符串中每个字符的频次权重,直至生成所述目标输入词集合对应的第一字典树。
进一步的,所述对所述多个第一字典树进行加权处理,得到目标字典树,包括:
获取所述多个第一字典树各自对应的权重参数,所述权重参数为多个;
根据所述权重参数,对所述多个第一字典树进行加权处理,得到所述目标字典树;
其中,所述多个权重参数的取值范围为(0,1),且多个权重参数的和小于或等于1。
进一步的,所述方法还包括:
按照预设时间段,定时调整所述权重参数的参数值,以不断更新所述目标字典树。
进一步的,所述按照预设时间段,定时调整多个所述权重参数的参数值,包括:
获取所述目标字典树,以及与所述目标字典树对应的第一输入词推荐结果;
获取所述多个权重参数各自对应的所有的数值集合,所述数值集合为多个;
根据多个所述数值集合,得到多个第二字典树,所述多个二字典树对应多个不同的第二输入词推荐结果;
对比所述第一输入词推荐结果和所述多个第二输入词推荐结果,得到多个对比结果;
根据所述对比结果,定时调整多个所述权重参数的数值。
进一步的,所述获取第二字典树,包括:
获取与所述多个第一字典树分别对应的第一权重参数,所述第一权重参数为多个;
根据所述多个第一字典树和所述多个第一权重参数,得到所述第二字典树。
进一步的,所述获取多个权重参数各自对应的所有的数值集合,包括:
将多个初始权重参数均增加或减少N倍的预设值,得到所述第一权重参数的所有的数值集合,一个数值集合对应一个所述第一字典树,所述数值集合为多个;
其中,所述所有的数值集合中的所有的权重参数的取值范围为(0,1),N为大于或等于0的正整数。
进一步的,所述根据所述数值集合,得到多个第二字典树,所述多个第二字典树对应多个不同的第二输入词推荐结果,包括:
从多个所述数值集合的每一个数值集合中,选取一个任意数值的第一权重参数,所述第一权重参数为多个;
根据所述多个第一字典树和各自对应的所述第一权重参数,得到所述多个第二字典树;
根据所述多个第二字典树,得到多个与所述多个第二字典树分别对应的所述多个第二输入词推荐结果。
进一步的,所述多个待定输入词存在排序优先级,所述对比所述第一输入词推荐结果和多个所述第二输入词推荐结果,得到多个对比结果,包括:
按照所述排序优先级,对多个所述多个待定输入词赋予不同分值的分数;
获取实际输入词;
根据所述分数和所述实际输入词,遍历所述第一字符节点对应的所有字符,得到所述第一输入词推荐结果下的第一总分数,以及所述多个所述第二输入词推荐结果下的多个第二总分数;
对比所述第一总分数和多个所述第二总分数,得到所述多个对比结果。
进一步的,所述根据所述多个对比结果,定时调整多个所述权重参数的数值,包括:
分别计算多个所述第二总分数与所述第一总分数之间的多个差值;
获取所述多个差值中,最小差值对应的目标第二总分数;
获取与所述目标第二总分数对应的第二权重参数。
进一步的,所述字典树的字符节点包括当前字符节点的字符信息,以及当前字符节点对应的字符的频次权重。
第二方面,本申请还提供一种输入词提示装置,该输入词提示装置包括:
输入装置,所述输入装置用于获取用户在输入框输入的目标字符信息;
获取装置,所述获取装置用于根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;
加权装置,所述加权装置用于获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;
推荐装置,所述推荐装置用于利用所述目标字典树对所述多个待定输入词进行排序,得到所述待定输入词的推荐结果。
第三方面,本申请还提供一种服务器,所述服务器包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现如上任一项所述的输入词推荐方法中的步骤。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如上任一项所述的输入词推荐方法中的步骤。
本申请实施例中提供一种输入词推荐方法、装置、服务器及存储介质,通过针对不同领域或不同的用户构建多个字典树,对多个字典树进行加权处理;且将不同的输入词拆分为不同长度的字符串,以构建字典树。这样使得对于不同领域或不同用户,输入词的推荐具有针对性,输入词推荐更加的准确,减少用户输入时的选择时间,提高用户的使用流畅性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的主机监控***的场景示意图;
图2为本申请实施例提供的输入词推荐方法一实施例流程示意图;
图3为本申请实施例提供的创建第一字典树的一实施例流程示意图;
图4为本申请实施例提供的创建第一字典树的具体流程一实施例流程示意图;
图5为本申请实施例提供的第一字典树一实施例示意图;
图6为本申请实施例提供的第一字典树另一实施例示意图;
图7为本申请实施例提供的第一字典树另一实施例示意图;
图8为本申请实施例提供的第一字典树另一实施例示意图;
图9为本申请实施例提供的调整权重参数的一实施例流程示意图;
图10为本申请实施例提供的得到多个对比结果的一实施例流程示意图;
图11为本申请实施例提供的输入词推荐装置一实施例示意图;
图12为本申请实施例所涉及到的服务器的结构示意图。
具体实施例
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请实施例提供一种输入词推荐方法、装置、服务器及存储介质,以下分别进行说明。
如图1所示,为本申请实施例提供的主机监控***的场景示意图,该主机监控***可以包括多个主机100和服务器200,主机100和服务器20网络连接,服务器200中集成有主机监控装置,如图1中的服务器,主机100可以访问服务器200。
本发明实施例中服务器200主要用于获取用户在输入框输入的目标字符信息;根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;
获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;利用所述目标字典树对所述多个待定输入词进行排序,得到所述输入词的推荐结果。
本发明实施例中,该服务器200可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器200,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。本发明的实施例中,服务器与主机之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(Worldwide Interoperability for Microwave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)协议的计算机网络通信等。
可以理解的是,本发明实施例中所使用的主机100可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种主机可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的主机100具体可以是台式终端或移动终端,主机100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的服务器,或者服务器网络连接关系,例如图1中仅示出1个服务器和2个主机,可以理解的,该主机监控***还可以包括一个或多个其他服务器,或/且一个或多个与服务器网络连接的主机,具体此处不作限定。
另外,如图1所示,该主机监控***还可以包括存储器300,用于存储数据,如存储主机数据,例如主机运行时的主机状态数据等。
需要说明的是,图1所示的主机监控***的场景示意图仅仅是一个示例,本发明实施例描述的主机监控***以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着主机监控***的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供一种输入词推荐方法,该方法包括:获取用户在输入框输入的目标字符信息;根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;利用所述目标字典树对所述多个待定输入词进行排序,得到所述输入词的推荐结果。以下分别进行详细说明。
字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。字典树的典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎***用于文本词频统计。字典树的优点在于:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
如图2所示,图2为本申请实施例提供的输入词推荐方法一实施例流程示意图,该方法包括:
21、获取用户在输入框输入的目标字符信息。
22、根据目标字符信息,获取与目标字符信息对应的多个待定输入词;
23、获取预设的目标字典树,目标字典树为多个第一字典树进行加权处理后得到的,多个第一字典树为不同领域或不同用户对应的多个第一字典树。
24、利用目标字典树对多个待定输入词进行排序,得到输入词推荐结果。
本申请提供的输入词推荐方法,通过针对不同领域或不同的用户构建多个字典树,对多个字典树进行加权处理;且将不同的输入词拆分为不同长度的字符串,以构建字典树。这样使得对于不同领域或不同用户,输入词的推荐具有针对性,输入词推荐更加的准确,减少用户输入时的选择时间,提高用户的使用流畅性。
具体的,当用户在输入框进行输入的时候,会智能提示一些候选词,而现有的字符推荐方法,没有针对不同的领域或不同用户进行有针对性的推荐,并且推荐词的排序一成不变,不便于用户更好更快的查找出所需要的的词。
因此本申请提供一种输入词推荐方法,可以很好的解决上述问题。在本申请的一些实施例中,获取用户在输入框输入的字符信息是指,当用户在输入框进行汉字或英文字符的输入时,需要获取用户具体的字符信息。例如,用户在输入框输入拼音“hong”并选择了该拼音下对应的“红”字,那么需要获取用户输入的“红”字。
在上述实施例的基础上,当获取了用户在输入框输入的目标字符信息,即“红”字后,需要获取用目标字符信息对应的多个待定输入词。即根据“红”字,获取与“红”字对应的多个待定输入词;其中与“红”字对应的多个待定输入词可以包括“红色”、“红苹果”或“红绿蓝”等包括“红”字的多个待定输入词。当用户获取了这些待定输入词后,就需要对这些待定输入词进行一个推荐,便于用户进行选择。
在本申请的一些实施例中,可以利用预设的目标字典树对多个待定输入词进行排序,进而得到待定输入词的推荐结果。其中,还需要先获取预设的目标字典树,而目标字典树为多个第一字典树进行加权处理后得到的,且多个第一字典树为不同领域或不同用户对应的多个第一字典树。
具体的,对于不同的技术领域或是不同的用户来说,每个人输入的字符会不同,且对于每个字符进行选择的次数也不同,因此需要针对不同的技术领域或是不同的用户,创建不同的第一字典树。
在本申请的一些实施例中,获取预设的目标字典树可以包括:获取多个第一字典树;对多个第一字典树进行加权处理,得到目标字典树。
具体的,由于每个第一字典树对应不同的技术领域或是不同的用户,因此可以利用每个第一字典树进行输入词的推荐,但是这样的计算量十分庞大;且当技术领域不同或是用户发生改变,需要重新开始计算,浪费人力物力。针对这个问题,可以对多个字典树进行加权处理,得到一个考虑到不同的领域或是不同的用户的情况下的,最优的一个目标字典树,并利用目标字典树对输入词进行推荐排序。
在本申请的一些实施例中,获取多个第一目标字典树可以包括:获取不同领域或用户对应的多个输入词集合;根据多个输入词集合,创建多个第一字典树,第一字典树包括多个字符节点。
具体的,可以先获历史一段时间(半年或一年等)不同用户所有的输入词集合,而对于不同的用户,输入词集合中输入词的多少和具体的输入词均是不同的,因此输入词集合为多个。且输入词集合中,即使用户对于相同的一个输入词进行了多次输入,也需要将该输入词记录为多个,而不是将多次输入的相同的输入词作为一个输入词记录在输入词集合中。例如,即使用户在一段时间内多次输入了“红豆”,也需要将“红豆”进行多次记录,即每进行一次“红豆”的输入,就将“红豆”记录一次;而不是将多次输入的“红豆”作为一个输入词进行记录。
当获取了多个输入词集合后,可以根据多个输入词集合,创建多个第一字典树。具体的,如图3所示,为本申请实施例提供的创建第一字典树的一实施例流程示意图,在本申请的一些实施例中,根据多个输入词集合,创建多个第一字典树,可以包括:
31、创建包括根节点的多个初始字典树,多个初始字典树与多个输入词集合一一对应。
32、分别以多个输入词集合中的一个输入词集合为目标输入词集合,利用目标输入词集合,更新目标初始字典树,以生成目标输入词集合对应的第一字典树,目标初始字典树为目标输入词集合对应的初始字典树。
本申请提供的初始字典树中包括根节点(root),以根节点为起点,创建多个初始字典树。在多个输入词集合中任选一个输入词集合为目标输入词集合,利用该目标输入词集合,更新目标初始字典树,进而生成与目标输入词对应的第一字典树。其中,不同的输入词集合对应的不同的初始字典树,初始字典树也为多个,多个初始字典树与多个输入词集合一一对应;第一字典树由初始字典树根据输入词集合更新得到,因此初始字典树和第一字典树也一一对应。
在本申请的一些实施例中,利用目标输入词集合,更新目标初始字典树,以生成目标输入词集合对应的第一字典树,可以包括:
将目标输入词集合中各输入词拆分为长度依次减小的多个字符串,多个字符串中每个字符串至少包括一个字符;依次以目标输入词集合中各输入词为目标输入词,分别以目标输入词中的每个字符串为目标字符串,判断目标字符串中的每个字符是否在目标初始字典树中;若目标字符串中的字符不在目标初始字典树中,则在目标初始字典树中新增代表字符的字符节点,以生成目标输入词集合对应的第一字典树。
具体的,一个输入词集合中会包括多个不同长度的输入词,需要将这多个不同长度的输入词拆分为长度依次减小的多个字符串。在本申请的一个具体实施例中,输入词集合中的输入词可以包括:红萝卜、白萝卜、红豆、红豆和红豆五个输入词,而将这五个输入词拆分为长度依次减小的多个字符串可以包括:将“红萝卜”拆分为“红萝卜”、“萝卜”和“卜”三个字符串。同理,将“白萝卜”和“红豆”拆分可以得到“白萝卜”、“萝卜”、“卜”、“红豆”和“豆”这些字串符。
在上述实施例的基础上,以这些字符串中的任一个字符串为目标字符串,并遍历目标字符串中的每个字符,判断目标字符串中的每个字符是否在目标初始字典树中,以生成目标输入词集合对应的第一字典树。具体的,以输入词“红萝卜”为目标输入词,将目标输入词“红萝卜”拆分为“红萝卜”、“萝卜”和“卜”三个字符串;依次判断“红萝卜”中的字符“红”、“萝”和“卜”是否在目标初始字典树中;并判断字符串“萝卜”中的字符“萝”和“卜”是否在目标初始字典树中;还需要判断字符串“卜”中的字符“卜”是否在目标初始字典树中。同理,判断字符串“白萝卜”、“萝卜”、“卜”、“红豆”和“豆”中的字符是否在目标初始字典树中。即需要遍历每个输入词集合,且遍历每个输入词集合中的每个字符串,且遍历每个字符串中的每个字符。
如图4所示,为本申请提供的创建第一字典树的具体流程一实施例流程示意图,在本申请的一些实施例中,若目标字符串中的字符不在目标初始字典树中,则在目标初始字典树中新增代表字符的字符节点,以生成目标输入词集合对应的第一字典树,具体可以包括:
41、判断目标字符串中的第一个字符是否在目标初始字典树的根节点的下方。
42、若不在,则在根节点下方新增第一字符节点,并更新第一字符节点的频次权重,第一字符节点对应第一个字符。
43、若在,更新第一个字符对应的第一字符节点的频次权重。
具体的,将“红萝卜”作为目标输入词,将“红萝卜”拆分得到的“红萝卜”、“萝卜”和“卜”三个字符串分别为目标字符串。判断字符串“红萝卜”中的第一个字符“红”是否在根节点的下方,若不在,则需要在根节点的下方新增第一字符节点,该第一字符节点代表字符“红”;并更新该代表字符“红”第一字符节点的频次权重。而如果字符“红”在根节点的下方,则直接更新代表字符“红”的第一字符节点的频次权重。其中,更新字符节点的频次权重即为将字符节点的频次权重增加预设值。
进一步的,还需要判断字符串“萝卜”中的第一个字符“萝”是否在根节点的下方,如果不在,则在根节点的下方新增第一字符节点,该第一字符节点代表字符“萝”;并更新第一字符节点的频次权重。如果字符“萝”在根节点的下方,则直接更新代表字符“萝”的第一字符节点的频次权重。同理,判断字符串“卜”是否在根节点的下方,以此更新目标初始字典树。如图5所示,为本申请实施例提供的第一字典树一实施例示意图,该第一字典树对应的输入词集合中的目标输入词为:红萝卜。
在本申请的实施例中,更新代表字符“萝”的第一字符节点的频次权重可以为增加代表字符“萝”的第一字符节点的频次权重。例如,更新即为将代表“萝”的第一字符节点的频次权重增加预设值,具体的,如当前频次权重为a,预设值为0.1,代表“萝”的第一字符节点出现了,更新频次权重的意思,在当前频次权重为a的基础上加0.1。频次权重增加,说明在输入词集合中,字符“萝”又出现了一次。
需要说明的是,在本申请的实施例中,每个字符节点的初始频次权重可以均设定为零;且在本申请的实施例中,频次权重的大小可以代表某个字符出现的频次。同时,在更新字符节点的频次权重中,仅更新与当前输入词集合对应的初始字典树,与其他的初始字典树无关。
请参考图6,为本申请实施例提供的第一字典树另一实施例示意图,在该实施例中,目标输入词集合中的输入词为:红萝卜、白萝卜、红豆、红豆和红豆等五个输入词。而这些输入词对应的字符串为:红萝卜、萝卜、卜、白萝卜、萝卜、卜、红豆、豆、红豆、豆、红豆、豆。分别判断判断这些字符串中的第一个字符是否在根节点的下方。例如,判断字符串“红萝卜”中的第一个字符“红”是否在根节点的下方;若不在,则在根节点的下方新增一个第一字符节点,该第一字符节点代表字符“红”,且更新第一个字符“红”对应的第一字符节点的频次权重。
进一步的,分别判断萝卜、卜、白萝卜、萝卜、卜、红豆、豆、红豆、豆、红豆、豆这些字符串中第一个字符是否在根节点的下方,直至遍历所有的字符串。例如,判断字符串“萝卜”中的第一个字符“萝”是否在目标初始字典树中;若不在,则新增一第一字符节点,并更新与字符“萝”对应的第一字符节点的频次权重。
当判断输入词“红萝卜”拆分得到的字符串红萝卜、萝卜、卜中的第一个字符是否在根节点的下方后;需要再判断输入词“白萝卜”拆分得到的字符串白萝卜、萝卜、卜中的第一个字符是否在根节点的下方。此时,对于“白萝卜”中的第一个字符“白”来说,它不在目标初始字典树中,因此需要新增第一字符节点,该第一字符节点代表字符“白”。而对于输入词“白萝卜”拆分得到的字符串“萝卜”来说,它的第一个字符“萝”在目标初始字典树中,因此,只需要更新代表字符“萝”的第一字符节点的频次权重即可。
需要说明的是,在本申请的实施例中,频次权重指的是某个具体的第一字典树中,字符代表的节点的频次权重。例如,在上述实施例中,代表字符“萝”的第一字符节点的频次权重是节点的频次权重,与字典树的权重参数不同。
同理,再判断输入词“红豆”拆分得到的字符串“红豆”和“豆”中的第一个字符是否在目标初始字典树中;若不在,则在根节点的下方新增第一字符节点,且新增的第一字符节点代表“豆”;若在,则直接更新与该字符对应的第一字符节点的频次权重,即直接更新代表字符“红”的第一字符节点的频次权重。
在本申请的一些实施例中,遍历目标字符串中的每个字符,判断目标字符串中的每个字符是否在目标初始字典树中,以生成目标输入词集合对应的第一字典树,还可以包括:判断每个目标字符串中第二个字符是否在第一字符节点的下方;若不在,则在第一字符节点下方新增第二字符节点,并更新第二字符节点的频次权重;若在,则更新第二字符节点的频次权重;遍历目标字符串中每个字符,更新目标字符串中每个字符的频次权重,直至生成目标输入词集合对应的第一字典树。
具体的,在判断了每一个字符串中的第一个字符是否在根节点的下方之后,还需要判断每一个字符串中的第二个字符是否在对应的第一字符节点的下方。具体的,请参考图7,为本申请提供的第一字典树另一实施例示意图,对于字符串“红萝卜”来说,在判断了“红”是否在根节点下方后,还需要判断“萝”是否在“红”对应的第一字符节点的下方。同理,若不在,则在“红”对应的第一字符节点的下方新增一第二字符节点,且该第二字符节点代表字符“萝”。若是字符“萝”在字符“红”的下方,则直接更新第二字符节点的频次权重。同理,以相同的方法遍历目标字符串中的每个字符,以此更新目标字符串中每个字符的频次权重,直至生成目标输入词集合对应的第一字典树。
请参考图8,为本申请提供的第一字典树另一实施例示意图,在判断了每一个字符串中的第二个字符是否在对应的第一字符节点的下方之后,还需要判断每一个字符串中的第三个字符是否在对应的第二字符节点的下方。具体的,对于字符串“红萝卜”中的第三个字符“卜”来说,还需要判断字符“卜”是否在字符“萝”对应的第二字符节点的下方;同理,若不在,则在第二字符节点下方新增一第三字符节点,该第三字符节点代表字符“卜”,同时更新该第三字符节点的频次权重;若在,则直接更新代表字符“卜”的第三字符节点的权重参数。
在本申请的一些实施例中,更新第一字符节点的频次权重可以包括:增加第一个字符对应的第一字符节点的频次权重。且更新的值可以人为设定,对于不同的字符更新的频次权重可以相同也可以不同。
请参考图6-图8,在本申请的一个具体实施例中,当增加第一字符节点的频次权重时,可以将频次权重增加1,即频次权重更新的值为1。频次权重也可以增加2,即频次权重更新的值为2。且对于不同的字符来说,可以将某些字符的频次权重增加1的同时,将另一些字符的频次权重增加2,即不同的字符更新的频次权重可以相同也可以不同。
因为对于根据某个行业或某个用户的输入词集合生成的第一字典树来说,对于某些输入词来说,会经常输入这些输入词,因此,当输入词集合出现某个经常会输入的高频词汇时,可以将这个高频词汇对应的字符的频次权重多增加一些,使得这个高频词汇的频次权重增加的更多,最终这个输入词的权重增加,当用户进行输入词选择时,这个词会排列在较前的位置,便于用户选择。
需要说明的是,在本申请的实施例中,第一字符节点可以为多个,且每一个第一字符节点对应一个字符,不同的第一字符节点对应的字符不同。
在本申请的实施例中,第二字符节点也可以为多个,同时第一字典树还可以包括第三字符节点、第四字符节点等其他字符节点。
请参考图8,在本申请的一个具体实施例中,最后得到的第一字典树如图8所示,其中,第一字符节点包括代表“红”、“萝”、“卜”、“白”和“豆”的多个第一字符节点;而第二字符节点包括代表“豆”、“萝”和“卜”的多个第二字符节点;第三字符节点包括“卜”的第三字符节点。且每个字符节点的频次权重也不同。
在本申请的实施例中,对于不同的领域或是不同的用户,由于输入词集合的不同,所以与输入词集合对应的第一字典树也不同。且在本申请的另一些实施例中,对于不同的字符,增加的频次权重的数值也可以不同,这使得最后得到的第一字典树也可以不同。
具体的,对于一些行业用户,这些用户输入的较多的是与行业有关的词汇,譬如,3c行业经常输入与手机有关的词汇,而钟表行业经常输入与手表有关的词汇,如果可以提前知道当前的用户属于哪些行业,那么就可以针对具体的行业内的用户创建第一字典树。而在某个具体行业中,会有一些词汇经常出现且经常被用户选择,因此这些词汇的频次权重可以适当的增加,使得这些词汇能够被推荐,且排在推荐结果的前面,便于用户选择。
具体的,对于某个行业内的所有用户,在创建第一字典树时,可以将行业内的高频词汇的频次权重进行增加。在本申请的一个具体实施例中,例如在医药行业,高频词汇可以为复方氨酚烷胺片,则在创建第一字典树时,可以将复方氨酚烷胺片对应的字符的频次权重提高一些。具体的,对于一些非高频词汇,在创建字典树时,将非高频词汇对应的字符的频次权重增加1,而对于高频词汇对应的字符的频次权重增加5,如将“复方氨酚烷胺片”对应的字符的频次权重增加5。这样设置可以使得某个行业内的高频词汇的权重大大增加,进而增加高频词汇被推荐的概率,以及提高高频词汇被推荐的顺序。
同时,对于某个具体的用户来说,不同的用户经常输入的输入词也不同,利用不同用户在一段时间内的所有输入词创建第一字典树,这样对于某个具体用户来说,对于某个用户经常输入的高频词汇的频次权重也可以提高一些,具体请参考前述,此处不做任何限定。
在本申请的一些实施例中,在得到多个第一字典树后,还需要对多个第一字典树进行加权处理,以得到目标字典树。而对多个第一字典树进行加权处理,得到目标字典树,具体可以包括:
获取多个第一字典树各自对应的权重参数,权重参数为多个;根据权重参数,对多个第一字典树进行加权处理,得到目标字典树。其中,权重参数的取值范围为(0,1)。
在本申请的一个具体实施例中,字典树可以为多个,包括字典树一、字典树二和字典树三,且字典树一对应的输入词集合可以为所有用户在预设时间段内的所有输入词集合,字典树二对应的输入词集合可以为某个行业中所有用户在预设时间段内的所有输入词的集合,而字典树三对应的输入词集合可以为某个具体用户在预设时间段内的所有输入词的集合;即字典树一、字典树二和字典树三均为第一字典树。对于字典树一、字典树二和字典树三,分别对应权重参数a、b和c,且a、b、c三者的值均处于(0,1)的范围。利用权重参数a、b、c和字典树一、字典树二、字典树三,可以对这些字典树进行加权处理,得到目标字典树。其中,某个输入词最后的权重可以为:最终权重=(a*字典树一的计数)+(b*字典树二的计数)+(c*字典树三的计数),即某个输入词最终的权重参数的大小,可以为字典树一中该输入词的频次权重与字典树一对应的权重参数a的乘积,加上字典树二中该输入词的频次权重与字典树二对应的权重参数b的乘积,加上字典树三中该输入词的频次权重与字典树三对应的权重参数a的乘积。
在本申请的实施例中,每个字典树对应的权重参数可以相同,也可以不同;且所有字典树的权重的和等于一。具体的,例如a+b+c=1。
需要说明的是,在本申请的实施例中,根据多个输入词集合得到的多个第一字典树,以及对多个第一字典树加权处理得到的目标字典树中,字典树中的字符节点不仅包括当前字符节点的字符信息,还包括当前字符节点对应的字符的频次权重。
在本申请的一些实施例中,本申请提供的输入词推荐方法还可以包括:按照预设时间段,定时调整权重参数的参数值,以不断更新目标字典树。
具体的,由于不同的用户在一定的时间段内,会不断的改变输入词,以及不断的改变输入词的选择偏好,因此若想要得到更精确的待定输入词推荐结果,还需要定时的调整权重参数,以更新目标字典树,得到更加准确的输入词推荐结果。
如图9所示,为本申请实施例提供的调整权重参数的一实施例流程示意图,在本申请的一些实施例中,按照预设时间段,定时调整多个权重参数的参数值,可以包括:
91、获取目标字典树,以及与目标字典树对应的第一输入词推荐结果。
92、获取多个权重参数各自对应的所有的数值集合,数值集合为多个。
93、根据多个数值集合,得到多个第二字典树,多个第二字典树对应多个不同的第二输入词推荐结果。
94、对比第一输入词推荐结果和多个第二输入词推荐结果,得到多个对比结果。
95、根据对比结果,定时调整多个权重参数的数值。
具体的,在本申请的实施例中,需要获取目标字典树,根据目标字典树就可以得到与目标字典树对应的第一输入词推荐结果;还需要获取多个第二字典树,多个第二字典树分别对应一个第二输入词推荐结果。具体的,在本申请的一些实施例中,获取第二字典树可以包括:获取与多个第一字典树分别对应的第一权重参数,第一权重参数为多个;根据多个第一字典树和多个第一权重参数,得到第二字典树。
具体的,多个第一字典树是由多个输入词集合得到的,还需要获取多个第一字典树各自分别对应的第一权重参数,一个第一权重参数对应一个第一字典树;利用多个第一权重参数,对多个第一字典树进行加权处理,就可以得到第二字典树。而第二字典树也对应了第二输入词推荐结果。
在本申请的一些实施例中,获取多个权重参数各自对应的所有的数值集合,可以包括:将多个初始权重参数均增加或减少N倍的预设值,得到权重参数的所有的数值集合,一个数值集合对应于一个第一字典树。
具体的,目标字典树是多个第一字典树进行加权处理得到的,且多个第一字典树各自对应一个初始权重参数,即利用多个初始权重参数和初始权重参数各自对应的第一字典树,进行加权处理可以得到目标字典树。而每个第一字典树对应的初始权重参数是可以人为设定的,且初始权重参数的大小范围为(0,1)。
而在本申请的一些实施例中,将多个初始权重参数均增加或减少N倍的预设值,得到权重参数的所有的数值集合,可以为:在多个初始权重参数中,选取目标初始权重参数,并将该目标初始权重参数增加或减少N倍的预设值,得到目标初始权重参数进行加减计算后的,所有可能的权重参数值。其中,N为大于或等于零的正整数,且进行加减计算后的权重参数值的范围为(0,1)。
需要说明的是,初始权重参数为多个,一个初始权重参数对应一个第一字典树;而权重参数值的集合也为多个,一个权重参数值的集合对应一个第一字典树。且在本申请的实施例中,对于不同的初始权重参数来说,将初始权重参数增加或减少N倍的预设值中,预设值的大小可以相同,也可以不同。
在本申请的一个具体实施例中,可以包括有三个第一字典树,分别为字典树一、字典树二和字典树三,且字典树一对应的权重参数为a,字典树二对应的权重参数为b,字典树三对应的权重参数为c。在本申请的一个具体实施例中,abc三者的初始权重的数值分别为:a=0.2,b=0.3,c=0.5。
而以初始权重的数值为标准,分别将权重参数abc三者的数值均增加或减少N倍的预设值;最后得到的权重参数a对应的数值集合可以为[0.2、0.3、0.5],权重参数b对应的数值集合可以为[0.2、0.35、0.45],而权重参数c对应的数值集合可以为[0.2、0.4、0.5]等多个数值。在本申请的一些实施例中,预设值可以为0.05,即以0.05最为一个权重参数调整值。
需要说明的是,在上述实施例中,所有的数值集合中的所有的权重参数的取值范围为(0,1);N为大于或等于0的正整数;且数值集合的数量与第一字典树的数量相同,即一个数值集合对应一个字典树。
在得到了权重参数各自对应的数值集合后,就可以利用这些数值集合,得到第二字典树。在本申请的一些实施例中,根据数值集合,得到多个第二字典树可以包括:从多个数值集合的每一个数值集合中,选取一个任意数值的第一权重参数,且第一权重参数为多个;根据多个第一字典树和各自对应的第一权重参数,得到多个第二字典树;根据多个第二字典树,可以得到多个与第二字典树分别对应的多个第二输入词推荐结果。
具体的,多个权重参数各自对应的数值集合中包括有多个具体的权重参数数值,从这些数值集合中,分别选取一个任意数值的第一权重参数,而第一权重参数为多个,与多个第一字典树一一对应。利用选取的第一权重参数,可以对多个第一字典树进行加权处理,得到一个第二字典树。由于每个第一字典树各自对应的权重参数可以在各自对应的数值集合中任意选取,因此实际上可以得到多个第二字典树。即获取不同权重参数下分别对应的多个第二字典树,而不同的多个第二字典树又各自对应有第二输入词推荐结果。
需要说明的是,选取的第一权重参数的数值不包括初始权重参数的数值。
如图10所示,为本申请实施例提供的得到多个对比结果的一实施例流程示意图,在本申请的实施例中,由于在实际的待定输入词选择中,多个待定的输入词存在优先级排序,因此对比第一输入词推荐结果和多个第二输入词推荐结果,得到多个对比结果,可以包括:
1001、按照排序优先级,对多个待定输入词赋予不同分值的分数。
1002、获取实际输入词。
1003、根据分数和实际输入词,遍历第一节点所有字符对应的多个待定输入词,得到第一输入词推荐结果下的第一总分分数,以及多个第二输入词推荐结果下的多个第二总分数。
1004、对比第一总分数和多个第二总分数,得到多个对比结果。
具体的,在本申请的一个具体实施例中,以用户输入“红”字为例,可能会出现“红色”、“红黄蓝”、“红萝卜”、“红豆”等四个待定输入词,这四个待定输入词就是根据第一字典树对应的推荐结果得到的。而在实际的输入场景中,由于这四个待定输入词会存在排序优先级;即根据第二字典树推荐结果得到四个待定输入词后,第二字典树对应的推荐结果还会输出每个待定输入词各自的频次权重,相应的,频次权重高的待定输入词在进行优先级排序时会在前面,使得用户可以更加快速的找到该待定输入词;而频次权重低的待定输入词在进行优先级排序时会在后面。
在本申请的一个具体实施例中,当输入“红”字后,出现的待定输入词为“红色”、“红黄蓝”、“红萝卜”和“红豆”,且这四个待定输入词就按照“红色”、“红黄蓝”、“红萝卜”和“红豆”的优先级顺序进行排序后输出显示。那么可以对这四个待定输入词的优先级顺序进行一个分数的赋值,即按照优先级的先后顺序,依次对优先级中的待定输入词赋予分数4、3、2和1,即
依次对“红色”、“红黄蓝”、“红萝卜”和“红豆”四个待定输入词赋予分数4、3、2和1。
而对于不同的第三字典树,在输入“红”字后,出现的待定输入词可能会不同,且每个待定输入词的优先级排序也会和目标初始字典树的优先级排序不同,即不同的第三字典树会对应不同的第二输入词推荐结果。因此需要获取用户每次输入时实际选择的待定输入词。
具体的,在本申请的一个具体实施例中,对于第二字典树,得到的排序后的待定输入词的推荐结果为:“红色”、“红黄蓝”、“红萝卜”和“红豆”;而对于一个第三字典树来说,得到的排序后的待定输入词的推荐结果为:“红豆”、“红黄蓝”、“红萝卜”和“红色”;对于另一个第三字典树来说,得到的排序后的待定输入词的推荐结果为:“红色”、“红黄蓝”、“红豆”和“红萝卜”;而用户实际选择的是“红色”。此时,对于第二字典树来说,分数为4,;对于一第三字典树来说,分数为1;对于另一第三字典树来说,分数为4。以此方法来遍历第一字典树和多个第三字典树中第一字符节点中的所有字符,以得到第一输入词推荐结果下的第一总分数,以及多个第二输入词推荐结果下的多个第二总分数;并将第一总分数分别与多个第二总分数进行对比,得到多个对比结果。
在本申请的一些实施例中,根据多个对比结果,定时调整调整权重参数的数值,可以包括:分别计算多个第二总分数与第一总分数之间的多个差值;获取多个差值中,最小差值对应的目标第二总分数;获取与目标第二总分数对应的第二权重参数。
具体的,可以计算多个第二总分数与第一总分数之间的差值,而在多个差值中,最小差值对应的目标第二总分数代表着与第一总分数之间最接近,即目标第二总分数对应的第二输入词推荐结果,与第一输入词推荐结果之间,输入词的推荐结果最接近,且用户实际选择的待定输入词也最接近。此时,获取目标第二总分数对应的第二权重参数,第二权重参数为多个,此时的第二权重参数即为最终的多个第一字典树各自对应的权重参数。
在上述实施例的基础上,可以获取当前多个第一字典树各自对应的权重参数,而由于用户在一段时间内会不断的改变输入词,以及改变推荐结果中输入词的选择,因此可以利用上述方法获取一段时间内多个第一字典树各自对应的权重参数,并定时重新计算目标权重参数作为多个第一字典树各自对应的权重参数。
在本申请的一些实施例中,在定时调整权重参数的同时,还可以同时调整每个第一字典树,以获取更加准确的输入词推荐结果。具体的,可以重新获取一段时间内,不同领域或不同用户的实际输入词,以重新构建不同的第一字典树,并且由于在一段时间内,不同用户对于实际输入词的偏好选择也会有所不同,因此也需要利用前述方法不断的调整每个第一字典树各自对应的权重参数,使得输入词推荐结果更加的准确。
在上述实施例中,调整第一字典树的时间,和调整第一字典树各自对应的权重参数的时间,可以相同也可以不同。
本申请还提供一种输入词推荐装置,如图11所示,为本申请实施例提供的输入词推荐装置一实施例示意图,该装置包括:
输入装置1101,输入装置1101用于获取用户在输入框输入的目标字符信息。
获取装置1102,获取装置1102用于根据目标字符信息,获取与目标字符信息对应的多个待定输入词。
加权装置1103,加权装置1103用于获取预设的目标字典树,目标字典树为多个第一字典树进行加权处理后得到的,多个第一字典树为不同领域或不同用户对应的多个第一字典树。
推荐装置1104,推荐装置1104用于利用目标字典树对多个待定输入词进行排序,得到待定输入词的推荐结果。
本申请实施例提供的输入词推荐装置,通过针对不同领域或不同的用户构建多个字典树,对多个字典树进行加权处理;且将不同的输入词拆分为不同长度的字符串,以构建字典树。这样使得对于不同领域或不同用户,输入词的推荐具有针对性,输入词推荐更加的准确,减少用户输入时的选择时间,提高用户的使用流畅性。
在本申请的一些实施例中,加权装置1103获取多个第一字典树,可以包括:获取不同领域或不同用户对应的多个输入词集合。创建包括根节点的多个初始字典树,多个初始字典树与多个输入词集合一一对应;分别以多个输入词集合中的一个输入词集合为目标输入词集合,利用目标输入词集合,更新目标初始字典树,以生成目标输入词集合对应的第一字典树,其中,目标初始字典树为目标输入词集合对应的初始字典树。
在本申请的一些实施例中,加权装置1103具体可以用于:将目标输入词集合中各输入词拆分为长度依次减小的多个字符串,多个字符串中每个字符串至少包括一个字符。依次以目标输入词集合中各输入词为目标输入词,分别以目标输入词中的每个字符串为目标字符串,遍历目标字符串中的每个字符,判断目标字符串中的每个字符是否在目标初始字典树中;若目标字符串中的字符不在目标初始字典树中,则在目标初始字典树中新增代表字符的字符节点,以生成目标输入词集合对应的第一字典树。
在本申请的一些实施例中,加权装置1103具体可以用于:判断目标字符串中的第一个字符是否在目标初始字典树的根节点下方;若不在,则在根节点下方新增第一字符节点,并更新第一字符节点的频次权重,第一字符节点对应第一个字符;若在,更新第一个字符对应的第一字符节点的频次权重。
其中,更新第一个字符的频次权重,可以包括:增加第一个字符对应的第一字符节点的频次权重。
在本申请的一些实施例中,加权装置1103具体还可以用于:判断每个目标字符串中第二个字符是否在第一字符节点的下方;若不在,则在第一字符节点下方新增第二字符节点,并更新第二字符节点的频次权重;若在,则更新第二字符节点的频次权重;遍历目标字符串中每个字符,更新目标字符串中每个字符的频次权重,直至生成目标输入词集合对应的第一字典树。
在本申请的一些实施例中,加权装置1103具体还可以用于:获取多个第一字典树各自对应的权重参数,权重参数为多个;根据多个权重参数,对多个第一字典树进行加权处理,得到目标字典树。
其中,多个权重参数的取值范围为(0,1)。
本申请还提供一种服务器,其集成了本申请实施例所提供的任一种字符识别模型的训练装置,如图12所示,其示出了本申请实施例所涉及到的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器1201、一个或一个以上计算机可读存储介质的存储器1202、电源1203和输入单元1204等部件。本领域技术人员可以理解,图12中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1201是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器1202内的软件程序和/或模块,以及调用存储在存储器1202内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器1201可包括一个或多个处理核心;优选的,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。
存储器1202可用于存储软件程序以及模块,处理器1201通过运行存储在存储器1202的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器1202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1202还可以包括存储器控制器,以提供处理器1201对存储器1202的访问。
服务器还包括给各个部件供电的电源1203,优选的,电源1203可以通过电源管理***与处理器1201逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1203还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元1204,该输入单元1204可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器1201会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1202中,并由处理器1201来运行存储在存储器1202中的应用程序,从而实现各种功能,如下:
获取用户在输入框输入的目标字符信息。
根据目标字符信息,获取与目标字符信息对应的多个待定输入词。
获取预设的目标字典树,目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树。
利用目标字典树对多个待定输入词进行排序,得到待定输入词的推荐结果。
本申请还提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。存储介质存储有计算机程序,该计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种字符识别模型的训练方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取用户在输入框输入的目标字符信息。
根据目标字符信息,获取与目标字符信息对应的多个待定输入词。
获取预设的目标字典树,目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树。
利用目标字典树对多个待定输入词进行排序,得到待定输入词的推荐结果。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
以上对本申请实施例所提供的一种输入词推荐方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施例进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施例及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种输入词推荐方法,其特征在于,所述方法包括:
获取用户在输入框输入的目标字符信息;
根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;
获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;
利用所述目标字典树对所述多个待定输入词进行排序,得到所述待定输入词的推荐结果。
2.根据权利要求1所述的输入词推荐方法,其特征在于,所述获取多个第一字典树,包括:
获取不同领域或不同用户对应的多个输入词集合;
创建包括根节点的多个初始字典树,所述多个初始字典树与所述多个输入词集合一一对应;
分别以所述多个输入词集合中一个输入词集合为目标输入词集合,利用所述目标输入词集合,更新所述目标初始字典树,以生成目标输入词集合对应的第一字典树,所述目标初始字典树为所述目标输入词集合对应的初始字典树。
3.根据权利要求2所述的输入词推荐方法,其特征在于,所述利用所述目标输入词集合,更新所述目标初始字典树,以生成目标输入词集合对应的第一字典树,包括:
将所述目标输入词集合中各输入词拆分为长度依次减小的多个字符串,所述多个字符串中每个字符串至少包括一个字符;
依次以所述目标输入词集合中各输入词为目标输入词,分别以所述目标输入词中的每个字符串为目标字符串,遍历所述目标字符串中的每个字符,判断所述目标字符串中的每个字符是否在所述目标初始字典树中;
若所述目标字符串中的字符不在所述目标初始字典树中,则在所述目标初始字典树中新增代表字符的字符节点,以生成所述目标输入词集合对应的第一字典树。
4.根据权利要求3所述的输入词推荐方法,其特征在于,所述若所述目标字符串中的字符不在所述目标初始字典树中,则在所述目标初始字典树中新增代表字符的字符节点,以生成所述目标输入词集合对应的第一字典树,包括:
判断所述目标字符串中的第一个字符是否在所述目标初始字典树的根节点下方;
若不在,则在所述根节点下方新增第一字符节点,并更新所述第一字符节点的频次权重,所述第一字符节点对应所述第一个字符;
若在,更新所述第一个字符对应的第一字符节点的频次权重;
判断每个所述目标字符串中第二个字符是否在所述第一字符节点的下方;
若不在,则在所述第一字符节点下方新增第二字符节点,并更新所述第二字符节点的频次权重;
若在,则更新所述第二字符节点的频次权重;
遍历所述目标字符串中每个字符,更新所述目标字符串中每个字符的频次权重,直至生成所述目标输入词集合对应的第一字典树。
5.根据权利要求2所述的输入词推荐方法,其特征在于,所述对所述多个第一字典树进行加权处理,得到目标字典树,包括:
获取所述多个第一字典树各自对应的权重参数,所述权重参数为多个;
根据所述权重参数,对所述多个第一字典树进行加权处理,得到所述目标字典树;
其中,所述多个权重参数的取值范围为(0,1),且多个权重参数的和小于或等于1。
6.根据权利要求5所述的输入词推荐方法,其特征在于,所述方法还包括:
按照预设时间段,定时调整所述权重参数的参数值,以不断更新所述目标字典树。
7.根据权利要求6所述的输入词推荐方法,其特征在于,所述按照预设时间段,定时调整多个所述权重参数的参数值,包括:
获取所述目标字典树,以及与所述目标字典树对应的第一输入词推荐结果;
获取所述多个权重参数各自对应的所有的数值集合,所述数值集合为多个;
根据多个所述数值集合,得到多个第二字典树,所述多个第二字典树对应多个不同的第二输入词推荐结果;
对比所述第一输入词推荐结果和所述多个第二输入词推荐结果,得到多个对比结果;
根据所述对比结果,定时调整多个所述权重参数的数值。
8.根据权利要求7所述的输入词推荐方法,其特征在于,所述获取第二字典树,包括:
获取与所述多个第一字典树分别对应的第一权重参数,所述第一权重参数为多个;
根据所述多个第一字典树和所述多个第一权重参数,得到所述第二字典树。
9.根据权利要求8所述的输入词推荐方法,其特征在于,所述获取多个权重参数各自对应的所有的数值集合,包括:
将多个初始权重参数均增加或减少N倍的预设值,得到所述第一权重参数的所有的数值集合,一个数值集合对应一个所述第一字典树,所述数值集合为多个;
其中,所述所有的数值集合中的所有的权重参数的取值范围为(0,1),N为大于或等于0的正整数。
10.根据权利要求9所述的输入词推荐方法,其特征在于,所述根据所述数值集合,得到多个第二字典树,所述多个第二字典树对应多个不同的第二输入词推荐结果,包括:
从多个所述数值集合的每一个数值集合中,选取一个任意数值的第一权重参数,所述第一权重参数为多个;
根据所述多个第一字典树和各自对应的所述第一权重参数,得到所述多个第二字典树;
根据所述多个第二字典树,得到多个与所述多个第二字典树分别对应的所述多个第二输入词推荐结果。
11.根据权利要求7所述的输入词推荐方法,其特征在于,所述多个待定输入词存在排序优先级,所述对比所述第一输入词推荐结果和多个所述第二输入词推荐结果,得到多个对比结果,包括:
按照所述排序优先级,对多个所述多个待定输入词赋予不同分值的分数;
获取实际输入词;
根据所述分数和所述实际输入词,遍历所述第一字符节点对应的所有字符,得到所述第一输入词推荐结果下的第一总分数,以及所述多个所述第二输入词推荐结果下的多个第二总分数
对比所述第一总分数和多个所述第二总分数,得到所述多个对比结果。
12.根据权利要求10所述的输入词推荐方法,其特征在于,所述根据所述多个对比结果,定时调整多个所述权重参数的数值,包括:
分别计算多个所述第二总分数与所述第一总分数之间的多个差值;
获取所述多个差值中,最小差值对应的目标第二总分数;
获取与所述目标第二总分数对应的第二权重参数。
13.一种输入词推荐装置,其特征在于,所述推荐装置包括:
输入装置,所述输入装置用于获取用户在输入框输入的目标字符信息;
获取装置,所述获取装置用于根据所述目标字符信息,获取与所述目标字符信息对应的多个待定输入词;
加权装置,所述加权装置用于获取预设的目标字典树,所述目标字典树为多个第一字典树进行加权处理后得到的,所述多个第一字典树为不同领域或不同用户对应的多个第一字典树;
推荐装置,所述推荐装置用于利用所述目标字典树对所述多个待定输入词进行排序,得到所述待定输入词的推荐结果。
14.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至14中任一项所述的输入词推荐方法中的步骤。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至14中任一项所述的输入词推荐方法中的步骤。
CN202010375221.2A 2020-05-07 一种输入词推荐方法、装置、服务器及存储介质 Active CN113625884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010375221.2A CN113625884B (zh) 2020-05-07 一种输入词推荐方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010375221.2A CN113625884B (zh) 2020-05-07 一种输入词推荐方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113625884A true CN113625884A (zh) 2021-11-09
CN113625884B CN113625884B (zh) 2024-07-16

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114822532A (zh) * 2022-04-12 2022-07-29 广州小鹏汽车科技有限公司 语音交互方法、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186615A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种搜索提示方法及***
CN103514236A (zh) * 2012-06-30 2014-01-15 重庆新媒农信科技有限公司 检索应用中基于拼音的检索条件纠错提示处理方法
CN103914569A (zh) * 2014-04-24 2014-07-09 百度在线网络技术(北京)有限公司 输入提示方法、装置及字典树模型的创建方法、装置
CN109933216A (zh) * 2019-03-01 2019-06-25 郑敏杰 一种用于智能输入的词语联想提示方法、装置、设备以及计算机存储介质
CN110851722A (zh) * 2019-11-12 2020-02-28 腾讯云计算(北京)有限责任公司 基于字典树的搜索处理方法、装置、设备和存储介质
WO2020082562A1 (zh) * 2018-10-25 2020-04-30 平安科技(深圳)有限公司 字符识别方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186615A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种搜索提示方法及***
CN103514236A (zh) * 2012-06-30 2014-01-15 重庆新媒农信科技有限公司 检索应用中基于拼音的检索条件纠错提示处理方法
CN103914569A (zh) * 2014-04-24 2014-07-09 百度在线网络技术(北京)有限公司 输入提示方法、装置及字典树模型的创建方法、装置
WO2020082562A1 (zh) * 2018-10-25 2020-04-30 平安科技(深圳)有限公司 字符识别方法、装置、设备及存储介质
CN109933216A (zh) * 2019-03-01 2019-06-25 郑敏杰 一种用于智能输入的词语联想提示方法、装置、设备以及计算机存储介质
CN110851722A (zh) * 2019-11-12 2020-02-28 腾讯云计算(北京)有限责任公司 基于字典树的搜索处理方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐亮;席耀一;彭波;刘香伟;易绵竹;: "基于词向量的越汉跨语言事件检索研究", 中文信息学报, no. 03 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114822532A (zh) * 2022-04-12 2022-07-29 广州小鹏汽车科技有限公司 语音交互方法、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10180967B2 (en) Performing application searches
US11157473B2 (en) Multisource semantic partitioning
CN110569496B (zh) 实体链接方法、装置及存储介质
TWI505139B (zh) 一種於輸入法中實現智慧聯想之方法、裝置及終端設備
WO2020207074A1 (zh) 一种信息推送的方法及设备
CN109241412B (zh) 一种基于网络表示学习的推荐方法、***及电子设备
US20150213042A1 (en) Search term obtaining method and server, and search term recommendation system
EP3304350B1 (en) Column ordering for input/output optimization in tabular data
CN108989397B (zh) 数据推荐方法、装置及存储介质
WO2021135290A1 (zh) 基于知识图谱的信息可视化方法、装置、设备及存储介质
WO2014114137A1 (en) Method and apparatus for recommending keywords
US20220083874A1 (en) Method and device for training search model, method for searching for target object, and storage medium
WO2021139221A1 (zh) 查询自动补全的方法、装置、设备和计算机存储介质
US20230086735A1 (en) Systems and methods for retrieving videos using natural language description
US20160350386A1 (en) Triggering method for instant search
CN111160699A (zh) 一种专家推荐方法及***
CN113625884B (zh) 一种输入词推荐方法、装置、服务器及存储介质
CN113625884A (zh) 一种输入词推荐方法、装置、服务器及存储介质
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
US20190163810A1 (en) Search User Interface
CN113239257B (zh) 信息处理方法、装置、电子设备及存储介质
CN109299328A (zh) 一种视频搜索方法、服务器、客户端及存储介质
CN115809364B (zh) 对象推荐方法和模型训练方法
CN113239258B (zh) 提供查询建议的方法、装置、电子设备和存储介质
CN112528157B (zh) 建立排序模型的方法、查询自动补全的方法及对应装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant