发明内容
本发明提供了一种车站名称识别方法、装置、设备及存储介质,以解决现有技术中,在文本提取时,无法在降低对数据集的要求时,保证泛化能力的技术问题。
第一方面,本发明实施例提供了一种车站名称识别方法,包括:
获取基于用户的语音请求数据得到的字符识别结果以及与所述字符识别结果对应的备选车站名称集合;
计算所述备选车站名称集合中每个备选车站名称的匹配评价分数,所述匹配评价分数包括:字符统计分数和/或字符排序分数;
根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
进一步的,所述匹配评价分数为字符统计分数;
所述计算所述备选车站名称集合中每个备选车站名称的匹配评价分数包括:
获取所述备选车站名称集合中每个备选车站名称包含的各字符,所述备选车站名称中每个文字为一个字符以及备选车站名称中每个文字对应的拼音为一个字符;
确定各所述字符对应的字符统计指数;
将所述备选车站名称中各字符的字符统计指数相加,以得到字符统计分数;
所述根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果包括:
在全部所述字符统计分数中,选择分数最高的至少一个字符统计分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
进一步的,所述在全部所述字符统计分数中,选择分数最高的至少一个字符统计分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果包括:
在全部所述字符统计分数中,选择高于第一分数阈值的字符统计分数作为备选统计分数;
在全部所述备选统计分数中,选择分数最高的至少一个备选统计分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
进一步的,所述备选车站名称集合包含在车站名称总集合中,
所述方法还包括:
统计所述车站名称总集合中每个字符的频次以及总字符数量;
根据所述频次和所述总字符数量计算对应字符的字符统计指数。
进一步的,所述匹配评价分数为字符排序分数;
所述计算所述备选车站名称集合中每个备选车站名称的匹配评价分数包括:
确定所述字符识别结果中各字符对应的第一索引值以及所述备选车站名称中各字符对应的第二索引值;
在所述备选车站名称和所述字符识别结果中查找相同的字符以及不同的字符;
计算所述相同的字符对应的第一索引值和第二索引值的差值;
将各所述差值的绝对值、所述备选车站名称中不同的字符对应的第二索引值以及所述字符识别结果中不同的字符对应的第一索引值相加,以得到所述备选车站名称对应的字符排序分数;
所述根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果包括:
在全部所述字符排序分数中,选择分数最低的至少一个字符排序分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
进一步的,所述匹配评价分数包括字符统计分数和字符排序分数;
所述根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果包括:
在全部所述字符排序分数中,选择字符排序分数低于第二分数阈值的备选车站名称;
在字符排序分数低于第二分数阈值的备选车站名称中,选择字符统计分数高于第三分数阈值的备选车站名称;
在字符统计分数高于第三分数阈值的备选车站名称中,选择字符统计分数最高的至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
进一步的,所述获取基于用户的语音请求数据得到的字符识别结果以及与所述字符识别结果对应的备选车站名称集合包括:
获取基于用户的语音请求数据得到的字符识别结果;
确定所述字符识别结果包含的字符数量是否小于第一数量阈值;
若是,则获取与所述字符识别结果对应的备选车站名称集合。
进一步的,所述确定各所述字符对应的字符统计指数之后,还包括:
确定所述字符识别结果包含的字符数量是否大于或等于第二数量阈值;
若是,则对所述字符统计指数进行开方,以得到更新后的字符统计指数;
若否,则固定所述字符统计指数。
第二方面,本发明实施例还提供了一种车站名称识别装置,包括:
集合获取模块,用于获取基于用户的语音请求数据得到的字符识别结果以及与所述字符识别结果对应的备选车站名称集合;
分数计算模块,用于计算所述备选车站名称集合中每个备选车站名称的匹配评价分数,所述匹配评价分数包括:字符统计分数和/或字符排序分数;
结果选择模块,用于根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
第三方面,本发明实施例还提供了一种车站名称识别设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的车站名称识别方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的车站名称识别方法。
上述车站名称识别方法、装置、设备及存储介质,通过获取用户语音请求数据的字符识别结果以及与字符识别结果对应的备选车站名称集合,之后,计算备选车站名称集合中每个备选车站名称的匹配评价分数,进而根据匹配评价分数得到语音请求数据的车站名称识别结果的技术方案,可以解决无法在降低对数据集的要求时,保证泛化能力的技术问题,本方案通过匹配评价分数进行车站名称的选择,无需对车站名称总集合(数据集)进行标注,对数据集的要求低,且无需预先建模,具有较高的泛化能力。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或操作或对象与另一个实体或操作或对象区分开来,而不一定要求或者暗示这些实体或操作或对象之前存在任何这种实际的关系或顺序。例如,第一索引值和第二索引值的“第一”和“第二”用来区分两个不同的索引值。
实施例一
图1为本发明实施例一提供的一种车站名称识别方法的流程图。实施例中提供的车站名称识别方法可以由车站名称识别装置执行,该车站名称识别装置可以通过软件和/或硬件的方式实现,并集成在车站名称识别设备中。其中,车站名称识别设备可以是平板电脑、台式电脑、智能手机、智能手表等具有数据处理及分析能力的智能设备,车站名称识别设备可以为一个独立的智能设备,或由多个可进行数据通信的智能设备组成。
具体的,参考图1,该车站名称识别方法具体包括:
步骤110、获取基于用户的语音请求数据得到的字符识别结果以及与字符识别结果对应的备选车站名称集合。
示例性的,语音请求数据为用户发出的、包含待查询的车站名称的语音数据。车站名称识别设备通过识别语音请求数据查找用户需要的车站名称。其中,语音请求数据可以通过语音采集装置(如麦克风)获取,或者,通过网络下载语音数据的方式获取。车站名称可以为汽车站名称、地铁站名称或公交站名称等。实施例中,以车站名称为地铁站名称为例进行表述。
具体的,当接收到语音请求数据后,先识别语音请求数据中包含的字符,即将语音请求数据转换成文本数据,此时,可以采用语音识别技术。其中,字符可以为文字和/或拼音,对应的字符识别结果可以为文字识别结果和/或拼音识别结果。可以理解,文字识别结果中每个文字可以认为是一个字符,拼音识别结果中每个拼音可以认为是一个字符。可选的,将当前识别的字符按照语音请求数据中的顺序排列,以得到字符识别结果。或者是,为了提高后续处理的准确度,将当前识别的字符按照语音请求数据中的顺序排列,之后,对排列得到的字符进行筛选,以保留其中的关键字符,并得到字符识别结果,例如,预先设定关键词集合,之后,基于关键词集合查找并保留关键字符,进而得到字符识别结果。举例而言,语音请求数据识别后的字符为“白云区广场的文化公园”,对上述字符进行筛选后得到“白云广场文化”作为字符识别结果,该字符识别结果中剔除了一些无效字符,保证了后续识别的准确度。可以理解,本实施例对于语音转字符的具体手段以及保留关键字符的具体手段不作限定。
进一步的,预先建立车站名称总集合。其中,车站名称总集合的数据范围可以根据实际情况设定。例如,搜集某市全部地铁站的站名,并组成车站名称总集合。之后,在车站名称总集合中,选择与字符识别结果相似的车站名称并记为备选车站名称,并将多个备选车站名称组成备选车站名称集合。其中,备选车站名称的确定方式以及数量实施例不作限定。一般而言,字符识别结果与备选车站名称中的字符具有较高的重复率。例如,某个车站名称中的拼音与字符识别结果中出现的拼音相同,则将该车站名称确定为备选车站名称,可以理解,两个字符的拼音相同是指两个字符的拼音中字母及字母排序相同,但是声调可以相同或不同,如字符识别结果为“科韵路”,某个车站名称为“柯云路”,两者具有相同的拼音,因此,将“柯云路”作为备选车站名称。再如,某个车站名称中每个文字与字符识别中的文字相同,则将该车站名称确定为备选车站名称。如字符识别结果为“白云广场文化”,某个车站站名为“白云文化广场”,两者具有相同的文字,因此将该车站名称确定为备选车站名称。可以理解,实际应用中,不要求备选车站名称与字符识别结果中的文字或拼音完全一致,只要重复率高于一定阈值即可。选出备选车站名称集合后,便可以在备选车站名称集合中提取出用户需要的车站名称作为语音请求数据的识别结果。
步骤120、计算备选车站名称集合中每个备选车站名称的匹配评价分数,匹配评价分数包括:字符统计分数和/或字符排序分数。
其中,匹配评价分数用于对备选车站名称进行评估,评估结果越好,说明该备选车站名称的质量越高,是用户期望查询的车站名称的可能性越大。每个备选车站名称对应一个匹配评价分数。
具体的,匹配评价分数包括字符统计分数和/或字符排序分数。其中,字符统计分数可以体现备选车站名称的字符代价,字符代价越高,备选车站名称的质量越优,对识别结果的影响越大。字符代价可以通过统计车站名称总集合中各字符的出现次数决定,其中,出现次数越少,对应的字符代价越大。实施例中,车站名称总集合中每个字符均对应一个字符代价,并将字符代价记为字符统计指数。进一步的,每个备选车站名称对应一个字符统计分数,字符统计分数可以通过备选车站名称中各字符统计指数的和值确定。
字符排序分数用于体现字符识别结果和备选车站名称之间各字符的排序差异程度。例如,字符识别结果“白云广场文化”和备选车站名称“白云文化广场”之间,“广”、“场”、“文”、“化”这四个字符存在排序差异,此时,可以通过四个字符得到字符排序分数。可以理解,字符排序分数的计算规则可以根据实际情况设定。实施例中,通过字符排序位置差异计算字符排序分数。例如,字符识别结果“白云广场文化”中六个字符按照由1至6的位置排列,备选车站名称“白云文化广场”中六个字符同样按照由1至6的位置排列,以“文”为例,其在字符识别结果中处于第五个位置,在备选车站名称中处于第三个位置,此时,“文”的排序位置差异为2,按照这种方式,可以计算每个字符的排序位置差异,之后,将各排序位置差异相加,便可以得到字符排序分数。按照此类方法计算的字符排序分数越高,说明备选车站名称与字符识别结果的差异越大,该备选车站名称的质量越低。或者是,将上述得到的字符排序分数取倒数,并将倒数作为最终的字符排序分数,此时,字符排序分数越高,说明备选车站名称与字符识别结果的排序差异越小,备选车站名称的质量越高。
步骤130、根据匹配评价分数选择至少一个备选车站名称作为语音请求数据的车站名称识别结果。
具体的,通过匹配评价分数在备选车站名称集合中选择至少一个备选车站名称作为最终的车站名称识别结果。例如,匹配评价分数为字符统计分数时,选择分数排列在前的(即分数高的)至少一个备选车站名称作为车站名称识别结果。再如,匹配评价分数为字符排序分数时,选择排序差异低的至少一个字符排序分数对应的备选车站名称作为车站名称识别结果。还如,匹配评价分数包括字符统计分数和字符排序分数时,可以先基于字符排序分数选择多个排序差异低的备选车站名称,之后,在选择的多个备选车站名称中,选择至少一个字符统计分数高的备选车站名称作为车站名称识别结果。又如,匹配评价分数包括字符统计分数和字符排序分数时,可以先基于字符统计分数选择多个字符统计分数高的备选车站名称,之后,在选择的多个备选车站名称中,根据字符排序分数选择至少一个排序差异低的备选车站名称作为车站名称识别结果。可以理解,车站名称识别结果的数量可以由车站名称识别设备确定,且不同识别过程对应的数量可以相同或不同,实施例对此不作限定。
进一步的,将得到的车站名称识别结果返回至用户交互界面,以使用户明确车站名称识别结果。可以理解的,当车站名称识别结果为多个时,用户可以根据实际需求选择其中一个车站名称识别结果作为最终需要的结果。之后,车站名称识别设备可以根据车站名称识别结果向用户返回购票金额、到达路线等内容,以使用户得到需要的信息。
上述,通过获取用户语音请求数据的字符识别结果以及与字符识别结果对应的备选车站名称集合,之后,计算备选车站名称集合中每个备选车站名称的匹配评价分数,进而根据匹配评价分数得到语音请求数据的车站名称识别结果的技术方案,可以解决无法在降低对数据集的要求时,保证泛化能力的技术问题,本方案通过匹配评价分数进行车站名称的选择,对车站名称集合(数据集)的要求低,且无需预先建模,具有较高的泛化能力。
实施例二
图2为本发明实施例二提供的一种车站名称识别方法的流程图。本实施例是在上述实施例的基础上进行具体化,本实施例中,匹配评价分数为字符统计分数。参考图2,本实施例提供的车站名称识别方法包括:
步骤210、获取基于用户的语音请求数据得到的字符识别结果。
步骤220、确定字符识别结果包含的字符数量是否小于第一数量阈值。若是,则执行步骤230,否则,结束操作。
其中,第一数量阈值可以根据实际情况设定。一般而言,字符识别结果中文字数量和拼音数量为相等的值,因此,本实施例中,可以仅统计文字数量或拼音数量作为字符识别结果的字符数量。之后,将字符数量与第一数量阈值进行比较,若字符数量等于或大于第一数量阈值,则说明字符识别结果的字符很多,即包含内容很多,此时,字符识别结果可能会存在很多的无效内容,这样会导致最终得到的车站名称识别结果质量低。因此,本实施例设定当字符数量等于或大于第一数量阈值时,结束操作,即停止执行后续步骤。可选的,此时可以提示用户重新输入字符较少的语音请求数据,并重新识别。当字符数量小于第一数量阈值时,说明字符识别结果的字符较少,可以得到质量高的车站名称识别结果。此时,执行步骤230。
步骤230、获取与字符识别结果对应的备选车站名称集合。
步骤240、获取备选车站名称集合中每个备选车站名称包含的各字符,备选车站名称中每个文字为一个字符以及备选车站名称中每个文字对应的拼音为一个字符。
示例性的,确定备选车站名称中的各字符。一般而言,在构建车站名称总集合时,同步确定包含的字符。其中,一个字符可以是车站名称中的一个文字,或者是车站名称中的一个拼音。举例而言,车站名称为“科韵路”,其包含的文字为“科”、“韵”以及“路”,包含的拼音为“ke”、“yun”以及“lu”。本步骤中,获取的备选车站名称的字符可以是文字和/或拼音。实施例中,以获取备选车站名称的文字和拼音为例,进行表述。
步骤250、确定各字符对应的字符统计指数。
具体的,在计算字符统计分数时,先确定每个字符对应的字符统计指数,其中,字符统计指数可以理解为字符代价,字符统计指数包含拼音统计指数和文字统计指数。拼音统计指数是指每个拼字对应的字符统计指数,文字统计指数是指每个文字对应的字符统计指数。
典型的,字符统计指数的确定方式为:统计车站名称总集合中每个字符的频次以及总字符数量;根据频次和总字符数量计算对应字符的字符统计指数。
具体的,由于备选车站名称集合包含在车站名称总集合中,所以,在计算字符统计指数时,可以直接基于车站名称总集合计算各字符的字符统计指数,并后续过程中,直接获取已经计算出的字符统计指数。
以拼音统计指数为例,描述字符统计指数的计算过程。此时,先统计车站名称总集合包含的拼音的总数量,即总字符数量。其中,统计总字符数量时,可以先将车站名称总集合中的全部拼字汇总为一个拼音列表。该拼音列表中一个元素对应一个拼音,该拼音列表包含的元素数量便为总字符数量。之后,统计每个字符的频次,即拼音出现在拼音列表中的次数。之后,采用公式:
计算拼音统计指数。其中,拼音列表中总共包含N个字符。Char1
i表示拼音列表中第i个字符,1≤i≤N。
表示第i个字符的拼音统计指数。len(N)表示拼音列表的总字符数量,即len(N)=N。Frequency(Char1
i)表示第i个字符在拼音列表中的频次。a为底数,其具体数值可以根据实际情况设定。一般而言,a≥1。可以理解,拼音列表中某个拼音出现的次数越多,频次越高,对应的拼音统计指数越低,对车站名称识别结果的决定性越小。举例而言,拼音“lu”在拼音列表中的出现的频次高,那么包含“lu”的车站名称多,此时,根据“lu”确定的车站名称识别结果就会很多,因此,对车站名称识别结果的决定性小。而拼音“luo”在拼音列表中出现了一次,那么包含“luo”的车站名称只有一个,此时,根据“luo”确定的车站名称识别结果就一个,因此,对车站名称识别结果决定性大。
进一步的,文字统计指数与拼音统计指数的计算方式相同。此时,文字统计指数的计算公式为:
其中,文字列表中总共包含M个字符。Char2
j表示文字列表中第j个字符,1≤j≤M。
表示第j个字符的文字统计指数。len(M)表示文字列表的总字符数量,即len(M)=M。Frequency(Char2
j)表示第j个字符在字符列表中的频次。a为底数,其具体数值可以根据实际情况设定。一般而言,a≥1。采用上述公式便可以计算每个文字对应的文字统计指数。
可以理解,当车站名称总集合更新时,文字统计指数和拼音统计指数同步更新。
实际应用中,当字符识别结果中包含字符数量较多时,会提高无关的备选车站名称的质量,即将无关的备选车站名称作为车站名称识别结果,其中,无关备选车站名称是指其为用户期望的识别结果的可能性低。为了防止上述情况发生,可以基于字符识别结果中的字符数量对字符统计指数进行惩罚性调整。此时,确定各字符对应的字符统计指数之后,还包括:确定字符识别结果包含的字符数量是否大于或等于第二数量阈值;若是,则对字符统计指数进行开方,以得到更新后的字符统计指数;若否,则固定字符统计指数。
具体的,第二数量阈值小于第一数量阈值。当字符识别结果包含的字符数量大于或等于第二数量阈值时,说明当前字符数量较多,无关备选车站名称被识别为车站名称识别结果的可能性高,此时,需要对每个字符统计指数进行惩罚性调整,以通过减小字符统计指数的方式,避免无关备选车站名称的字符统计分数过高。其中,惩罚性调整的方式可以根据实际情况设定。实施例中,以对字符统计指数开方为例进行描述。即对备选车站名称集合中每个文字对应的文字统计指数进行开方,对备选车站名称集合中每个拼音对应的拼音统计指数进行开方,以更新字符统计指数,并在后续计算过程中使用更新后的字符统计指数。当字符识别结果包含的字符数量小于第二数量阈值时,说明当前字符数量较少,此时,无需对字符统计指数进行惩罚性调整,即后续计算过程中直接使用预先得到的字符统计指数。
举例而言,第二数量阈值为10,某个字符的字符统计指数记为x,字符数量记为X,此时,惩罚性调整的计算公式为:
步骤260、将备选车站名称中各字符的字符统计指数相加,以得到字符统计分数。
具体的,将备选车站名称中每个字符对应的文字统计指数和拼音统计指数相加,并将得到的和值作为该备选车站名称的字符统计分数。按照上述方式,便可以计算出每个备选车站名称的字符统计分数。可以理解,字符统计分数参考了文字统计指数和拼音统计指数,即使在字符识别结果中文字识别错误的情况下,仍然能通过拼音统计分数查找到可能是用户需求的备选车站名称作为车站名称识别结果。
步骤270、在全部字符统计分数中,选择分数最高的至少一个字符统计分数对应的备选车站名称作为语音请求数据的车站名称识别结果。
具体的,字符统计分数越高,说明对应的备选车站名称质量越好,因此,将字符统计分数高的备选车站名称作为车站名称识别结果。可选的,选择分数最高的至少一个字符统计分数可以是选择最高的一个字符统计分数,还可以是选择前X个高分的字符统计分数,其中,X可以根据实际情况设定,且X≥2。可以理解,选择一个最高分数时,若至少两个备选车站名称的字符统计分数相等,且均为最高分数,则将至少两个备选车站名称均作为车站名称识别结果。
进一步的,为了保证准确性,实施例中对字符统计分数进行验证,此时,该步骤具体包括:
步骤2701、在全部字符统计分数中,选择高于第一分数阈值的字符统计分数作为备选统计分数。
其中,第一分数阈值可以根据实际情况设定,当某个字符统计分数高于第一分数阈值时,说明对应的备选车站名称的质量较好。因此,实施例中,通过第一分数阈值对字符统计分数进行验证,即对备选车站名称集合进行一次筛选,选择出质量较好的备选车站名称。实施例中,将选择的字符统计分数记为备选统计分数。
步骤2702、在全部备选统计分数中,选择分数最高的至少一个备选统计分数对应的备选车站名称作为语音请求数据的车站名称识别结果。
此时,选择分数最高的方式与前述的选择分数最高的方式相同,在此不做赘述。可以理解,若字符统计分数均低于第一分数阈值,则说明备选车站名称集合中每个备选车站名称的质量均较低,因此,可以将每个备选车站名称均作为车站名称识别结果,或者,采用其他的判定方式确定车站名称识别结果,又或,提示用户当前无法得到车站名称识别结果,请用户重新输入语音请求数据。
上述,通过获取用户语音请求数据的字符识别结果,且仅在字符识别结果包含的字符数量小于第一数量阈值时,才进行后续处理,可以防止用户请求数据过大,使得车站名称识别结果的质量低的技术问题。同时,通过预先构建车站名称总集合,并计算对应的拼音统计指数和文字统计指数,之后,根据拼音统计指数和文字统计指数计算备选车站名称的字符统计分数的技术方案,可以降低对数据集的要求、无需对数据集进行标注,且无需建模,提高了泛化能力。同时,即使语音请求数据的文字识别结果出现错误,仍然能通过拼音统计分数在备选车站名称集合中提取出高质量的车站名称识别结果。
实施例三
图3为本发明实施例三提供的一种车站名称识别方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,本实施例中,匹配评价分数为字符排序分数。参考图3,本实施例提供的车站名称识别方法包括:
步骤310、获取基于用户的语音请求数据得到的字符识别结果。
步骤320、确定字符识别结果中包含的字符数量是否小于第一数量阈值。若是,则执行步骤330,否则,结束操作。
步骤330、获取与字符识别结果对应的备选车站名称集合。
步骤340、确定字符识别结果中各字符对应的第一索引值以及备选车站名称中各字符对应的第二索引值。
具体的,索引值通过字符的位置确定,其中,字符识别结果中各字符的索引值记为第一索引值,备选车站名称中各字符的索引值记为第二索引值。举例而言,字符识别结果为“白云广场文化”,此时,“白”对应的第一索引值为1,“云”对应的第一索引值为2,“广”对应的第一索引值为3,依次类推。备选车站名称为“白云文化广场”,此时,“白”对应的第二索引值为1,“云”对应的第二索引值为2,“文”对应的第二索引值为3,依次类推。
步骤350、在备选车站名称和字符识别结果中查找相同的字符以及不同的字符。
以字符识别结果为“白云广场文化”和备选车站名称为“白云文化广场”为例,相同的字符为“白”、“云”、“文”、“化”、“广”、“场”,没有不同的字符。以字符识别结果为“白云广场文化”和备选车站名称为“白云广场”为例,相同的字符为“白”、“云”、“广”、“场”,不同的字符为“文”、“化”。其中,字符查找的方式实施例不作限定,例如,在字符识别结果中选择一个字符,之后,在备选车站名称中遍历该字符,若查找到相同的字符,则将该字符归类为相同的字符。字符识别结果中每个字符均被选择后,将字符识别结果以及备选车站名称中未被归类的字符确定为不同的字符。
步骤360、计算相同的字符对应的第一索引值和第二索引值的差值。
例如,字符识别结果为“白云广场文化”和备选车站名称为“白云文化广场”,此时,“白”对应的第一索引值和第二索引值的差值为0,“云”对应的第一索引值和第二索引值的差值为0,“文”对应的第一索引值和第二索引值的差值为2,“化”对应的第一索引值和第二索引值的差值为2,“广”对应的第一索引值和第二索引值的差值为-2,“场”对应的第一索引值和第二索引值的差值为-2。
步骤370、将各差值的绝对值、备选车站名称中不同的字符对应的第二索引值以及字符识别结果中不同的字符对应的第一索引值相加,以得到备选车站名称对应的字符排序分数。
具体的,将各差值的绝对值以及不同字符的索引值相加,便可以得到该备选车站名称对应的字符排序分数。可以理解,每个备选车站名称均可以按照上述方式得到一个字符排序分数。
举例而言,字符识别结果为“白云广场文化”,备选车站名称为“白云文化广场”,此时,“白云文化广场”对应的字符排序分数为:0+0+2+2+|-2|+|-2|=8。
可以理解,上述仅以文字进行说明,实际应用中,还可以对字符识别结果中的拼音和备选车站名称中的拼音创建索引值,并按照相同的方式计算对应的字符排序分数。可选的,基于拼音计算字符排序分数时,可以仅针对存在不同文字的情况。计算拼音的字符排序分数的好处是,可以避免同音字对车站名称识别结果的影响。
步骤380、在全部字符排序分数中,选择分数最低的至少一个字符排序分数对应的备选车站名称作为语音请求数据的车站名称识别结果。
一般而言,字符排序分数越高,说明备选车站名称与字符识别结果的字符排序差异越大,备选车站名称的质量越低,因此,可以在全部字符排序分数中,选择分数最低的至少一个字符排序分数对应的备选车站名称作为车站名称识别结果。其中,选择分数最低的至少一个字符排序分数可以是选择一个最低分数的字符排序分数,还可以是选择前Y个低分数的字符排序分数,其中,Y可以根据实际情况设定,Y≥2。可以理解,该选择过程与选择分数最高的字符统计分数的选择过程相似,在此不做赘述。
可选的,当字符排序分数包含文字和拼音两项字符排序分数时,可以选择分数低的字符排序分数作为备选车站名称的字符排序分数。例如,字符识别结果为“科韵路”,备选车站名称为“柯云路”,其文字的字符排序分数为6,拼音的字符排序分数为0。此时,选择拼音的字符排序分数作为“柯云路”的字符排序分数,以防止语音请求数据转文字时对同音字识别错误,导致质量高的备选车站名称被剔除的情况。
可以理解,为了保证准确性,同样可以对字符排序分数进行验证,此时,该步骤具体包括:
步骤3801、在全部字符排序分数中,选择低于第四分数阈值的字符排序分数作为备选排序分数。
步骤3802、在全部备选排序分数中,选择分数最低的至少一个备选排序分数对应的备选车站名称作为语音请求数据的车站名称识别结果。
第四分数阈值可以根据实际情况设定。上述步骤的实现过程与对字符统计分数进行验证的实现过程相似,在此不做赘述。
上述,通过获取用户语音请求数据的字符识别结果,且仅在字符识别结果包含的字符数量小于第一数量阈值时,才进行后续处理,可以防止用户请求数据过大,使得车站名称识别结果的质量低的技术问题。同时,通过预先构建车站名称总集合,并根据备选名称集合中第二索引值和字符识别结果的第一索引值计算字符排序分数,进而剔除排序差异大的备选车站名称,并得到车站名称识别结果的方案,可以降低对数据集要求,无需对数据集进行标注,且无需建模,提高了泛化能力。同时,即使语音请求数据的文字识别结果出现错误,仍然能在备选车站名称集合中提取出车站名称识别结果。
实施例四
图4为本发明实施例四提供的一种车站名称识别方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,匹配评价分数包括字符统计分数和字符排序分数。参考图4,本实施例提供的车站名称识别方法包括:
步骤410、获取基于用户的语音请求数据得到的字符识别结果。
步骤420、确定字符识别结果中包含的字符数量是否小于第一数量阈值。若是,则执行步骤430,否则,结束操作。
步骤430、获取与字符识别结果对应的备选车站名称集合。
步骤440、计算备选车站名称集合中每个备选车站名称的字符统计分数和字符排序分数。
步骤450、在全部字符排序分数中,选择字符排序分数低于第二分数阈值的备选车站名称。
具体的,第二分数阈值可以根据实际情况设定,字符排序分数低于第二分数阈值时,说明对应的备选车站名称与字符识别结果的字符排序差异小,备选车站名称的质量好。
步骤460、在字符排序分数低于第二分数阈值的备选车站名称中,选择字符统计分数高于第三分数阈值的备选车站名称。
示例性的,通过字符排序分数对备选车站名称集合进行一次筛选后,通过字符统计分数对已经筛选的备选车站名称集合再进行一次筛选,即二次筛选。具体的,通过第三分数阈值进行二次筛选。其中,第三分数阈值可以根据实际情况设定。字符统计分数高于第三分数阈值时,说明对应的备选车站名称对车站名称识别结果的决定性高,备选车站名称的质量好。
步骤470、在字符统计分数高于第三分数阈值的备选车站名称中,选择字符统计分数最高的至少一个备选车站名称作为语音请求数据的车站名称识别结果。
具体的,经过二次筛选得到的备选车站名称集合是比较优质的备选车站名称,此时,在二次筛选得到的备选车站名称集合中,选择最优质的备选车站名称作为车站名称识别结果。其中,最优质的备选车站名称可以通过字符统计分数确定,其中,选择字符统计分数最高的至少一个备选车站名称的方式与前述实施例中描述的选择分数最高的至少一个字符统计分数的方式相同,在此不做赘述。
上述,通过结合字符识别结果包含的字符数量以及各备选车站名称的字符统计分数和字符排序结果的方式,在备选车站名称集合中选择质量最好的备选车站名称,并作为车站名称识别结果,可以保证车站名称识别方法的泛化能力,同时,对数据集要求低。并且,即使语音请求数据的文字识别结果出现错误,仍然能在备选车站名称集合中提取出车站名称识别结果。
实施例五
图5为本发明实施例五提供的一种车站名称识别装置的结构示意图。参考图5,本实施例提供的车站名称识别装置包括:集合获取模块501、分数计算模块502以及结果选择模块503。
其中,集合获取模块501,用于获取基于用户的语音请求数据得到的字符识别结果以及与所述字符识别结果对应的备选车站名称集合;分数计算模块502,用于计算所述备选车站名称集合中每个备选车站名称的匹配评价分数,所述匹配评价分数包括:字符统计分数和/或字符排序分数;结果选择模块503,用于根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
在上述实施例的基础上,匹配评价分数为字符统计分数;分数计算模块502包括:字符获取单元,用于获取所述备选车站名称集合中每个备选车站名称包含的各字符,所述备选车站名称中每个文字为一个字符以及备选车站名称中每个文字对应的拼音为一个字符;指数确定单元,用于确定各所述字符对应的字符统计指数;统计分数计算单元,用于将所述备选车站名称中各字符的字符统计指数相加,以得到字符统计分数。结果选择模块503具体用于:在全部所述字符统计分数中,选择分数最高的至少一个字符统计分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
在上述实施例的基础上,结果选择模块503包括:备选分数选择单元,用于在全部所述字符统计分数中,选择高于第一分数阈值的字符统计分数作为备选统计分数;识别结果选择单元,用于在全部所述备选统计分数中,选择分数最高的至少一个备选统计分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
在上述实施例的基础上,所述备选车站名称集合包含在车站名称总集合中,该装置还包括:频次统计模块,用于统计所述车站名称总集合中每个字符的频次以及总字符数量;指数计算模块,用于根据所述频次和所述总字符数量计算对应字符的字符统计指数。
在上述实施例的基础上,匹配评价分数为字符排序分数;分数计算模块502包括:索引确定单元,用于确定所述字符识别结果中各字符对应的第一索引值以及所述备选车站名称中各字符对应的第二索引值;字符查找单元,用于在所述备选车站名称和所述字符识别结果中查找相同的字符以及不同的字符;差值计算单元,用于计算所述相同的字符对应的第一索引值和第二索引值的差值;排序分数计算单元,用于将各所述差值的绝对值、所述备选车站名称中不同的字符对应的第二索引值以及所述字符识别结果中不同的字符对应的第一索引值相加,以得到所述备选车站名称对应的字符排序分数。结果选择模块503具体用于:在全部所述字符排序分数中,选择分数最低的至少一个字符排序分数对应的备选车站名称作为所述语音请求数据的车站名称识别结果。
在上述实施例的基础上,匹配评价分数包括字符统计分数和字符排序分数;结果选择模块503包括:第一选择单元,用于在全部所述字符排序分数中,选择字符排序分数低于第二分数阈值的备选车站名称;第二选择单元,用于在字符排序分数低于第二分数阈值的备选车站名称中,选择字符统计分数高于第三分数阈值的备选车站名称;第三选择单元,用于在字符统计分数高于第三分数阈值的备选车站名称中,选择字符统计分数最高的至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
在上述实施例的基础上,集合获取模块501包括:结果获取单元,用于获取基于用户的语音请求数据得到的字符识别结果;数量确定单元,用于确定所述字符识别结果包含的字符数量是否小于第一数量阈值;集合获取单元,用于若所述字符识别结果包含的字符数量小于第一数量阈值,则获取与所述字符识别结果对应的备选车站名称集合。
在上述实施例的基础上,还包括:数值比较模块,用于确定所述字符识别结果包含的字符数量是否大于或等于第二数量阈值;开方模块,用于若是,则对所述字符统计指数进行开方,以得到更新后的字符统计指数;固定模块,用于若否,则固定所述字符统计指数。
本实施例提供的车站名称识别装置包含在车站名称识别设备中,可以用于执行上述任意实施例提供的车站名称识别方法,具备相应的功能和有益效果。
实施例六
图6为本发明实施例六提供的一种车站名称识别设备的结构示意图。具体的,如图6所示,该车站名称识别设备包括处理器60、存储器61、输入装置62以及输出装置63;该车站名称识别设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;该车站名称识别设备中的处理器60、存储器61、输入装置62、输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的车站名称识别方法中的程序指令/模块(例如,车站名称识别装置中的集合获取模块501、分数计算模块502以及结果选择模块503)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行车站名称识别设备的各种功能应用以及数据处理,即实现上述任意实施例提供的车站名称识别方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据车站名称识别设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至车站名称识别设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与车站名称识别设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏、扬声器等设备。此外,车站名称识别装置还可以包括通信装置,该通信装置用于与后台服务器或其他设备进行数据通信。
上述车站名称识别设备可以用于执行任意实施例提供的车站名称识别方法,具备相应的功能和有益效果。
实施例七
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种车站名称识别方法,该方法包括:
获取基于用户的语音请求数据得到的字符识别结果以及与所述字符识别结果对应的备选车站名称集合;
计算所述备选车站名称集合中每个备选车站名称的匹配评价分数,所述匹配评价分数包括:字符统计分数和/或字符排序分数;
根据所述匹配评价分数选择至少一个备选车站名称作为所述语音请求数据的车站名称识别结果。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的车站名称识别方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的车站名称识别方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。