具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
针对现有的人机对话系统在语音转成文字的过程中,往往出现语音识别错误的技术问题,本申请实施例提供一种解决方案,基本思路是:针对获得的第一文本,从数据库中先选出可对第一文本进行替换的至少一个替换模板,结合第一文本的信息,利用替换模板对第一文本进行修正,获得匹配度更高的第二文本,再从第二文本和第一文本中选择需要输出的第三文本;该文本修正方法,提高文本信息的准确度,进而提高基于该文本信息的处理效果。
以下结合附图,详细说明本申请各实施例提供的技术方案。
需要说明的是,全文各实施例的第一文本即为需要进行修正的待修正文本,第二文本即为对第一文本进行修正后的候选文本,第三文本为最终输出的结果文本。为描述统一,下面统一描述为第一文本、第二文本、第三文本。
图1为本申请示例性实施例提供的文本修正方法的流程示意图,如图1所示,该方法包括:
S101:获取第一文本;
S102:根据第一文本,从数据库中选择至少一个替换模板;
S103:结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本;
S104:从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本。
在本申请实施例的上述方法的执行主体,可以为具备语音交互功能的任何智能设备,不限于机器人、智能音箱、可穿戴设备、手机、平板电脑(PersonalComputer,PC)等设备。
在一示例性实施例中,用户向智能设备发出语音,智能设备的语音处理模块接收该语音信息,并对语音信息进行识别转换为文本信息,由于外部环境相对复杂,语音在转成文本信息的过程中,常会出现语音识别错误的问题,为了提高语音识别的正确率,可结合智能设备的类型和所处的场景对该文本信息进行进一步修正,以使得设备对用户意图做出准确识别,执行用户下达的命令,下面对该需要修正的文本信息统一描述为第一文本。
当然,除上述语音识别场景之外,在其它一些场景中也可以产生第一文本,并且可以采用本申请实施例提供的文本修正方法对其进行修正。例如,在OCR场景中,智能设备扫描或者拍摄纸质文档中的文字获取图像文件,进而将图像文件转换为文本信息,产生上述的第一文本,再例如,在PDF转WORD的场景中,智能设备将图片文件转换为文本信息,产生上述的第一文本。
在获取第一文本之后,根据第一文本,从数据库中选择至少一个替换模板,生成替换模板库。为了提高文本修正的正确率,该数据库为与智能设备类型或者所处环境对应的数据库,例如:智能音箱中,数据库中存放有对音箱设备进行控制等的语料;在银行服务类机器人中,数据库中存放有银行相关业务对应的语料;在扫地机器人中,数据库中存放有用户扫地命令相关的语料等。
本示例性实施例中,从数据库中选择替换模板可以采用但不限于下述三种方式:
方式一,可以根据第一文本,从数据库中选择替换模板,数据库中存放有与设备对应场景下的语料。
方式二,根据待修正文文本的拼音信息,从数据库中选择替换模板,数据库中存放有与设备对应场景下的语料和与该语料一一对应的拼音信息。
方式三,根据第一文本和第一文本的拼音信息,从数据库中选择替换模板,数据库中存放有与设备对应场景下的语料和与该语料一一对应的拼音信息。
在上述方式一的一示例性实施例中,可以根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第一阈值语料作为替换模板。对第一文本逐个与数据库中各语料进行相似度计算,选择出大于第一阈值的语料作为替换模板,生成替换模板库。
上述方式二的一示例性实施例,根据第一文本的拼音信息与数据库中各语料的拼音信息之间的相似度,从数据库中选择相似度大于预设的第二阈值的语料作为替换模板。对第一文本的拼音信息逐一与数据库中各语料的拼音信息进行相似度计算,选择出相似度大于第二阈值的语料作为替换模板。
上述方式三的一示例性实施例,根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第一阈值的语料作为替换模板的一部分;根据第一文本的拼音信息与数据库中各语料的拼音信息之间的相似度,从数据库中选择相似度大于预设的第二阈值的语料作为替换模板的另一部分。对第一文本逐个与数据库中各语料进行相似度计算,选择出大于第一阈值的语料作为替换模板的一部分,对第一文本的拼音信息逐一与数据库中各语料的拼音信息进行相似度计算,选择出相似度大于第二阈值的语料作为替换模板的另一部分。值得说明的是,本实施例中,分别结合第一文本的拼音信息和数据库中的语料的拼音信息选择替换模板,增大数据库中与替换模板相近的语料样本数量,增加文本修正的正确率,降低设备误判率。
上述方式三的另一示例性实施例,根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第三阈值语料形成语料子集;根据第一文本的拼音信息与语料子集中各语料的拼音信息之间的相似度,从语料子集中选择相似度大于预设的第四阈值的语料作为替换模板。即,对第一文本逐个与数据库中各语料进行相似度计算,选择出大于第三阈值的语料作为语料子集,然后,对第一文本的拼音信息和语料子集中各语料的拼音信息进行相似度计算,选择出大于第四阈值的语料作为替换模板。
上述各实施例可以采用相似度算法计算相似度。相似度算法包括:编辑距离、汉明距离、欧式距离、余弦相似度、BM25、TF/IDF等算法。
在获得替换模板后,利用替换模板对第一文本修正,获得至少一个第二文本。为了提高文本修正的正确率,结合第一文本的拼音信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本。
值得说明的是,第一阈值、第二阈值、第三阈值和第四阈值为用户提前设定,上述实施例中,也可以同时提前设定替换模板的数量,在此对上述的第一阈值、第二阈值、第三阈值和第四阈值的取值不作限定,可根据应用场景适应性设置。
图2为本申请示例性实施例提供的一种获取第二文本方法的流程示意图,如图2所示,获取第二文本的方法包括:
S201:对至少一个替换模板中的每个替换模板,识别第一文本的拼音信息和替换模板的拼音信息中的公共子序列和非公共子序列;
S202:将第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段,并根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,以获得一个第二文本。
在本实施例中,需要将第一文本和每个替换模板转换为拼音以获得对应的拼音信息,然后再根据第一文本的拼音信息和替换模板的拼音信息,寻找公共子序列和非公共子序列,这里的将第一文本和每个替换模板转换位拼音以获得对应的拼音信息的步骤也可以在前述步骤S102中完成。
其中,公共子序列指的是,两个拼音文本中以每个汉字对应的拼音为单位两两对比拼音完全相同的部分。非公共子序列指的是,两个拼音文本中去除公共子序列的剩余部分构成非公共子序列。可以看出,寻找公共子序列是以单个拼音为单位,两两进行对比,寻找两个拼音文本中拼音相同的部分。
下面结合表1举例说明本申请实施例识别第一文本的拼音信息和替换模板的拼音信息中的公共子序列和非公共子序列的过程:
上表1中第一文本为Input,Input的拼音信息为Input_py,其中一替换模板S1,S1的拼音信息为S1_py。那么上表1中两个拼音文本的公共子序列为[wo,banli,kuan],非公共子序列[yao,xiang,da,xiadai]。
在获取到公共子序列后,将第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段。
结合上表1将S1中公共子序列对应的汉字部分,替换Input对应部分的汉字,即将S1的公共子序列对应的文本片段[我、办理、款]替换Input中公共子序列对应的文本片段[我、办理、款],对于上述例子,S1的公共子序列的文本片段与Input中的文本片段相同,实际上还存在音同字不同作替换的情况,例如,若S1的公共子序列对应的文本片段[我、办理、贷款],Input中公共子序列对应的文本片段[我、办理、待款],“贷”和“待”属于音同字不同,在Input文本中识别汉字将“贷”错误识别为“待”时,通过替换模板S1即可纠正。
在对第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段后,根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,以获得一个第二文本。
图3为本申请实施例提供的另一种获取第二文本方法的流程示意图,如图3所示,该方法包括:
S301:对至少一个替换模板中的每个替换模板,识别第一文本的拼音信息和替换模板的拼音信息中的公共子序列和非公共子序列;
S302:将第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段;
S303:计算替换模板中与非公共子序列对应的替换文本片段与第一文本中与非公共子序列对应的第一文本片段的字数差值;
S304:若字数差值小于预设的第六阈值,则根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,以获得一个第二文本。
在本实施例中,先进行替换模板的替换文本片段与第一文本中第一文本片段的字数差值的判断,若两者字数差值小于预设的第六阈值,则进行后续的替换文本片段对第一文本片段的替换修正操作,若两者字数差值大于等于预设的第六阈值,则不进行后续的替换文本片段对第一文本片段的替换修正操作,直接进行下一组非公共子序列对应替换文本片段和第一文本片段的对比。
上述实施例还可以为,计算替换模板的替换文本片段与第一文本中第一文本片段的字数差值比例,若两者字数差值比例小于预设的第六阈值,则进行后续的替换文本片段对第一文本片段的替换修正操作,若两者字数差值比例大于等于预设的第六阈值,则不进行后续的替换文本片段对第一文本片段的替换修正操作,直接进行下一组非公共子序列对应替换文本片段和第一文本片段的对比。
需要说明的是,在替换模板的非公共子序列对第一文本进行修正中,先进行替换模板的替换文本片段与第一文本中第一文本片段的字数差值的判断,减小后续不必要的流程,提高文本修正的效率。
上述方法流程中,也可以不经过S303字数差值的判断而直接进行步骤S304,如图2所示。
在上述实施例或下述实施例中,当需要根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正时,一种可选修正方式如图4所示。
图4本申请实施例还提供一种根据替换模板的非公共子序列对第一文本进行修正的方法。该方法包括:
S401:确定第一文本片段包含的至少一个待修正分词片段;
S402:对每个待修正分词片段,计算待修正分词片段与替换文本片段中各分词片段的相似度;
S403:若替换文本片段中各分词片段中存在与待修正分词的相似度大于预设的第五阈值的目标分词片段,将待修正分词片段替换为目标分词片段。
上述各实施例中,确定第一文本片段包含的至少一个待修正分词片段。一可选实施例为,提前对第一文本进行分词操作,根据分词结果确定第一文本片段包含的待修正分词片段;或者,也可以实时对第一文本片段进行分词操作来确定第一文本片段包含的待修正分词片段。
相应地,替换文本片段中也会包含至少一个分词片段。可选地,提前对替换文本片段进行分词操作,根据分词结果确定替换文本片段包含的替换文本分词片段,或者,也可以实时对替换文本片段进行分词操作来确定替换文本片段包含的替换文本分词片段。
确定第一文本片段和替换文本片段中包含的分词片段之后,对每个待修正分词片段,计算待修正分词片段与替换文本片段中各分词片段的相似度。
可选地,一种计算待修正分词片段与替换文本片段中各分词片段的相似度的可选实施方式包括:对替换文本片段中的第一分词片段,若第一分词片段所属分词与待修正分词片段所属分词具有相同部分,计算第一分词片段所属分词和待修正分词片段所属分词之间的相似度,作为第一分词片段与待修正分词片段之间的相似度。其中,第一分词片段是替换文本片段中的任一分词片段,例如:前述表1替换模板S1的非公共序列[下、贷]包括两个分词片段“下”“贷”,在计算“大”与“下”之间的相似度为0后,还需要计算“大”与“贷”之间的相似度,对于“大”与“贷”所属的分词分别为“大款”和“贷款”,两个分词具有相同部分“款”,故可以计算分词“大款”和“贷款”之间的相似度作为“大”与“贷”之间的相似度。
对任一待修正分词片段而言,在经过上述计算过程后,可以计算出该待修正分词片段与替换文本片段中各分词片段的相似度,然后将各相似度与第五阈值进行比较,从替换文本片段包含的各分词片段中获取与待修正分词的相似度大于预设的第五阈值的分词片段,并将其记为目标分词片段,然后将该待修正分词片段替换为目标分词片段,最终完成对第一文本中与非公共子序列对应的第一文本片段的修正。
在上述实施例中,计算待修正分词片段与替换文本片段中各分词片段的相似度,可以采用但不限于下述四种方式:
方式一,对替换文本片段中的第一分词片段,计算待修正分词片段的文字和第一分词片段的文字差异度作为待修正分词片段和第一分词片段的相似度。其中,文字的相似度可以采用前述的相似度算法计算。
方式二,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音和第一分词片段的拼音的差异度作为待修正分词片段和第一分词片段的相似度。在此方式中,待修正分词片段的拼音和第一分词片段的拼音的差异度,此处相似度计算可以采用前述的相似度算法计算,或者差异度计算也可以通过计算差异字母个数在拼音中所占的百分比获取。
方式三,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音中的声韵母和第一分词片段的拼音的声韵母的差异度作为待修正分词片段和第一分词片段的相似度。在此方式中,需要计算待修正分词片段的拼音中的声母与第一分词片段的拼音的声母是否相同,再计算待修正分词片段的拼音中的韵母与第一分词片段的拼音的韵母是否相同,只有当两者的声母和韵母都相同时,才将修正分词片段替换为目标分词片段。
方式四,对替换文本片段中的第一分词片段,分析待修正分词片段和第一分词片段中存在的模糊音信息作为待修正分词片段和第一分词片段的相似度。在此方式中,对待修正分词片和第一分词片段的声母和韵母是否符合模糊音规则,例如,卷舌音、前后鼻音等容易混淆、不易区分清楚的一对音节。
在计算待修正分词片段与替换文本片段中各分词片段的相似度后,若替换文本片段中各分词片段中存在与待修正分词的相似度大于预设的第五阈值的目标分词片段,将待修正分词片段替换为目标分词片段,若替换文本片段中各分词片段中存在与待修正分词的相似度小于等于预设的第五阈值的目标分词片段,不进行修正分词片段的替换操作。
值得说明的是,通过对第一文本的拼音信息和替换模板的拼音信息进行划分公共子序列和非公共子序列,通过公共子序列和非公共子序列依次对第一文本进行修正,第一文本和替换模板的对比更加细化,增加文本修正的准确率。
可选地,在获取第二文本后,抽取至少一个第二文本和第一文本的分词特征,并根据至少一个第二文本和第一文本的分词特征,分别计算至少一个第二文本和第一文本的置信度;从至少一个第二文本和第一文本中,选择置信度满足置信度条件的文本作为对第一文本进行修正的第三文本。
在一可选实施例中,抽取第二文本和第一文本的分词特征作为排序模型的输入特征参数,通过排序模型计算第二文本和第一文本的置信度,获取最终的第三文本。排序模型可通过排序算法训练得到。排序算法有RankSVM、IR SVM等算法。分词特征包括:分词个数、分词概率、词性概率、依存关系、依存概率、句子困惑度和句子主题中的至少一个。其中,困惑度的计算公式如下:
其中,W1、W2…W3为分词特征值。由公式可知,困惑度越小,句子概率越大,语言模型越好。
下面以RankSVM模型为例进行说明:
RankSVM的基本思想是,将排序问题转化为二元分类问题,然后使用SVM分类模型进行学习并求解。RankSVM的算法的模型函数:F(x)=wx+b。其中x为输入的特征值,w、b是通过训练得到的参数。通过函数的计算可以得到每个句子的得分,得分越高排序越优先。
第一文本为Input:我要办理大款。
若第二文本中只有一个句子S1:我要办理贷款。
抽取的分词特征包括:分词个数、分词概率,词性概率、困惑度差值。经过计算得到分词个数、词性,词性概率的数值如下表所示:
Input |
我 |
要 |
办理 |
贷款 |
分词概率 |
1.000 |
1.000 |
0.997 |
1.000 |
词性 |
PN |
VV |
VV |
NN |
词性概率 |
1.000 |
0.995 |
0.998 |
0.998 |
根据困惑度的计算公式,第一文本Input的困惑度PPL:303。第二文本S1的困惑度PPL:1256。
RankSVM排序算法为例,假设抽取句子的分词个数、分词概率均值,词性概率均值以及困惑度值,以分词个数和输入文本分词个数的差值、困惑度和输入文本困惑度的差值、词性概率均值以及分词概率均值作为RankSVM的训练数据特征,其中输入文本的分词个数和困惑度的差值均为0.0。
通过分词个数差值、分词概率均值、词性概率均值、困惑度差值计算的置信度结果如下:
句子 |
分词个数差值 |
分词概率均值 |
词性概率均值 |
困惑度差值 |
置信度 |
Input |
0 |
0.999 |
0.997 |
-935 |
0.956 |
S1 |
0 |
0.992 |
0.997 |
0 |
0.287 |
通过计算,“我要办理贷款”的置信度高于“我要办理大款”,所以最终输出为“我要办理贷款”。
本申请实施例提供的文本修正方法可应用在人机交互场景中,例如可以获取用户输入的语音信息,对语音信息进行语音识别转换得到第一文本;根据带修正文本,从数据库中选择至少一个替换模板;结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本;从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本。根据第三文本,向用户输出相关内容,实现人机的准确交互。
本申请实施例针对获得的第一文本,从数据库中先选出可对第一文本进行替换的至少一个替换模板,结合第一文本的信息,利用替换模板对第一文本进行修正,获得匹配度更高的第二文本,再从第二文本和第一文本中选择需要输出的第三文本;该文本修正方法,提高文本信息的准确度,进而提高基于该文本信息的处理效果。
下面结合不同场景的实施例对本申请文本修正方法作出说明。
在银行服务场景中,用户需要咨询银行贷款业务向机器人发出语音“我要办理贷款”,机器人接收到用户发出的语音后进行语音识别,在语音识别过程中,将语音错误识别为“我要办理大款”,采用本申请文本修正方法修正后的输出正确的第三文本为“我要办理贷款”,机器人根据第三文本在机器人的显示屏幕上显示贷款界面,以方便用户查看,或者机器人以语音方式告知用户贷款的相关流程。
在商场导购场景中,用户向导购机器人发出语音“给我推荐一个儿童玩偶”,导购机器人接收到用户发出的语音后进行语音识别,在语音识别过程中,将语音错误识别为“给我推荐一个儿童王”,采用本申请文本修正方法修正后的输出正确的第三文本为“给我推荐一个儿童玩偶”,导购机器人根据正确的第三文本,向用户发出语音“我们店的熊本熊玩偶很受欢迎”,并将用户引导至儿童玩偶店。
在扫地场景中,用户需要清洁客厅时,向扫地机器人发出语音“我要清扫一下主卧”,扫地机器人接收到用户发出的语音后进行语音识别,在语音识别过程中,将语音错误识别为“我要清扫次卧”,采用本申请文本修正方法修正后的输出正确的第三文本为“我要清扫一下主卧”,扫地机器人根据正确的第三文本“我要清扫一下主卧”,执行正确的主卧清扫工作。
图5为本申请示例性实施例提供的一种文本修正设备的结构框图。该文本修正设备包括一个或多个处理器502和一个或多个存储计算机程序的存储器503。还可以包括音频组件501、电源组件504等必要组件。可选地,音频组件501用于获取用户的语音信息,以根据语音信息获取第一文本。
一个或多个存储器503,存储有计算机程序;
一个或多个处理器502,用于执行计算机程序,以用于:
获取第一文本;
根据第一文本,从数据库中选择至少一个替换模板;
结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本;
从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本。
可选地,一个或多个处理器502在根据第一文本,从数据库中选择至少一个替换模板,可用于:根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板。
可选地,一个或多个处理器502在根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板,可用于:根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第一阈值的语料作为替换模板;以及根据第一文本的拼音信息与数据库中各语料的拼音信息之间的相似度,从数据库中选择相似度大于预设的第二阈值的语料作为替换模板。
可选地,一个或多个处理器502在根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板,可用于:根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第三阈值语料形成语料子集;根据第一文本的拼音信息与语料子集中各语料的拼音信息之间的相似度,从语料子集中选择相似度大于预设的第四阈值的语料作为替换模板。
可选地,一个或多个处理器502在结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本,可用于:对至少一个替换模板中的每个替换模板,识别第一文本的拼音信息和替换模板的拼音信息中的公共子序列和非公共子序列;将第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段,并根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,以获得一个第二文本。
可选地,一个或多个处理器502在根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,可用于:确定第一文本片段包含的至少一个待修正分词片段;对每个待修正分词片段,计算待修正分词片段与替换文本片段中各分词片段的相似度;若替换文本片段中各分词片段中存在与待修正分词的相似度大于预设的第五阈值的目标分词片段,将待修正分词片段替换为目标分词片段。
可选地,一个或多个处理器502在计算待修正分词片段与替换文本片段中各分词片段的相似度,可用于:对替换文本片段中的第一分词片段,若第一分词片段所属分词与待修正分词片段所属分词具有相同部分,计算第一分词片段所属分词和待修正分词片段所属分词之间的相似度;其中,第一分词片段是替换文本片段中的任一分词片段。
可选地,一个或多个处理器502在计算待修正分词片段与替换文本片段中各分词片段的相似度,可用于:对替换文本片段中的第一分词片段,计算待修正分词片段的文字和第一分词片段的文字差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音和第一分词片段的拼音的差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音中的声韵母和第一分词片段的拼音的声韵母的差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,分析待修正分词片段和第一分词片段中存在的模糊音信息作为待修正分词片段和第一分词片段的相似度;其中,第一分词片段是替换文本片段中的任一分词片段。
可选地,一个或多个处理器502在根据替换模板中与非公共子列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正之前,还可用于:计算替换模板中与非公共子序列对应的替换文本片段与第一文本中与非公共子序列对应的第一文本片段的字数差值;若字数差值小于预设的第六阈值,则根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正。
可选地,一个或多个处理器502在从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本,可用于:抽取至少一个第二文本和第一文本的分词特征,并根据至少一个第二文本和第一文本的分词特征,分别计算至少一个第二文本和第一文本的置信度;从至少一个第二文本和第一文本中,选择置信度满足置信度条件的文本作为对第一文本进行修正的第三文本。
可选地,一个或多个处理器502在获取第一文本中,可用于:通过音频组件501接收用户输入的语音信息,对语音信息进行文本识别,得到第一文本;
在选择出对第一文本进行修正的第三文本之后,还可用于:
根据第三文本与用户进行人机对话。
本申请实施例文本修正设备针对获得的第一文本,从数据库中先选出可对第一文本进行替换的至少一个替换模板,结合第一文本的信息,利用替换模板对第一文本进行修正,获得匹配度更高的第二文本,再从第二文本和第一文本中选择需要输出的第三文本;该文本修正设备,提高文本信息的准确度,进而提高设备基于该文本信息的处理效果。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器502执行时,致使一个或多个处理器502执行相应图1所示方法实施例中的各步骤。
上述文本修正设备可以为机器人,图6为本申请示例性实施例提供的一种机器人的结构框图。如图6所示,该机器人包括:机械本体601;机械本体601上设有一个或多个处理器603和一个或多个存储计算机指令的存储器604。除此之外,机械本体601上还设有音频组件。
音频组件,。该音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。可选地,音频组件可用于获取用户的语音信息,以根据语音信息获取第一文本。
机械本体601上除了设有一个或多个处理器603以及一个或多个存储器604之外,还设置有机器人的一些基本组件,例如传感器、电源组件、里程计、驱动组件等等。传感器602可以包括激光雷达传感器602、视觉传感器602、干湿度传感器602等,视觉传感器602可以是摄像头、相机等。可选地,驱动组件可以包括驱动轮、驱动电机、万向轮等。可选地,清扫组件可以包括清扫电机、清扫刷、起尘刷、吸尘风机等。不同机器人所包含的这些基本组件以及基本组件的构成均会有所不同,本申请实施例仅是部分示例。
值得说明的是,音频组件、传感器602、一个或多个处理器603、一个或多个存储器604可设置于机械本体601内部,也可以设置于机械本体601的表面。
机械本体601是机器人赖以完成作业任务的执行机构,可以在确定的环境中执行处理器603指定的操作。其中,机械本体一定程度上体现了机器人的外观形态。在本实施例中,并不限定机器人的外观形态,例如可以是圆形、椭圆形、三角形、凸多边形等。
一个或多个存储器604,主要用于存储计算机程序,该计算机程序可被一个或多个处理器603执行,致使一个或多个处理器604可以对第一文本进行修正操作。除了存计算机程序之外,一个或多个存储器604还可被配置为存储其它各种数据以支持在机器人上的操作。
一个或多个处理器603,可以看作是机器人的控制系统,可用于执行一个或多个存储器604中存储的计算机程序,以对机器人进行文本修正操作。其中,一个或多个存储器604中可以存储不同的计算机程序,这样一个或多个处理器603可以执行不同计算机程序,采用不同的方式文本进行修正。
处理器603例如,一个或多个存储器604中存储计算机程序,一个或多个处理器603可以执行第一计算机程序,可用于:
获取第一文本;
根据第一文本,从数据库中选择至少一个替换模板;
结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本;
从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本。
可选地,一个或多个处理器502在根据第一文本,从数据库中选择至少一个替换模板,可用于:根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板。
可选地,一个或多个处理器502在根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板,可用于:根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第一阈值的语料作为替换模板;以及根据第一文本的拼音信息与数据库中各语料的拼音信息之间的相似度,从数据库中选择相似度大于预设的第二阈值的语料作为替换模板。
可选地,一个或多个处理器502在根据第一文本和第一文本的拼音信息,从数据库中选择至少一个替换模板,可用于:根据第一文本与数据库中各语料之间的相似度,从语料中选择相似度大于预设的第三阈值语料形成语料子集;根据第一文本的拼音信息与语料子集中各语料的拼音信息之间的相似度,从语料子集中选择相似度大于预设的第四阈值的语料作为替换模板。
可选地,一个或多个处理器502在结合第一文本的信息,利用至少一个替换模板对第一文本进行修正,以获得至少一个第二文本,可用于:对至少一个替换模板中的每个替换模板,识别第一文本的拼音信息和替换模板的拼音信息中的公共子序列和非公共子序列;将第一文本中与公共子序列对应的文本片段替换为替换模板中与公共子序列对应的文本片段,并根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,以获得一个第二文本。
可选地,一个或多个处理器502在根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正,可用于:确定第一文本片段包含的至少一个待修正分词片段;对每个待修正分词片段,计算待修正分词片段与替换文本片段中各分词片段的相似度;若替换文本片段中各分词片段中存在与待修正分词的相似度大于预设的第五阈值的目标分词片段,将待修正分词片段替换为目标分词片段。
可选地,一个或多个处理器502在计算待修正分词片段与替换文本片段中各分词片段的相似度,可用于:对替换文本片段中的第一分词片段,若第一分词片段所属分词与待修正分词片段所属分词具有相同部分,计算第一分词片段所属分词和待修正分词片段所属分词之间的相似度;其中,第一分词片段是替换文本片段中的任一分词片段。
可选地,一个或多个处理器502在计算待修正分词片段与替换文本片段中各分词片段的相似度,可用于:对替换文本片段中的第一分词片段,计算待修正分词片段的文字和第一分词片段的文字差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音和第一分词片段的拼音的差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,计算待修正分词片段的拼音中的声韵母和第一分词片段的拼音的声韵母的差异度作为待修正分词片段和第一分词片段的相似度;或者,对替换文本片段中的第一分词片段,分析待修正分词片段和第一分词片段中存在的模糊音信息作为待修正分词片段和第一分词片段的相似度;其中,第一分词片段是替换文本片段中的任一分词片段。
可选地,一个或多个处理器502在根据替换模板中与非公共子列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正之前,还可用于:计算替换模板中与非公共子序列对应的替换文本片段与第一文本中与非公共子序列对应的第一文本片段的字数差值;若字数差值小于预设的第六阈值,则根据替换模板中与非公共子序列对应的替换文本片段对第一文本中与非公共子序列对应的第一文本片段进行修正。
可选地,一个或多个处理器502在从至少一个第二文本和第一文本中,选择对第一文本进行修正的第三文本,可用于:抽取至少一个第二文本和第一文本的分词特征,并根据至少一个第二文本和第一文本的分词特征,分别计算至少一个第二文本和第一文本的置信度;从至少一个第二文本和第一文本中,选择置信度满足置信度条件的文本作为对第一文本进行修正的第三文本。
可选地,一个或多个处理器502在获取第一文本中,可用于:通过音频组件501接收用户输入的语音信息,对语音信息进行文本识别,得到第一文本;
在选择出对第一文本进行修正的第三文本之后,还可用于:
根据第三文本与用户进行人机对话。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器603执行时,致使一个或多个处理器603执行相应图1所示方法实施例中的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。