一种语音购票方法及系统与流程

文档序号:17445338发布日期:2019-04-17 05:29阅读:350来源:国知局
一种语音购票方法及系统与流程

本发明涉及智能语音识别技术领域,尤其是涉及一种语音购票方法及系统。



背景技术:

随着移动互联网的发展,语音识别的应用领域也越来越广泛,常见的应用系统有:语音输入系统,相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;语音控制系统,即用语音来控制设备的运行,相对于手动控制来说更加快捷、方便,可以用在诸如工业控制、语音拨号系统、智能家电、声控智能玩具等许多领域。例如:

小米科技有限责任公司的音箱产品“小米ai音箱”就具有语音交互的功能,其内容包括在线音乐、网络电台、有声读物、广播电台等,提供了新闻、天气、闹钟、倒计时、备忘、提醒、时间、汇率、股票、限行、算数、查找手机、百科问答、闲聊、笑话、菜谱、翻译等各类功能。

由上述的现有技术方案可知,在语音交互、控制智能家居等领域中,语音识别技术已经较为成熟,语音识别技术的应用也较为广泛,但在行程类车票预定领域,语音识别技术的应用和创新还较少。市面上的包括官方和第三方在内的购票软件都有很多,它们的购票流程通常都为:用户在app或者电脑端手动输入需要预订的车次,在查询到具体的车次后再手动输入乘车人的信息,紧接着进行下单并且支付,最终出票成功,完成预订。

但是,用户在订购车票时,需要通过频繁的点选、键盘输入等操作才能完成整个购票流程,而这种方式并不符合在通常情况下人们习惯通过语音进行沟通交流的方式,且使得整个购票流程较为繁琐且效率低。



技术实现要素:

本发明的目的是提供一种语音购票方法及系统。

发明目的一是:提供一种语音购票方法,其优点是用户能够通过语音完成整个购票流程操作,更符合人们的日常操作习惯,使得购票更简单、更高效;

发明目的二是:提供一种语音购票系统,其优点是实现了全语音操作购票,简化了购票流程且提高了购票效率。

本发明的上述发明目的一是通过以下技术方案得以实现的:

一种语音购票方法,包括以下步骤:

s10、获取用户录制的语音并将所述语音翻译成文字;

s20、对所述文字进行语义解析并提取关键词,所述关键词包括出发时间、出发站和到达站;

s30、根据所述关键词查询得到车次信息;

s40、结合所述车次信息和所述用户提供的具体时间点筛选得到目标车次信息,并将所述目标车次信息展示给所述用户;

s50、获取所述用户语音输入的乘车信息,所述乘车信息包括车次、坐席、姓名和证件号;

s60、根据所述乘车信息形成购票订单,并在所述购票订单完成或取消后,向所述用户展示反馈信息。

通过采用上述技术方案,用户的语音会被翻译成文字,在从翻译的文字中提取相关的关键词后,即可查询到需要为用户展示的目标车次信息。整个购票流程全语音操作,更符合人们的日常操作习惯,使得用户购票更简单、更高效,且用户购票体验更佳。

本发明进一步设置为:所述步骤s10包括以下子步骤:

s11、用户按住语音按钮说话并在松开语音按钮后形成音频资源;

s12、调用微信js-sdk将所述音频资源转换为文字;

s13、判断转换得到的所述文字是否为空;若所述文字为空,则提醒所述用户重新按住语音按钮说话;若所述文字不为空,则进入步骤s20。

通过采用上述技术方案,符合用户对社交app(微信)的日常使用习惯,当用户录音完成后,即可快速的将录音转换为文字,利于提高语音转换效率,也利于提高用户体验。

本发明进一步设置为:所述步骤s20包括以下子步骤:

s21、对所述文字进行语义解析;

s22、将所述文字中的出发日期转换为书面语言;

s23、从转换后的所述文字中提取出发时间;

s24、判断所述出发时间是否提取成功;若所述出发时间提取失败,则提示用户重新说出出发时间;若所述出发时间提取成功,则进入子步骤s25;

s25、从转换后的所述文字中提取出发站和到达站;

s26、判断所述出发站和所述到达站是否提取成功;若提取出发站和/或到达站失败,则提示用户重新说出出发站和/或到达站;若出发站和到达站均提取成功,则进入步骤s30。

通过采用上述技术方案,通过文字的俗语转换成书面语言,利于关键词的提取。当出发时间、出发站和到达站中有一个关键词未提取成功时,会向用户发送提示信息,从而引导用户重新录音,使得整个购票操作流程能够顺利且高效的完成。

本发明进一步设置为:所述步骤s40包括以下子步骤:

s41、判断所述车次信息是否为空;若所述车次信息为空,则向用户返回查询不到车次的提示信息;若所述车次信息不为空,则进入子步骤s42;

s42、根据所述用户提供的具体时间点筛选得到目标车次信息;

s43、将所述目标车次信息中的车次按照时间升序进行排列并将排列后的车次信息展示给所述用户。

本发明进一步设置为:所述子步骤s43包括以下步骤:

s431、获取所述用户的历史购票数据集,所述用户的历史购票数据集包括至少一个车票类型信息和所述至少一个车票类型信息中的每一个车票类型信息对应的车票的数量信息;

s432、根据所述用户的历史购票数据集计算出综合排序模型,所述综合排序模型包括至少一个车票类型信息和所述至少一个车票类型信息中的每一个车票类型信息被所述用户选择的概率;

s433、结合时间升序的排列方式和所述综合排序模型对所述目标车次信息中的车次进行排列并得到排列后的目标车次信息;

s434、将所述排列后的目标车次信息展示给所述用户。

通过采用上述技术方案,能够根据用户的历史购票记录计算每一车票类型被用户选择的概率,从而以最佳的排列方式向用户呈现与其对应的目标车次信息,达到了有效提高用户体验的效果。

本发明进一步设置为:所述步骤s50包括以下子步骤:

s51、获取所述用户语音输入的车次和坐席;

s52、获取所述用户确认车次和坐席的语音信息;

s53、获取所述用户语音输入的乘客姓名和证件号;

s54、向所述用户发送是否需要修改乘客姓名和/或证件号的提示信息;若所述用户选择需要修改,则提示所述用户语音修改乘客姓名和/或证件号;若所述用户选择不需要修改,则进入子步骤s55;

s55、获取所述用户确认乘客姓名和证件号的语音信息。

通过采用上述技术方案,能够为用户提供计时的反馈,且用户输入乘车信息时也可以通过语音进行操作,提高了输入效率。

本发明的上述发明目的二是通过以下技术方案得以实现的:

一种语音购票系统,包括:

识别模块,其用于获取用户通过移动终端录制的语音并将所述语音翻译成文字;

提取模块,其用于对所述识别模块翻译得到的文字进行语义解析并提取关键词;

查询模块,其用于根据所述提取模块提取的关键词查询得到车次信息;

筛选模块,其用于结合所述查询模块查询得到的车次信息和所述用户提供的具体时间点筛选得到目标车次信息,其还用于将所述目标车次信息返回至所述用户的移动终端;

获取模块,其用于获取所述用户语音输入至移动终端的乘车信息;

下单模块,其用于根据所述获取模块获取的乘车信息形成购票订单,并在所述购票订单完成或取消后,向所述用户的移动终端返回反馈信息。

通过采用上述技术方案,系统通过用户的语音即可快速查询到需要为用户展示的目标车次信息,实现了全语音操作购票,简化了购票流程且提高了购票效率,使得用户购票体验更佳。

本发明进一步设置为:所述识别模块包括:

触发单元,其用于检测所述用户按住移动终端的语音按钮说话的录音操作,其还用于当所述用户松开语音按钮后将对应的语音存储并形成音频资源;

调用单元,其用于调用微信js-sdk将所述触发单元存储的音频资源转换为文字;

判断单元,其用于判断所述调用单元转换得到的文字是否为空;其中,若所述文字为空,所述判断单元则向所述用户的移动终端返回提醒所述用户重新按住语音按钮说话的提示信息;若所述文字不为空,所述判断单元则触发所述提取模块运行。

通过采用上述技术方案,当用户录音完成形成音频资源后,调用单元即会快速调用微信js-sdk将音频资源转换为文字,即本系统是基于微信的。本系统借助微信的高普及率,降低了用户的学习成本和使用成本,并且有效提高了语音转换效率,利于提高用户体验。

本发明进一步设置为:所述关键词包括出发时间、出发站和到达站,所述提取模块包括:

解析单元,其用于对所述识别模块翻译得到的文字进行语义解析;

转换单元,其用于将所述解析单元语义解析后的文字中的出发日期转换为书面语言;

提取单元一,其用于从所述转换单元转换后的文字中提取出发时间;

判断子单元,其用于判断所述提取单元一是否成功提取出发时间;其中,若所述出发时间提取失败,所述判断子单元则向所述用户的移动终端返回提示所述用户重新说出出发时间的提示信息;若所述出发时间提取成功,所述判断子单元则触发提取单元二;

提取单元二,其用于从所述转换单元转换后的文字中提取出发站和到达站;

提示单元,其用于判断所述提取单元二是否成功提取出发站和到达站;其中,若提取出发站和/或到达站失败,所述提示单元则向所述用户的移动终端返回提示所述用户重新说出出发站和/或到达站的提示信息;若出发站和到达站均提取成功,所述提示单元则触发查询模块。

通过采用上述技术方案,能够判断并引导用户完成整个购票操作流程,使得整个购票操作流程顺利且高效。

本发明进一步设置为:所述筛选模块包括:

数据集单元,其用于获取所述用户的历史购票数据集,所述用户的历史购票数据包括至少一个车票类型信息和所述至少一个车票类型信息中的每一个车票类型信息对应的车票的数量信息;

模型计算单元,其用于根据所述数据集单元获取的所述用户的历史购票数据集计算出综合排序模型,所述综合排序模型包括至少一个车票类型信息和所述至少一个车票类型信息中的每一个车票类型信息被所述用户选择的概率;

综合排序单元,其用于结合时间升序的排列方式和所述模型计算单元计算出的所述综合排序模型对所述目标车次信息中的车次进行排列并得到排列后的目标车次信息;

反馈子单元,其用于将所述综合排序单元得到的所述排列后的目标车次信息返回至所述用户的移动终端。

通过采用上述技术方案,能够以最佳的排列方式向用户呈现对应的目标车次信息,避免了用户向下翻页所带来的繁琐操作,有效提高了用户体验。

综上所述,本发明的有益技术效果为:

1、用户能够通过语音完成整个购票流程操作,免去了手动点选、输入的繁琐步骤,更符合人们的日常操作习惯,使得购票更简单、更高效;

2、全语音操作购票时,能够及时的为用户提供反馈信息,从而引导用户语音输入相关信息,使得整个购票操作流程能够顺利且高效的完成;

3、能够以最佳的车次排列方式为用户展示目标车次信息,有效增强了用户的购票体验。

附图说明

图1是本发明实施例一示出的语音购票方法的流程框图;

图2是本发明实施例一示出的语音购票方法的流程示意图;

图3是本发明实施例一示出的步骤s10的流程示意图;

图4是本发明实施例一示出的步骤s20的流程示意图;

图5是本发明实施例一示出的步骤s40的流程示意图;

图6是本发明实施例一示出的步骤s43的流程示意图;

图7是本发明实施例一示出的步骤s50的流程示意图;

图8是本发明实施例二示出的语音购票系统的结构示意图。

图中,10、识别模块;11、触发单元;12、调用单元;13、判断单元;20、提取模块;21、解析单元;22、转换单元;23、提取单元一;24、判断子单元;25、提取单元二;26、提示单元;30、查询模块;40、筛选模块;41、数据集单元;42、模型计算单元;43、综合排序单元;44、反馈子单元;50、获取模块;60、下单模块。

具体实施方式

以下结合附图对本发明作进一步详细说明。

实施例一

参照图1和图2,为本发明公开的一种语音购票方法,包括以下步骤:

s10、获取用户录制的语音并将语音翻译成文字。

s20、对翻译得到的文字进行语义解析并提取关键词,在本实施例中,关键词包括出发时间、出发站和到达站。

