CN104156454A - 搜索词的纠错方法和装置 - Google Patents
搜索词的纠错方法和装置 Download PDFInfo
- Publication number
- CN104156454A CN104156454A CN201410406835.7A CN201410406835A CN104156454A CN 104156454 A CN104156454 A CN 104156454A CN 201410406835 A CN201410406835 A CN 201410406835A CN 104156454 A CN104156454 A CN 104156454A
- Authority
- CN
- China
- Prior art keywords
- search word
- candidate
- error correction
- string
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种搜索词的纠错方法和装置。其中,搜索词的纠错方法包括:获取搜索词;拆分搜索词,得到多个第一搜索词片段;对第一搜索词片段进行纠错,得到多个第二搜索词片段;拼接多个第二搜索词片段,得到候选结果;判断候选结果是否是关联数据库中的关联数据;以及在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对搜索词进行纠错后的目标搜索词。通过本发明,解决了现有技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的问题,实现了可以不依赖用户记录对搜索词的纠错,进而达到了提高对搜索词进行纠错的覆盖率和独立性的效果。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种搜索词的纠错方法和装置。
背景技术
在用户利用搜索词进行相关搜索时,通常需要对用户输入的搜索词进行查询纠错,现有技术中通常采用以下两种方式进行查询纠错:
1)基于用户会话(session)进行查询纠错,该查询纠错方式主要根据用户搜索的会话日志(session log),挖掘出用户主动改写的候选纠错对,作为纠错后的搜索词。
2)基于大量用户记录的转义概率纠错:此种查询纠错方式筛选点击量比较高的搜索日志作为正确的候选结果集,然后将搜索词(query)进行变换后,在候选集合中查找最相近的作为正确的搜索词。
以上两种进行查询纠错的方式,在对搜索词进行纠错过程中,存在以下缺点:
1)需要依赖大量的用户记录,在没有大量用户记录做支持的情况下,将导致无法对搜索词进行查询纠错;
2)对于用户意图较为发散,大而全的情况,无法将用户需求聚焦到一个领域。
针对相关技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种搜索词的纠错方法和装置,以至少解决现有技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的技术问题。
根据本发明实施例的一个方面,提供了一种搜索词的纠错方法。
根据本发明实施例的搜索词的纠错方法包括:获取搜索词,其中,所述搜索词为长尾关键词;拆分所述搜索词,得到多个第一搜索词片段;对每个所述第一搜索词片段进行纠错,得到纠错后的多个第二搜索词片段;拼接所述多个第二搜索词片段,得到候选结果;判断所述候选结果是否是关联数据库中的关联数据,其中,所述关联数据库中存储有多组纠错后的关联数据;以及在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词。
根据本发明实施例的另一方面,还提供了一种搜索词的纠错装置。
根据本发明实施例的搜索词的纠错装置包括:获取单元,用于获取搜索词,其中,所述搜索词为长尾关键词;拆分单元,用于拆分所述搜索词,得到多个第一搜索词片段;纠错单元,用于对每个所述第一搜索词片段进行纠错,得到纠错后的多个第二搜索词片段;拼接单元,用于拼接所述多个第二搜索词片段,得到候选结果;判断单元,用于判断所述候选结果是否是关联数据库中的关联数据,其中,所述关联数据库中存储有多组纠错后的关联数据;以及确定单元,用于在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词。
在本发明实施例中,采用获取搜索词,其中,所述搜索词为长尾关键词;拆分所述搜索词,得到多个第一搜索词片段;对每个所述第一搜索词片段进行纠错,得到纠错后的多个第二搜索词片段;拼接所述多个第二搜索词片段,得到候选结果;判断所述候选结果是否是关联数据库中的关联数据,其中,所述关联数据库中存储有多组纠错后的关联数据;以及在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词。通过对用户输入的搜索词进行获取,将整串切分成多个具有独立含义的多个片段,对每个片段进行纠错处理,再将每个片段的候选结果进行拼接,最后使用数据之间的关系对拼接的候选结果进行验证,在验证成功的情况下,确定拼接后的候选结果为对搜索词进行纠错后的目标搜索词,此种纠错方式不需要依赖用户记录,在没有大量用户记录做支持的情况下,仍然可以通过查询关联数据库的方式对搜索词进行查询纠错,解决了现有技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的问题,实现了可以不依赖用户记录对搜索词的纠错,进而达到了提高对搜索词进行纠错的覆盖率和独立性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的搜索词的纠错方法的硬件环境图;;
图2是根据本发明实施例的搜索词的纠错方法的流程图;
图3是根据本发明又一实施例的搜索词的纠错方法的流程图;
图4是根据本发明实施例的搜索词的纠错装置的示意图;以及
图5是实施本发明实施例的搜索词的纠错方法的服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对本发明实施例中所涉及的技术术语做如下解释:
查询纠错(Query Correct,简称QC):将用户输入的错误串修改为正确的表达方式;
资源:业务中的实体名,例如在音乐中:歌曲,歌手,MV,专辑等;在视频中:影视剧,导演,演员等;
关联:资源对之间通过某种连接存在关系,例如:歌手A演唱了歌曲B,则A和B之间有关联;演员C在某个影视剧D中的演员,则C和D存在关联;
置信度:也称为可靠度,或置信水平、置信系数,即在抽样对总体参数作出估计时,由于样本的随机性,其结论总是不确定的。因此,采用一种概率的陈述方法,也就是数理统计中的区间估计法,即估计值与总体参数在一定允许的误差范围以内,其相应的概率有多大,这个相应的概率称作置信度;
召回率:(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索***的查全率;精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索***的查准率;
目标关键词:是指经过关键词分析确定下来的网站“主打”关键词,通俗地讲指网站产品和服务的目标客户可能用来搜索的关键词;
长尾关键词:网站上非目标关键词但也可以带来搜索流量的关键词,称为长尾关键词。长尾关键词的特征是比较长,往往是2-3个词组成,甚至是短语,存在于内容页面,除了内容页的标题,还存在于内容中。例如,目标关键词是服装,其长尾关键词可以是男士服装、冬装、户外运动装等。
实施例1
根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种搜索词的纠错方法。
可选地,在本实施例中,上述搜索词的纠错方法可以应用于如图1所示的客户端102和服务器104所构成的硬件环境中。如图1所示,客户端102通过网络与服务器104进行连接,上述网络包括但不限于:广域网、城域网或局域网,客户端102可以是手机客户端,也可以是PC客户端、笔记本客户端或平板电脑客户端。
图2是根据本发明实施例的搜索词的纠错方法的流程图,如图2所示,该搜索词的纠错方法主要包括如下步骤S201至步骤S211:
S201:获取搜索词,其中,搜索词为长尾关键词,具体地,在用户利用客户端102进行搜索时,会通过客户端102的人机交互界面输入相关搜索串,该搜索串即为待纠错的搜索词。对待纠错的搜索词的获取,既可以通过监测客户端102的虚拟键盘或按键键盘获得,也可以通过监测客户端102的搜索词接收空间获得。
S203:拆分步骤S201中获取到的待纠错的搜索词,得到多个第一搜索词片段,即,将待纠错的搜索词切分成多个具有独立含义的片段,拆分所得的第一搜索词片段尽量保留愿意,对于中英文混合的待纠错的搜索词,将中文和英文分成不同的片段。
S205:对每个第一搜索词片段进行纠错,得到纠错后的多个第二搜索词片段,具体地,可以采用拼音纠错算法对每个第一搜索词片段进行纠错,也可以基于用户会话对每个第一搜索词片段进行纠错,还可以按照编辑距离算法对每个第一搜索词片段进行纠错,具体的纠错处理方式与传统的纠错处理方式相同,此处不再具体介绍。
S207:拼接多个第二搜索词片段,得到候选结果,即,将对多个第一搜索词片段进行纠错得到的多个第二搜索词片段重新组合成新的搜索词,确定该新的搜索词为候选结果。
S209:判断候选结果是否是关联数据库中的关联数据,其中,关联数据库中存储有多组纠错后的关联数据,即,判断重新组合的新的搜索词是否是关联数据库中的某一组关联数据。
S211:在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对搜索词进行纠错后的目标搜索词。由于关联数据库中存储的是一些已经纠错后的关联数据,所以,如果拼接后的候选结果是关联数据库中的关联数据,则说明能够通过候选结果准确地表示待纠错的搜索词的真正搜索目的,因此,可以确定候选结果为对搜索词进行纠错后的目标搜索词。
本发明实施例所提供的搜索词的纠错方法,通过对用户输入的搜索词进行获取,将整串切分成多个具有独立含义的多个片段,对每个片段进行纠错处理,再将每个片段的候选结果进行拼接,最后使用数据之间的关系对拼接的候选结果进行验证,在验证成功的情况下,确定拼接后的候选结果为对待纠错的搜索词进行纠错后的目标搜索词,此种纠错方式不需要依赖用户记录,在没有大量用户记录做支持的情况下,仍然可以通过查询关联数据库的方式对搜索词进行查询纠错,解决了现有技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的问题,实现了可以不依赖用户记录对搜索词的纠错,进而达到了提高对搜索词进行纠错的覆盖率和独立性的效果。
并且,采用将整串搜索词切分成多个具有独立含义的多个片段,对每个片段进行纠错的处理方式,实现了更加细致地对搜索词进行纠错,对于之前认为不需要纠错的,甚至在人的直觉上都是正确的搜索词,也可以进行纠错处理,达到了提高召回率的效果。此外通过利用对每个片段进行纠错,进而对多个纠错后的片段进行拼接得到候选结果,实现了最大程度地给出一个正确无误的目的搜索词,使得最终确定出的目的搜索词更为明确,达到了提高搜索词纠错的精确度。
具体地,在本发明实施例中,既可以按照前向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,也可以按照后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,其中,前向最大匹配方式用于按照第一顺序拆分待纠错的搜索词,第一顺序为待纠错的搜索词的首字符至尾字符的顺序,后向最大匹配方式则用于按照第二顺序拆分待纠错的搜索词,第二顺序为待纠错的搜索词的尾字符至首字符的顺序。举例说明如下:
按照前向最大匹配方式拆分待纠错的搜索词就是,从前往后对待纠错的搜索词进行取词,然后去词典查找有没有,根据查找的反馈结果确定分词是否成功,如果能够从词典数据库中查找到所取的词,则分词成功,无则减小这个词,继续去词典查找。例如,对于“我爱北京天安门”这个句子,首先取“我爱北京”(汉字最大词长一般是4个),去词典中没找到,然后去掉“京”,变为“我爱北”,又没找到,再去掉“北”,变成“我爱”,还没找到,去掉“爱”,只剩下一个“我”了,那么“我”这个单字就是一个词了,分好一个词,继续走,取“爱北京天”,继续前面的步骤,得到“爱”,继续取“北京天安”,这次得到的结果是“北京”,向后移动两个指针,继续取“天安门”,如果在词典中找到了“天安门”,分词结束,分词得到的结果是“我”、“爱”、“北京”和“天安门”。
按照后向最大匹配方式拆分待纠错的搜索词与按照前向最大匹配方式拆分待纠错的搜索词是相反的过程,后者是从前往后对待纠错的搜索词进行取词,前者则是从后往前对待纠错的搜索词进行取词。比如,对于“我爱北京天安门”这句话,先取“京天安门”,词典中没有找到,去掉“京”,剩“天安门”,找到,接下来取“我爱北京”,继续分词,最后得到拆分结果“我”、“爱”、“北京”和“天安门”。
在本发明实施例中,通过利用前向最大匹配方式或后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,实现对待纠错的搜索词进行快速的拆分,达到了提高搜索词的纠错速度,并且此种拆分方式具有拆分简单的优点,对搜索词进行拆分过程中消耗***内存较少,达到了提高运行速度,进而进一步提高了搜索词的纠错速度。
在本发明实施例中,对于某个第一搜索词片段而言,对它进行纠错得到的第二搜索词片段可能是多个,相应地,对第二搜索词片段进行拼接,得到的候选结果即为多个,例如:
待纠错的搜索词:给我一根烟jiangyuqin |
拆分后的一个第一搜索词片段:给我一根烟 |
拆分后的另一个第一搜索词片段:jiangyuqin |
假设对第一搜索词片段“给我一根烟”进行纠错,得到两个纠错结果:
拆分后的一个第一搜索词片段:给我一根烟 |
结果1:给我一支烟 |
结果2:借我一根烟 |
对第一搜索词片段“jiangyuqin”进行纠错,同样得到两个纠错结果:
拆分后的另一个第一搜索词片段:jiangyuqin |
结果1:姜瑜琴 |
结果2:姜宇清 |
则对第二搜索词片段进行拼接,得到的候选结果有四个:
候选结果1:给我一支烟 姜瑜琴 |
候选结果2:给我一支烟 姜宇清 |
候选结果3:给我一支烟 姜瑜琴 |
候选结果4:借我一根烟 姜宇清 |
对于候选结果的数量为多个的情况,如果多个候选结果中,只有其中某一个候选结果是关联数据库中的关联数据,则将这个候选结果确定为对待纠错的搜索词进行纠错后的目标搜索词。对于上述例子,如果候选结果1:“给我一支烟姜瑜琴”是关联数据库中的关联数据,而候选结果2:“给我一支烟姜宇清”、候选结果3:“借我一根烟姜瑜琴”和候选结果4:“借我一根烟姜宇清”均不是关联数据库中的关联数据,则确定候选结果1:“给我一支烟姜瑜琴”为对待纠错的搜索词“给我一根烟jiangyuqin”进行纠错后的目标搜索词。
如果多个候选结果均是关联数据库中的关联数据,则在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对待纠错的搜索词进行纠错后的目标搜索词包括如下步骤:首先,获取每个候选结果的热度,其中,热度表示候选结果被确定为目标搜索词的程度,也即,候选结果被确定为目标搜索词的资源使用度;然后,确定最高热度所表示的候选结果目标搜索词,即,对于多个候选结果均是关联数据库中的关联数据的情况,将其中一个热度最高的候选结果确定为目标搜索词。
优选地,在本发明实施例中,在拼接多个第二搜索词片段,得到候选结果过程中,可以先获取多个第一搜索词片段之间的相对先后顺序,其中,相对先后顺序为对待纠错的搜索词进行拆分产生的顺序;然后,按照获取到的相对先后顺序拼接多个第二搜索词片段,得到候选结果。
比如,对待纠错的搜索词“给我一根烟jiangyuqin”进行拆分,得到第一搜索词片段“给我一根烟”和第一搜索词片段“jiangyuqin”,二者之前的相对先后顺序是第一搜索词片段“给我一根烟”在第一搜索词片段“jiangyuqin”之前,第一搜索词片段“jiangyuqin”在第一搜索词片段“给我一根烟”之后,在拼接对第一搜索词片段“给我一根烟”进行纠错后的第二搜索词片段“给我一支烟”或“给我一支烟”和对第一搜索词片段“jiangyuqin”进行纠错后的第二搜索词片段“姜瑜琴”或“姜宇清”过程中,将第二搜索词片段“给我一支烟”或“给我一支烟”放在第二搜索词片段“姜瑜琴”或“姜宇清”之前。
通过获取第一搜索词片段之间的相对先后顺序,并按照获取到的相对先后顺序对第二搜索词片段进行拼接,得到候选结果,实现了保证目标搜索词与原搜索词具有相同的顺序,避免对原搜索词纠错过度,达到了保证纠错精确度的效果。
进一步地,在本发明实施例中,关联数据库可以是基于预设资源建立的数据库,对于该数据库的建立可以在获取待纠错的搜索词之前执行,即,本发明实施例的搜索词的纠错方法还包括:在获取待纠错的搜索词之前,基于预设资源建立关联数据库,其中,预设资源包括待纠错的搜索词的属性。比如,待纠错的搜索词是进行音乐搜索的词,则建立关联数据库时采用的预设资源可以是音乐领域内的资源,比如可以是包括歌曲的资源,可以是包括歌手的资源,可以是包括MV的资源,也可以是包括专辑等的资源。
具体地,在本发明实施例中,预设资源的数量可以为多个,在建立关联数据库过程则需要多个预设资源关联起来,在本发明实施例中,可以先对每个预设资源进行变换,然后基于变换后的预设资源建立关联数据库,以下以预设资源包括第一预设资源和第二预设资源为例,具体说明基于预设资源建立关联数据库的方式:
方式一:
首先,拆分第一预设资源中的字符串,得到多个第一候选串,每个第一候选串均可以作为第一预设资源的索引,并拆分第二预设资源中的字符串,得到多个第二候选串,每个第二候选串均可以作为第二预设资源的索引,其中,对字符串进行一次拆分,可以得到一系列半径在相同范围以内的候选串。例如:
某个字符串为abcde,则按照去掉一个字符的方式对该字符串进行拆分,可以得到一系列半径为1的候选串,按照去掉两个字符的方式对该字符串进行拆分,可以得到一系列半径为2的候选串,如表1所示:
表1
半径为1 | 半径为2 |
Index1:bcde | Index1:cde |
Index2:abde | Index2:ade |
Index3:abce | Index3:abe |
Index4:abcd | Index4:abc |
其次,从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串。
然后,将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据。即,将两个预设资源中具有关联关系的候选串对应存储起来,形成一个具有资源之间关系索引的关联数据库,比如,一个第一目标候选串为“时间都去哪儿了”,一个第二目标候选串为“王铮亮”,第一目标候选串和第二目标候选串之间的关联关系为:“时间都去哪儿了”是“王铮亮”所演唱的歌曲,则将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据具体可以是:
Doc1:时间都去哪儿了 |
Doc2:王铮亮 |
关系:Doc1是Doc2所演唱的歌曲 |
方式二:
首先,拆分第一预设资源中的字符串,得到多个第一候选串,每个第一候选串均可以作为第一预设资源的索引,并拆分第二预设资源中的字符串,得到多个第二候选串,每个第二候选串均可以作为第二预设资源的索引,其中,对字符串进行一次拆分,可以得到一系列半径在相同范围以内的候选串。例如:某个字符串为abcde,则按照去掉一个字符的方式对该字符串进行拆分,可以得到一系列半径为1的候选串,按照去掉两个字符的方式对该字符串进行拆分,可以得到一系列半径为2的候选串,如上表1所示。
其次,从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串。
然后,拼接第一目标候选串和第二目标候选串。
再然后,确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据。
即,将两个预设资源中具有关联关系的候选串拼接起来,形成一个新的资源,并将该新形成的资源作为关联数据库中的关联数据,比如,与第二目标候选串“王铮亮”具有关联关系的第一目标候选串包括“时间都去哪儿了”、“间都去哪儿了”、“时都去哪儿了”、“时间去哪儿了”、“时间都哪儿了”等,拼接第一目标候选串和第二目标候选串,再确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据具体可以是:
Index1:时间都去哪儿了 王铮亮 |
Index2:间都去哪儿了 王铮亮 |
Index3:时都去哪儿了 王铮亮 |
Index4:时间去哪儿了 王铮亮 |
Index5:时间都哪儿了 王铮亮 |
…… |
图3是根据本发明实施例的搜索词的纠错方法的流程图,如图3所示,基于建立的关联数据库对搜索词进行纠错的原理为:
首先,获取待纠错的搜索词,该搜索词为长尾关键词。
其次,对待纠错的搜索词进行拆分,得到多个第一搜索词片段。
然后,查询关联数据库,判断关联数据库中是否存储有多个第一搜索词片段的关联数据,如果有的话,则可以从关联数据库中直接得到纠错结果,如果没有的话,则需要对每个第一搜索词片段进行纠错,其中,多每个第一搜索词片段进行纠错可以调用资源数据库进行,具体接错方式可以采用现有技术中的任一种进行片段纠错的方式,在本发明实施例中,对此纠错方式不再具体赘述。
再然后,对纠错的后的片段进行拼接,得到候选结果,并再次调用关联数据库,对候选结果进行校验,最终得到对待纠错的搜索词进行纠错后的目标搜索词。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述搜索词的纠错方法的搜索词的纠错装置,该搜索词的纠错装置主要用于执行本发明实施例上述内容所提供的搜索词的纠错方法,以下对本发明实施例所提供的搜索词的纠错装置做具体介绍:
图4是根据本发明实施例的搜索词的纠错装置的示意图,如图4所示,该搜索词的纠错装置主要包括获取单元10、拆分单元20、纠错单元30、拼接单元40、判断单元50和确定单元60,其中:
获取单元10用于获取搜索词,其中,搜索词为长尾关键词,具体地,在用户利用客户端102进行搜索时,会通过客户端102的人机交互界面输入相关搜索串,该搜索串即为待纠错的搜索词。对待纠错的搜索词的获取,既可以通过监测客户端102的虚拟键盘或按键键盘获得,也可以通过监测客户端102的搜索词接收空间获得。
拆分单元20用于拆分获取单元10获取到的待纠错的搜索词,得到多个第一搜索词片段,即,将待纠错的搜索词切分成多个具有独立含义的片段,拆分所得的第一搜索词片段尽量保留愿意,对于中英文混合的待纠错的搜索词,将中文和英文分成不同的片段。
纠错单元30用于对每个第一搜索词片段进行纠错,得到纠错后的多个第二搜索词片段,具体地,可以采用拼音纠错算法对每个第一搜索词片段进行纠错,也可以基于用户会话对每个第一搜索词片段进行纠错,还可以按照编辑距离算法对每个第一搜索词片段进行纠错,具体的纠错处理方式与传统的纠错处理方式相同,此处不再具体介绍。
拼接单元40用于拼接多个第二搜索词片段,得到候选结果,即,将对多个第一搜索词片段进行纠错得到的多个第二搜索词片段重新组合成新的搜索词,确定该新的搜索词为候选结果。
判断单元50用于判断候选结果是否是关联数据库中的关联数据,其中,关联数据库中存储有多组纠错后的关联数据,即,判断重新组合的新的搜索词是否是关联数据库中的某一组关联数据。
确定单元60用于在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对搜索词进行纠错后的目标搜索词。由于关联数据库中存储的是一些已经纠错后的关联数据,所以,如果拼接后的候选结果是关联数据库中的关联数据,则说明能够通过候选结果准确地表示待纠错的搜索词的真正搜索目的,因此,可以确定候选结果为对搜索词进行纠错后的目标搜索词。
本发明实施例所提供的搜索词的纠错装置,通过对用户输入的搜索词进行获取,将整串切分成多个具有独立含义的多个片段,对每个片段进行纠错处理,再将每个片段的候选结果进行拼接,最后使用数据之间的关系对拼接的候选结果进行验证,在验证成功的情况下,确定拼接后的候选结果为对待纠错的搜索词进行纠错后的目标搜索词,此种纠错方式不需要依赖用户记录,在没有大量用户记录做支持的情况下,仍然可以通过查询关联数据库的方式对搜索词进行查询纠错,解决了现有技术中搜索词的查询纠错方式因需要依赖大量用户记录而导致的覆盖率较低的问题,实现了可以不依赖用户记录对搜索词的纠错,进而达到了提高对搜索词进行纠错的覆盖率和独立性的效果。
并且,采用将整串切分成多个具有独立含义的多个片段,对每个片段进行纠错的处理方式,实现了更加细致地对搜索词进行纠错,对于之前认为不需要纠错的,甚至在人的直觉上都是正确的搜索词,也可以进行纠错处理,达到了提高召回率的效果。此外通过利用对每个片段进行纠错,进而对多个纠错后的片段进行拼接得到候选结果,实现了最大程度地给出一个正确无误的目的搜索词,使得最终确定出的目的搜索词更为明确,达到了提高搜索词纠错的精确度。
具体地,在本发明实施例中,拆分单元20可以包括第一拆分模块和第二拆分模块,其中,第一拆分模块用于按照前向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,第二拆分模块用于按照后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,前向最大匹配方式用于按照第一顺序拆分待纠错的搜索词,第一顺序为待纠错的搜索词的首字符至尾字符的顺序,后向最大匹配方式用于按照第二顺序拆分待纠错的搜索词,第二顺序为待纠错的搜索词的尾字符至首字符的顺序。
举例说明如下:
按照前向最大匹配方式拆分待纠错的搜索词就是,从前往后对待纠错的搜索词进行取词,然后去词典查找有没有,根据查找的反馈结果确定分词是否成功,如果能够从词典数据库中查找到所取的词,则分词成功,无则减小这个词,继续去词典查找。例如,对于“我爱北京天安门”这个句子,首先取“我爱北京”(汉字最大词长一般是4个),去词典中没找到,然后去掉“京”,变为“我爱北”,又没找到,再去掉“北”,变成“我爱”,还没找到,去掉“爱”,只剩下一个“我”了,那么“我”这个单字就是一个词了,分好一个词,继续走,取“爱北京天”,继续前面的步骤,得到“爱”,继续取“北京天安”,这次得到的结果是“北京”,向后移动两个指针,继续取“天安门”,如果在词典中找到了“天安门”,分词结束,分词得到的结果是“我”、“爱”、“北京”和“天安门”。
按照后向最大匹配方式拆分待纠错的搜索词与按照前向最大匹配方式拆分待纠错的搜索词是相反的过程,后者是从前往后对待纠错的搜索词进行取词,前者则是从后往前对待纠错的搜索词进行取词。比如,对于“我爱北京天安门”这句话,先取“京天安门”,词典中没有找到,去掉“京”,剩“天安门”,找到,接下来取“我爱北京”,继续分词,最后得到拆分结果“我”、“爱”、“北京”和“天安门”。
在本发明实施例中,通过利用前向最大匹配方式或后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,实现对待纠错的搜索词进行快速的拆分,达到了提高搜索词的纠错速度,并且此种拆分方式具有拆分简单的优点,对搜索词进行拆分过程中消耗***内存较少,达到了提高运行速度,进而进一步提高了搜索词的纠错速度。
在本发明实施例中,对于某个第一搜索词片段而言,纠错单元30对它进行纠错得到的第二搜索词片段可能是多个,相应地,拼接单元40对第二搜索词片段进行拼接,得到的候选结果即为多个,例如:
待纠错的搜索词:给我一根烟jiangyuqin |
拆分后的一个第一搜索词片段:给我一根烟 |
拆分后的另一个第一搜索词片段:jiangyuqin |
假设对第一搜索词片段“给我一根烟”进行纠错,得到两个纠错结果:
拆分后的一个第一搜索词片段:给我一根烟 |
结果1:给我一支烟 |
结果2:借我一根烟 |
对第一搜索词片段“jiangyuqin”进行纠错,同样得到两个纠错结果:
拆分后的另一个第一搜索词片段:jiangyuqin |
结果1:姜瑜琴 |
结果2:姜宇清 |
则对第二搜索词片段进行拼接,得到的候选结果有四个:
候选结果1:给我一支烟 姜瑜琴 |
候选结果2:给我一支烟 姜宇清 |
候选结果3:给我一支烟 姜瑜琴 |
候选结果4:借我一根烟 姜宇清 |
对于候选结果的数量为多个的情况,如果多个候选结果中,只有其中某一个候选结果是关联数据库中的关联数据,则确定单元60将这个候选结果确定为对待纠错的搜索词进行纠错后的目标搜索词。对于上述例子,如果候选结果1:“给我一支烟姜瑜琴”是关联数据库中的关联数据,而候选结果2:“给我一支烟姜宇清”、候选结果3:“借我一根烟姜瑜琴”和候选结果4:“借我一根烟姜宇清”均不是关联数据库中的关联数据,则确定候选结果1:“给我一支烟姜瑜琴”为对待纠错的搜索词“给我一根烟jiangyuqin”进行纠错后的目标搜索词。
如果多个候选结果均是关联数据库中的关联数据,则确定单元60需要通过第一获取模块和第二确定模块来确定目标搜索词,其中,第一获取模块用于获取每个候选结果的热度,其中,热度表示候选结果被确定为目标搜索词的程度,也即,候选结果被确定为目标搜索词的资源使用度;第一确定模块用于确定最高热度所表示的候选结果目标搜索词,即,对于多个候选结果均是关联数据库中的关联数据的情况,将其中一个热度最高的候选结果确定为目标搜索词。
优选地,拼接单元40主要包括第二获取模块和第一拼接模块,其中,第二获取模块用于获取多个第一搜索词片段之间的相对先后顺序,其中,相对先后顺序为对待纠错的搜索词进行拆分产生的顺序;第一拼接模块用于按照相对先后顺序拼接多个第二搜索词片段,得到候选结果。
比如,对待纠错的搜索词“给我一根烟jiangyuqin”进行拆分,得到第一搜索词片段“给我一根烟”和第一搜索词片段“jiangyuqin”,二者之前的相对先后顺序是第一搜索词片段“给我一根烟”在第一搜索词片段“jiangyuqin”之前,第一搜索词片段“jiangyuqin”在第一搜索词片段“给我一根烟”之后,在拼接对第一搜索词片段“给我一根烟”进行纠错后的第二搜索词片段“给我一支烟”或“给我一支烟”和对第一搜索词片段“jiangyuqin”进行纠错后的第二搜索词片段“姜瑜琴”或“姜宇清”过程中,将第二搜索词片段“给我一支烟”或“给我一支烟”放在第二搜索词片段“姜瑜琴”或“姜宇清”之前。
通过获取第一搜索词片段之间的相对先后顺序,并按照获取到的相对先后顺序对第二搜索词片段进行拼接,得到候选结果,实现了保证目标搜索词与原搜索词具有相同的顺序,避免对原搜索词纠错过度,达到了保证纠错精确度的效果。
进一步地,本发明实施例所提供的搜索词的纠错装置还包括建立单元,在获取单元10获取待纠错的搜索词之前,建立单元用于基于预设资源建立关联数据库,其中,预设资源包括待纠错的搜索词的属性。比如,待纠错的搜索词是进行音乐搜索的词,则建立关联数据库时采用的预设资源可以是音乐领域内的资源,比如可以是包括歌曲的资源,可以是包括歌手的资源,可以是包括MV的资源,也可以是包括专辑等的资源。
具体地,在本发明实施例中,预设资源的数量可以为多个,在建立关联数据库过程则需要多个预设资源关联起来,在本发明实施例中,可以先对每个预设资源进行变换,然后基于变换后的预设资源建立关联数据库,以下以预设资源包括第一预设资源和第二预设资源为例,具体说明建立单元的结构组成:
结构一:建立单元主要包括第三拆分模块、第四拆分模块、第一提取模块和第一存储模块,具体地,第三拆分模块用于拆分第一预设资源中的字符串,得到多个第一候选串,每个第一候选串均可以作为第一预设资源的索引;第四拆分模块用于拆分第二预设资源中的字符串,得到多个第二候选串,每个第二候选串均可以作为第二预设资源的索引。例如:
某个字符串为abcde,则按照去掉一个字符的方式对该字符串进行拆分,可以得到一系列半径为1的候选串,按照去掉两个字符的方式对该字符串进行拆分,可以得到一系列半径为2的候选串,如上表1所示。
第一提取模块用于从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串。
第一存储模块用于将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据。即,将两个预设资源中具有关联关系的候选串对应存储起来,形成一个具有资源之间关系索引的关联数据库,比如,一个第一目标候选串为“时间都去哪儿了”,一个第二目标候选串为“王铮亮”,第一目标候选串和第二目标候选串之间的关联关系为:“时间都去哪儿了”是“王铮亮”所演唱的歌曲,则将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据具体可以是:
Doc1:时间都去哪儿了 |
Doc2:王铮亮 |
关系:Doc1是Doc2所演唱的歌曲 |
结构二:建立单元主要包括第五拆分模块、第六拆分模块、第二提取模块、第二拼接模块和第二确定模块,具体地,
第五拆分模块用于拆分第一预设资源中的字符串,得到多个第一候选串,每个第一候选串均可以作为第一预设资源的索引;第六拆分模块用于拆分第二预设资源中的字符串,得到多个第二候选串,每个第二候选串均可以作为第二预设资源的索引,其中,对字符串进行一次拆分,可以得到一系列半径在相同范围以内的候选串。例如:某个字符串为abcde,则按照去掉一个字符的方式对该字符串进行拆分,可以得到一系列半径为1的候选串,按照去掉两个字符的方式对该字符串进行拆分,可以得到一系列半径为2的候选串,如上表1所示。
第二提取模块用于从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串。
第二拼接模块用于拼接第一目标候选串和第二目标候选串。
第二确定模块用于确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据。
即,将两个预设资源中具有关联关系的候选串拼接起来,形成一个新的资源,并将该新形成的资源作为关联数据库中的关联数据,比如,与第二目标候选串“王铮亮”具有关联关系的第一目标候选串包括“时间都去哪儿了”、“间都去哪儿了”、“时都去哪儿了”、“时间去哪儿了”、“时间都哪儿了”等,拼接第一目标候选串和第二目标候选串,再确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据具体可以是:
Index1:时间都去哪儿了 王铮亮 |
Index2:间都去哪儿了 王铮亮 |
Index3:时都去哪儿了 王铮亮 |
Index4:时间去哪儿了 王铮亮 |
Index5:时间都哪儿了 王铮亮 |
…… |
从以上的描述中,可以看出,本发明实现了不需要依赖用户记录,在没有大量用户记录做支持的情况下,仍然可以通过查询关联数据库的方式对搜索词进行查询纠错,进而达到了提高对搜索词进行纠错的覆盖率和独立性的效果。
实施例3
根据本发明实施例,还提供了一种用于实施上述搜索词的纠错方法的服务器,如图5所示,该服务器主要包括处理器601、设备接口602、网络接口603、数据库604和存储器605,其中:
存储器605主要用于存储上述搜索词的纠错方法的程序代码,以及对纠错过程中的临时数据进行缓存。
数据库604用户存储上述搜索词的纠错方法执行过程中需要调用的数据库。
设备接口602和网络接口603主要用于连接客户端。
处理器601主要用于执行如下操作:
获取搜索词,其中,搜索词为长尾关键词;拆分搜索词,得到多个第一搜索词片段;对每个第一搜索词片段进行纠错,得到多个第二搜索词片段;拼接多个第二搜索词片段,得到候选结果;判断候选结果是否是关联数据库中的关联数据,其中,关联数据库中存储有多组纠错后的关联数据;以及在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对搜索词进行纠错后的目标搜索词。
处理器601还用于按照前向最大匹配方式拆分搜索词,得到多个第一搜索词片段,其中,前向最大匹配方式用于按照第一顺序拆分待纠错的搜索词,第一顺序为待纠错的搜索词的首字符至尾字符的顺序。
处理器601还用于按照后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,其中,后向最大匹配方式用于按照第二顺序拆分待纠错的搜索词,第二顺序为待纠错的搜索词的尾字符至首字符的顺序。
处理器601还用于获取每个候选结果的热度,其中,热度表示候选结果被确定为目标搜索词的程度;以及确定最高热度所表示的候选结果目标搜索词。
处理器601还用于获取多个第一搜索词片段之间的相对先后顺序,其中,相对先后顺序为对待纠错的搜索词进行拆分产生的顺序;以及按照相对先后顺序拼接多个第二搜索词片段,得到候选结果。
处理器601还用于基于预设资源建立关联数据库,其中,预设资源包括待纠错的搜索词的属性。
处理器601还用于拆分第一预设资源中的字符串,得到多个第一候选串;拆分第二预设资源中的字符串,得到多个第二候选串;从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串;以及将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据。
处理器601还用于拆分第一预设资源中的字符串,得到多个第一候选串;拆分第二预设资源中的字符串,得到多个第二候选串;从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串;拼接第一目标候选串和第二目标候选串;以及确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例搜索词的纠错方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取搜索词,其中,搜索词为长尾关键词;
S2,拆分待搜索词,得到多个第一搜索词片段;
S3,对每个第一搜索词片段进行纠错,得到多个第二搜索词片段。
S4,拼接多个第二搜索词片段,得到候选结果;
S5,判断候选结果是否是关联数据库中的关联数据,其中,关联数据库中存储有多组纠错后的关联数据;
S6,在判断出候选结果是关联数据库中的关联数据的情况下,确定候选结果为对搜索词进行纠错后的目标搜索词。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:按照前向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,其中,前向最大匹配方式用于按照第一顺序拆分待纠错的搜索词,第一顺序为待纠错的搜索词的首字符至尾字符的顺序。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:按照后向最大匹配方式拆分待纠错的搜索词,得到多个第一搜索词片段,其中,后向最大匹配方式用于按照第二顺序拆分待纠错的搜索词,第二顺序为待纠错的搜索词的尾字符至首字符的顺序。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取每个候选结果的热度,其中,热度表示候选结果被确定为目标搜索词的程度;以及确定最高热度所表示的候选结果目标搜索词。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取多个第一搜索词片段之间的相对先后顺序,其中,相对先后顺序为对待纠错的搜索词进行拆分产生的顺序;以及按照相对先后顺序拼接多个第二搜索词片段,得到候选结果。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:基于预设资源建立关联数据库,其中,预设资源包括待纠错的搜索词的属性。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:拆分第一预设资源中的字符串,得到多个第一候选串;拆分第二预设资源中的字符串,得到多个第二候选串;从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串;以及将第一目标候选串、第二目标候选串和第一目标候选串与第二目标候选串之间的关联关系存储为关联数据库中的关联数据。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:拆分第一预设资源中的字符串,得到多个第一候选串;拆分第二预设资源中的字符串,得到多个第二候选串;从多个第一候选串中提取第一目标候选串,并从多个第二候选串中提取第二目标候选串,其中,第一目标候选串和第二目标候选串为具有关联关系的候选串;拼接第一目标候选串和第二目标候选串;以及确定第一目标候选串和第二目标候选串的拼接结果为关联索引数据库中的关联数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种搜索词的纠错方法,其特征在于,包括:
获取搜索词;
拆分所述搜索词,得到多个第一搜索词片段;
对所述第一搜索词片段进行纠错,得到多个第二搜索词片段;
拼接所述多个第二搜索词片段,得到候选结果;
判断所述候选结果是否是关联数据库中的关联数据,其中,所述关联数据库中存储有多组纠错后的关联数据;以及
在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词。
2.根据权利要求1所述的纠错方法,其特征在于,拆分所述搜索词,得到多个第一搜索词片段包括:
按照前向最大匹配方式拆分所述搜索词,得到所述多个第一搜索词片段,其中,所述前向最大匹配方式用于按照第一顺序拆分所述搜索词,所述第一顺序为所述搜索词的首字符至尾字符的顺序。
3.根据权利要求1所述的纠错方法,其特征在于,拆分所述搜索词,得到多个第一搜索词片段包括:
按照后向最大匹配方式拆分所述搜索词,得到所述多个第一搜索词片段,其中,所述后向最大匹配方式用于按照第二顺序拆分所述搜索词,所述第二顺序为所述搜索词的尾字符至首字符的顺序。
4.根据权利要求1所述的纠错方法,其特征在于,所述候选结果的数量为多个,在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词包括:
获取每个所述候选结果的热度,其中,所述热度表示所述候选结果被确定为所述目标搜索词的程度;以及
确定最高热度所表示的候选结果所述目标搜索词。
5.根据权利要求1所述的纠错方法,其特征在于,拼接所述多个第二搜索词片段,得到候选结果包括:
获取所述多个第一搜索词片段之间的相对先后顺序,其中,所述相对先后顺序为对所述搜索词进行拆分产生的顺序;以及
按照所述相对先后顺序拼接所述多个第二搜索词片段,得到所述候选结果。
6.根据权利要求1所述的纠错方法,其特征在于,在获取搜索词之前,所述纠错方法还包括:
基于预设资源建立所述关联数据库,其中,所述预设资源包括所述搜索词的属性。
7.根据权利要求6所述的纠错方法,其特征在于,所述预设资源包括第一预设资源和第二预设资源,基于预设资源建立所述关联数据库包括:
拆分所述第一预设资源中的字符串,得到多个第一候选串;
拆分所述第二预设资源中的字符串,得到多个第二候选串;
从所述多个第一候选串中提取第一目标候选串,并从所述多个第二候选串中提取第二目标候选串,其中,所述第一目标候选串和所述第二目标候选串为具有关联关系的候选串;以及
将所述第一目标候选串、所述第二目标候选串和所述第一目标候选串与所述第二目标候选串之间的关联关系存储为所述关联数据库中的关联数据。
8.根据权利要求6所述的纠错方法,其特征在于,所述预设资源包括第一预设资源和第二预设资源,基于预设资源建立所述关联数据库包括:
拆分所述第一预设资源中的字符串,得到多个第一候选串;
拆分所述第二预设资源中的字符串,得到多个第二候选串;
从所述多个第一候选串中提取第一目标候选串,并从所述多个第二候选串中提取第二目标候选串,其中,所述第一目标候选串和所述第二目标候选串为具有关联关系的候选串;
拼接所述第一目标候选串和所述第二目标候选串;以及
确定所述第一目标候选串和所述第二目标候选串的拼接结果为所述关联数据库中的关联数据。
9.一种搜索词的纠错装置,其特征在于,包括:
获取单元,用于获取搜索词;
拆分单元,用于拆分所述搜索词,得到多个第一搜索词片段;
纠错单元,用于对所述第一搜索词片段进行纠错,得到多个第二搜索词片段;
拼接单元,用于拼接所述多个第二搜索词片段,得到候选结果;
判断单元,用于判断所述候选结果是否是关联数据库中的关联数据,其中,所述关联数据库中存储有多组纠错后的关联数据;以及
确定单元,用于在判断出所述候选结果是所述关联数据库中的关联数据的情况下,确定所述候选结果为对所述搜索词进行纠错后的目标搜索词。
10.根据权利要求9所述的纠错装置,其特征在于,所述拆分单元包括:
第一拆分模块,用于按照前向最大匹配方式拆分所述搜索词,得到所述多个第一搜索词片段,其中,所述前向最大匹配方式用于按照第一顺序拆分所述搜索词,所述第一顺序为所述搜索词的首字符至尾字符的顺序。
11.根据权利要求9所述的纠错装置,其特征在于,所述拆分单元还包括:
第二拆分模块,用于按照后向最大匹配方式拆分所述搜索词,得到所述多个第一搜索词片段,其中,所述后向最大匹配方式用于按照第二顺序拆分所述搜索词,所述第二顺序为所述搜索词的尾字符至首字符的顺序。
12.根据权利要求9所述的纠错装置,其特征在于,所述候选结果的数量为多个,所述确定单元包括:
第一获取模块,用于获取每个所述候选结果的热度,其中,所述热度表示所述候选结果被确定为所述目标搜索词的程度;以及
第一确定模块,用于确定最高热度所表示的候选结果所述目标搜索词。
13.根据权利要求9所述的纠错装置,其特征在于,所述拼接单元包括:
第二获取模块,用于获取所述多个第一搜索词片段之间的相对先后顺序,其中,所述相对先后顺序为对所述搜索词进行拆分产生的顺序;以及
第一拼接模块,用于按照所述相对先后顺序拼接所述多个第二搜索词片段,得到所述候选结果。
14.根据权利要求9所述的纠错装置,其特征在于,所述纠错装置还包括:
建立单元,用于基于预设资源建立所述关联数据库,其中,所述预设资源包括所述搜索词的属性。
15.根据权利要求14所述的纠错装置,其特征在于,所述预设资源包括第一预设资源和第二预设资源,所述建立单元包括:
第三拆分模块,用于拆分所述第一预设资源中的字符串,得到多个第一候选串;
第四拆分模块,用于拆分所述第二预设资源中的字符串,得到多个第二候选串;
第一提取模块,用于从所述多个第一候选串中提取第一目标候选串,并从所述多个第二候选串中提取第二目标候选串,其中,所述第一目标候选串和所述第二目标候选串为具有关联关系的候选串;以及
第一存储模块,用于将所述第一目标候选串、所述第二目标候选串和所述第一目标候选串与所述第二目标候选串之间的关联关系存储为所述关联数据库中的关联数据。
16.根据权利要求14所述的纠错装置,其特征在于,所述预设资源包括第一预设资源和第二预设资源,所述建立单元包括:
第五拆分模块,用于拆分所述第一预设资源中的字符串,得到多个第一候选串;
第六拆分模块,用于拆分所述第二预设资源中的字符串,得到多个第二候选串;
第二提取模块,用于从所述多个第一候选串中提取第一目标候选串,并从所述多个第二候选串中提取第二目标候选串,其中,所述第一目标候选串和所述第二目标候选串为具有关联关系的候选串;
第二拼接模块,用于拼接所述第一目标候选串和所述第二目标候选串;以及
第二确定模块,用于确定所述第一目标候选串和所述第二目标候选串的拼接结果为所述关联数据库中的关联数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410406835.7A CN104156454B (zh) | 2014-08-18 | 2014-08-18 | 搜索词的纠错方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410406835.7A CN104156454B (zh) | 2014-08-18 | 2014-08-18 | 搜索词的纠错方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156454A true CN104156454A (zh) | 2014-11-19 |
CN104156454B CN104156454B (zh) | 2018-09-18 |
Family
ID=51881952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410406835.7A Active CN104156454B (zh) | 2014-08-18 | 2014-08-18 | 搜索词的纠错方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156454B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570180A (zh) * | 2016-11-10 | 2017-04-19 | 北京百度网讯科技有限公司 | 基于人工智能的语音搜索方法及装置 |
CN106708893A (zh) * | 2015-11-17 | 2017-05-24 | 华为技术有限公司 | 搜索查询词纠错方法和装置 |
CN106919614A (zh) * | 2015-12-28 | 2017-07-04 | ***通信集团公司 | 一种信息处理方法及装置 |
CN107193921A (zh) * | 2017-05-15 | 2017-09-22 | 中山大学 | 面向搜索引擎的中英混合查询纠错的方法及*** |
CN109062903A (zh) * | 2018-08-22 | 2018-12-21 | 北京百度网讯科技有限公司 | 用于校正错别字的方法和装置 |
CN109800407A (zh) * | 2017-11-15 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 意图识别方法、装置、计算机设备和存储介质 |
CN110019295A (zh) * | 2017-09-25 | 2019-07-16 | 北京国双科技有限公司 | 数据库检索方法、装置、***以及存储介质 |
CN110134936A (zh) * | 2018-02-08 | 2019-08-16 | 北京搜狗科技发展有限公司 | 一种分词方法、装置及电子设备 |
CN110569441A (zh) * | 2019-09-16 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种搜索字符串纠错方法及装置 |
CN110795617A (zh) * | 2019-08-12 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种搜索词的纠错方法及相关装置 |
CN111382260A (zh) * | 2020-03-16 | 2020-07-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种检索文本纠错方法、装置和存储介质 |
CN111696545A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 语音识别纠错方法、装置以及存储介质 |
CN113535895A (zh) * | 2021-06-22 | 2021-10-22 | 北京三快在线科技有限公司 | 搜索文本处理方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080221863A1 (en) * | 2007-03-07 | 2008-09-11 | International Business Machines Corporation | Search-based word segmentation method and device for language without word boundary tag |
CN103198149A (zh) * | 2013-04-23 | 2013-07-10 | 中国科学院计算技术研究所 | 一种查询纠错方法和*** |
CN103886094A (zh) * | 2014-04-03 | 2014-06-25 | 江苏物联网研究发展中心 | 电子商务搜索引擎纠错扩展方法 |
CN103914444A (zh) * | 2012-12-29 | 2014-07-09 | 高德软件有限公司 | 一种纠错方法及其装置 |
CN103927330A (zh) * | 2014-03-19 | 2014-07-16 | 北京奇虎科技有限公司 | 一种在搜索引擎中确定形近字的方法和装置 |
-
2014
- 2014-08-18 CN CN201410406835.7A patent/CN104156454B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080221863A1 (en) * | 2007-03-07 | 2008-09-11 | International Business Machines Corporation | Search-based word segmentation method and device for language without word boundary tag |
CN103914444A (zh) * | 2012-12-29 | 2014-07-09 | 高德软件有限公司 | 一种纠错方法及其装置 |
CN103198149A (zh) * | 2013-04-23 | 2013-07-10 | 中国科学院计算技术研究所 | 一种查询纠错方法和*** |
CN103927330A (zh) * | 2014-03-19 | 2014-07-16 | 北京奇虎科技有限公司 | 一种在搜索引擎中确定形近字的方法和装置 |
CN103886094A (zh) * | 2014-04-03 | 2014-06-25 | 江苏物联网研究发展中心 | 电子商务搜索引擎纠错扩展方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708893A (zh) * | 2015-11-17 | 2017-05-24 | 华为技术有限公司 | 搜索查询词纠错方法和装置 |
WO2017084506A1 (zh) * | 2015-11-17 | 2017-05-26 | 华为技术有限公司 | 搜索查询词纠错方法和装置 |
CN106708893B (zh) * | 2015-11-17 | 2018-09-28 | 华为技术有限公司 | 搜索查询词纠错方法和装置 |
CN106919614A (zh) * | 2015-12-28 | 2017-07-04 | ***通信集团公司 | 一种信息处理方法及装置 |
CN106570180B (zh) * | 2016-11-10 | 2020-05-22 | 北京百度网讯科技有限公司 | 基于人工智能的语音搜索方法及装置 |
CN106570180A (zh) * | 2016-11-10 | 2017-04-19 | 北京百度网讯科技有限公司 | 基于人工智能的语音搜索方法及装置 |
CN107193921A (zh) * | 2017-05-15 | 2017-09-22 | 中山大学 | 面向搜索引擎的中英混合查询纠错的方法及*** |
CN107193921B (zh) * | 2017-05-15 | 2020-02-07 | 中山大学 | 面向搜索引擎的中英混合查询纠错的方法及*** |
CN110019295B (zh) * | 2017-09-25 | 2021-07-27 | 北京国双科技有限公司 | 数据库检索方法、装置、***以及存储介质 |
CN110019295A (zh) * | 2017-09-25 | 2019-07-16 | 北京国双科技有限公司 | 数据库检索方法、装置、***以及存储介质 |
CN109800407A (zh) * | 2017-11-15 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 意图识别方法、装置、计算机设备和存储介质 |
CN109800407B (zh) * | 2017-11-15 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 意图识别方法、装置、计算机设备和存储介质 |
CN110134936A (zh) * | 2018-02-08 | 2019-08-16 | 北京搜狗科技发展有限公司 | 一种分词方法、装置及电子设备 |
CN109062903A (zh) * | 2018-08-22 | 2018-12-21 | 北京百度网讯科技有限公司 | 用于校正错别字的方法和装置 |
CN111696545A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 语音识别纠错方法、装置以及存储介质 |
CN111696545B (zh) * | 2019-03-15 | 2023-11-03 | 北京汇钧科技有限公司 | 语音识别纠错方法、装置以及存储介质 |
CN110795617A (zh) * | 2019-08-12 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种搜索词的纠错方法及相关装置 |
CN110569441A (zh) * | 2019-09-16 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 一种搜索字符串纠错方法及装置 |
CN111382260A (zh) * | 2020-03-16 | 2020-07-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种检索文本纠错方法、装置和存储介质 |
CN113535895A (zh) * | 2021-06-22 | 2021-10-22 | 北京三快在线科技有限公司 | 搜索文本处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104156454B (zh) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156454A (zh) | 搜索词的纠错方法和装置 | |
CN106649818B (zh) | 应用搜索意图的识别方法、装置、应用搜索方法和服务器 | |
US10795939B2 (en) | Query method and apparatus | |
CN107992585B (zh) | 通用标签挖掘方法、装置、服务器及介质 | |
CN111737499B (zh) | 基于自然语言处理的数据搜索方法及相关设备 | |
CN107301170B (zh) | 基于人工智能的切分语句的方法和装置 | |
CN104133877B (zh) | 软件标签的生成方法和装置 | |
CN111831802B (zh) | 一种基于lda主题模型的城市领域知识检测***及方法 | |
CN112989055B (zh) | 文本识别方法、装置、计算机设备和存储介质 | |
CN103885608A (zh) | 一种输入方法及*** | |
CN108304424B (zh) | 文本关键词提取方法及文本关键词提取装置 | |
CN110147494B (zh) | 信息搜索方法、装置,存储介质及电子设备 | |
CN110321437B (zh) | 一种语料数据处理方法、装置、电子设备及介质 | |
CN108304377B (zh) | 一种长尾词的提取方法及相关装置 | |
CN109933708A (zh) | 信息检索方法、装置、存储介质及计算机设备 | |
CN112395867A (zh) | 同义词挖掘方法、装置、存储介质及计算机设备 | |
CN103870553A (zh) | 一种输入资源推送方法及*** | |
CN111198936B (zh) | 一种语音搜索方法、装置、电子设备及存储介质 | |
CN111078858A (zh) | 文章搜索方法、装置及电子设备 | |
CN110245357B (zh) | 主实体识别方法和装置 | |
CN111125305A (zh) | 热门话题确定方法、装置、存储介质及电子设备 | |
CN111078849A (zh) | 用于输出信息的方法和装置 | |
CN110991169A (zh) | 一种风险内容变种的识别方法、装置及电子设备 | |
US9946765B2 (en) | Building a domain knowledge and term identity using crowd sourcing | |
CN111488510A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |