CN106469097B - 一种基于人工智能的召回纠错候选的方法和装置 - Google Patents

一种基于人工智能的召回纠错候选的方法和装置 Download PDF

Info

Publication number
CN106469097B
CN106469097B CN201610800959.2A CN201610800959A CN106469097B CN 106469097 B CN106469097 B CN 106469097B CN 201610800959 A CN201610800959 A CN 201610800959A CN 106469097 B CN106469097 B CN 106469097B
Authority
CN
China
Prior art keywords
error correction
word
candidate
fingerprint
key
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
CN201610800959.2A
Other languages
English (en)
Other versions
CN106469097A (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
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610800959.2A priority Critical patent/CN106469097B/zh
Publication of CN106469097A publication Critical patent/CN106469097A/zh
Application granted granted Critical
Publication of CN106469097B publication Critical patent/CN106469097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种基于人工智能的召回纠错候选的方法和装置,所述方法包括:当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出所述待纠错的单词的字符长度;若统计结果大于预先设定的阈值,则采用simhash算法确定出待纠错的单词的指纹,并根据所述指纹召回待纠错的单词的纠错候选。应用本发明所述方案,能够提高存储和查找效率等。

Description

一种基于人工智能的召回纠错候选的方法和装置
【技术领域】
本发明涉及互联网技术,特别涉及一种基于人工智能的召回纠错候选的方法和装置。
【背景技术】
目前,人工智能技术已经得到了广泛应用,人工智能(ArtificialIntelligence),英文缩写为AI,它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。
如当用户进行query检索时,由于疏忽等原因,经常会输入错误的query,比如,将“Tsinghua”错误地输入为“Tainghua”,这就要求搜索引擎能够对用户输入错误的query进行识别,并将错误的部分纠正成用户所需要的query。
现有技术中,通常会将用户输入的每个单词分别与字典中的单词进行比较,如果用户输入的某个单词在字典中不存在,则可认为是一个输入错误,从而将该单词作为一个待纠错的单词,之后可提示给用户多个纠错候选(拼写建议),供用户进行选择等。
为此,需要首先建表,即对词典中的各单词分别进行以下处理:
以“Tsinghua”为例,可删除其中的任意n个字母,剩余部分作为一个key,n的具体取值可根据实际需要而定,比如可取值为2,即采用双删除法进行字母删除,从而可得到“Tsinghua”对应的key的集合{inghua,Tnghua,Tsghua,Tsihua,Tsihua,Tsinua,Tsinga,Tsingh,snghua,…,Tsingu},一共个key;
通过建倒排表可得到每个key和对应的索引单词之间的对应关系,即有key->tsinghua;
另外,如果多个索引单词对应同一个key,可利用这多个索引单词组成一个单词链表,即有key->{索引单词1,索引单词2…}。
后续,针对用户输入的任一待纠错的单词,可按照与上述类似的方式,召回纠错候选,具体方式如下:
假设待纠错的单词为“Tainghua”,那么可通过双删除法得到“Tainghua”对应的key的集合{inghua,Tnghua,Taghua,Taihua,Taihua,Tainua,Tainga,Taingh,anghua,…,Taingu};
分别查找出上述集合中的每一个key对应的索引单词,并将各key对应的查找结果进行合并,去除其中重复的索引单词,将剩余的索引单词作为纠错候选。
并且,可按照出现次数由多到少的顺序,对各纠错候选进行排序,出现次数越多,则编辑距离越短,排序越靠前,比如,在将各key对应的查找结果进行合并后,发现索引单词a共出现了3次,索引单词b共出现了2次,那么相比于索引单词b,索引单词a的编辑距离更短,排序更靠前。
但是,上述方式在实际应用中也会存在一定的问题,比如:建表过程存在较多冗余,单词的字符长度越长,key的数目也会越多,相应地重复存储冗余也就越大,从而导致存储效率和查找效率低下。
【发明内容】
本发明提供了一种基于人工智能的召回纠错候选的方法和装置,能够提高存储和查找效率。
具体技术方案如下:
一种基于人工智能的召回纠错候选的方法,包括:
当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出所述待纠错的单词的字符长度;
若统计结果大于预先设定的阈值,则采用simhash算法确定出所述待纠错的单词的指纹,并根据所述指纹召回所述待纠错的单词的纠错候选。
根据本发明一优选实施例,该方法进一步包括:
若所述统计结果小于或等于所述阈值,则采用双删除法召回所述待纠错的单词的纠错候选。
根据本发明一优选实施例,该方法进一步包括:
针对词典中包括的每个字符长度大于所述阈值的单词i,分别进行以下处理:
采用simhash算法确定出所述单词i的指纹,所述单词i的指纹的字符长度与所述待纠错的单词的指纹的字符长度相同;
将所述单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,所述key对应的索引单词为所述单词i;
将每个key和对应的索引单词进行保存;
所述根据所述指纹召回所述待纠错的单词的纠错候选包括:
将所述待纠错的单词的指纹分为N段,分别将每段的内容加上所在段的段标识后作为一个key;
分别查找出所述待纠错的单词对应的每个key对应的索引单词,将查找出的各索引单词作为所述待纠错的单词的纠错候选。
根据本发明一优选实施例,该方法进一步包括:
在召回所述待纠错的单词的纠错候选之后,合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序。
根据本发明一优选实施例,该方法进一步包括:
在对各纠错候选进行排序之后,确定所述待纠错的单词是否存在上下文;
若存在上下文,则分别计算每个纠错候选与所述待纠错的单词的上下文之间的契合度;
按照契合度由高到低的顺序对各纠错候选进行重新排序。
根据本发明一优选实施例,该方法进一步包括:
若不存在上下文,则针对每个纠错候选,分别确定出所述纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,所述待纠错的单词被纠正为所述纠错候选的概率EM,根据L和EM计算出所述纠错候选的评分;
按照评分由高到低的顺序对各纠错候选进行重新排序。
根据本发明一优选实施例,
所述根据L和EM计算出所述纠错候选的评分包括:
计算所述EM和预先设定的加权系数的乘积;
计算1减去所述加权系数之差与所述L的乘积;
将两个乘积的相加之和作为所述纠错候选的评分。
一种基于人工智能的召回纠错候选的装置,包括:处理单元和召回单元;所述处理单元,用于当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出所述待纠错的单词的字符长度,并将统计结果以及所述待纠错的单词发送给所述召回单元;
所述召回单元,用于当所述统计结果大于预先设定的阈值时,采用simhash算法确定出所述待纠错的单词的指纹,并根据所述指纹召回所述待纠错的单词的纠错候选。
根据本发明一优选实施例,所述召回单元进一步用于,
若所述统计结果小于或等于所述阈值,则采用双删除法召回所述待纠错的单词的纠错候选。
根据本发明一优选实施例,所述装置中进一步包括:建表单元;
所述建表单元,用于针对词典中包括的每个字符长度大于所述阈值的单词i,分别进行以下处理:
采用simhash算法确定出所述单词i的指纹,所述单词i的指纹的字符长度与所述待纠错的单词的指纹的字符长度相同;
将所述单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,所述key对应的索引单词为所述单词i;
将每个key和对应的索引单词进行保存;
所述召回单元将所述待纠错的单词的指纹分为N段,分别将每段的内容加上所在段的段标识后作为一个key,分别查找出所述待纠错的单词对应的每个key对应的索引单词,将查找出的各索引单词作为所述待纠错的单词的纠错候选。
根据本发明一优选实施例,所述召回单元进一步用于,
在召回所述待纠错的单词的纠错候选之后,合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序。
根据本发明一优选实施例,所述召回单元进一步用于,
在对各纠错候选进行排序之后,确定所述待纠错的单词是否存在上下文;
若存在上下文,则分别计算每个纠错候选与所述待纠错的单词的上下文之间的契合度;
按照契合度由高到低的顺序对各纠错候选进行重新排序。
根据本发明一优选实施例,所述召回单元进一步用于,
若不存在上下文,则针对每个纠错候选,分别确定出所述纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,所述待纠错的单词被纠正为所述纠错候选的概率EM,根据L和EM计算出所述纠错候选的评分;
按照评分由高到低的顺序对各纠错候选进行重新排序。
根据本发明一优选实施例,
所述召回单元计算所述EM和预先设定的加权系数的乘积,并计算1减去所述加权系数之差与所述L的乘积,将两个乘积的相加之和作为所述纠错候选的评分。
基于上述介绍可以看出,采用本发明所述方案,当待纠错的单词的字符长度大于设定的阈值时,可首先采用simhash算法确定出该单词的指纹,之后根据所述指纹召回该单词的纠错候选,从而避免了现有技术中在单词过长时所导致的重复存储冗余加大的问题,进而提高了存储和查找效率。
【附图说明】
图1为本发明所述基于人工智能的召回纠错候选的方法实施例的流程图。
图2为本发明所述采用simhash算法确定出任一单词的指纹的方式示意图。
图3为本发明所述重新排序的方式示意图。
图4为本发明所述基于人工智能的召回纠错候选的装置实施例的组成结构示意图。
【具体实施方式】
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
实施例一
图1为本发明所述基于人工智能的召回纠错候选的方法实施例的流程图,如图1所示,包括以下具体实现方式。
在11中,当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出待纠错的单词的字符长度。
比如,待纠错的单词为“Tainghua”,那么可统计出其字符长度为8。
在12中,确定统计结果是否大于预先设定的阈值,若否,则执行13,若是,则执行14。
将统计出的待纠错的单词的字符长度与设定的阈值进行比较,根据比较的不同,后续将采用不同的处理方式。
所述阈值的具体取值可根据实际需要而定,比如,根据经验,可取值为12。
在13中,采用双删除法召回待纠错的单词的纠错候选。
采用双删除法召回待纠错的单词的纠错候选的具体实现为现有技术,不再赘述。
在14中,采用simhash算法确定出待纠错的单词的指纹(fingerprint),并根据得到的指纹召回待纠错的单词的纠错候选。
simhash算法是局部敏感哈希(locality sensitive hash)的一种,最早由MosesCharikar在《similarity estimation techniques from rounding algorithms》一文中提出,Google就是基于此算法实现网页文件查重的。
本发明所述方案中,将simhash算法引入到词级别,用于描述两个单词在字形上的相似度。
图2为本发明所述采用simhash算法确定出任一单词的指纹的方式示意图,如图2所示,weight可设置为常数1,可将单词进行切分,即将单词的字符分为若干段,如何进行切换可根据实际需要而定,针对切分出的每一段,可分别求取其哈希结果,如第一段的哈希结果为“100110”,其中的“1”对应“w1”,“0”对应“-w1”,可将虚线框中所示的各列进行纵向累加,如果累加结果大于0,则将累加结果设置为1,否则,设置为0,从而可得到单词的指纹“110001”。
与双删除法类似,在召回纠错候选之前,也需要先建表。
具体地,针对词典中包括的每个字符长度大于阈值的单词i(为便于表述,用单词i来表示词典中包括的任一字符长度大于阈值的单词),可分别进行以下处理:
按照图2所示方式确定出单词i的指纹,单词i的指纹的字符长度与待纠错的单词的指纹的字符长度相同;
将单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,对应的索引单词为单词i;
将每个key和对应的索引单词进行保存;
另外,如果多个索引单词对应同一个key,可利用这多个索引单词组成一个单词链表。
举例如下:
假设单词i为“washington”,其指纹为“110001”;
可将“110001”分为前后两段,分别为“110”和“001”,其中前一段的段标识为a,后一段的段标识为b;
分别将每段的内容加上所在段的段标识后,可得到两个key,如分别为“a110”和“b001”,这两个key对应的索引单词均为“washington”;
可以看出,相比于现有的双删除法,采用上述方法明显减少了key数。
建表完成后,后续当需要找回纠错候选时,在得到待纠错的单词的指纹后,可首先将该指纹分为N段,并分别将每段的内容加上所在段的段标识后作为一个key,之后,可分别查找出待纠错的单词对应的每个key对应的索引单词,并将查找出的各索引单词作为纠错的单词的纠错候选。
上述哈希结果的长度以及N的具体取值等均不作限制,可根据实际需要而定。
按照现有技术,在召回待纠错的单词的纠错候选之后,可合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序,即出现次数越多,则编辑距离越短,排序越靠前。
但是,通过编辑距离,通常不足以找到最合适的纠错候选,并非编辑距离最近的纠错候选就是最佳的纠错候选。
针对上述问题,本发明所述方案中提出,可通过引入上下文和词频等,对基于编辑距离进行排序后的各纠错候选进行重新排序,以提高排序结果的准确性。
图3为本发明所述重新排序的方式示意图,如图3所示,在基于编辑距离对各纠错候选进行排序之后,确定待纠错的单词是否存在上下文,若存在上下文,则按照第一重排方式进行重新排序,否则,按照第二重排方式进行重新排序,从而得到重新排序后的纠错候选。
其中,第一重排方式为:若存在上下文,分别计算每个纠错候选与待纠错的单词的上下文之间的契合度;按照契合度由高到低的顺序对各纠错候选进行重新排序。
用户在进行query检索时,可能会输入多个单词,而这些单词之间通常会存在一定的关联关系,如“washington city”,即待纠错的单词和上下文结合在一起语义上通常是通顺、流畅的,基于此,针对每个纠错候选,可分别通过上下文语言模型(LM),计算出若用该纠错候选替换待纠错的单词后,与上下文之间的契合度,契合度越高的纠错候选,排序越靠前。
如何计算契合度为现有技术。
第二重排方式为:若不存在上下文,则针对每个纠错候选,可分别确定出该纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,待纠错的单词被纠正为该纠错候选的概率EM,根据L和EM计算出该纠错候选的评分;按照评分由高到低的顺序对各纠错候选进行重新排序。
如上所述,针对每个纠错候选,可统计出该纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中的出现次数L,所述预定时长的具体取值可根据实际需要而定,比如,最近三天。
并且,可根据所有用户的历史操作记录,如根据以往当用户错误地输入待纠错的单词后会将其纠正为哪个单词的记录,分别确定出待纠错的单词被纠正为每个纠错候选的概率EM,具体实现为现有技术。
相应地,可计算出每个纠错候选的评分=(1-x)*L+x*EM,其中,x表示加权系数,可为[0,1]之间的实数,具体取值可根据实际需要而定。
评分越高的纠错候选,排序越靠前。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
实施例二
图4为本发明所述基于人工智能的召回纠错候选的装置实施例的组成结构示意图,如图4所示,包括:处理单元41和召回单元42。
处理单元41,用于当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出待纠错的单词的字符长度,并将统计结果以及待纠错的单词发送给召回单元42。
召回单元42,用于当统计结果大于预先设定的阈值时,采用simhash算法确定出待纠错的单词的指纹,并根据所述指纹召回待纠错的单词的纠错候选。
召回单元42可将统计出的待纠错的单词的字符长度与设定的阈值进行比较,根据比较的不同,后续将采用不同的处理方式,如,当统计结果小于或等于阈值时,可采用双删除法召回待纠错的单词的纠错候选,而当统计结果大于阈值时,可采用simhash算法确定出待纠错的单词的指纹,并根据所述指纹召回待纠错的单词的纠错候选。
对于后一种情况,与双删除法类似,在召回纠错候选之前,也需要先建表,为此,图4所示装置中可进一步包括:建表单元43。
建表单元43针对词典中包括的每个字符长度大于阈值的单词i,可分别进行以下处理:
采用simhash算法确定出单词i的指纹,单词i的指纹的字符长度与待纠错的单词的指纹的字符长度相同;
将单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,所述key对应的索引单词为单词i;
将每个key和对应的索引单词进行保存;
另外,如果多个索引单词对应同一个key,可利用这多个索引单词组成一个单词链表。
建表完成后,后续当需要找回纠错候选时,召回单元42在得到待纠错的单词的指纹后,可将待纠错的单词的指纹分为N段,分别将每段的内容加上所在段的段标识后作为一个key,分别查找出待纠错的单词对应的每个key对应的索引单词,将查找出的各索引单词作为待纠错的单词的纠错候选。
按照现有技术,召回单元42在召回待纠错的单词的纠错候选之后,可合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序,即出现次数越多,则编辑距离越短,排序越靠前。
但是,通过编辑距离,通常不足以找到最合适的纠错候选,并非编辑距离最近的纠错候选就是最佳的纠错候选。
针对上述问题,本发明所述方案中提出,可通过引入上下文和词频等,对基于编辑距离进行排序后的各纠错候选进行重新排序,以提高排序结果的准确性。
为此,召回单元42可进一步进行以下处理:
在对各纠错候选进行排序之后,确定待纠错的单词是否存在上下文;
若存在上下文,则分别计算每个纠错候选与待纠错的单词的上下文之间的契合度;
按照契合度由高到低的顺序对各纠错候选进行重新排序;
若不存在上下文,则针对每个纠错候选,可分别确定出该纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,待纠错的单词被纠正为该纠错候选的概率EM,根据L和EM计算出该纠错候选的评分;
按照评分由高到低的顺序对各纠错候选进行重新排序。
其中,每个纠错候选的评分=(1-x)*L+x*EM,x表示加权系数,可为[0,1]之间的实数。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种基于人工智能的召回纠错候选的方法,其特征在于,包括:
当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出所述待纠错的单词的字符长度;
若统计结果大于预先设定的阈值,则采用simhash算法确定出所述待纠错的单词的指纹,并根据所述指纹召回所述待纠错的单词的纠错候选;
该方法进一步包括:
针对词典中包括的每个字符长度大于所述阈值的单词i,分别进行以下处理:采用simhash算法确定出所述单词i的指纹,所述单词i的指纹的字符长度与所述待纠错的单词的指纹的字符长度相同;将所述单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,所述key对应的索引单词为所述单词i;将每个key和对应的索引单词进行保存;
所述根据所述指纹召回所述待纠错的单词的纠错候选包括:将所述待纠错的单词的指纹分为N段,分别将每段的内容加上所在段的段标识后作为一个key;分别查找出所述待纠错的单词对应的每个key对应的索引单词,将查找出的各索引单词作为所述待纠错的单词的纠错候选。
2.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:
若所述统计结果小于或等于所述阈值,则采用双删除法召回所述待纠错的单词的纠错候选。
3.根据权利要求1或2所述的方法,其特征在于,
该方法进一步包括:
在召回所述待纠错的单词的纠错候选之后,合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序。
4.根据权利要求3所述的方法,其特征在于,
该方法进一步包括:
在对各纠错候选进行排序之后,确定所述待纠错的单词是否存在上下文;
若存在上下文,则分别计算每个纠错候选与所述待纠错的单词的上下文之间的契合度;
按照契合度由高到低的顺序对各纠错候选进行重新排序。
5.根据权利要求4所述的方法,其特征在于,
该方法进一步包括:
若不存在上下文,则针对每个纠错候选,分别确定出所述纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,所述待纠错的单词被纠正为所述纠错候选的概率EM,根据L和EM计算出所述纠错候选的评分;
按照评分由高到低的顺序对各纠错候选进行重新排序。
6.根据权利要求5所述的方法,其特征在于,
所述根据L和EM计算出所述纠错候选的评分包括:
计算所述EM和预先设定的加权系数的乘积;
计算1减去所述加权系数之差与所述L的乘积;
将两个乘积的相加之和作为所述纠错候选的评分。
7.一种基于人工智能的召回纠错候选的装置,其特征在于,包括:处理单元和召回单元;
所述处理单元,用于当用户进行query检索时,针对用户输入的每个待纠错的单词,分别统计出所述待纠错的单词的字符长度,并将统计结果以及所述待纠错的单词发送给所述召回单元;
所述召回单元,用于当所述统计结果大于预先设定的阈值时,采用simhash算法确定出所述待纠错的单词的指纹,并根据所述指纹召回所述待纠错的单词的纠错候选;
所述装置中进一步包括:建表单元;
所述建表单元,用于针对词典中包括的每个字符长度大于所述阈值的单词i,分别进行以下处理:采用simhash算法确定出所述单词i的指纹,所述单词i的指纹的字符长度与所述待纠错的单词的指纹的字符长度相同;将所述单词i的指纹分为N段,N为大于1的正整数,分别将每段的内容加上所在段的段标识后作为一个key,所述key对应的索引单词为所述单词i;将每个key和对应的索引单词进行保存;
所述召回单元将所述待纠错的单词的指纹分为N段,分别将每段的内容加上所在段的段标识后作为一个key,分别查找出所述待纠错的单词对应的每个key对应的索引单词,将查找出的各索引单词作为所述待纠错的单词的纠错候选。
8.根据权利要求7所述的装置,其特征在于,
所述召回单元进一步用于,
若所述统计结果小于或等于所述阈值,则采用双删除法召回所述待纠错的单词的纠错候选。
9.根据权利要求7或8所述的装置,其特征在于,
所述召回单元进一步用于,
在召回所述待纠错的单词的纠错候选之后,合并其中重复出现的纠错候选,并按照出现次数由多到少的顺序,对各纠错候选进行排序。
10.根据权利要求9所述的装置,其特征在于,
所述召回单元进一步用于,
在对各纠错候选进行排序之后,确定所述待纠错的单词是否存在上下文;
若存在上下文,则分别计算每个纠错候选与所述待纠错的单词的上下文之间的契合度;
按照契合度由高到低的顺序对各纠错候选进行重新排序。
11.根据权利要求10所述的装置,其特征在于,
所述召回单元进一步用于,
若不存在上下文,则针对每个纠错候选,分别确定出所述纠错候选在最近预定时长内所有进行过检索的用户对应的检索结果的标题中出现的次数L,以及,所述待纠错的单词被纠正为所述纠错候选的概率EM,根据L和EM计算出所述纠错候选的评分;
按照评分由高到低的顺序对各纠错候选进行重新排序。
12.根据权利要求11所述的装置,其特征在于,
所述召回单元计算所述EM和预先设定的加权系数的乘积,并计算1减去所述加权系数之差与所述L的乘积,将两个乘积的相加之和作为所述纠错候选的评分。
CN201610800959.2A 2016-09-02 2016-09-02 一种基于人工智能的召回纠错候选的方法和装置 Active CN106469097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610800959.2A CN106469097B (zh) 2016-09-02 2016-09-02 一种基于人工智能的召回纠错候选的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610800959.2A CN106469097B (zh) 2016-09-02 2016-09-02 一种基于人工智能的召回纠错候选的方法和装置

Publications (2)

Publication Number Publication Date
CN106469097A CN106469097A (zh) 2017-03-01
CN106469097B true CN106469097B (zh) 2019-08-27

Family

ID=58230106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610800959.2A Active CN106469097B (zh) 2016-09-02 2016-09-02 一种基于人工智能的召回纠错候选的方法和装置

Country Status (1)

Country Link
CN (1) CN106469097B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108091328B (zh) * 2017-11-20 2021-04-16 北京百度网讯科技有限公司 基于人工智能的语音识别纠错方法、装置及可读介质
CN108108349A (zh) * 2017-11-20 2018-06-01 北京百度网讯科技有限公司 基于人工智能的长文本纠错方法、装置及计算机可读介质
CN107977357A (zh) * 2017-11-22 2018-05-01 北京百度网讯科技有限公司 基于用户反馈的纠错方法、装置及其设备
CN110569335B (zh) 2018-03-23 2022-05-27 百度在线网络技术(北京)有限公司 基于人工智能的三元组校验方法、装置及存储介质
CN111310440B (zh) * 2018-11-27 2023-05-30 阿里巴巴集团控股有限公司 文本的纠错方法、装置和***
CN112905026B (zh) * 2021-03-30 2024-04-16 完美世界控股集团有限公司 展示单词建议的方法、装置、存储介质及计算机设备
CN113420219A (zh) * 2021-06-30 2021-09-21 北京明略昭辉科技有限公司 用于查询信息纠错的方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198149A (zh) * 2013-04-23 2013-07-10 中国科学院计算技术研究所 一种查询纠错方法和***
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
CN103646080A (zh) * 2013-12-12 2014-03-19 北京京东尚科信息技术有限公司 基于倒序索引的微博去重方法和***
CN104298672A (zh) * 2013-07-16 2015-01-21 北京搜狗科技发展有限公司 一种输入的纠错方法和装置
CN105468719A (zh) * 2015-11-20 2016-04-06 北京齐尔布莱特科技有限公司 一种查询纠错方法、装置和计算设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515964B2 (en) * 2011-07-25 2013-08-20 Yahoo! Inc. Method and system for fast similarity computation in high dimensional space

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
CN103198149A (zh) * 2013-04-23 2013-07-10 中国科学院计算技术研究所 一种查询纠错方法和***
CN104298672A (zh) * 2013-07-16 2015-01-21 北京搜狗科技发展有限公司 一种输入的纠错方法和装置
CN103646080A (zh) * 2013-12-12 2014-03-19 北京京东尚科信息技术有限公司 基于倒序索引的微博去重方法和***
CN105468719A (zh) * 2015-11-20 2016-04-06 北京齐尔布莱特科技有限公司 一种查询纠错方法、装置和计算设备

Also Published As

Publication number Publication date
CN106469097A (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
CN106469097B (zh) 一种基于人工智能的召回纠错候选的方法和装置
CN109101620B (zh) 相似度计算方法、聚类方法、装置、存储介质及电子设备
US10579661B2 (en) System and method for machine learning and classifying data
CN105389349B (zh) 词典更新方法及装置
US7797265B2 (en) Document clustering that applies a locality sensitive hashing function to a feature vector to obtain a limited set of candidate clusters
US7711668B2 (en) Online document clustering using TFIDF and predefined time windows
CN110941959B (zh) 文本违规检测、文本还原方法、数据处理方法及设备
CN106874292B (zh) 话题处理方法及装置
US20150074112A1 (en) Multimedia Question Answering System and Method
CN108875040A (zh) 词典更新方法及计算机可读存储介质
US20080183665A1 (en) Method and apparatus for incorprating metadata in datas clustering
WO2018004829A1 (en) Methods and apparatus for subgraph matching in big data analysis
CN110110322A (zh) 网络新词发现方法、装置、电子设备及存储介质
US20110264997A1 (en) Scalable Incremental Semantic Entity and Relatedness Extraction from Unstructured Text
KR101651780B1 (ko) 빅 데이터 처리 기술을 이용한 연관 단어 추출 방법 및 그 시스템
CN106557777A (zh) 一种基于SimHash改进的Kmeans聚类方法
JP2016212840A (ja) 用語共起性スコアの確率モデル
WO2015035401A1 (en) Automated discovery using textual analysis
CN107844493A (zh) 一种文件关联方法及***
JP2019164409A (ja) 文書検索装置、文書検索方法、及び文書検索プログラム
CN106126495A (zh) 一种基于大规模语料提词方法和装置
CN107133321B (zh) 页面的搜索特性的分析方法和分析装置
CN112835923A (zh) 一种相关检索方法、装置和设备
CN106951548B (zh) 基于rm算法提升特写词语搜索精度的方法及***
CN112507181B (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
GR01 Patent grant