s30、根据关键词查询得到车次信息。

s40、结合查询的车次信息和用户提供的具体时间点筛选得到目标车次信息,并将筛选得到的目标车次信息展示给用户。

s50、获取用户语音输入的乘车信息,乘车信息包括车次、坐席、姓名、证件号等。

s60、根据乘车信息形成购票订单,并在购票订单完成或取消后,向用户展示反馈信息。需要说明的是,当占座成功且用户支付成功后即为订单完成,占座不成功或支付不成功或用户主动取消订单即为订单取消。当订单完成时,向用户语音播报出票成功;当订单取消时,向用户语音播报出票失败,并语音播报出票失败原因(例如余额不足导致支付失败)。

参照图1和图3,步骤s10包括以下子步骤:

s11、用户按住语音按钮说话并在松开语音按钮后形成音频资源。具体的,此步骤基于微信的语音录制功能,当用户按住语音按钮时,前端javascript代码调用微信客户端暴露的jsapi,让用户间接触发微信客户端内的自然语言识别功能,从而在录音完成后形成音频资源。

s12、调用微信js-sdk(即微信中用于网页语音识别的“微信js-sdk-智能接口”)将音频资源转换为文字。

s13、判断转换得到的文字是否为空。若判断转换得到的文字为空,则提醒用户重新按住语音按钮说话;若判断转换得到的文字不为空,则进入步骤s20。

参照图1和图4,步骤s20包括以下子步骤:

s21、对文字进行语义解析(即对文字进行语义化处理)。其中,若经过语义化处理的文字能够对应语义分析的模板,则进入步骤s22;若经过语义化处理的文字不能够对应语义分析的模板,则生成空白文本,并且也进入步骤s22,但是步骤s22和步骤s23均提取不到关键词,即步骤s24中出发时间的提取和步骤s26中出发站和/或到达站的提取均判断为失败。

s22、将文字中的出发日期转换为书面语言。例如,将文字中的“今儿”替换成“今天”,将“礼拜一”转换成“周一”。

s23、从转换后的文字中提取出发时间。具体的,以“今天”为例,若今天的日期为2018年12月5日,则提取的出发时间为“2018-12-05”。另外,在提取触发时间时,还会提取用户需要出行的具体时间点,例如“早上”即为“06:00-09:00”,“上午”即为“08:00-11:00”,“中午”即为“11:00-13:00”,“下午”即为“12:00-19:00”,“晚上”即为“19:00-23:59”,“凌晨”即为“00:00-06:59”,“下午一点”即为“13:00”。

s24、判断出发时间是否提取成功。若出发时间提取失败,则提示用户重新说出出发时间,并对用户的新语音进行翻译并提取触发时间;若出发时间提取成功,则进入子步骤s25。

s25、从转换后的文字中提取出发站和到达站。例如,若文字中关于出发站和到达站的信息为“苏州到上海”,则提取的出发站为“苏州”,提取的到达站为“上海”。

s26、判断出发站和到达站是否提取成功。若提取出发站和/或到达站失败,则提示用户重新说出出发站和/或到达站并根据用户重新输入的语音提取出发站和/或到达站;若出发站和到达站均提取成功,则进入步骤s30。

参照图1和图5,步骤s40包括以下子步骤:

s41、判断车次信息是否为空。若车次信息为空,则向用户返回查询不到车次的提示信息,即本购票环节结束,用户需要重新从步骤s10开始;若车次信息不为空,则进入子步骤s42。

s42、根据用户提供的具体时间点筛选得到目标车次信息。

s43、将目标车次信息中的车次按照时间升序进行排列并将排列后的车次信息展示给用户。

参照图6,子步骤s43包括以下步骤:

s431、获取用户的历史购票数据集,用户的历史购票数据集包括至少一个车票类型信息和至少一个车票类型信息中的每一个车票类型信息对应的车票的数量信息。需要说明的是,车票的类型一共有五种(即有五种车票类型信),五种车票的车次首字母均各不相同,其中,五种车票的车次首字母分别为g、d、t、k、z。

s432、根据用户的历史购票数据集计算出综合排序模型,综合排序模型包括至少一个车票类型信息和至少一个车票类型信息中的每一个车票类型信息被用户选择的概率。需要说明的是,某一个车票类型信息被用户选择的概率即为具有该车票类型信息的车票的数量占历史购票数据集中所有类型车票总数量的比例。

s433、结合时间升序的排列方式和综合排序模型对目标车次信息中的车次进行排列并得到排列后的目标车次信息。

具体的,若用户的综合排序模型中包括车票车次首字母分别为g和d开头的两种车票类型信息,且车票车次首字母为g的车票类型信息被用户选择的概率大于车票车次首字母为d的车票类型信息被用户选择的概率,则将目标车次信息中车票车次首字母为g的车次按照时间升序排列在前,将目标车次信息中车票车次首字母为d的车次按照时间升序排列在后。

s434、将排列后的目标车次信息展示给用户。

参照图1和图7,步骤s50包括以下子步骤:

s51、获取用户语音输入的车次和坐席,并通过语音和/或文字向用户展示其语音输入的车次和坐席。

s52、获取用户确认车次和坐席的语音信息。

s53、获取用户语音输入的乘客姓名和证件号,并通过语音和/或文字向用户展示其语音输入的乘客姓名和证件号。应注意的是,因为语音识别对姓名中的生僻字、多音字识别率不高,所以在本实施例中,以输入框的形式将用户语音输入的乘客姓名和证件号(以及手机号)展示给用户,在子步骤s54中,若需要修改乘客姓名和/或证件号(和/或手机号),用户点击输入框后即可对相关信息进行修改。

s54、向用户发送是否需要修改乘客姓名和/或证件号(和/或手机号)的提示信息。若用户选择需要修改,则提示用户语音修改乘客姓名和/或证件号(和/或手机号);若用户选择不需要修改,则进入子步骤s55。

s55、获取用户确认乘客姓名和证件号的语音信息。

实施例二

参照图8,为本发明公开的一种语音购票系统,其包括识别模块10、提取模块20、提取模块20、筛选模块40、获取模块50和下单模块60。

参照图8,识别模块10用于获取用户通过移动终端录制的语音并将该语音翻译成文字。提取模块20用于对识别模块10翻译得到的文字进行语义解析并提取关键词,关键词包括出发时间、出发站和到达站。查询模块30用于根据提取模块20提取的关键词查询得到车次信息。筛选模块40用于结合查询模块30查询得到的车次信息和用户提供的具体时间点筛选得到目标车次信息,其还用于将目标车次信息返回至用户的移动终端。

参照图8,获取模块50用于获取用户语音输入至移动终端的乘车信息,乘车信息包括车次、坐席、乘客姓名、证件号和手机号。具体的,获取模块50获取并展示用户语音输入的车次和坐席后,会在获取用户确认车次和坐席的语音信息后,再进行乘客姓名、证件号和手机号的获取。当获取模块50获取并展示用户语音输入的乘客姓名、证件号和手机号后,获取模块50会向用户发送是否需要修改乘客姓名和/或证件号和/或手机号的提示信息,若用户选择需要修改,则提示用户语音修改乘客姓名和/或证件号和/或手机号;若用户选择不需要修改,则触发下单模块60的下单操作。

应注意的是,因为语音识别对姓名中的生僻字、多音字识别率不高,所以在本实施例中,以输入框的形式将用户语音输入的乘客姓名和证件号(以及手机号)展示给用户,若需要修改乘客姓名和/或证件号(和/或手机号),用户可以通过语音输入或者通过点击输入框后弹出输入键盘对相关信息进行修改。

参照图8,下单模块60用于根据获取模块50获取的乘车信息形成购票订单,并在购票订单完成或取消后,向用户的移动终端返回反馈信息。需要说明的是,在下单模块60下单时,当占座成功且用户支付成功后即为订单完成,占座不成功或支付不成功或用户主动取消订单即为订单取消。当订单完成时,下单模块60向用户语音播报出票成功的提示信息;当订单取消时,下单模块60向用户语音播报出票失败的提示信息,并语音播报出票失败原因(例如余额不足导致支付失败)。

参照图8,识别模块10包括触发单元11、调用单元12和判断单元13。触发单元11用于检测用户按住移动终端的语音按钮(可以为实体按键或虚拟按钮)说话的录音操作,其还用于当用户松开语音按钮后将对应的语音存储并形成音频资源。具体的,当用户按住语音按钮时,前端javascript代码调用微信客户端暴露的jsapi,让用户间接触发微信客户端内的自然语言识别功能,从而在录音完成后形成音频资源。当音频资源形成后,调用单元12会调用微信js-sdk(即微信中用于网页语音识别的“微信js-sdk-智能接口”)将该音频资源转换为文字。判断单元13用于判断调用单元12转换得到的文字是否为空。其中,若文字为空,判断单元13则向用户的移动终端返回提醒用户重新按住语音按钮说话的提示信息;若文字不为空,判断单元13则触发提取模块20运行。

参照图8,提取模块20包括解析单元21、转换单元22、提取单元一23、判断子单元24、提取单元二25和提示单元26。解析单元21用于对识别模块10翻译得到的文字进行语义解析;转换单元22用于将解析单元21语义解析后的文字中的出发日期转换为书面语言;提取单元一23用于从转换单元22转换后的文字中提取出发时间。

具体的,以“今天”为例,若今天的日期为2018年12月5日,则提取单元一23提取的出发时间为“2018-12-05”。另外,提取单元一23在提取出发时间时,还会提取用户需要出行的具体时间点,例如“早上”即为“06:00-09:00”,“上午”即为“08:00-11:00”,“中午”即为“11:00-13:00”,“下午”即为“12:00-19:00”,“晚上”即为“19:00-23:59”,“凌晨”即为“00:00-06:59”,“下午一点”即为“13:00”。

参照图8,判断子单元24用于判断提取单元一23是否成功提取出发时间。其中,若出发时间提取失败,判断子单元24则向用户的移动终端返回提示用户重新说出出发时间的提示信息;若出发时间提取成功,判断子单元24则触发提取单元二25。提取单元二25用于从转换单元22转换后的文字中提取出发站和到达站,提示单元26用于判断提取单元二25是否成功提取出发站和到达站。例如,若文字中关于出发站和到达站的信息为“苏州到上海”,则提取的出发站为“苏州”,提取的到达站为“上海”。其中,若提取出发站和/或到达站失败,提示单元26则向用户的移动终端返回提示用户重新说出出发站和/或到达站的提示信息;若出发站和到达站均提取成功,提示单元26则触发查询模块30的查询操作。

参照图8,筛选模块40包括数据集单元41、模型计算单元42、综合排序单元43和反馈子单元44。数据集单元41用于获取用户的历史购票数据集,用户的历史购票数据包括至少一个车票类型信息和至少一个车票类型信息中的每一个车票类型信息对应的车票的数量信息。需要说明的是,车票的类型一共有五种(即有五种车票类型信息),五种车票的车次首字母均各不相同,其中,五种车票的车次首字母分别为g、d、t、k、z。

参照图8,模型计算单元42用于根据数据集单元41获取的用户的历史购票数据集计算出综合排序模型,综合排序模型包括至少一个车票类型信息和至少一个车票类型信息中的每一个车票类型信息被用户选择的概率。需要说明的是,某一个车票类型信息被用户选择的概率即为具有该车票类型信息的车票的数量占历史购票数据集中所有类型车票总数量的比例。

参照图8,综合排序单元43用于结合时间升序的排列方式和模型计算单元42计算出的综合排序模型对目标车次信息中的车次进行排列并得到排列后的目标车次信息。反馈子单元44用于将综合排序单元43得到的排列后的目标车次信息返回至用户的移动终端,从而以图片和/或文字的形式展示给用户。具体的,若用户的综合排序模型中包括车票车次首字母分别为g和d开头的两种车票类型信息,且车票车次首字母为g的车票类型信息被用户选择的概率大于车票车次首字母为d的车票类型信息被用户选择的概率,则综合排序单元43将目标车次信息中车票车次首字母为g的车次按照时间升序排列在前,将目标车次信息中车票车次首字母为d的车次按照时间升序排列在后。

本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1