CN116383346B - 检索理解方法和电子设备 - Google Patents
检索理解方法和电子设备 Download PDFInfo
- Publication number
- CN116383346B CN116383346B CN202310657847.6A CN202310657847A CN116383346B CN 116383346 B CN116383346 B CN 116383346B CN 202310657847 A CN202310657847 A CN 202310657847A CN 116383346 B CN116383346 B CN 116383346B
- Authority
- CN
- China
- Prior art keywords
- score
- character
- character string
- electronic device
- query content
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012937 correction Methods 0.000 claims abstract description 17
- 238000013144 data compression Methods 0.000 claims abstract description 6
- 230000011218 segmentation Effects 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 18
- 238000012935 Averaging Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/3346—Query execution using probabilistic model
-
- 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/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了检索理解方法和电子设备。在该方法中,电子设备在基于用户输入的查询内容进行本地搜索时,可以利用数据压缩后的语言模型(小于预设阈值)对查询内容进行包括纠错在内的分析理解,得到该查询内容对应的理解结果。并将该理解结果用于后续的检索召回以及排序得到搜索结果。实施本申请提供的技术方案,可以提升query理解的准确性,进而提升搜索的准确性。
Description
技术领域
本申请涉及终端领域,尤其涉及检索理解方法和电子设备。
背景技术
电子设备提供的本地搜索功能是一种智慧化服务。本地搜索功能可以基于用户输入的查询内容进行搜索,得到该查询内容对应的搜索结果。然后显示搜索结果。电子设备基于查询内容进行搜索得到搜索结果时通常分为三个基本步骤。这三个基本步骤包括检索(query)理解、检索召回以及排序。其中,query理解为基于查询内容的语义等信息对查询内容进行分析理解,进一步得到该查询内容对应的理解结果,该理解结果可以体现用户的意图。检索召回是基于理解结果进行检索,找到于理解结果相关的文本作为召回结果。排序是指针对召回结果按照相关性、重要性或者相关度等标准对召回结果进行排序,使得召回结果按照相关程度降序排列,以便让最相关的召回结果排在最前面。
由此可见,query理解对搜索结果的准确性影响很大,原因在于: query理解得到的理解结果作为检索召回的基础(输入),直接影响着检索召回所得召回结果的精确度。而召回结果进行排序之后即使检索结果。则如果query理解做得不好会导致搜索结果出现偏差,query理解做得好会使得搜索结果更准确。
因此,电子设备如何进行query理解是值得研究的方向。
发明内容
本申请提供了一种检索理解方法和电子设备,电子设备基于查询内容进行搜索时,进行检索(query)理解的过程中可以识别查询内容中的错误字符,进而更好的实现搜索。
第一方面,本申请提供了一种检索理解方法,该方法包括:电子设备对查询内容进行切分,得到第一字符串序列以及第二字符串序列;该第一字符串序列以及第二字符串序列中第h个字符串的第一个字符为该查询内容中第h个字符,该第一字符串序列中每一个字符串包含的字符数量相同,且,该第二字符串序列中每一个字符串包含的字符数量相同;该电子设备基于该第一字符串序列得到每一个第一字符串的得分,以及,基于该第二字符串序列得到每一个第二字符串的得分;该第一字符串为该第一字符串序列中的字符串;该第二字符串为该第二字符串序列中的字符串;该电子设备基于每一个第一字符串的得分以及每一个第二字符串的得分确定该查询内容中的错误字符;该电子设备基于该错误字符得到理解结果。
上述实施例中,第一切词规则以及第二切词规则可以为实施例中涉及的ngram切词规则,只是两者的n取值不同。在输入的查询内容存在错误的情况下,可以使用两种不同切词规则得到不同切词规则下查询内容中各字符的得分,然后基于每一个字符在不同切词规则下的得分得到每一个字符的最终得分。利用不同的切词规则相互修正,提高检索理解时,确定错误字符的准确率。
结合第一方面,在一些实施例中,该电子设备基于该错误字符得到理解结果,具体包括:该电子设备对该查询内容中的错误字符进行纠错处理,得到纠错后的内容;该电子设备基于该纠错后的内容得到理解结果。
上述实施例中,对查询内容进行检索理解包括对查询内容进行纠错处理确定其中错误的字符,并将该错误的字符进行改正以得到纠错后的内容作为理解结果。这样,即使用户输入的查询内容存在错误的字符,例如拼写错误的字符等,电子设备也可以在query理解后纠错这些错误。使得后续的搜索流程可以基于纠错后的查询内容进行,提升搜索准确性。
结合第一方面,在一些实施例中,该电子设备中还包括语言模型,该语言模型中记录了不同预设词、每一个预设词对应的概率对数值以及回退权对数值;该概率对数值为对预设词对应的概率取对数之后的结果,该概率用于指示预设词的正确率;该回退权对数值为对预设词对应的回退权值取对数之后的结果,该回退权值用于指示预设词后接词的能力;该电子设备基于第一字符串序列得到每一个第一字符串的得分,具体包括:对于每一个第一字符串,在该第一字符串为该语言模型中的一个预设词时,该电子设备基于该第一字符串对应的概率对数值确定该第一字符串的得分;在该第一字符串不为该语言模型中的预设词时,该电子设备基于该第一字符串中各字符的概率对数值或者回退权对数值确定该第一字符串的得分。
结合第一方面,在一些实施例中,该第一切词规则为将该查询内容中每一个字符都与其后一个字符切分成一个字符串;该第二切词规则为将该查询内容中每一个字符都与其后两个字符切分成一个字符串。
上述实施例中,第一切词规则可以为实施例中的2gram切词规则,此时第一字符串序列可以为实施例中的字符串序列1,第一字符串可以为实施例中的第一类字符串。第二切词规则可以为实施例中的3gram切词规则,此时第二字符串序列可以为实施例中的字符串序列2。第二字符串可以为实施例中涉及的第二类字符串。两个字符的词语以及三个字符的词语是用户常常会输入的高频词语类型,因此这里采取2gram切词规则以及3gram切词规则符合日常用语习惯。
结合第一方面,在一些实施例中,该电子设备基于每一个第一字符串的得分以及每一个第二字符串的得分确定该查询内容中的错误字符,具体包括:该电子设备在在第一个第一字符串的得分前以及最后一个第一字符串的得分后各自填充一个得分,得到第一得分序列;该电子设备在第一个第二字符串的得分前以及最后一个第二字符串的得分后各自填充两个得分,得到第二得分序列;该电子设备基于该第一得分序列得到该查询内容中每一个字符的第一得分;其中,查询内容中第i个字符的第一得分等于该第一得分序列中第i个第一得分以及第i+1个第一得分的平均值;其中,第i个第一得分为该第一得分序列中第i个字符串的得分;该电子设备基于该第二得分序列得到该查询内容中每一个字符的第二得分;其中,查询内容中第i个字符的第二得分等于该第一得分序列中第i个第二得分、第i+1个第二得分以及第i+2个第二得分的平均值;其中,该第i个第二得分为该第二得分序列中第i个字符串的得分;该电子设备基于该每一个字符的第一得分以及第二得分取平均,得到该每一个字符的得分;该电子设备确定该每一个字符的得分中小于得分中位数且通过准确性验证的得分所对应的字符为错误字符;该得分中位数为该每一个字符的得分的中位数。
上述实施例中,在判断错误字符时还可以对其进行准确性验证进一步提高了识别错误字符时的准确性。
结合第一方面,在一些实施例中,该方法还包括:该电子设备按照词语为单位对该查询内容进行分词,得到至少一个词语;该电子设备基于纠错后的内容得到理解结果,具体包括:该电子设备将该纠错后的内容、该至少一个词语作为理解结果。
上述实施例中,在进行检索理解时,除了对查询内容进行纠错,还可以对查询内容进行词语的切分,从更多维度理解该查询内容有利于提高搜索准确性。
结合第一方面,在一些实施例中,该方法还包括:该电子设备对该至少一个词语进行同义词替换,得到至少一个同义词。该电子设备基于纠错后的内容得到理解结果,具体包括:该电子设备将该纠错后的内容、该至少一个词语、该至少一个同义词作为理解结果。
上述实施例中,在进行检索理解时,除了对查询内容进行纠错,还可以对查询内容进行词语的同义词替换,从更多维度理解该查询内容有利于提高搜索准确性。
结合第一方面,在一些实施例中,电子设备对查询内容进行切分之前,该方法还包括:该电子设备检测到输入的内容;该电子设备基于该输入的内容进行预处理得到查询内容;该预处理包括对该输入的内容进行大小写统一、将该输入的内容中的全角字符转化为半角字符、将该输入的内容中的繁体字符转化为简体字符中的一个或者多个。
上述实施例中,对查询内容进行预处理有可以满足检索理解输入值的规范,有利于后续的检索理解。
结合第一方面,在一些实施例中,电子设备对查询内容进行切分之前,该方法还包括:该电子设备确定该查询内容不存在历史搜索信息;该历史搜索信息中包括该查询内容的历史理解结果。
上述实施例中,不存在历史搜索信息时才重新对查询内容进行检索理解,可以节约计算资源。
结合第一方面,在一些实施例中,该语言模型是基于大于预设阈值的其他语言模型基于数据压缩之后得到。
对语言模型进行压缩可以使得语言模型部署在电子设备,使得对查询内容的搜索是在本地完成的,保护了用户隐私。同时合理的压缩语言模型还可以节约计算字符得分的时间,提高检索理解的效率。
结合第一方面,在一些实施例中,该数据压缩包括删除该其他语言模型中的部分或者全部表示人名的预设词、将其他语言模型中各预设词的概率对数值以及回退权对数值的小数位保留数压缩至预设精度、将其他语言模型设置为二进制格式中的一个或者多个。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面中实施的方法。
上述实施例中,在输入的查询内容存在错误的情况下,可以使用两种不同切词规则得到不同切词规则下查询内容中各字符的得分,然后基于每一个字符在不同切词规则下的得分得到每一个字符的最终得分。利用不同的切词规则相互修正,提高检索理解时,确定错误字符的准确率。
第三方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面中实施的方法。
上述实施例中,在输入的查询内容存在错误的情况下,可以使用两种不同切词规则得到不同切词规则下查询内容中各字符的得分,然后基于每一个字符在不同切词规则下的得分得到每一个字符的最终得分。利用不同的切词规则相互修正,提高检索理解时,确定错误字符的准确率。
第四方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面实施的方法。
上述实施例中,在输入的查询内容存在错误的情况下,可以使用两种不同切词规则得到不同切词规则下查询内容中各字符的得分,然后基于每一个字符在不同切词规则下的得分得到每一个字符的最终得分。利用不同的切词规则相互修正,提高检索理解时,确定错误字符的准确率。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面实施的方法。
上述实施例中,在输入的查询内容存在错误的情况下,可以使用两种不同切词规则得到不同切词规则下查询内容中各字符的得分,然后基于每一个字符在不同切词规则下的得分得到每一个字符的最终得分。利用不同的切词规则相互修正,提高检索理解时,确定错误字符的准确率。
可以理解地,第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片系统和第五方面提供的计算机程序产品均用于执行本申请实施例所提供的方法。因此,其所能达到其他有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1A以及图1B示出了电子设备进行本地搜索时失败的示意图;
图2示出了电子设备进行本地搜索时成功的示意图;
图3示出了基于查询内容进行query理解时的示例性流程图;
图4示出了电子设备对处理后的查询内容进行纠错得到纠错后的内容所涉及的示例性流程图;
图5示出了电子设备确定错误字符的示例性流程图;
图6示出了字符串序列进行填充、求均值的示例图;
图7示出了压缩语言模型时涉及的示例性流程图;
图8是本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在一种方案中,电子设备在进行本地搜索的过程中,进行检索(query)理解时没有对用户输入的查询内容进行分析理解或者分析理解“不到位”以至于搜索结果相比于查询内容出现偏差。例如,在查询内容出现错误时,对该查询内容进行分析理解时没有进行纠错处理以至于在查询内容出现错误时难以搜索出用户期待的结果。
图1A以及图1B示出了电子设备进行本地搜索时失败的示意图。
图1A为电子设备开启本地搜索功能时涉及的一个示例性图。如图1A中(1)所示,用户界面10为电子设备的一个桌面。电子设备还包括页面指示符101。该页面指示符101中包括至少一个圆圈图标以及一个其他形状图标。其中,每一个圆圈图标都对应指示一个桌面。该其他图标可以指示负一屏页面。电子设备显示用户界面10时,该页面指示符101中最靠近其他形状图标的圆圈图标(圆圈图标1)被选中以提示当前显示的用户界面10为首个桌面。
响应于针对用户界面10的操作,例如滑动方向为从其他形状图标指向圆圈图标1的滑动操作,电子设备开启本地搜索功能。
如图1A中(2)所示,用户界面11为电子设备的一个包含本地搜索功能的示例性界面。该用户界面11中包括搜索框111。该搜索框111中还显示了提示信息以提示用户可以在搜索框111中输入查询内容。例如,该提示信息可以为:“搜索应用和服务”。
电子设备可以基于该搜索框111接收用户输入的查询内容,然后基于该查询内容进行搜索。如图1B中(1)所示,用户界面12中显示的搜索框111中包括输入的查询内容121a:“通讯怒”。响应于针对搜索控件131的操作,电子设备可以基于查询内容121a进行搜索以得到该查询内容121a(“通讯怒”)的搜索结果。
但是,该查询内容121a中存在错误,电子设备在进行query理解时,未对查询内容121a进行纠错以至于没有正确理解查询内容121a,进而导致电子设备基于该查询内容11进行搜索时难以搜索出用户期待的结果。回顾图1A中(1)所示的用户界面10可知电子设备中存在“通讯录”应用。则对于查询内容121a的一种合理的理解结果可以为:“通讯录”。但是,参考图1B中(2)所示的用户界面13,该用户界面13为对查询内容121a对应的搜索结果进行展示的一个示例性界面。该用户界面13中没有包括“通讯录”应用。依然是基于查询内容121a(“通讯怒”)的搜索结果。
针对前述因为query理解“不到位”导致搜索结果出现偏差的问题,本申请实施例提供了一种检索(query)理解方法,可以用于帮助电子设备在进行query理解时对查询内容进行错误字符识别等分析处理,基于识别到的错误字符得到query理解的理解结果,更好的实现本地搜索功能。
在一些可能的情况下,在识别出错误字符之后,电子设备可以对该错误字符进行纠错,得到纠错后的内容。然后,电子设备基于该纠错后的内容得到理解结果,例如将该纠错后的内容作为理解结果。进一步的,电子设备可以继续基于理解结果进行后续的搜索处理以得到搜索结果。
在另一些可能的情况下,基于识别到的错误字符得到query理解的理解结果包括:在识别出错误字符之后,电子设备可以进一步判断错误字符数量在查询内容数量的占比作为理解结果。在占比过高(例如大于60%等)的情况下,电子设备停止后续的搜索工作并显示提示信息,提示用户输入的查询内容中存在大量错误字符会影响搜索结果,询问是否继续搜索,如选择继续搜索,则继续搜索并在完成搜索之后显示搜索结果。还可以将查询内容中错误的字符进行标记以提示用户错误的字符。
后文中,以电子设备对查询内容中的错误字符进行纠错为例进行描述。
图2示出了电子设备进行本地搜索时成功的示意图。
电子设备开启本地搜索功能的过程可以与前述图1A中的内容相同,可以参考前述对图1A的描述,此处不再赘述。
开启本地搜索功能之后, 电子设备可以基于该搜索框111接收用户输入的查询内容,然后基于该查询内容进行搜索。如图2中(1)所示,用户界面12中显示的搜索框111中包括输入的查询内容121a:“通讯怒”。响应于针对搜索控件131的操作,电子设备可以基于查询内容121a进行搜索以得到该查询内容121a(“通讯怒”)的搜索结果。
虽然该查询内容121a中存在错误,但是电子设备在进行query理解时,可以查询内容121a进行纠错以正确理解查询内容121a,例如可以理解为“通讯录”。使得电子设备基于该查询内容11对应的理解结果(“通讯录”)进行搜索时可以搜索出用户期待的结果。例如,参考图2中(2)所示的用户界面21,该用户界面21为对查询内容121a对应的搜索结果进行展示的一个示例性界面。该用户界面13中的内容与理解结果“通讯录”相关,例如包括“通讯录”应用。
电子设备在基于用户输入的查询内容进行本地搜索时,可以利用query理解方法对查询内容进行分析理解,得到该查询内容对应的理解结果。并将该理解结果用于后续的检索召回以及排序得到搜索结果。这样,可以提升query理解的准确性,进而提升搜索的准确性。
其中,利用query理解方法对查询内容进行分析理解包括对查询内容进行纠错处理确定其中错误的字符,并将该错误的字符进行改正以得到纠错后的内容作为理解结果。这样,即使用户输入的查询内容存在错误的字符,例如拼写错误的字符等,电子设备也可以在query理解后纠错这些错误。
示例性的,电子设备在进行纠错处理时涉及的过程可以包括:电子设备首先将查询内容分别基于L种切词规则进行切分得到L个字符串序列。其中,第r个字符串序列为激励第r种切词规则得到的,该第r个字符串序列中包括至少一个字符串,第r个字符串序列中每一个字符串中包括L1个字符。针对该L个字符串序列中的每一个字符串序列,电子设备分别计算该字符串序列中每一个字符串的得分。再分别针对L个字符串序列中全部字符串的得分进行填充、求均值等处理得到在L种切词规则下查询内容中每一个字符的得分。可以理解为查询内容中每一个字符在一种切词规则下均对应一个得分。电子设备基于L种切词规则下查询内容中每一个字符的得分可以进一步确定查询内容中每一个字符的得分。其中,一个字符的得分可以为该字符在L种切词规则下对应的得分取平均之后的结果。每一个字符的得分也可以理解为每一个字符的正确率。电子设备在得到查询内容中每一个字符的得分之后,确定其中低于预设得分阈值且满足概率统计学规律的得分所对应的字符为查询内容中的错误字符。然后电子设备将该错误字符进行改正即可得到纠错后的内容。关于纠错处理的详细描述可以参考下述对图3中步骤S104a的描述,此处暂不赘述。
在一些可能的情况下,利用query理解方法对查询内容进行分析理解还包括进行分词处理得到N个词语,将该N个词语也作为理解结果,或者,还可以包括对N个词语进行同义词替换得到W个同义词,将该W个同义词也作为理解结果。其中,N为大于等于1的整数,W为大于等于N的整数。
在一些可能的实现方式中,为了保护用户的隐私,整个query理解的过程都是在电子设备本地进行的。在进行纠错处理时需要通过预设在电子设备中的语言模型确定L个字符串序列中全部字符串的得分。该语言模型中记录了大量预设词以及每一个预设词对应的概率信息以及回退权值信息。每一个预设词对应的概率信息可以表示为该预设词在语言模型中出现的概率求对数(log10)之后的结果,每一个预设词对应的回退权值信息可以表示为该预设词的接词能力。一个预设词的接词能力表示该预设词后面可以加其他预设词组成一个新词的概率大小。关于语言模型的详细内容以及如何使用语言模型确定L个字符串序列中全部字符串得分的过程可以参考下述对图4-图7的描述,此处暂不赘述。
可以理解为,在一些可能的情况下,语言模型中记录了不同预设词、每一个预设词对应的概率对数值以及回退权对数值;概率用于指示预设词的正确率;回退权值用于指示预设词后接词的能力。由于电子设备的内存有限,为了实现query理解的过程在电子设备中进行,不借助云服务等其他设备的能力以避免用户输入的查询内容外传。则需要将语言模型的大小控制在电子设备可以承载的范围内,同时简化语言模型。这样,还可以进一步满足提高query理解的时效,使得本地搜索的速度较快。关于得到电子设备适合的语言模型的过程可以参考下述对图7的描述,此处暂不赘述。
图3示出了基于查询内容进行query理解时的示例性流程图。
基于查询内容进行query理解的过程可以参考下述对步骤S101-步骤S107的描述。
S101.电子设备获取到输入的查询内容。
电子设备提供的该查询内容的输入形式包括但不限于语音输入、键盘输入等。其中一个输入查询内容的场景可以参考前述对图2的描述。
S102.确定该查询内容是否存在历史搜索信息。
电子设备可以从至少一个历史查询内容中确定是否有与查询内容匹配的历史查询内容。在确定存在历史查询内容与该查询内容匹配的情况下,电子设备确定该查询内容存在历史搜索信息。在确定不存在历史查询内容于该查询内容匹配的情况下,电子设备确定该查询内容存在历史搜索信息。
这里应该理解的是,电子设备中可以记录预设数量的历史查询内容及其对应的历史搜索信息,一个历史查询内容对应的历史搜索信息中至少可以包括基于该历史查询内容进行query理解的历史理解结果。
示例性的,在一些可能的情况下,历史查询内容及其对应的历史搜索信息可以存储在电子设备的缓存(cache)中。在电子设备需要记录历史查询内容但是cache中的历史查询内容数量达到预设数量时,电子设备可以删除最早记录的历史查询内容及其对应的历史搜索信息,然后将待写入的记录历史查询及其对应的历史搜索信息记录在cache中。
在确定该查询内容不存在历史搜索信息的情况下,电子设备可以执行下述步骤S103-步骤S106基于查询内容进行query理解,得到理解结果。
在确定该查询内容存在历史搜索信息的情况下,电子设备可以执行下述步骤S107将历史搜索信息中查询内容对应的理解结果作为本次query理解的理解结果。
S103.电子设备对查询内容进行预处理,得到处理后的查询内容。
电子设备对查询内容进行预处理使得处理后的查询内容符合进行后续处理的输入规范。这里的后续处理包括进行纠错处理等。相关内容可以参考下述对步骤S104a以及步骤S104b的描述,此处不再赘述。
常见的预处理包括但不限于以下内容中的一个或者多个:大小写转换、全半角转换以及简繁转换。
其中,对查询内容进行大小写转换是为了保持输入的查询内容中的英文字符大小写统一。对查询内容进行全半角转换是将其中全角输入的字符转化为半角。对查询内容进行简繁转换是为了将查询内容中的繁体字转化为简体字。
S104a.基于大小小于预设阈值的语言模型对处理后的查询内容进行纠错,得到纠错后的内容。
步骤S104a中涉及的纠错是指确定处理后的查询内容中的错误字符并将其更正。处理后的查询内容出现错误字符的原因可以包括但不限于以下原因:查询内容中包括拼写错误,或者使用语音输入功能获取查询内容时,由于发音不准确等原因导致的语音识别错误。
电子设备首先利用语音模型确定处理后的查询内容中每一个字符的得分,每一个字符的也可以理解为每一个字符的正确率。电子设备在得到查询内容中每一个字符的得分之后,确定其中低于预设得分阈值且满足概率统计学规律的得分所对应的字符为查询内容中的错误字符。然后电子设备将该错误字符进行改正即可得到纠错后的内容。
图4示出了电子设备对处理后的查询内容进行纠错得到纠错后的内容所涉及的示例性流程图。
该过程涉及的详细描述可以参考下述步骤S200-步骤S204的描述。
S200.获取处理后的查询内容。
电子设备获取处理后的查询内容所涉及的相关描述可以参考前述对步骤S103的描述,此处不再赘述。
S201a.对处理后的查询内容基于2gram规则进行切分得到字符串序列1,该字符串序列1中包括X1个第一类字符串,每个第一类字符串中包括2个字符。
对处理后的查询内容基于2gram规则(2分组规则)进行切分是指将处理后的查询内容中每一个字符都与其后一个字符切分成一个字符串,得到字符串序列1。例如,对于处理后的查询内容中每一个字符中的第h1个字符,电子设备可以将该第h1个字符与第h1+1个字符切分成字符串序列1中的一个字符串。也可以理解为字符串序列1中第h个字符串的第一个字符为所述查询内容中第h个字符,所述第一字符串序列中每一个字符串包含的字符数量相同,均为2。
这里应该理解的是,处理后的查询内容中可以包括X个字符,字符串序列1中包括X1个第一类字符串,每个第一类字符串中包括2个字符。其中,X1为大于等于1的整数, X1=X -1。
这里以处理后的查询内容为:“通讯怒”为例进行说明,基于2gram规则进行切分得到字符串序列1中可以包括2个第一类字符串:“通讯”、“讯怒”。
S202a.基于语言模型以及字符串序列1得到每一个第一类字符串的得分。
语言模型是一种基于统计的模型。其主要思想是对大量文本语料进行训练与学习,分析出单词之间的规律,然后通过这些统计规律来生成一个单词(词语)对应的新文本或下一个单词。常用的语言模型可以包括n-gram模型。还可以包括神经网络语言模型。
表1为训练完成的语言模型(局部)的一个示例性展示。
表1
在一些可能的情况下,训练完成后的语言模型中记录了大量预设词以及每一个预设词对应的概率信息以及回退权值信息。如表1所示,每一个预设词对应的概率信息可以表示概率对数值,该概率对数值为该预设词在语言模型中出现的概率求对数(lg)之后的结果。每一个预设词对应的回退权值信息可以表示为回退权对数值,该回退权对数值为该预设词的回退权值求对数(lg)之后的结果。回退权值描述了该预设词的接词能力。一个预设词的接词能力表示该预设词后面可以加其他预设词组成一个新词的概率大小。其中,概率对数值可以为表1中的lg(概率)。回退权对数值可以为表1中的lg(回退权值)。
电子设备可以基于语言模型得到字符串的得分。例如,在字符串为语言模型中的一个预设词时,电子设备基于该字符串对应的概率对数值确定该字符串的得分;在字符串不为语言模型中的预设词时,电子设备基于该字符串中各字符的概率对数值或者回退权对数值确定该字符串的得分。
下面详细描述如何基于语言模型确定一个字符串的得分。
将字符串(记为字符串1)表示为。在y等于2的情况下,/>。在y大于2的情况下,/>,则该字符串1的得分记为F1,则F1可以基于下述公式(1)确定。
上述公式(1)中,。其中,表示单词/>在语言模型中的概率对数值。在单词/>并未在语言模型中出现时,/>可以表示为:/>。其中,为w1的回退权d对数值。v1为大于等于2的整数。在一些可能的情况下,在单词/>并未在语言模型中出现的情况下,其对应的概率对数值以及回退权对数值还可以设置为默认值。其中,v2为大于等于1的整数。
下面描述如何基于语言模型得到字符串序列1中每一个第一类字符串的得分。
对于字符串序列1中每一个第一类字符串(记为字符串11),在语言模型中可以找到该字符串11时,基于该字符串11对应的概率对数值即可得到该字符串11的得分。例如,将该字符串11对应的概率对数值进行反对数之后的值作为该字符串11的得分。
在语言模型中未找到该字符串11时,电子设备基于语言模型确定该字符串11的得分的过程可以参考上述对公式(1)及其相关内容的描述,此时y=2。
这里以字符串1为“通讯”为例进行说明,结合前述相关内容,lg(F1)=lgP(通)+lgP(通讯)- lgP(通)= lgP(通讯)。在单词“通讯”未出现在语言模型中时,lg(F1)= lg[backoff(通)]+lgP(讯)。
S201b.对处理后的查询内容基于3gram规则进行切分得到字符串序列2,该字符串序列2中X2个第二类字符串,每个第二类字符串中包括3个字符。
对处理后的查询内容基于3gram规则(3分组规则)进行切分是指将处理后的查询内容中每一个字符都与其后两个字符切分成一个字符串,得到字符串序列2。例如,对于处理后的查询内容中每一个字符中的第h1个字符,电子设备可以将该第h1个字符与第h1+1个字符串以及第h1+2个字符串切分成字符串序列2中的一个字符串。也可以理解为字符串序列2中第h个字符串的第一个字符为所述查询内容中第h个字符,所述第一字符串序列中每一个字符串包含的字符数量相同,均为3。
这里应该理解的是,处理后的查询内容中可以包括X个字符,字符串序列2中包括X2个第二类字符串,每个第二类字符串中包括3个字符。其中,X2为大于等于1的整数, X2=X -2。
这里以处理后的查询内容为:“通讯怒”为例进行说明,基于3gram规则进行切分得到字符串序列2中可以包括1个第二类字符串:“通讯怒”。
S202b.基于语言模型以及字符串序列2得到每一个第二类字符串的得分。
对于语言模型以及基于语言模型确定字符串的得分所涉及的相关内容可以参考前述对步骤S202a的描述,此处不再赘述。
对于字符串序列2中每一个第二类字符串(记为字符串12),在语言模型中可以找到该字符串12时,基于该字符串12对应的概率对数值即可得到该字符串12的得分。例如,将该字符串12对应的概率对数值进行反对数之后的值作为该字符串12的得分。
在语言模型中未找到该字符串12时,电子设备基于语言模型确定该字符串12的得分的过程可以参考上述对公式(1)及其相关内容的描述,此时y=3。这里以字符串12为“通讯怒”为例进行说明,结合前述相关内容,lg(F1)=lgP(通)+lgP(讯|通)+ lgP(怒|通讯)。
S203.基于每一个第一类字符串的得分以及每一个第二类字符串的得分确定查询内容中的错误字符。
电子设备首先分别针对两个字符串序列(字符串序列1以及字符串序列2)中全部字符串的得分进行填充、求均值等处理得到在2gram切词规则以及3gram切词规则下查询内容中每一个字符的得分。分别将每一个字符在2gram切词规则以及3gram切词规则下的得分取平均得到每一个字符的得分。每一个字符的得分也可以理解为每一个字符的正确率。电子设备在得到查询内容中每一个字符的得分之后,确定其中低于预设得分阈值且满足概率统计学规律的得分所对应的字符为查询内容中的错误字符。
图5示出了电子设备确定错误字符的示例性流程图。
图6示出了字符串序列进行填充、求均值的示例图。
下面结合图5以及图6对步骤S203的进行详细描述,具体可以参考下述对步骤S11a、步骤S11b、步骤S12a、步骤S12b以及步骤S13、步骤S14的描述。
S11a.在X1个第一类字符串的得分中第一个得分前以及最后一个得分后各自填充1个得分,得到得分序列1。
如图6中(1)所示,这里以X=4,即处理后的查询内容中包括4个字符为例进行说明。在X等于4的情况下,X1等于3,即字符串序列1中包括3个第一类字符串为例进行说明。在X1(例如3)个第一类字符串的得分中第一个得分前填充一个得分S11,以及在X1(例如3)个第一类字符串的得分中最后一个得分后填充一个得分/S11即可得到得分序列1。其中,得分S11可以为X1个第一类字符串的得分中第一个得分,也可以为预设得分值11。其中,得分/S11可以为X1个第一类字符串的得分中最后一个得分,也可以为预设得分值12。
S12a.基于得分序列1得到处理后的查询内容中每一个字符的得分1;其中,第i个字符的得分1等于得分序列1中第i个得分以及其后一个得分的平均值。
如图6中(1)所示,电子设备基于得分序列1中每2个得分求均值得到处理后的查询内容中每一个字符的得分1。其中,处理后的查询内容中第i个字符的得分1表示该第i个字符在2gram切分规则下的得分,该第i个字符的得分1等于得分序列1中第i个得分以及第i+1个得分的平均值。其中,i为大于等于1小于等于X的整数。
在一些可能的情况下,将处理后的查询内容中X个字符的得分1分别表示为F11、F12、F13,…,F1x。如图6中(1)所示,在X=4个字符的情况下,处理后的查询内容中每一个字符的得分1可以记为F11、F12、F13、F14。
S11b.在X2个第二类字符串的得分中第一个得分前以及最后一个得分后各自填充2个填充,得到得分序列2。
如图6中(2)所示,在X等于4的情况下, X2等于2,即字符串序列2中包括2个第二类字符串为例进行说明。在X2(例如2)个第二类字符串的得分中第一个得分前填充两个得分S21,以及在X2(例如2)个第二类字符串的得分中最后一个得分后填充两个得分/S21即可得到得分序列2。其中,得分S21可以为X2个第二类字符串的得分中第一个得分,也可以为预设得分值21。其中,得分/S21可以为X2个第二类字符串的得分中最后一个得分,也可以为预设得分值22。
S12b.基于得分序列2得到处理后的查询内容中每一个字符的得分2;其中,第i个字符的得分等于得分序列2中第i个得分以及其后两个得分的平均值。
如图6中(2)所示,电子设备基于得分序列2中每3个得分求均值得到处理后的查询内容中每一个字符的得分2。其中,处理后的查询内容中第i个字符的得分2表示该第i个字符在3gram切分规则下的得分。该第i个字符的得分2等于得分序列2中第i个得分、第i+1个得分以及第i+2得分的平均值。其中,i为大于等于1小于等于X的整数。
在一些可能的情况下,将处理后的查询内容中X个字符的得分1分别表示为F21、F22、F23,…,F2x。如图6中(2)所示,在X=4个字符的情况下,处理后的查询内容中每一个字符的得分2可以记为F21、F22、F23、F24。
S13.基于每一个字符的得分1以及得分2取平均,得到每一个字符的得分,任一字符的得分可以作为该字符对应的正确率。
这里以处理后的查询内容中每一个字符的得分1分别为F11、F12、F13、F14;每一个字符的得分2分别为F21、F22、F23、F24为例进行说明。电子设备基于每一个字符的得分1以及得分2取平均,得到每一个字符的得分,该过程包括:基于F11、 F21取平均得到第一个字符的得分。其他字符的得分可以参考前述相关描述,此处不再赘述。
S14.对全部字符的得分进行准确性验证,验证通过且小于得分中位数的得分所对应的字符为错误字符。
电子设备首先对全部字符的得分进行准确性验证,该准确性验证是为了确定全部字符的得分是否计算错误。再验证通过的得分中确定小于得分中位数的得分所对应的字符为错误字符。
这里将全部字符的得分记为[F1、F2、F3,…,FX]。其中,Fj表示处理后的查询内容中第j个字符的得分。j为大于等于1小于等于X的整数。
得分中位数表示全部字符的得分的中位数。
电子设备确定处理后的查询内容中第j个字符的得分是否准确的过程可以参考如下描述。
电子设备可以确定全部字符的得分的中位数,记为得分中位数median(F)。然后基于该median(F)以及全部字符的得分确定处理后的查询内容对应的绝对值差中位数(median absolute deviation,MAD)。该MAD为全部字符的得分与得分中位数之差的绝对值的中位值。其中,计算 MAD时可以采取下述公式(2)。
公式(2)中,median表示取中位数。median(F)表示得分中位数。
然后,电子设备基于检错正态分布参数(ratio)确定第j个字符的得分是否准确。如果准确,则确定该第j个字符的得分可用于判断该第j个字符是否为错误字符。如果不准确,则确定该第j个字符的得分不可用于判断该第j个字符是否为错误字符。
其中,电子设备基于检错正态分布参数(ratio)确定第j个字符的得分是否准确时可以使用如下公式(3)。
公式(3)中,threshold为预设的验证阈值,通常取值为2。公式(3)中包括ratio的一侧表示在第j个字符的得分满足正态分布时,该第j个字符的得分准确率。在该第j个字符的得分准确率大于预设的验证阈值的情况下,电子设备确定该第j个字符的得分是准确的。在该第j个字符的得分准确率小于或者等于预设的验证阈值的情况下,电子设备确定该第j个字符的得分不是准确的。
在电子设备确定该第j个字符的得分准确的情况下,再进一步判断该第j个字符的得分是否小于得分中位数。在确定该第j个字符的得分小于得分中位数的情况下,确定第j个字符为错误字符。
其中,电子设备确定检错正态分布参数(ratio)时可以采取下述公式(4)。
这里以全部字符的得分服从正态分布:不准确的得分落在两侧50%的面积内,准确的得分落在中间50%的面积内,则:
公式(4)中,即为检错正态分布参数(ratio),,又/>,故,即/>。
S204.将出错的全部字符进行纠错,得到纠错后的内容。
电子设备可以对处理后的查询内容中的错误字符进行替换得到至少一个替换后的内容。其中,进行错误替换的方式包括但不限于以下替换方式中的一个或者多个。
替换方式1:利用错误字符的形近词替换将该错误字符进行替换得到替换后的内容。电子设备可以基于形近词表查询该错误字符的形近词。其中,形近词表中记录了大量字符及其对应的各形近词。该形近词表存储在电子设备中。
替换方式2:利用错误字符的音近词替换将该错误字符进行替换得到替换后的内容。其中,错误字符的音近词包括于错误字符读音相似的字符。电子设备可以基于音近词表查询该错误字符的拼音相似的拼音,然后得到该相似的拼音对应的字符作为错误字符的音近词。其中,音近词表中记录了大量拼音及其对应的相似拼音。该音近词表存储在电子设备中。
然后电子设备确定至少一个替换后的内容的得分。将其中得分最高的前G个替换后的内容作为纠错后的内容。其中,G为大于等于1的整数。
电子设备可以将每一个替换后的内容作为一个字符串,确定替换后的内容的得分的过程可以参考前述对公式(1)及其相关内容的描述,此处不再赘述。
S104b.对处理后的查询内容进行分词,得到N个词语。
按照词语为单位对处理后的查询内容进行分词,得到N个词语。连续两个词语之间不包括序号相同的字符。其中,字符的序号是指该字符在处理后的查询内容中的位置或者索引。
例如,在一些可能的情况下,通讯怒可以被划分为“通讯”、“怒”。
S105.对N个词语进行同义词替换,得到W个同义词。
对N个词语进行同义词替换是指分别将N个词语替换成意义相近的其他词语。同一个词语可以替换得到至少一个同义词或不能替换得到同义词。
S106.将W个同义词、N个词语以及纠错后的内容作为理解结果。
在一些可能的情况下,电子设备还可以同时输出W个同义词、N个词语以及纠错后的内容作为理解结果。
S107.确定历史搜索信息中查询内容对应的理解结果。
在确定该查询内容存在历史搜索信息的情况下,电子设备可以将历史搜索信息中查询内容对应的理解结果作为本次query理解的理解结果。
这里应该理解的是,前述步骤S104b以及步骤S105是可选的。其在执行了步骤S104b的情况下电子设备可以不执行步骤S105,然后电子设备可以将N个分词以及纠错后的内容作为理解结果。
前述步骤S104a中涉及的语言模型为大小小于预设阈值的语言模型。该大小小于预设阈值的语言模型是基于大于预设阈值的语言模型经过数据压缩之后得到。
示例性的,表2示出了大于预设阈值的语言模型的局部预设词及其对应的概率对数值以及回退权对数值。
表2
图7示出了压缩语言模型时涉及的示例性流程图。
对于得到小于预设阈值的语言模型所涉及的过程可以参考下述对步骤S21-步骤S23的描述。
S21.将大于预设阈值的语言模型中部分或者全部非目标词条进行删除,得到更新后的语言模型。
非目标词条是指语言模型(大于预设阈值)中被搜索概率较小的词条,例如人名等。可以将部分或者全部非目标词条从语言模型(大于预设阈值)中进行删除,得到更新后的语言模型。例如,可以随机删除语言模型(大于预设阈值)中90%的非目标词条,保留全部非目标词条的10%。
S22.将语言模型中各词条对应的概率值和回退权值的小数位保留数压缩到目标精度,得到更新后的语言模型。
目标精度可以为2。即概率值和回退权值的小数位保留数可以为2位。
在一些可能的情况下,参考表2可知,在未进行小数位保留数压缩之前的语言模型中概率值和回退权值的小数位保留数通常大于目标精度,例如可以为8位。随着小数位保留数的减小,基于语言模型确定字符串得分的准确率通常也会降低。经过实验与统计可得,在小数位保留数取2时,基于语言模型确定字符串得分的准确率在误差允许的范围内且小数位保留数较少。
下述表3示出了一些情况中,小数位保留数与准确率降低、内存的对应关系。这里以小数位保留数为8位时,基于语言模型确定字符串得分的准确率为参考。
表3
如表3所示,随着小数位保留数的降低,基于语言模型确定字符串得分的准确率也在降低,语言模型的内存占比也在下降。在小数位保留数取2时,基于语言模型确定字符串得分的准确率在误差允许的范围内且小数位保留数较少。
S23.以二进制格式将语言模型进行压缩,得到更新后的语言模型,该更新后的模型大小小于预设阈值。
在一些可能的情况下,未进行二进制格式压缩之前的语言模型通常可以为ARPA格式(一种文本格式)。其中,ARPA的英文全称为automatic speech recognitionperformance assessment。
例如,可以使用伯克利语言模型(compressed finite state language model,BerkeleyLM)提供的压缩方案,将ARPA格式的语言模型压缩为二进制格式。
这里应该理解的是,步骤S21-步骤S23之间的执行顺序没有先后之分。步骤S21、步骤S22、步骤S23可以都执行,还可以只执行其中的一个或者两个,只要使得语言模型小于预设阈值即可。例如,在一些可能的情况下在执行完步骤S21-步骤S23中一个或者两个步骤时,语言模型已经小于预设阈值的情况下,可以不再执行另外的步骤。
在一些可能的情况,一个28MB的语言模型在经过步骤S21-步骤S23之后,通常可以压缩至小于10MB,例如8.22MB。
应该理解的是,执行步骤S21-步骤S23的设备可以是前述执行步骤S101-步骤S107的电子设备,还可以为其他电子设备执行得到小于预设阈值的语言模型之后内置于电子设备中。
还应该理解的是,前述内容中是以2gram切词规则以及3gram切词规则进行举例说明的。实际情况中,还可以利用其它的切词规则或者更多的切词规则对查询内容进行切分。例如除了2gram切词规则以及3gram切词规则以外,还可以结合4gram切词规则对查询内容也进行切分,后续处理可以参考前述相关描述此处不再赘述。还可以基于3gram切词规则以及4gram切词规则进行切词然后处理。本申请实施例对此不作限定。其中2gram切词规则、3gram切词规则以及4gram切词规则可以统称为ngram切词规则,n的取值可以为大于等于2的正数。ngram切词规则表示电子设备对查询内容进行切词得到字符串序列时,所述该字符串序列以中第h个字符串的第一个字符为所述查询内容中第h个字符,该字符串序列中每一个字符串包含的字符数量均为n。
下面介绍本申请实施例提供的示例性电子设备。
图8是本申请实施例提供的电子设备的结构示意图。
下面以电子设备为例对实施例进行具体说明。应该理解的是,电子设备可以具有比图8中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图8中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS)等。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。
按键190包括开机键,音量键等。按键190可以是机械按键。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
本申请实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得终端执行本申请实施例中的检索理解方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (11)
1.一种检索理解方法,其特征在于,所述方法包括:
电子设备基于两种不同切词规则对查询内容进行切分,得到第一字符串序列以及第二字符串序列;所述第一字符串序列以及第二字符串序列中第h个字符串的第一个字符为所述查询内容中第h个字符,所述第一字符串序列中每一个字符串包含的字符数量相同,且,所述第二字符串序列中每一个字符串包含的字符数量相同;
所述电子设备基于所述第一字符串序列得到每一个第一字符串的得分,以及,基于所述第二字符串序列得到每一个第二字符串的得分;所述第一字符串为所述第一字符串序列中的字符串;所述第二字符串为所述第二字符串序列中的字符串;
所述电子设备基于每一个第一字符串的得分以及每一个第二字符串的得分确定所述查询内容中的错误字符;
所述电子设备基于所述错误字符得到理解结果;
所述第一字符串序列为将所述查询内容中每一个字符都与其后一个字符切分成一个字符串之后得到的;所述第二字符串序列为将所述查询内容中每一个字符都与其后两个字符切分成一个字符串之后得到的;
所述电子设备基于每一个第一字符串的得分以及每一个第二字符串的得分确定所述查询内容中的错误字符,具体包括:
所述电子设备在第一个第一字符串的得分前以及最后一个第一字符串的得分后各自填充一个得分,得到第一得分序列;
所述电子设备在第一个第二字符串的得分前以及最后一个第二字符串的得分后各自填充两个得分,得到第二得分序列;
所述电子设备基于所述第一得分序列得到所述查询内容中每一个字符的第一得分;其中,查询内容中第i个字符的第一得分等于所述第一得分序列中第i个第一得分以及第i+1个第一得分的平均值;其中,第i个第一得分为所述第一得分序列中第i个字符串的得分;处理后的查询内容中所述第i个字符的第一得分表示所述第i个字符在2gram切分规则下的得分;
所述电子设备基于所述第二得分序列得到所述查询内容中每一个字符的第二得分;其中,查询内容中第i个字符的第二得分等于所述第一得分序列中第i个第二得分、第i+1个第二得分以及第i+2个第二得分的平均值;其中,所述第i个第二得分为所述第二得分序列中第i个字符串的得分;处理后的查询内容中所述第i个字符的第二得分表示所述第i个字符在3gram切分规则下的得分;
所述电子设备基于所述每一个字符的第一得分以及第二得分取平均,得到所述每一个字符的得分;
所述电子设备确定所述每一个字符的得分中小于得分中位数且通过准确性验证的得分所对应的字符为错误字符;所述得分中位数为所述每一个字符的得分的中位数。
2.根据权利要求1所述的方法,所述电子设备基于所述错误字符得到理解结果,具体包括:
所述电子设备对所述查询内容中的错误字符进行纠错处理,得到纠错后的内容;
所述电子设备基于所述纠错后的内容得到理解结果。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备中还包括语言模型,所述语言模型中记录了不同预设词、每一个预设词对应的概率对数值以及回退权对数值;所述概率对数值为对预设词对应的概率取对数之后的结果,所述概率用于指示预设词的正确率;所述回退权对数值为对预设词对应的回退权值取对数之后的结果,所述回退权值用于指示预设词后接词的能力;
所述电子设备基于第一字符串序列得到每一个第一字符串的得分,具体包括:
对于每一个第一字符串,在所述第一字符串为所述语言模型中的一个预设词时,所述电子设备基于所述第一字符串对应的概率对数值确定所述第一字符串的得分;在所述第一字符串不为所述语言模型中的预设词时,所述电子设备基于所述第一字符串中各字符的概率对数值或者回退权对数值确定所述第一字符串的得分。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述电子设备按照词语为单位对所述查询内容进行分词,得到至少一个词语;
所述电子设备基于纠错后的内容得到理解结果,具体包括:
所述电子设备将所述纠错后的内容、所述至少一个词语作为理解结果。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述电子设备对所述至少一个词语进行同义词替换,得到至少一个同义词;
所述电子设备基于纠错后的内容得到理解结果,具体包括:
所述电子设备将所述纠错后的内容、所述至少一个词语、所述至少一个同义词作为理解结果。
6.根据权利要求1、2、4、5中任一项所述的方法,其特征在于,电子设备对查询内容进行切分之前,所述方法还包括:
所述电子设备检测到输入的内容;
所述电子设备基于所述输入的内容进行预处理得到查询内容;所述预处理包括对所述输入的内容进行大小写统一、将所述输入的内容中的全角字符转化为半角字符、将所述输入的内容中的繁体字符转化为简体字符中的一个或者多个。
7.根据权利要求1、2、4、5中任一项所述的方法,其特征在于,电子设备对查询内容进行切分之前,所述方法还包括:
所述电子设备确定所述查询内容不存在历史搜索信息;所述历史搜索信息中包括所述查询内容的历史理解结果。
8.根据权利要求3所述的方法,其特征在于,所述语言模型是基于大于预设阈值的其他语言模型基于数据压缩之后得到。
9.根据权利要求8所述的方法,其特征在于,所述数据压缩包括删除所述其他语言模型中的部分或者全部表示人名的预设词、将其他语言模型中各预设词的概率对数值以及回退权对数值的小数位保留数压缩至预设精度、将其他语言模型设置为二进制格式中的一个或者多个。
10.一种电子设备,其特征在于,包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至9中任一项所述的方法。
11.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310657847.6A CN116383346B (zh) | 2023-06-06 | 2023-06-06 | 检索理解方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310657847.6A CN116383346B (zh) | 2023-06-06 | 2023-06-06 | 检索理解方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116383346A CN116383346A (zh) | 2023-07-04 |
CN116383346B true CN116383346B (zh) | 2023-10-20 |
Family
ID=86981011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310657847.6A Active CN116383346B (zh) | 2023-06-06 | 2023-06-06 | 检索理解方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116383346B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528845A (zh) * | 2016-11-22 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的检索纠错方法及装置 |
CN110442685A (zh) * | 2019-08-14 | 2019-11-12 | 杭州品茗安控信息技术股份有限公司 | 建筑专业词库的数据扩充方法、装置、设备及存储介质 |
CN110674252A (zh) * | 2019-08-26 | 2020-01-10 | 银江股份有限公司 | 一种面向司法领域的高精度语义搜索系统 |
CN111639489A (zh) * | 2020-05-15 | 2020-09-08 | 民生科技有限责任公司 | 中文文本纠错系统、方法、装置及计算机可读存储介质 |
CN112434536A (zh) * | 2020-11-06 | 2021-03-02 | 合肥讯飞数码科技有限公司 | 文档理解方法、设备和存储介质 |
CN113221542A (zh) * | 2021-03-31 | 2021-08-06 | 国家计算机网络与信息安全管理中心 | 一种基于多粒度融合与Bert筛选的中文文本自动校对方法 |
CN114490510A (zh) * | 2021-12-24 | 2022-05-13 | 杭州趣链科技有限公司 | 文本流归档方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8229737B2 (en) * | 2004-11-23 | 2012-07-24 | International Business Machines Corporation | Name classifier technique |
-
2023
- 2023-06-06 CN CN202310657847.6A patent/CN116383346B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528845A (zh) * | 2016-11-22 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的检索纠错方法及装置 |
CN110442685A (zh) * | 2019-08-14 | 2019-11-12 | 杭州品茗安控信息技术股份有限公司 | 建筑专业词库的数据扩充方法、装置、设备及存储介质 |
CN110674252A (zh) * | 2019-08-26 | 2020-01-10 | 银江股份有限公司 | 一种面向司法领域的高精度语义搜索系统 |
CN111639489A (zh) * | 2020-05-15 | 2020-09-08 | 民生科技有限责任公司 | 中文文本纠错系统、方法、装置及计算机可读存储介质 |
CN112434536A (zh) * | 2020-11-06 | 2021-03-02 | 合肥讯飞数码科技有限公司 | 文档理解方法、设备和存储介质 |
CN113221542A (zh) * | 2021-03-31 | 2021-08-06 | 国家计算机网络与信息安全管理中心 | 一种基于多粒度融合与Bert筛选的中文文本自动校对方法 |
CN114490510A (zh) * | 2021-12-24 | 2022-05-13 | 杭州趣链科技有限公司 | 文本流归档方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116383346A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110415679B (zh) | 语音纠错方法、装置、设备和存储介质 | |
US20160275148A1 (en) | Database query method and device | |
CN110276023B (zh) | Poi变迁事件发现方法、装置、计算设备和介质 | |
US20170109435A1 (en) | Apparatus and method for searching for information | |
AU2017424116B2 (en) | Extracting domain-specific actions and entities in natural language commands | |
CN111382260A (zh) | 一种检索文本纠错方法、装置和存储介质 | |
CN107861948B (zh) | 一种标签提取方法、装置、设备和介质 | |
CN111737979B (zh) | 语音文本的关键词修正方法、装置、修正设备及存储介质 | |
CN111460117B (zh) | 对话机器人意图语料生成方法、装置、介质及电子设备 | |
CN111241106B (zh) | 近似数据处理方法、装置、介质及电子设备 | |
CN111259262A (zh) | 一种信息检索方法、装置、设备及介质 | |
CN107424612B (zh) | 处理方法、装置和机器可读介质 | |
CN112613293A (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
CN112214576A (zh) | 舆情分析方法、装置、终端设备及计算机可读存储介质 | |
CN114722199A (zh) | 基于通话录音的风险识别方法、装置、计算机设备及介质 | |
CN111858966B (zh) | 知识图谱的更新方法、装置、终端设备及可读存储介质 | |
CN111930949B (zh) | 搜索串处理方法、装置、计算机可读介质及电子设备 | |
CN116383346B (zh) | 检索理解方法和电子设备 | |
US20230274161A1 (en) | Entity linking method, electronic device, and storage medium | |
CN112307183B (zh) | 搜索数据识别方法、装置、电子设备以及计算机存储介质 | |
CN110276001B (zh) | 盘点页识别方法、装置、计算设备和介质 | |
CN114528851A (zh) | 回复语句确定方法、装置、电子设备和存储介质 | |
CN110442714B (zh) | Poi名称规范性评估方法、装置、设备和存储介质 | |
CN113076740A (zh) | 政务服务领域的同义词挖掘方法及装置 | |
CN112395863A (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 |