CN114328798A - 搜索文本的处理方法、装置、设备、存储介质和程序产品 - Google Patents
搜索文本的处理方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114328798A CN114328798A CN202111321869.2A CN202111321869A CN114328798A CN 114328798 A CN114328798 A CN 114328798A CN 202111321869 A CN202111321869 A CN 202111321869A CN 114328798 A CN114328798 A CN 114328798A
- Authority
- CN
- China
- Prior art keywords
- word
- words
- commodity
- wrongly
- potential
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000012937 correction Methods 0.000 claims abstract description 149
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000011218 segmentation Effects 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000004590 computer program Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000004140 cleaning Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000012634 fragment Substances 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 239000000843 powder Substances 0.000 description 15
- 238000005065 mining Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 238000013136 deep learning model Methods 0.000 description 7
- 241000237858 Gastropoda Species 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 229920000742 Cotton Polymers 0.000 description 4
- 240000007594 Oryza sativa Species 0.000 description 4
- 235000007164 Oryza sativa Nutrition 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 235000009566 rice Nutrition 0.000 description 4
- 241000282320 Panthera leo Species 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000012149 noodles Nutrition 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 244000141359 Malus pumila Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009833 condensation Methods 0.000 description 2
- 230000005494 condensation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 244000291564 Allium cepa Species 0.000 description 1
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 206010033557 Palpitations Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000013312 flour Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002147 killing effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种搜索文本的处理方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取用于搜索商品的搜索文本;基于对从商品语料库中提取的商品词进行纠错得到商品词库,对搜索文本进行分词处理,得到词序列;将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词;基于拼音编辑距离,查找用于纠正潜在错别词的候选词;使用通过纠错后的商品语料库对语言模型进行训练得到的商品词语言模型,确定潜在错别词及各候选词的语句通顺度;当潜在错别词与目标候选词的语句通顺度满足替换条件时,将搜索文本中的潜在错别词替换为目标候选词,得到纠错文本。该方法适用于商品搜索场景中。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种搜索文本的处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着移动互联网技术的发展,网上购物变得更加便捷,用户经常在电商平台搜索商品进行购买。受限于用户的知识和习惯,或是中文场景下的拼音输入法和手写输入法引起的错误,用户很容易输入包含错别字的搜索词,在没有纠错的情况下会导致无法搜索到想购买的商品。在商品搜索场景下,大约有2.5%左右的搜索词包含错别字。
近年来,深度学习发展迅速,一些基于神经网络的深度学习模型在文本处理领域效果显著,但是在商品搜索场景中,搜索词通常为短文本,上下文信息的缺乏导致深度学习模型无法在商品搜索场景中发挥效用。此外,由于深度学习模型的纠错流程较为复杂,亦无法较好的支持实时搜索场景。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升对搜索文本的纠错效果与效率的搜索文本的处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种搜索文本的处理方法。所述方法包括:
获取用于搜索商品的搜索文本;
基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
第二方面,本申请还提供了一种搜索文本的处理装置。所述装置包括:
获取模块,用于获取用于搜索商品的搜索文本;
分词模块,用于基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
潜在错别词确定模块,用于将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
候选词召回模块,用于基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
语句通顺度计算模块,用于使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
替换模块,用于当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
在一个实施例中,所述装置还包括:
商品词挖掘模块,用于基于商品语料库中的商品描述文本提取商品词,得到原始词库;
数据清洗模块,用于对所述原始词库中的商品词进行数据清洗,得到所述原始词库中的错别词;根据所述错别词以及所述错别词的纠错词,生成纠错对;使用所述纠错对纠正提取的原始词库,得到所述商品词库。
在一个实施例中,所述商品词挖掘模块,还用于基于所述商品语料库中的商品描述文本,统计候选商品词的左熵与右熵;根据组成所述候选商品词的片段的频次,计算所述候选商品词的期望出现概率,根据所述候选商品词的词频,计算所述候选商品词的实际出现概率,基于所述期望出现概率与所述实际出现概率,计算所述候选商品词的互信息;根据所述候选商品词的左熵与右熵,以及所述候选商品词的实际出现概率与互信息,计算所述候选商品词的成词分数;当所述成词分数大于预设阈值时,将所述候选商品词作为提取的商品词。
在一个实施例中,所述数据清洗模块,还用于将所述原始词库中的商品词,输入搜索引擎发起搜索请求;当所述搜索引擎响应于所述搜索请求,反馈关于所述商品词的替换词时,则判定所述商品词为错别词,并根据所述商品词与所述替换词生成纠错对。
在一个实施例中,所述数据清洗模块,还用于使用已知的正确商品词中每个字的混淆字,对所述正确商品词中的字进行替换,生成错别词;所述混淆字包括同音字、近音字和形近字中的至少一种;当所述错别词为所述原始词库的商品词时,则将所述错别词标注为所述原始词库中的错别词;根据所述错别词与所述正确商品词生成纠错对。
在一个实施例中,所述数据清洗模块,还用于基于所述原始词库中商品词的拼音,对所述原始词库中的商品词进行聚合;将各聚类簇中除已知的正确商品词以外的商品词,标注为所述原始词库中的错别词,并根据所述错别词与所述已知的正确商品词,生成纠错对。
在一个实施例中,所述分词模块,还用于基于所述商品词库,采用基于词典规则的匹配方式,将所述搜索文本进行分词处理,得到词序列;所述基于词典规则的匹配方式为正向最长匹配、逆向最长匹配和双向最长匹配的方式中的一种。
在一个实施例中,所述候选词召回模块,还用于确定所述潜在错别词的拼音和预设的拼音编辑距离;确定与所述潜在错别词的拼音在所述预设的拼音编辑距离内的目标拼音;在扩充词库中,查询与所述目标拼音对应的词,作为用于纠正所述潜在错别词的候选词;其中,所述扩充词库是按所述预设的拼音编辑距离对所述商品词库中的商品词进行扩充后得到的。
在一个实施例中,所述候选词召回模块,还用于查找与所述单独字对应的混淆字;所述混淆字包括同音字、近音字和形近字中的至少一种;将所述潜在错别词中的所述单独字替换为所述混淆字后,得到用于纠正所述潜在错别词的候选词。
在一个实施例中,所述装置还包括语言模型训练模块,用于基于所述纠错对清洗所述商品语料库,得到纠错后的商品语料库;对所述纠错后的商品语料库进行文字预处理,得到高质量商品语料库;使用所述高质量商品语料库训练三元语言模型,得到商品词三元语言模型。
在一个实施例中,所述语句通顺度计算模块,还用于分别确定所述潜在错别词、各所述候选词中每个字的字频以及每个字与前向字符的共现频率;根据所述字频以及所述共现频率,计算得到所述潜在错别词及各所述候选词的困惑度,所述语句通顺度与所述困惑度成反相关。
在一个实施例中,所述装置还包括判定模块,用于从各所述候选词中,确定所述困惑度最低的目标候选词;当所述潜在错别词的困惑度大于所述目标候选词的困惑度,且所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异大于替换阈值时,则判定所述潜在错别词与所述目标候选词满足所述替换条件;当所述潜在错别词的困惑度大于所述目标候选词的困惑度,且所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异小于替换阈值时,或者,当所述潜在错别词的困惑度小于所述目标候选词的困惑度时,则判定所述潜在错别词与所述目标候选词不满足所述替换条件。
在一个实施例中,所述判定模块,还用于确定所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异的预设最小阈值;根据所述潜在错别词的困惑度计算所述潜在错别词的动态阈值;将所述预设最小阈值与所述潜在错别词的的动态阈值中的较大值,作为所述替换阈值。
在一个实施例中,所述装置还包括:
匹配模块,用于当所述潜在错别词与所述目标候选词不满足所述替换条件时,则从商品库中查找与所述搜索文本匹配的目标商品;当所述潜在错别词与所述目标候选词满足所述替换条件时,从商品库中查找与所述纠错文本匹配的目标商品;
返回模块,用于响应于包含所述搜索文本的搜索请求,返回所述目标商品。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用于搜索商品的搜索文本;
基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取用于搜索商品的搜索文本;
基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取用于搜索商品的搜索文本;
基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
上述搜索文本的处理方法、装置、计算机设备、存储介质和计算机程序产品,商品词库基于对从商品语料库的商品描述文本中提取的商品词进行纠错得到,商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到,能够避免由于商品语料库的商品描述文本的本身错误而导致的商品词库与语言模型的质量问题。一方面,高质量的商品词库,可以保证基于商品词库对搜索文本进行分词的准确性,分词的准确性进一步提升定位搜索文本中的潜在错别词的准确性,保证最终对搜索文本纠错的准确性。另一方面,基于拼音编辑距离直接召回用于纠正潜在错别词的候选词,再利用高质量的商品词语言模型计算潜在错别词与候选词的语句通顺度,基于语句通顺度判定是否要使用候选词对潜在错别词进行替换,能够保证纠错文本的质量。此外,本方法结合高质量的商品词库、高质量的商品词语言模型进行纠错的流程,相比于基于深度学习模型的复杂纠错流程,可在提升纠错的准确性的同时,大大降低整体耗时,可应用在实时搜索场景中。
附图说明
图1为一个实施例中搜索文本的处理方法的应用环境图;
图2为一个实施例中在搜索界面中搜索商品的界面示意图;
图3为一个实施例中搜索文本的处理方法的流程示意图;
图4为一个实施例中对搜索文本进行纠错的架构示意图;
图5为一个实施例中商品标题的示意图;
图6为一个实施例中生成商品词库的步骤的流程示意图
图7为一个实施例中混淆字集的示意图;
图8为一个实施例中生成的纠错对的示意图;
图9为一个具体的实施例中错误检测的流程示意图;
图10为一个实施例中候选召回的示意图;
图11为一个实施例中对候选词进行排序的示意图;
图12为一个具体的实施例中候选排序的流程示意图;
图13为一个具体的实施例中搜索文本的处理方法的流程示意图;
图14为一个实施例中搜索文本的处理装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了便于理解本申请的实施例,下面先对本申请的实施例中的一些名词进行解释。
文本纠错:用户在输入文本时,由于用户输入法或者用户自身的知识与习惯,导致输入的文本出现错字。商品搜索场景下,需通过识别输入的文本中的错别字,对错别字进行纠正,以向用户展示纠错后的文本对应的商品信息。
错误识别(Error Detection):检测文本中错别字出现的位置。
错误纠正(Error Correction):在错误识别的基础上进行纠正。
语言模型:用于对文本序列评估符合人类语言使用习惯程度的模型。
马尔科夫假设(Markov Assumption):句子中一个词的出现仅与它之前的若干词相关。
三元语言模型(tri-gram):是指是指在语言当中,一个字(或一个拼音或一个英文单词)的出现与其所在句子中的前两个字(或前两个拼音或前两个英文单词)有关。
困惑度(perplexity):度量文本概率分布或概率模型的预测结果与样本的契合程度,困惑度越低文本越通顺。
编辑距离(edit distance):指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。
拼音编辑距离:指两个词语之间,由一个词语的拼音转成另一个词语的拼音所需的最少编辑操作次数。
混淆集:每个字对应的混淆字构成的集合。混淆字包括同音字、近音字或形近字中的至少一种。
过纠率(False Acceptance Rate,FAR):又称误识率,指正确文本被纠错的数量/正确文本的数量。
召回率:指错误文本被纠正的数量/错误文本的总数量。
精确率:指错误文本被正确纠正的数量/错误文本的总数量。
分词:指将一个文本序列切分成一个一个单独的词,得到词序列。
BERT:一种语言预训练模型,在许多文本任务中表现较佳。
本申请实施例提供的搜索文本的处理方法,可以应用于如图1所示的应用环境中。该应用环境包括终端102和服务器104。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他网络服务器上。
在一个实施例中,服务器104可以基于商品语料库中的商品描述文本,采用无监督新词挖掘方式从中提取商品词,并对提取的商品词进行纠错,得到商品词库。该高质量的商品词库,可以保证基于商品词库对搜索文本进行分词的准确性,分词的准确性进一步提升定位搜索文本中的潜在错别词的准确性,保证最终对搜索文本纠错的准确性。服务器104还可以基于提取的商品词和纠错后的商品词,生成纠错对。服务器104还可以基于该纠错对,对商品语料库进行数据清洗,得到纠错后的商品语料库,并基于纠错后的商品语料库训练语言模型,获得商品词语言模型,能够避免由于商品语料库的商品描述文本的本身错误而导致的语言模型的质量问题。
在一个实施例中,在终端102获取用户输入的搜索文本后,可基于该搜索文本发起搜索请求,将该搜索请求发送至服务器104。服务器104可以基于该搜索请求获取用户输入的搜索文本,基于商品词库对该搜索文本进行分词处理,得到词序列,将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词,继而,基于拼音编辑距离,查找用于纠正潜在错别词的候选词,再使用商品词语言模型,确定潜在错别词及各候选词的语句通顺度,当潜在错别词与目标候选词的语句通顺度满足替换条件时,将搜索文本中的潜在错别词替换为目标候选词,得到纠错文本。在一个实施例中,服务器104还可以响应于该搜索请求,向终端102返回与纠错文本匹配的目标商品信息。
当然,也可以是,在终端102获取用户输入的搜索文本后,终端102本身采用本申请提供的搜索文本的处理方法,对搜索文本进行纠错后获得纠错文本,再将该纠错文本返回至服务器104,再接收服务器104返回的与该纠错文本匹配的目标商品信息。对于本申请提供的搜索文本的处理方法,在图1所示的应用环境中,可以由终端102执行,也可以由服务器104执行,本申请对此不作限定。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,终端102安装有能够提供商品在线搜索或在线购买的应用程序,该应用程序可以实现对商品信息的展示。用户可以通过键盘、触摸板、触摸屏等语音交互或手写设备,在该应用程序中输入搜索文本,实现对商品的搜索。相应地,服务器104可以是为该应用程序提供服务的计算机设备。
如图2所示,为一个实施例中在搜索界面中搜索商品的界面示意图。图2的(a)部分,是未对搜索文本进行纠错处理所展示的搜索界面,图2的(b)部分,是对搜索文本进行纠错处理后所展示的搜索界面。其中,搜索文本为“凉衣绳”,其包含错别字“凉”,在未对该搜索文本进行纠错处理的情况下,用户无法搜索到与其意图搜索的商品“晾衣绳”相关的商品信息,而在对该搜索文本进行纠错处理的情况下,用户可以搜索到与其意图搜索的商品“晾衣绳”相关的商品信息。示意性的,参照图2的(b)部分,可以向用户提示“您要找的是不是【晾衣绳】”,同时在搜索界面中展示关于“晾衣绳”的商品列表,以供用户查看。
在一个实施例中,如图3所示,提供了一种搜索文本的处理方法,以该方法应用于图1中的计算机设备(终端102或服务器104)为例进行说明,包括以下步骤:
步骤302,获取用于搜索商品的搜索文本。
其中,搜索文本是用于搜索商品的文本。可以理解,电商搜索场景下,搜索文本大多数情况下为没有上下文的短文本,例如,“螺蛳粉”、“晾衣架”、“洗衣机”、“手机”、“纯棉针织衫”等等。
在一个实施例中,终端可以获取在应用程序的商品搜索界面中,输入的搜索文本,响应该输入的搜索文本,向服务器发起搜索请求,服务器接收该搜索请求,从该搜索请求中获取用于搜索商品的搜索文本,再执行步骤404至步骤412得到纠错文本后,响应该搜索请求,向终端返回与纠错文本匹配的目标商品信息。
在一个实施例中,终端可以获取在应用程序的商品搜索界面中,输入的搜索文本,响应该输入的搜索文本,执行步骤402至步骤412得到纠错文本后,再根据该纠错文本向服务器发起搜索请求,接收服务器返回的与纠错文本匹配的目标商品信息。
需要说明的是,本申请实施例对能够提供商品搜索的应用程序的类型不加以限定,示例性地,能够提供商品搜索的应用程序为在线购物类应用程序、短视频类应用程序、社交类应用程序、互动娱乐类应用程序等,能够提供商品搜索的应用程序还可以小程序、网页等等。不同类型的应用程序提供的商品类型可能不同,例如可以是日用商品、美妆类商品、鲜食蔬果、电子产品、书籍类商品等等,应用程序提供的商品还可以包括上述所有类型。本申请实施例对此不加以限定。
步骤304,基于商品词库对搜索文本进行分词处理,得到词序列;商品词库基于对从商品语料库中提取的商品词进行纠错得到,商品语料库包括商品描述文本。
其中,分词处理是指将一段文本或语句分割成多个词得到词序列的过程,该多个词中可以包括单独字。例如,搜索文本为“纯棉针织衫”,分词处理后得到的词序列为{纯棉/针织衫},又例如,搜索文本为“夏连衣裙”,分词处理后得到的词序列为{夏/连衣裙}。
商品词库是高质量的商品词构成的词典,基于高质量的商品词库对搜索文本进行分词处理,分词更准确,进一步提升定位搜索文本中的潜在错别词的准确性,保证最终对搜索文本纠错的准确性。
商品语料库,是商品搜索场景下的商品描述文本构成的语料库。商品描述文本是用于描述商品信息的文本,包括但不限于商品标题文本、商品详情文本、商品属性文本等等,商品描述文本还可以是对商品图片进行光学字符识别获得的文本。例如,商品描述文本可以是“XX同款秋冬纯棉显瘦打底连衣裙”。
如图4所示,为一个实施例中对搜索文本进行纠错的架构示意图。参照图4,其流程的实现主要包括三个步骤:错误检测、候选召回、候选排序。错误检测,是指检测出搜索文本中可能的错别词的过程,也就是找出搜索文本中潜在错别词的过程。候选召回,是指对找出的潜在错别词进行替换,召回一批候选词的过程。候选排序,是指对所有召回的候选词判断语义通顺度后进行排序,从而确定最终的纠错文本的过程。
关于错误检测,由于商品搜索场景下,搜索文本通常为短文本,短文本往往缺乏文本的上下文知识,相关技术中虽然提出了很多新的错误检测方式,但均需参考文本的上下文信息,故这些错误检测方式在短文本中效果不佳。为应对该问题,本申请基于分词的方式进行错误检测,并给出了如何更好的基于分词的方式进行错误检测。
本申请中,基于对搜索文本进行分词处理后得到的词序列中,单独字未能和其上文构成一个独立商品词,该单独字为错别字的可能性极高的思路,为了检测搜索文本中错误可能产生的位置,需要对搜索文本进行分词处理。可以理解,好的分词效果可以更好地提高错误检测的准确率。
具体地,计算机设备可以使用高质量的商品词库,采用词典匹配的方式对搜索文本进行分词处理,得到词序列。在商品词库的质量得到保证的前提下,错误检测的效果就能得到保证,从而保证最终的纠错效果。
在一个实施例中,计算机设备可以采用预设的分词器,基于商品词库对搜索文本进行分词,例如QQ分词器、结巴分词器、ik分词器,等等。相较而言,QQ分词器在分词准确度、分析速度等指标上具有更优表现。
例如,输入的存在错别字“冲”的搜索文本为“冲电宝”,分词处理后得到的词序列为{冲\电\宝},又例如,输入的存在错别字“群”的搜索文本为“群子”,分词处理后得到的词序列为{群\子}。
在一个实施例中,计算机设备可以基于商品词库,采用基于词典规则的匹配方式,将搜索文本进行分词处理,得到词序列;基于词典规则的匹配方式为正向最长匹配、逆向最长匹配和双向最长匹配的方式中的一种。
对于正向最长匹配这种方式来说,是指对搜索文本从前往后进行取词,假设,商品词库中最长的商品词包含4个汉字,对搜索文本“秋冬薄款连帽羽绒服”进行分词,正向最长匹配的流程为:
第一轮:正向从前往后选取4个汉字,即“秋冬薄款”,查找商品词库中没有这个商品词,匹配失败;减少一个汉字,即“秋冬薄”,查找若商品词库中没有这个商品词,匹配失败;再减少一个汉字,即“秋冬”,查找商品词库中有这个商品词,匹配成功;结束第一轮扫描后输出该搜索文本中的第一个词“秋冬”,并去除“秋冬”后开始第二轮扫描。
第二轮:对“薄款连帽羽绒服”正向从前往后选取4个汉字,即“薄款连帽”,查找商品词库中没有这个商品词,匹配失败;减少一个汉字,即“薄款连”,查找商品词库中没有这个商品词,匹配失败;减少一个汉字,即“薄款”,查找商品词库中有这个商品词,匹配成功;结束第二轮扫描后输出该搜索文本中的第二个词“薄款”,并去除“薄款”后开始第三轮扫描。
以此类推,依次进行第三次、第四次以及第五次扫描,得到对应的词序列为{秋冬/薄款/连帽/羽绒服}。
类似地,对于逆向最长匹配这种方式来说,是指对搜索文本从后往前进行取词,并逐次与商品词库中的商品词进行匹配并输出每个词的过程。对于双向最长匹配这种方式来说,是指同时按照正向最长匹配与逆向最长匹配这两种方式分别对搜索文本进行分词,当两种方式得到的两个词序列不一致时,可以将其中词语数量少的词序列作为最终的分词结果。
为了提高在商品搜索场景下对搜索文本的分词效果,计算机设备是基于该商品搜索场景下的商品词库进行分词的。计算机设备可以利用商品语料库中大量商品描述文本进行商品词的挖掘,可以挖掘出大量的商品词,包括一些新词或者品牌词等等。
但是,由于商品销售方常常为了扩大搜索命中率或者销售方本身的输入错误,原始的商品语料库中商品描述文本本身就存在大量错别字,这个占比大约为5%左右。例如,图5所示的商品标题为:“***螺蛳粉广西柳州特产米粉米线酸辣粉螺丝粉馋猫游记螺狮粉”,其中的“螺丝粉”、“螺狮粉”均为“螺蛳粉”的错别词,如果不对从商品语料库中挖掘出的商品词进行纠错,则商品词库将会包含大量的错别词,从而影响分词效果,最终导致将搜索文本中的错别词作为正确结果,使得无法对搜索文本中本身存在的错别字进行有效纠错,只能召回标题存在错别字的商品信息甚至无法召回商品信息。
因此,为了得到高质量的商品词库,在步骤304之前,服务器可以采用无监督新词挖掘方式,从商品语料库中挖掘出大量的商品词,再对挖掘出的商品词进行纠错处理,获得由这些正确的商品词构成的商品词库。在得到该商品词库后,服务器可以基于该商品词库,对搜索文本进行分词处理,得到搜索文本对应的词序列。无监督新词挖掘方式,主要是基于商品语料库,计算字词与字词形成一个新词的分数,这个分数可以根据词的左熵、右熵、凝合度、互信息等计算得到。
如图6所示,为一个实施例中生成商品词库的步骤的流程示意图。参照图6,包括步骤602至步骤608:
步骤602,基于商品语料库中的商品描述文本提取商品词,得到原始词库。
在一个实施例中,步骤602包括:基于商品语料库中的商品描述文本,统计候选商品词的左熵与右熵;根据组成候选商品词的片段的频次,计算候选商品词的期望出现概率,根据候选商品词的词频,计算候选商品词的实际出现概率,基于期望出现概率与实际出现概率,计算候选商品词的互信息;根据候选商品词的左熵与右熵,以及候选商品词的实际出现概率与互信息,计算候选商品词的成词分数;当成词分数大于预设阈值时,将候选商品词作为提取的商品词。
在一个实施例中,还可以根据组成候选商品词的片段的左熵与右熵、候选商品词的左熵与右熵、候选商品词的互信息,以及候选商品词的实际出现概率,计算候选商品词的成词分数。
其中,一个词的信息熵能够反应这个词是否能处于各种各样的语境中,也就是其所处语境的丰富程度,比如某个词在很多语境场景下都可适用,那么这个词的信息熵就相对来说较高。词的左熵可以基于以该词为后缀的词在商品词语料库中的频次计算得到,词的右熵可以基于以该词为前缀的词在商品词语料库中的频次计算得到。通过词的左熵与右熵,可以反映一个词是否有丰富的左右搭配。
当每个字或词出现是独立事件时,组成候选商品词的片段出现的概率应当是每个片段出现的概率之积,因此可以根据组成候选商品词的片段的频次,计算候选商品词的期望出现概率。根据候选商品词的词频,计算候选商品词的实际出现概率,这是凝合度,表征片段共同出现的概率。基于期望出现概率与实际出现概率,计算候选商品词的互信息,表征片段的相关程度。例如,对于由两个片段“冲”、“电宝”构成的候选商品词“冲电宝”,可以计算候选商品词“冲电宝”的互信息”。
当互信息越大,片段相关程度越高,当凝合度越高,片段共同出现的几率越高,当左熵与右熵越高,候选商品词所处语境的丰富程度越高,从而该候选商品词成词分数越高,是一个词语的几率越高。
步骤604,对原始词库中的商品词进行数据清洗,得到原始词库中的错别词。
步骤606,根据错别词以及错别词的纠错词,生成纠错对。
如前文所说,对于提取出的商品词构成的原始词库,存在大量的错别字,即提取的商品词本身可能是错误的。为此,计算机设备对原始词库中的商品词进行数据清洗,得到原始词库中的错别词,并根据错别词以及错别词的纠错词生成纠错对,所采用的方式包括但不限于以下四种:
方式一:由于商品语料库中的商品描述文本(如标题文本)通常为长文本,包含一定的上下文信息,因此可以通过离线的深度学习模型,例如基于BERT的纠错模型,对商品描述文本进行纠错,得到商品描述文本中的纠错对。
方式二:将原始词库中的商品词,输入搜索引擎发起搜索请求;当搜索引擎响应于搜索请求,反馈关于商品词的替换词时,则判定商品词为错别词,并根据商品词与替换词生成纠错对。
示意性的,搜索引擎可以是商品搜索引擎,对于提取出的商品词,将其输入到商品搜索引擎中,根据商品搜索引擎对商品词的响应结果,来判断该输入的商品词是否为正确词。可选地,当响应结果中提示输入的商品词存在错误并返回了替换词对应的搜索结果时,则根据该商品词与该替换词生成纠错对。例如,当输入为【XXX】而响应结果中展示“您要找的是不是【XXY】”时,则【XXX】与【XXY】为一组纠错对。可选地,当响应结果未提示替换词,但返回的商品数量非常少,或者,返回的各个商品信息之间的差异较大时,则可以认为当前输入的商品词为错误词。
示意性的,搜索引擎可以是通用搜索引擎,对于提取出的商品词,将其输入到通用搜索引擎中,类似地,根据通用搜索引擎的返回结果生成纠错对,或是,判定商品词为错误词。
方式三:使用已知的正确商品词中每个字的混淆字,对正确商品词中的字进行替换,生成错别词;混淆字包括同音字、近音字和形近字中的至少一种;当错别词为原始词库的商品词时,则将错别词标注为原始词库中的错别词;根据错别词与正确商品词生成纠错对。
由于商品描述文本中大量为混淆字带来的错别字,故而计算机设备可以基于一些人工整理的或是公开的正确商品词,对于这些商品词中的每个字,使用相应的混淆字进行替换,生成错别词,当原始的商品词库中存在这个错别词时,则该错别词与该已知的正确词组成一对纠错对。
如图7所示,为一个实施例中混淆字集的示意图。参照图7,每个字的混淆字包括三种类型:同音字、近音字和形近字。以汉字“冲”为例,其对应的同音字可包括:充、虫、崇、忡、沖等,其对应的近音字包括:聪、葱、匆、通等,其对应的形近字包括:沖、中、虫等。对于正确词“充电宝”其对应的错别词可以包括“冲电宝”、“忡电宝”、“虫电宝”、“聪电宝”、“沖电宝”,“冲点宝”、“冲店宝”、“冲电包”、“冲电报”,等等,当这些错别词存在于提取的商品词构成的原始词库时,则将这些词标注为“充电宝”的错别词,与“充电宝”构成纠错对。
方式四:基于原始词库中商品词的拼音,对原始词库中的商品词进行聚合;将各聚类簇中除已知的正确商品词以外的商品词,标注为原始词库中的错别词,并根据错别词与已知的正确商品词,生成纠错对。
由于商品描述文本中大量为拼音音似带来的错别字,因此可对从商品描述文本中提取的所有商品词进行基于拼音的聚合,聚合后每个聚类簇中的商品词可以先确定其中的正确词,再将其余词作为与该正确词对应的错别词,从而生成纠错对。其中,聚合可以是对拼音完全相同的商品词进行聚合,也可以按照拼音编辑距离小于给定阈值(如1)的商品词进行聚合。例如,luosifen(螺蛳粉)、luosifen(螺丝粉)、luoshifen(螺狮粉)可聚合为一组,其中“螺蛳粉”为正确词,“螺丝粉”与“螺狮粉”是其对应的错别词。可以理解,聚类簇中的正确词可根据权威文本集或公开词集确定。
如图8所示,为一个实施例中生成的纠错对的示意图。例如,错别词“螺丝粉”对应的正确词为“螺蛳粉”。可以理解,图8仅示意了一个错别词与一个正确词对应,也存在多个错别词与一个正确词对应的情况,例如“螺丝粉”与“螺狮粉”均是正确词“螺蛳粉”的错别词。
步骤608,使用纠错对纠正提取的原始词库,得到商品词库。
计算机设备在通过前述几种方式生成纠错对后,可以使用纠错对,对从商品描述文本中提取的商品词构成的原始词库,进行数据清洗,得到步骤304进行分词所需的商品词库。
此外,商品描述文本中还可能存在大量实体词,例如人名、书名、地名、品牌名或刚上市的产品名,虽然其在商品语料库中出现的频率较低,但词本身为正确的。为了避免误纠,还可以人工维护独立的实体词库,在基于纠错对,对提取的商品词库进行纠错时,属于实体词库中的词不纠错。例如,“魔筷”不被替换为“模块”,“京喜”不被替换为“惊喜”,“长鹅”不被替换为“嫦娥”,“平果”不被替换为“苹果”。
步骤306,将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词。
基于对搜索文本进行分词处理后得到的词序列中,单独字未能和其上文构成一个独立商品词,该单独字为错别字的可能性极高的思路,分词后的单独字是搜索文本中的错别字,潜在错别词依据该单独字确定,故而潜在错别词反应了搜索文本中错误所在的位置,通过找出搜索文本中的潜在错别词,完成图4所示首个步骤即错误检测,再通过候选召回、候选排序,实现对搜索文本的纠错。
其中,词序列中的单独字是分词后得到单个的字符。单独字的邻近词是词序列中靠近该单独字的单独字或词,例如单独字的邻近词可以是位于该单独字之前的前一个字或词,还可以是位于该单独字之后的后一个字或词,还可以同时包括位于该单独字之前的及之后的一个字或词。例如,对于搜索文本“冲电宝”来说,分词后可得到词序列{冲\电\宝},其被划分为3个单独字,对于单独字“冲”而言,其可与在后的1个邻近词“电”构成潜在错别词“冲电”,也可以与在后的2个邻近词构成潜在错别词“冲电宝”。对于单独字“电”而言,其可与在前的1个邻近词构成潜在错别词“冲电”,也可以与在后的1个邻近词“宝”构成潜在错别词“电宝”,还可以同时与前后的邻近词构成潜在错别词“冲电宝”。类似地,对于单独字“宝”而言,其可与在前的1个邻近词“电”构成潜在错别词“电宝”,也可以与在前的2个邻近词构成潜在错别词“冲电宝”。
在一个实施例中,对于分词处理后得到的词序列,当词序列中的单独字为形容词时,则不对其执行步骤306,也就是说,单独字为形容词时,由于其具有独立的形容词含义,故不将其认定为错别字,例如对于搜索文本“红裙子”,分词得到的词序列为{红\裙子},其中“红”表示颜色,其具有独立的形容词含义。类似地,其它形容词还有“大”,“小”,“黑”,“好”等。
如图9所示,为一个具体的实施例中错误检测的流程示意图。参照图9,步骤902至步骤904可以是离线处理步骤,步骤906至步骤914可以是在线检测步骤。
步骤902,通过无监督新词挖掘的方式对商品语料库进行商品词挖掘,得到大量的商品词,构成原始词库。
步骤904,对原始词库进行数据清洗,生成纠错对,使用纠错对替换原始词库中的错别词,纠错后得到商品词库。
步骤906,对获取的搜索文本进行分词处理,得到词序列。
步骤908,判断该搜索文本是否存在于实体词库。若是,则执行步骤916,判定该搜索文本不存在错误;若否,则执行步骤910。
步骤910,判断该词序列中是否存在单独字。若是,执行步骤912;若否,则执行步骤916,判定该搜索文本不存在错误。
步骤912,判断单独字是否为形容词。若否,则执行步骤914;若是,则执行步骤916,判定该搜索文本不存在错误。
步骤914,将该单独字与该单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词。
至此,通过无监督新词挖掘方式从商品描述中提取商品词,得到原始词库,采用多种方式进行数据清洗生成纠错对,使用纠错对,替换原始词库中的错别词,从而得到分词所需的高质量的商品词库,计算机设备才能更好的基于分词的方式进行错误检测。基于对搜索文本进行分词处理后得到的词序列中,单独字未能和其上文构成一个独立商品词,该单独字为错别字的可能性极高的思路,可以将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词,从而实现对搜索文本的错误检测。
步骤308,基于拼音编辑距离,查找用于纠正潜在错别词的候选词。
对于图4所示的纠错框架中的候选召回步骤,计算机设备可以基于拼音编辑距离,查找用于纠正潜在错别词的候选词。对于确定的搜索文本中的每个潜在错别词,都可以召回相应的候选集并进行排序,并按排序结果决定是否使用相应的候选词对潜在错别词进行替换。拼音编辑距离是指两个词语之间,由一个词语的拼音转成另一个词语的拼音所需的最少编辑操作次数。
在一个实施例中,计算机设备先将潜在错别词转换为拼音,再依次对商品词库中的商品词计算其与该潜在错别词的拼音编辑距离,将拼音编辑距离小于给定阈值(例如2)的商品词,作为用于纠正该潜在错别词的候选词进行召回。
例如,潜在错别词“话板”对应的拼音为“huaban”,拼音编辑距离为0的拼音“huaban”,商品词库中以“huaban”为拼音的商品词包括“滑板”、“画板”、“花瓣”;拼音编辑距离为1的拼音“huoban”、”huban”,商品词库中以“huoban”为拼音的商品词包括:“伙伴”,商品词库中以“huban”为拼音的商品词包括:“护板”;拼音编辑距离为2的拼音“huabang”,商品词库中以“huabang”为拼音的商品词包括:“花棒”。这些词均可以作为用于纠正潜在错别词“话板”的候选词。
由于商品词库中商品词量级较大,通常在10万以上,虽然通过拼音编辑距离可召回大量候选结果,但逐个对比和计算拼音编辑距离,在商品实时搜索中占用耗时较大。为此,可选地,本申请还可以通过对商品词库内的商品词按拼音编辑距离进行扩充,使得扩充词库包含所有原始的商品词及与商品词的拼音编辑距离在给定阈值内的扩充词。
在一个实施例中,步骤308包括:确定潜在错别词的拼音和预设的拼音编辑距离;确定与潜在错别词的拼音在预设的拼音编辑距离内的目标拼音;在扩充词库中,查询与目标拼音对应的词,作为用于纠正潜在错别词的候选词;其中,扩充词库是按预设的拼音编辑距离对商品词库中的商品词进行扩充后得到的。
具体地,当需要为潜在错别词召回候选词时,就可以先按潜在错别词的拼音和预设的拼音编辑距离,确定候选词所对应的目标拼音,再按该目标拼音直接从扩充词库中快速查找到候选词。通过空间换时间的这种思路,可加速基于拼音编辑距离的召回,大大降低了整体耗时,可适用于实时搜索场景。需要说明的是,对商品词库内的商品词按拼音编辑距离进行扩充时,可以从通用字典或公开字典数据,获取与原始的商品词的拼音编辑距离在给定阈值内的词语。
除了基于拼音编辑距离召回候选词,计算机设备还可以混淆字集召回候选词。在一个实施例中,上述方法还包括:查找与单独字对应的混淆字;混淆字包括同音字、近音字和形近字中的至少一种;将潜在错别词中的单独字替换为混淆字后,得到用于纠正潜在错别词的候选词。
具体地,对于分词处理得到的词序列,其中的单独字(该单独字不为形容词)被认定为错误,计算机设备通过混淆字集对该单独字进行替换,召回一批候选词。例如,对于搜索文本“冲电宝”,通过分词处理得到词序列为{冲\电\宝},可依次对每个单独字通过混淆字集进行替换,得到大量候选词:{“充电宝”,“虫电宝”,“聪电宝”,“沖电宝”,“冲点宝”,“冲店宝”,“冲电包”,“冲电报”,…}。
如图10所示,为一个实施例中候选召回的示意图。参照图10,候选召回可以采用基于拼音编辑距离的候选召回、基于混淆字集的候选召回,其中基于混淆字集的候选召回包括:基于错别字的同音字、近音字的候选召回与基于错别字的形似字的候选召回。通过这些多样的候选召回方式,可得到用于纠正搜索文本的大量候选词,形成纠错候选集。
步骤310,使用商品词语言模型,确定潜在错别词及各候选词的语句通顺度;商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到。
对于图4所示的纠错框架中的候选排序步骤,计算机设备可以使用商品词语言模型,确定候选词的语句通顺度,并按该语句通顺度进行排序,最终按排序结果获得召回结果。语言模型是用于对文本序列评估符合人类语言使用习惯程度的模型,也就是语句越通顺,该文本序列越符合人类语言使用习惯。语句通顺度可以基于词语的困惑度确定,困惑度越低,语义越清楚,语句越通顺,反之,困惑度越高,语义越不清楚,语句越通顺,语句通顺度与困惑度成反相关。
本申请中,商品词语言模型是基于纠错后的商品语料库对语言模型进行训练得到的。高质量的语言模型对于最终的排序结果具有重要影响,语言模型的训练依赖于大量的文本语料,不同于通用文本搜索,其语料一般来自高质量的新闻、文章等,商品搜索场景下语言模型的训练依赖于大量的商品描述文本。依据前文的介绍,原始的商品语料库中商品描述文本本身就存在大量错别字,这个占比大约为5%左右,如果直接训练,则影响语言模型评估语句通顺度的准确率,也就是语言模型会认为错误词也是通顺的,从而影响排序准确性,最终获得的纠错文本中,可能保留了错别词或是替换了原本正确的词。为此,在步骤310之前,计算机设备可通过对商品词进行数据清洗所得到的纠错对,对原始商品文本语料进行清洗替换,得到纠错后的商品语料库,再基于该纠错后的商品语料库对语言模型进行训练得到商品搜索场景下的商品词语言模型。
在一个实施例中,商品词语言模型的生成步骤包括:基于纠错对清洗商品语料库,得到纠错后的商品语料库;对纠错后的商品语料库进行文字预处理,得到高质量商品语料库;使用高质量商品语料库训练三元语言模型,得到商品词三元语言模型。
其中,文字预处理的方式包括大小写转换、繁体转简体、去除停用词和删除空格等等。三元语言模型,是基于马尔科夫假设提出的一个字(或一个拼音或一个英文单词)的出现与其所在句子中的前两个字(或前两个拼音或前两个英文单词)有关的思想对每个词的出现概率进行预测的语义模型。
具体地,计算机设备基于生成的纠错对,对商品语料库进行清洗替换,并进行文本预处理:大小写转换、繁体转简体、去除停用词和删除空格等,得到高质量商品语料库,进一步通过基于马尔科夫假设的三元语言模型训练得到商品搜索场景下的商品词语言模型。例如,所有商品描述文本中,“明星片”替换为“明信片”,则基于该语料训练得到的商品词语言模型可认定“明星片“出现的概率远小于“明信片”,避免了误纠和未纠。
在得到高质量商品语料库之后,计算机设备就实现对商品搜索场景下语言模型的训练,得到高质量语言模型,保证对候选词排序的准确性,从而保证最终对搜索文本进行纠错的准确性。
在一个实施例中,使用商品词语言模型,确定潜在错别词及各候选词的语句通顺度,包括:分别确定潜在错别词、各候选词中每个字的字频以及每个字与前向字符的共现频率;根据字频以及共现频率,计算得到潜在错别词及各候选词的困惑度,语句通顺度与困惑度成反相关。
例如,潜在错别词或候选词记为S={w1,w2,w3,...,wn},则困惑度P(S)的计算公式为:
P(S)=P(w1,w2,w3,...,wn)
=P(w1)P(w2|w1)P(w3|w1,w2)..P(wn|w1,w2,...,wn-1)
≈P(w1)P(w2|w1)P(w3|w2,w1).P(wn|wn-1,wn-2)
其中,P(w1)表示w1的字频,P(w2)表示w2的字频,P(w1)P(w2|w1)表示w1与w2的共现字频,也就是w1w2的词频,类似地,P(w3)P(w2,w1)表示w1w2w3的词频。
步骤312,当潜在错别词与目标候选词的语句通顺度满足替换条件时,将搜索文本中的潜在错别词替换为目标候选词,得到纠错文本。
为了避免错纠和不纠的情况,设置了替换条件,当潜在错别词与某个目标候选词的语句通顺度满足替换条件时,才会将潜在错别词替换为该目标候选词,否则当不满足替换条件时,则不进行替换,保留原始的搜索文本。
例如,当潜在错别词的语句通顺度高于所有候选词的语句通顺度时,则判定潜在错别词不是错别词,不需要进行替换。又例如,当潜在错别词的语句通顺度低于某些候选词的语句通顺度时,可以从中任选一个目标候选词进行替换,也可以从中选择一个语句通顺度最高的目标候选词进行替换。
在一个实施例中,还包括:从各候选词中,确定困惑度最低的目标候选词;当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异大于替换阈值时,则判定潜在错别词与目标候选词满足替换条件;
本实施例中,目标候选词是困惑度最低的候选词,也就是语句通顺度最高的候选词。当目标候选词的困惑度比潜在错别词的困惑度低出替换阈值时,才能判定潜在错别词与目标候选词满足替换条件,可以使用该目标候选词替换该潜在错别词。
在一个实施例中,还包括:当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异小于替换阈值时,或者,当潜在错别词的困惑度小于目标候选词的困惑度时,则判定潜在错别词与目标候选词不满足替换条件。
本实施例中,目标候选词是困惑度最低的候选词,当潜在错别词的困惑度大于该目标候选词的困惑度,但差异较小时,或者当潜在错别词的困惑度大于目标候选词的困惑度时,则判定潜在错别词与目标候选词不满足替换条件,无需对该潜在错别词进行替换。
如图11所示,为一个实施例中对候选词进行排序的示意图。参照图11,搜索文本为“大容量冲电宝”,潜在错别词为“冲电宝”,对其候选词的困惑度从小到大排序,可得到最小困惑度的候选词为“充电宝”,其困惑度小于潜在错别词”冲电宝“的困惑度,说明“充电宝”的语句通顺度高于“冲电宝”的语句通顺度,且差异为469.996,假定替换阈值为300,则判定可以使用“充电宝”替换“冲电宝”,得到纠错文本为“大容量充电宝”。
由于有些实体词在语料中出现的频次较低,如书名、小品牌词等,其困惑度本身就比较大,例如“林清玄”:899.65240638780107,林清轩:“1413.46620800063417”,如果按固定的替换阈值300,则导致“林清玄“被误纠为“林清轩”,也就是说,对于困惑度本身比较大的词语,按这种固定的较小的替换阈值判定是否满足替换条件,容易引起误纠。
为避免这种情况,还可以基于候选词的最小困惑度对阈值进行动态调整。在一个实施例中,替换阈值的确定步骤,包括:确定潜在错别词的困惑度与目标候选词的困惑度之间的差异的预设最小阈值;根据潜在错别词的困惑度计算潜在错别词的动态阈值;将预设最小阈值与潜在错别词的的动态阈值中的较大值,作为替换阈值。
其中,预设最小阈值例如可以是300,同时,还根据潜在错别词的困惑度perplexity计算动态阈值,从而确定替换阈值threshold的方式为:
Threshold=max(perplexity*α,β);
其中,max()为取最大值函数,perplexity*α表示动态阈值,β表示预设最小阈值,α为变化参数,其中α可取0.8,β可取300。例如,当潜在错别词本身的困惑度为900时,动态阈值为720,threshold的值通过取较大者为720。也就是,只有存在困惑度比潜在错别词小出720的候选词时,才判定需要对该潜在错别词进行纠错。通过动态阈值的方法,有效降低了对在商品语料中出现频率较低的实体词的误纠率。
如图12所示,为一个具体的实施例中候选排序的流程示意图。参照图12,其中步骤1202至步骤1208可通过离线处理实现。步骤1210至步骤1218可通过在线处理实现。
步骤1202,获取原始的商品语料库。
步骤1204,使用纠错对,对商品语料库进行数据清洗,得到纠错后的商品语料库。
步骤1206,对纠错后的商品语料库进一步进行文字预处理,得到高质量商品语料库。
步骤1208,使用高质量商品语料库训练三元语言模型,得到商品词语言模型。
步骤1210,对于每个潜在错别词,分别使用商品词语言模型计算相应的候选词的困惑度,并按困惑度从小到大的顺序排序。
步骤1212,过滤掉不存在于商品词库中的候选词。
步骤1214,对于困惑度最小的候选词,按照动态阈值的方式判断其是否与相应的潜在错别词满足替换条件,若是,执行步骤1216;若否,执行步骤1218。
步骤1216,使用候选词对潜在错别词进行纠错,返回纠错文本。
步骤1218,无需纠错,返回原始的搜索文本。
在一个实施例中,上述方法还包括:当潜在错别词与目标候选词不满足替换条件时,则从商品库中查找与搜索文本匹配的目标商品;当潜在错别词与目标候选词满足替换条件时,从商品库中查找与纠错文本匹配的目标商品;响应于包含搜索文本的搜索请求,返回目标商品。
例如,当计算机设备得到用于对搜索文本纠错的纠错文本后,可以将纠错文本与商品库中的商品信息进行匹配,返回与纠错文本匹配的目标商品,反之,若无需纠错,则计算机设备可以直接将搜索文本与商品库中的商品信息进行匹配,返回与原始的搜索文本匹配的目标商品,如商品信息或商品列表等等。
如图13所示,为一个具体的实施例中搜索文本的处理方法的流程示意图。
参照图13,包括以下步骤:
步骤1302,基于商品语料库中的商品描述文本提取商品词,得到原始词库;
步骤1304,对原始词库中的商品词进行数据清洗,得到原始词库中的错别词;
步骤1306,根据错别词以及错别词的纠错词,生成纠错对;
步骤1308,使用纠错对纠正提取的原始词库,得到商品词库。
步骤1310,基于纠错对清洗商品语料库,得到纠错后的商品语料库;
步骤1312,对纠错后的商品语料库进行文字预处理,得到高质量商品语料库;
步骤1314,使用高质量商品语料库训练三元语言模型,得到商品词三元语言模型。
步骤1316,获取用于搜索商品的搜索文本;
步骤1318,基于商品词库,采用基于词典规则的匹配方式,将搜索文本进行分词处理,得到词序列;
步骤1320,将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词;
步骤1322,按预设的拼音编辑距离对商品词库中的商品词进行扩充,得到扩充词库;
步骤1324,确定与潜在错别词的拼音在预设的拼音编辑距离内的目标拼音;
步骤1326,在扩充词库中查询与目标拼音对应的词,作为用于纠正潜在错别词的候选词;
步骤1328,查找与单独字对应的混淆字;混淆字包括同音字、近音字和形近字中的至少一种;
步骤1330,将潜在错别词中的单独字替换为混淆字后,得到用于纠正潜在错别词的候选词;
步骤1332,使用商品词语言模型,计算潜在错别词及各候选词的困惑度;
步骤1334,从各候选词中,确定困惑度最低的目标候选词;
步骤1336,根据潜在错别词的困惑度计算潜在错别词的动态阈值;
步骤1338,将预设最小阈值与潜在错别词的的动态阈值中的较大值,作为替换阈值;
步骤1340,当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异大于替换阈值时,则判定潜在错别词与目标候选词满足替换条件。
步骤1342,从商品库中查找与纠错文本匹配的目标商品;
步骤1344,当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异小于替换阈值时,或者,当潜在错别词的困惑度小于目标候选词的困惑度时,则判定潜在错别词与目标候选词不满足替换条件;
步骤1346,从商品库中查找与搜索文本匹配的目标商品。
上述搜索文本的处理方法中,商品词库基于对从商品语料库的商品描述文本中提取的商品词进行纠错得到,商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到,能够避免由于商品语料库的商品描述文本的本身错误而导致的商品词库与语言模型的质量问题。一方面,高质量的商品词库,可以保证基于商品词库对搜索文本进行分词的准确性,分词的准确性进一步提升定位搜索文本中的潜在错别词的准确性,保证最终对搜索文本纠错的准确性。另一方面,基于拼音编辑距离直接召回用于纠正潜在错别词的候选词,再利用高质量的商品词语言模型计算潜在错别词与候选词的语句通顺度,基于语句通顺度判定是否要使用候选词对潜在错别词进行替换,能够保证纠错文本的质量。此外,本方法结合高质量的商品词库、高质量的商品词语言模型进行纠错的流程,相比于基于深度学习模型的复杂纠错流程,可在提升纠错的准确性的同时,大大降低整体耗时,可应用在实时搜索场景中。
本申请主要应用在商品搜索场景的文本纠错中,通过对错误检测、候选召回、候选排序三个关键步骤进行多项优化,使得纠错的召回率、精确率大幅度提升,且保持千分之一以下的误纠率。首先,通过无监督新词挖掘模型得到更丰富的原始词库,并通过长文本深度学习纠错模型、通用搜索引擎、拼音聚合、混淆字集匹配等方式清洗原始词库,生成纠错对,并使用纠错对,清洗原始词库,得到准确的商品词库,使用纠错对清洗原始的商品语料库,得到高质量商品语料库,提升商品信息的准确性,从而保证后续商品词库与商品词语言模型的准确性。接下来,在错误检测方面,通过商品词库对搜索文本进行文本分词,根据分词结果进行错误检测,商品词库的准确性保障了错误检测的准确性。在候选召回方面,通过混淆字集召回和拼音编辑距离召回方法,提升了候选召回的性能,扩充词典提升了候选召回的时效。最后,在候选排序方面,使用高质量商品语料库训练语言模型,得到商品词语言模型,使用该商品词语言模型计算候选词的困惑度,提升了排序的准确性,并通过动态调整替换阈值,大大降低了纠错模型的误纠率。
本申请提供的搜索文本的处理方法,可应用于商品搜索场景,还可以用于推广场景,例如与纠错后得到的纠错文本相关的商品信息可作为用户感兴趣的商品,从而作为向用户推荐商品的依据。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的搜索文本的处理方法的搜索文本的处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个搜索文本的处理装置实施例中的具体限定可以参见上文中对于搜索文本的处理方法的限定,在此不再赘述。
在一个实施例中,如图14所示,提供了一种搜索文本的处理装置1400,包括:获取模块1402、分词模块1404、潜在错别词确定模块1406、候选词召回模块1408、语句通顺度计算模块1410和替换模块1412,其中:
获取模块1402,用于获取用于搜索商品的搜索文本;
分词模块1404,用于基于商品词库对搜索文本进行分词处理,得到词序列;商品词库基于对从商品语料库中提取的商品词进行纠错得到,商品语料库包括商品描述文本;
潜在错别词确定模块1406,用于将词序列中的单独字与单独字的邻近词所构成的短语,作为搜索文本中的潜在错别词;
候选词召回模块1408,用于基于拼音编辑距离,查找用于纠正潜在错别词的候选词;
语句通顺度计算模块1410,用于使用商品词语言模型,确定潜在错别词及各候选词的语句通顺度;商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
替换模块1412,用于当潜在错别词与目标候选词的语句通顺度满足替换条件时,将搜索文本中的潜在错别词替换为目标候选词,得到纠错文本。
在一个实施例中,搜索文本的处理装置1400还包括:
商品词挖掘模块,用于基于商品语料库中的商品描述文本提取商品词,得到原始词库;
数据清洗模块,用于对原始词库中的商品词进行数据清洗,得到原始词库中的错别词;根据错别词以及错别词的纠错词,生成纠错对;使用纠错对纠正提取的原始词库,得到商品词库。
在一个实施例中,商品词挖掘模块,还用于基于商品语料库中的商品描述文本,统计候选商品词的左熵与右熵;根据组成候选商品词的片段的频次,计算候选商品词的期望出现概率,根据候选商品词的词频,计算候选商品词的实际出现概率,基于期望出现概率与实际出现概率,计算候选商品词的互信息;根据候选商品词的左熵与右熵,以及候选商品词的实际出现概率与互信息,计算候选商品词的成词分数;当成词分数大于预设阈值时,将候选商品词作为提取的商品词。
在一个实施例中,数据清洗模块,还用于将原始词库中的商品词,输入搜索引擎发起搜索请求;当搜索引擎响应于搜索请求,反馈关于商品词的替换词时,则判定商品词为错别词,并根据商品词与替换词生成纠错对。
在一个实施例中,数据清洗模块,还用于使用已知的正确商品词中每个字的混淆字,对正确商品词中的字进行替换,生成错别词;混淆字包括同音字、近音字和形近字中的至少一种;当错别词为原始词库的商品词时,则将错别词标注为原始词库中的错别词;根据错别词与正确商品词生成纠错对。
在一个实施例中,数据清洗模块,还用于基于原始词库中商品词的拼音,对原始词库中的商品词进行聚合;将各聚类簇中除已知的正确商品词以外的商品词,标注为原始词库中的错别词,并根据错别词与已知的正确商品词,生成纠错对。
在一个实施例中,分词模块1404,还用于基于商品词库,采用基于词典规则的匹配方式,将搜索文本进行分词处理,得到词序列;基于词典规则的匹配方式为正向最长匹配、逆向最长匹配和双向最长匹配的方式中的一种。
在一个实施例中,候选词召回模块1408,还用于确定潜在错别词的拼音和预设的拼音编辑距离;确定与潜在错别词的拼音在预设的拼音编辑距离内的目标拼音;在扩充词库中,查询与目标拼音对应的词,作为用于纠正潜在错别词的候选词;其中,扩充词库是按预设的拼音编辑距离对商品词库中的商品词进行扩充后得到的。
在一个实施例中,候选词召回模块1408,还用于查找与单独字对应的混淆字;混淆字包括同音字、近音字和形近字中的至少一种;将潜在错别词中的单独字替换为混淆字后,得到用于纠正潜在错别词的候选词。
在一个实施例中,搜索文本的处理装置1400还包括语言模型训练模块,用于基于纠错对清洗商品语料库,得到纠错后的商品语料库;对纠错后的商品语料库进行文字预处理,得到高质量商品语料库;使用高质量商品语料库训练三元语言模型,得到商品词三元语言模型。
在一个实施例中,语句通顺度计算模块1410,还用于分别确定潜在错别词、各候选词中每个字的字频以及每个字与前向字符的共现频率;根据字频以及共现频率,计算得到潜在错别词及各候选词的困惑度,语句通顺度与困惑度成反相关。
在一个实施例中,搜索文本的处理装置1400还包括判定模块,用于从各候选词中,确定困惑度最低的目标候选词;当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异大于替换阈值时,则判定潜在错别词与目标候选词满足替换条件;当潜在错别词的困惑度大于目标候选词的困惑度,且潜在错别词的困惑度与目标候选词的困惑度之间的差异小于替换阈值时,或者,当潜在错别词的困惑度小于目标候选词的困惑度时,则判定潜在错别词与目标候选词不满足替换条件。
在一个实施例中,判定模块,还用于确定潜在错别词的困惑度与目标候选词的困惑度之间的差异的预设最小阈值;根据潜在错别词的困惑度计算潜在错别词的动态阈值;将预设最小阈值与潜在错别词的的动态阈值中的较大值,作为替换阈值。
在一个实施例中,搜索文本的处理装置1400还包括:
匹配模块,用于当潜在错别词与目标候选词不满足替换条件时,则从商品库中查找与搜索文本匹配的目标商品;当潜在错别词与目标候选词满足替换条件时,从商品库中查找与纠错文本匹配的目标商品;
返回模块,用于响应于包含搜索文本的搜索请求,返回目标商品。
上述搜索文本的处理装置1400,商品词库基于对从商品语料库的商品描述文本中提取的商品词进行纠错得到,商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到,能够避免由于商品语料库的商品描述文本的本身错误而导致的商品词库与语言模型的质量问题。一方面,高质量的商品词库,可以保证基于商品词库对搜索文本进行分词的准确性,分词的准确性进一步提升定位搜索文本中的潜在错别词的准确性,保证最终对搜索文本纠错的准确性。另一方面,基于拼音编辑距离直接召回用于纠正潜在错别词的候选词,再利用高质量的商品词语言模型计算潜在错别词与候选词的语句通顺度,基于语句通顺度判定是否要使用候选词对潜在错别词进行替换,能够保证纠错文本的质量。此外,本方法结合高质量的商品词库、高质量的商品词语言模型进行纠错的流程,相比于基于深度学习模型的复杂纠错流程,可在提升纠错的准确性的同时,大大降低整体耗时,可应用在实时搜索场景中。
上述搜索文本的处理装置1400中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1所示的服务器或终端,其内部结构图可以如图15所示。当该计算机设备为服务器时,该计算机设备包括通过***总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种搜索文本的处理方法。
当该计算机设备为终端时,该计算机设备还包括显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种搜索文本的处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例所提出的搜索文本的处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所提出的搜索文本的处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各实施例所提出的搜索文本的处理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (18)
1.一种搜索文本的处理方法,其特征在于,所述方法包括:
获取用于搜索商品的搜索文本;
基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
2.根据权利要求1所述的方法,其特征在于,所述商品词库的生成步骤包括:
基于商品语料库中的商品描述文本提取商品词,得到原始词库;
对所述原始词库中的商品词进行数据清洗,得到所述原始词库中的错别词;
根据所述错别词以及所述错别词的纠错词,生成纠错对;
使用所述纠错对纠正提取的原始词库,得到所述商品词库。
3.根据权利要求2所述的方法,其特征在于,所述基于商品语料库中的商品描述文本提取商品词,包括:
基于所述商品语料库中的商品描述文本,统计候选商品词的左熵与右熵;
根据组成所述候选商品词的片段的频次,计算所述候选商品词的期望出现概率,根据所述候选商品词的词频,计算所述候选商品词的实际出现概率,基于所述期望出现概率与所述实际出现概率,计算所述候选商品词的互信息;
根据所述候选商品词的左熵与右熵,以及所述候选商品词的实际出现概率与互信息,计算所述候选商品词的成词分数;
当所述成词分数大于预设阈值时,将所述候选商品词作为提取的商品词。
4.根据权利要求2所述的方法,其特征在于,所述对所述原始词库中的商品词进行数据清洗,得到所述原始词库中的错别词;根据所述错别词以及所述错别词的纠错词,生成纠错对,包括:
将所述原始词库中的商品词,输入搜索引擎发起搜索请求;
当所述搜索引擎响应于所述搜索请求,反馈关于所述商品词的替换词时,则判定所述商品词为错别词,并根据所述商品词与所述替换词生成纠错对。
5.根据权利要求2所述的方法,其特征在于,所述对所述原始词库中的商品词进行数据清洗,得到所述原始词库中的错别词,根据所述错别词以及所述错别词的纠错词,生成纠错对,包括:
使用已知的正确商品词中每个字的混淆字,对所述正确商品词中的字进行替换,生成错别词;所述混淆字包括同音字、近音字和形近字中的至少一种;
当所述错别词为所述原始词库的商品词时,则将所述错别词标注为所述原始词库中的错别词;
根据所述错别词与所述正确商品词生成纠错对。
6.根据权利要求2所述的方法,其特征在于,所述对所述原始词库中的商品词进行数据清洗,得到所述原始词库中的错别词,根据所述错别词以及所述错别词的纠错词,生成纠错对,包括:
基于所述原始词库中商品词的拼音,对所述原始词库中的商品词进行聚合;
将各聚类簇中除已知的正确商品词以外的商品词,标注为所述原始词库中的错别词,并根据所述错别词与所述已知的正确商品词,生成纠错对。
7.根据权利要求1所述的方法,其特征在于,所述基于商品词库对所述搜索文本进行分词处理,得到词序列,包括:
基于所述商品词库,采用基于词典规则的匹配方式,将所述搜索文本进行分词处理,得到词序列;所述基于词典规则的匹配方式为正向最长匹配、逆向最长匹配和双向最长匹配的方式中的一种。
8.根据权利要求1所述的方法,其特征在于,所述基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词,包括:
确定所述潜在错别词的拼音和预设的拼音编辑距离;
确定与所述潜在错别词的拼音在所述预设的拼音编辑距离内的目标拼音;
在扩充词库中查询与所述目标拼音对应的词,作为用于纠正所述潜在错别词的候选词;
其中,所述扩充词库是按所述预设的拼音编辑距离对所述商品词库中的商品词进行扩充后得到的。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
查找与所述单独字对应的混淆字;所述混淆字包括同音字、近音字和形近字中的至少一种;
将所述潜在错别词中的所述单独字替换为所述混淆字后,得到用于纠正所述潜在错别词的候选词。
10.根据权利要求2所述的方法,其特征在于,所述商品词语言模型的生成步骤包括:
基于所述纠错对清洗所述商品语料库,得到纠错后的商品语料库;
对所述纠错后的商品语料库进行文字预处理,得到高质量商品语料库;
使用所述高质量商品语料库训练三元语言模型,得到商品词三元语言模型。
11.根据权利要求10所述的方法,其特征在于,所述使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度,包括:
分别确定所述潜在错别词、各所述候选词中每个字的字频以及每个字与前向字符的共现频率;
根据所述字频以及所述共现频率,计算得到所述潜在错别词及各所述候选词的困惑度,所述语句通顺度与所述困惑度成反相关。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
从各所述候选词中,确定所述困惑度最低的目标候选词;
当所述潜在错别词的困惑度大于所述目标候选词的困惑度,且所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异大于替换阈值时,则判定所述潜在错别词与所述目标候选词满足所述替换条件;
当所述潜在错别词的困惑度大于所述目标候选词的困惑度,且所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异小于替换阈值时,或者,当所述潜在错别词的困惑度小于所述目标候选词的困惑度时,则判定所述潜在错别词与所述目标候选词不满足所述替换条件。
13.根据权利要求12所述的方法,其特征在于,所述替换阈值的确定步骤包括:
确定所述潜在错别词的困惑度与所述目标候选词的困惑度之间的差异的预设最小阈值;
根据所述潜在错别词的困惑度计算所述潜在错别词的动态阈值;
将所述预设最小阈值与所述潜在错别词的的动态阈值中的较大值,作为所述替换阈值。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述方法还包括:
当所述潜在错别词与所述目标候选词不满足所述替换条件时,则从商品库中查找与所述搜索文本匹配的目标商品;
当所述潜在错别词与所述目标候选词满足所述替换条件时,从商品库中查找与所述纠错文本匹配的目标商品;
响应于包含所述搜索文本的搜索请求,返回所述目标商品。
15.一种搜索文本的处理装置,其特征在于,所述装置包括:
获取模块,用于获取用于搜索商品的搜索文本;
分词模块,用于基于商品词库对所述搜索文本进行分词处理,得到词序列;所述商品词库基于对从商品语料库中提取的商品词进行纠错得到,所述商品语料库包括商品描述文本;
潜在错别词确定模块,用于将所述词序列中的单独字与所述单独字的邻近词所构成的短语,作为所述搜索文本中的潜在错别词;
候选词召回模块,用于基于拼音编辑距离,查找用于纠正所述潜在错别词的候选词;
语句通顺度计算模块,用于使用商品词语言模型,确定所述潜在错别词及各所述候选词的语句通顺度;所述商品词语言模型使用纠错后的商品语料库对语言模型进行训练得到;
替换模块,用于当所述潜在错别词与目标候选词的语句通顺度满足替换条件时,将所述搜索文本中的所述潜在错别词替换为所述目标候选词,得到纠错文本。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14中任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至14中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111321869.2A CN114328798B (zh) | 2021-11-09 | 2021-11-09 | 搜索文本的处理方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111321869.2A CN114328798B (zh) | 2021-11-09 | 2021-11-09 | 搜索文本的处理方法、装置、设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328798A true CN114328798A (zh) | 2022-04-12 |
CN114328798B CN114328798B (zh) | 2024-02-23 |
Family
ID=81045148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111321869.2A Active CN114328798B (zh) | 2021-11-09 | 2021-11-09 | 搜索文本的处理方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328798B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681070A (zh) * | 2023-08-04 | 2023-09-01 | 北京永辉科技有限公司 | 文本纠错方法、***、模型训练方法、介质及设备 |
CN116932922A (zh) * | 2023-09-19 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136794A1 (en) * | 2004-12-21 | 2006-06-22 | Inventec Corporation | Computer peripheral connecting interface system configuration debugging method and system |
CN101878476A (zh) * | 2007-06-22 | 2010-11-03 | 谷歌公司 | 用于查询扩展的机器翻译 |
US20120310626A1 (en) * | 2011-06-03 | 2012-12-06 | Yasuo Kida | Autocorrecting language input for virtual keyboards |
CN106297800A (zh) * | 2016-08-10 | 2017-01-04 | 中国科学院计算技术研究所 | 一种自适应的语音识别的方法和设备 |
CN106502983A (zh) * | 2016-10-17 | 2017-03-15 | 清华大学 | 隐式狄利克雷模型的事件驱动的坍缩吉布斯采样方法 |
CN108052499A (zh) * | 2017-11-20 | 2018-05-18 | 北京百度网讯科技有限公司 | 基于人工智能的文本纠错方法、装置及计算机可读介质 |
CN108091328A (zh) * | 2017-11-20 | 2018-05-29 | 北京百度网讯科技有限公司 | 基于人工智能的语音识别纠错方法、装置及可读介质 |
CN108108349A (zh) * | 2017-11-20 | 2018-06-01 | 北京百度网讯科技有限公司 | 基于人工智能的长文本纠错方法、装置及计算机可读介质 |
CN109376270A (zh) * | 2018-09-26 | 2019-02-22 | 青岛聚看云科技有限公司 | 一种数据检索方法和装置 |
CN109543022A (zh) * | 2018-12-17 | 2019-03-29 | 北京百度网讯科技有限公司 | 文本纠错方法和装置 |
CN110852087A (zh) * | 2019-09-23 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 中文纠错方法和装置、存储介质及电子装置 |
CN111368506A (zh) * | 2018-12-24 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 文本处理方法及装置 |
CN111382260A (zh) * | 2020-03-16 | 2020-07-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种检索文本纠错方法、装置和存储介质 |
CN111814455A (zh) * | 2020-06-29 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 搜索词纠错对构建方法、终端及存储介质 |
CN112149406A (zh) * | 2020-09-25 | 2020-12-29 | 中国电子科技集团公司第十五研究所 | 一种中文文本纠错方法及*** |
CN112308644A (zh) * | 2019-08-01 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 一种描述信息的处理方法及装置 |
CN112380840A (zh) * | 2020-11-19 | 2021-02-19 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及介质 |
CN112434493A (zh) * | 2020-11-04 | 2021-03-02 | 北京沃东天骏信息技术有限公司 | 一种文案生成方法、装置、电子设备和存储介质 |
CN112560450A (zh) * | 2020-12-11 | 2021-03-26 | 科大讯飞股份有限公司 | 一种文本纠错方法及装置 |
CN112861518A (zh) * | 2020-12-29 | 2021-05-28 | 科大讯飞股份有限公司 | 文本纠错方法、装置和存储介质及电子装置 |
CN113435186A (zh) * | 2021-06-18 | 2021-09-24 | 上海熙瑾信息技术有限公司 | 中文文本纠错***、方法、装置及计算机可读存储介质 |
-
2021
- 2021-11-09 CN CN202111321869.2A patent/CN114328798B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136794A1 (en) * | 2004-12-21 | 2006-06-22 | Inventec Corporation | Computer peripheral connecting interface system configuration debugging method and system |
CN101878476A (zh) * | 2007-06-22 | 2010-11-03 | 谷歌公司 | 用于查询扩展的机器翻译 |
US20120310626A1 (en) * | 2011-06-03 | 2012-12-06 | Yasuo Kida | Autocorrecting language input for virtual keyboards |
CN106297800A (zh) * | 2016-08-10 | 2017-01-04 | 中国科学院计算技术研究所 | 一种自适应的语音识别的方法和设备 |
CN106502983A (zh) * | 2016-10-17 | 2017-03-15 | 清华大学 | 隐式狄利克雷模型的事件驱动的坍缩吉布斯采样方法 |
CN108052499A (zh) * | 2017-11-20 | 2018-05-18 | 北京百度网讯科技有限公司 | 基于人工智能的文本纠错方法、装置及计算机可读介质 |
CN108091328A (zh) * | 2017-11-20 | 2018-05-29 | 北京百度网讯科技有限公司 | 基于人工智能的语音识别纠错方法、装置及可读介质 |
CN108108349A (zh) * | 2017-11-20 | 2018-06-01 | 北京百度网讯科技有限公司 | 基于人工智能的长文本纠错方法、装置及计算机可读介质 |
CN109376270A (zh) * | 2018-09-26 | 2019-02-22 | 青岛聚看云科技有限公司 | 一种数据检索方法和装置 |
CN109543022A (zh) * | 2018-12-17 | 2019-03-29 | 北京百度网讯科技有限公司 | 文本纠错方法和装置 |
CN111368506A (zh) * | 2018-12-24 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 文本处理方法及装置 |
CN112308644A (zh) * | 2019-08-01 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 一种描述信息的处理方法及装置 |
CN110852087A (zh) * | 2019-09-23 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 中文纠错方法和装置、存储介质及电子装置 |
CN111382260A (zh) * | 2020-03-16 | 2020-07-07 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种检索文本纠错方法、装置和存储介质 |
CN111814455A (zh) * | 2020-06-29 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 搜索词纠错对构建方法、终端及存储介质 |
CN112149406A (zh) * | 2020-09-25 | 2020-12-29 | 中国电子科技集团公司第十五研究所 | 一种中文文本纠错方法及*** |
CN112434493A (zh) * | 2020-11-04 | 2021-03-02 | 北京沃东天骏信息技术有限公司 | 一种文案生成方法、装置、电子设备和存储介质 |
CN112380840A (zh) * | 2020-11-19 | 2021-02-19 | 平安科技(深圳)有限公司 | 文本纠错方法、装置、设备及介质 |
CN112560450A (zh) * | 2020-12-11 | 2021-03-26 | 科大讯飞股份有限公司 | 一种文本纠错方法及装置 |
CN112861518A (zh) * | 2020-12-29 | 2021-05-28 | 科大讯飞股份有限公司 | 文本纠错方法、装置和存储介质及电子装置 |
CN113435186A (zh) * | 2021-06-18 | 2021-09-24 | 上海熙瑾信息技术有限公司 | 中文文本纠错***、方法、装置及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
陈智鹏;吕玉琴;刘华生;刘刚;屠辉;: "基于N-gram统计模型的搜索引擎中文纠错", 中国电子科学研究院学报, no. 03, pages 107 - 110 * |
韦群, 贾兴中, 石靖: "多触摸屏图文电视接收及查询***", 电视技术, no. 07, pages 14 - 17 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681070A (zh) * | 2023-08-04 | 2023-09-01 | 北京永辉科技有限公司 | 文本纠错方法、***、模型训练方法、介质及设备 |
CN116932922A (zh) * | 2023-09-19 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
CN116932922B (zh) * | 2023-09-19 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 搜索词条处理方法、装置、计算机设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114328798B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287858B (zh) | 自然语言的语义提取方法及装置 | |
CN106897428B (zh) | 文本分类特征提取方法、文本分类方法及装置 | |
CN106649818B (zh) | 应用搜索意图的识别方法、装置、应用搜索方法和服务器 | |
US8892420B2 (en) | Text segmentation with multiple granularity levels | |
CN111324728A (zh) | 文本事件摘要的生成方法、装置、电子设备及存储介质 | |
CN106095845B (zh) | 文本分类方法和装置 | |
CN112395506A (zh) | 一种资讯推荐方法、装置、电子设备和存储介质 | |
CN111324771B (zh) | 视频标签的确定方法、装置、电子设备及存储介质 | |
CN110134792B (zh) | 文本识别方法、装置、电子设备以及存储介质 | |
US20230386238A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN114328798B (zh) | 搜索文本的处理方法、装置、设备、存储介质和程序产品 | |
CN109325146A (zh) | 一种视频推荐方法、装置、存储介质和服务器 | |
CN107526721B (zh) | 一种对电商产品评论词汇的歧义消除方法及装置 | |
Gaikwad et al. | Multiclass mood classification on Twitter using lexicon dictionary and machine learning algorithms | |
US20230214579A1 (en) | Intelligent character correction and search in documents | |
CN111090771A (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN111260428A (zh) | 一种商品推荐方法和装置 | |
CN109101505A (zh) | 一种推荐方法、推荐装置和用于推荐的装置 | |
Liu et al. | Open intent discovery through unsupervised semantic clustering and dependency parsing | |
CN114064901B (zh) | 一种基于知识图谱词义消歧的书评文本分类方法 | |
CN111274366A (zh) | 搜索推荐方法及装置、设备、存储介质 | |
Wei et al. | Online education recommendation model based on user behavior data analysis | |
CN110969005B (zh) | 一种确定实体语料之间的相似性的方法及装置 | |
CN111460177A (zh) | 影视类表情搜索方法、装置、存储介质、计算机设备 | |
CN111061939A (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40067554 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |