CN108153902A - 多轮会话交互方法、装置、计算机设备和存储介质 - Google Patents
多轮会话交互方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108153902A CN108153902A CN201810040791.9A CN201810040791A CN108153902A CN 108153902 A CN108153902 A CN 108153902A CN 201810040791 A CN201810040791 A CN 201810040791A CN 108153902 A CN108153902 A CN 108153902A
- Authority
- CN
- China
- Prior art keywords
- linguistic context
- function
- parameter
- information
- user
- 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.)
- Pending
Links
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种多轮会话交互方法、装置、计算机设备和存储介质。所述方法包括:获取语音信号,所述语音信号中携带了用户需求信息;对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。采用本方法能够在不修改程序的前提下可以对计算机设备的业务功能进行更改或扩展。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种多轮会话交互方法、装置、计算机设备和存储介质。
背景技术
随着语音识别通过采用机器深度学习等技术取得突破性进展,基于自然语言交互的人机交互方式越来越被广泛的采用。自然语言交互比传统基于软件界面,通过鼠标、键盘、触摸屏的交互方式更加灵活,随机性更强,要让计算机设备通过自然语言理解用户的意图,需要多轮会话收集输入参数,从而不断明确用户意图,进而做出对应的响应、执行特定的业务功能。
传统的人机多轮会话交互方式一般是基于程序的硬编码,将业务逻辑写死到程序中,一台计算机设备只能执行特定的一些业务功能,当需要更改计算机设备的业务功能或者需要对计算机设备的业务功能进行扩展时,则需要重新修改整体程序,重新进行发布,十分不便。如何提供一种在不修改程序的前提下可以对计算机设备的业务功能进行更改或扩展成为目前需要解决的一个技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种在不修改程序的前提下可以对计算机设备的业务功能进行更改或扩展的多轮会话交互方法、装置、计算机设备和存储介质。
一种多轮会话交互方法,所述方法包括:
获取语音信号,所述语音信号中携带了用户需求信息;
对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;
利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
在其中一个实施例中,所述获取语音信号的步骤之前还包括:根据触发条件、输入参数和输出参数生成语境函数描述文件;加载语境函数描述文件。
在其中一个实施例中,所述方法还包括:当所述语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行所述语境函数,输出对应的反馈结果。
在其中一个实施例中,所述方法还包括:当所述语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
在其中一个实施例中,所述输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;所述方法还包括:向用户发送获取参数信息的提示信息,接收用户根据所述提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取所述参数信息的子函数,获取所述子函数返回的参数信息。
一种多轮会话交互装置,所述装置包括:
语音获取模块,用于获取语音信号,所述语音信号中携带了用户需求信息;
解析模块,用于对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
函数获取模块,用于根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
会话模块,用于根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
在其中一个实施例中,所述装置还包括加载模块,用于根据触发条件、输入参数和输出参数生成语境函数描述文件;加载语境函数描述文件;所述函数获取模块还用于当所述语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;所述会话模块还用于当所述语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行所述语境函数,输出对应的反馈结果;当所述语境发生变化时,将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
在其中一个实施例中,所述输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;所述会话模块还用于向用户发送获取参数信息的提示信息,接收用户根据所述提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取所述参数信息的子函数,获取所述子函数返回的参数信息。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:
获取语音信号,所述语音信号中携带了用户需求信息;
对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;
利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取语音信号,所述语音信号中携带了用户需求信息;
对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;
利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
上述多轮会话交互方法、装置、计算机设备和存储介质,通过解析用户发出的语音信号中携带的用户需求信息,得到对应的语境,调用对应的语境函数以及语境函数描述文件,根据语境函数描述文件的多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息,从而执行语境函数,输出对应的反馈结果。一个语境对应一个业务功能,将一个语境封装成一个独立的语境函数描述文件,当需要更改计算机设备的业务功能或者需要对计算机设备的业务功能进行扩展时,只需修改对应的语境函数描述文件或者加载扩展的业务功能对应的语境函数描述文件即可实现,在此过程中,无需修改、重新发布和升级计算机设备内的程序,使得对计算机设备的业务功能扩展更加灵活方便。
附图说明
图1为一个实施例中多轮会话交互方法的流程示意图;
图2为一个实施例中多轮会话交互装置的结构框图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种多轮会话交互方法,以该方法应用于计算机设备为例进行说明,其中,计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备、智能设备和智能机器人,包括以下步骤:
步骤102,获取语音信号,语音信号中携带了用户需求信息。
计算机设备采集用户语音,获取携带了用户需求信息的语音信号。具体地,计算机设备通过麦克风采集用户的语音信号,计算机设备对采集到的声波信号进行滤波处理后,转换成电信号。进一步地,计算机设备通过语音识别将电信号转换成文本信息。
步骤104,对用户需求信息进行解析,得到对应的语境。
计算机设备根据语音信号的文本信息解析用户的需求信息。具体地,计算机设备根据预设关键词,查找文本信息,当文本信息中包括某一个语境对应的一个或多个预设关键词时,该语境即为与用户需求信息对应的语境。其中,预设关键词预先存储在计算机设备内,每一个预设关键词可以对应一个或多个语境,一个语境可以对应一个或多个预设关键词。若某一个预设关键词对应有多个语境,且计算机设备从用户需求信息中解析出的预设关键词包含有该预设关键词,则需结合解析出的其他预设关键词,得到对应的语境。例如,在计算房贷的语境中,预设关键词包括但不限于“贷款买房”、“计算房贷”和“房贷计算器”,上述的预设关键词唯一对应计算房贷的语境,当用户需求信息包含其中任意一个预设关键词时,则计算机设备确定与用户需求信息对应的语境为计算房贷,得到计算房贷语境。
步骤106,根据语境获取对应的语境函数以及语境函数描述文件;语境函数描述文件包括多个输入参数。
计算机设备根据用户的需求信息对应的语境,调用对应的语境函数以及语境函数描述文件。其中,语境函数描述文件是一段携带了触发条件、多个输入参数和输出参数的程序代码,以文件的形式存储在计算机设备的文件存储设备内。其中,文件存储设备包括但不限于是寄存器、高速缓存、内存和外部存储设备。具体地,语境函数描述文件存储在计算机设备指定的目录下。语境函数描述文件的扩展名可以是“.fn”。
触发条件为用户的需求信息中包含预设关键词。在语境函数描述文件中,预设关键词可以用一个正则表达式来描述。例如在计算房贷的语境中,预设关键词可以描述为“[{我想贷款买房}|{帮我计算一下房贷}|{房贷计算器}]”,触发条件可以描述为“triggering_conditions:"[{我要贷款买房}|{帮我计算一下房贷}|{房贷计算器}]"”。
一个语境的语境函数描述文件可以包括一个或多个输入参数,输入参数包括参数名称、参数类型和取值范围。其中,参数类型可以但不限于是数字类型和枚举类型。当参数类型为数字类型时,对应的取值范围可以是一段或多段连续的数值区间。当参数类型为枚举类型时,对应的取值范围可以是一个或多个枚举值组成的集合。这个集合内的所有枚举值具有统一定义的数据类型。数据类型可以是数值型或字符串型。
例如在计算房贷的语境中,语境函数描述文件包括贷款总额、贷款类型、按揭贷款年数、还款方式、公积金总额和月利率等六个输入参数。
贷款总额的参数类型为数字类型,取值范围为[0,+∞],提示信息为“请问您需要贷款的总额是多少呢?”贷款类型的参数类型为枚举类型,取值范围为{“商业贷款”,“公积金贷款”,“组合贷款”},提示信息为“请选择‘商业贷款’、‘公积金贷款’、‘组合贷款’中的一种”。按揭贷款年数的参数类型为数字类型,取值范围为[1,30],提示信息为“我行可以办理1到30年的按揭贷款,请问你想多少年还清?”还款方式的参数类型为枚举类型,取值范围为{“等额本息”,“等额本金”},提示信息为“您是选择等额本息还款呢?还是等额本金还款?”公积金总额的参数类型为数字类型,取值范围为[0,+∞],提示信息为“您的住房公积金总额是多少呢?”其中,“公积金总额”为可选参数,当用户选择的公积金贷款或者组合贷款时需要获取。月利率的参数类型为数字类型,取值范围为[0,+∞],获取方式为get_current_lending_rates子函数。
在其中一个实施例中,输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取。该方法还包括:向用户发送获取参数信息的提示信息,接收用户根据所述提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取所述参数信息的子函数,获取所述子函数返回的参数信息。
执行语境函数所需的任一个输入参数的获取方式可以是上述两种获取方式其中的一种,也可以是通过两种获取方式均可获取,还可以是通过两种方式协同获取。
通过采集用户的输入信息获取的获取方式以下简称为用户输入方式。对于通过用户输入方式获取的输入参数,获取步骤为,计算机设备向用户发送与需要获取的参数信息对应的提示信息,用户根据该提示信息作出语音回应,计算机设备接收用户回应的语音信号,解析该语音信号,获取参数信息。其中,提示信息以文本的形式存储在语境函数描述文件中,计算机设备可以将文本提示信息通过语音合成转换成语音提示信息,通过计算机设备播出,用户即可根据计算机设备播出的语音提示信息做出相应的回应,计算机设备根据用户回应的语音信号采集与输入参数对应的参数信息。具体地,计算机设备通过麦克风采集用户回应的语音信号,对语音信号进行语音识别,获取与用户的语音信号对应的文本信息,得到对应的参数信息。
例如在计算房贷的语境中,贷款总额、贷款类型、按揭贷款年数、还款方式和公积金总额的获取方式为用户输入方式。获取贷款总额的提示信息可以是“请问您需要贷款的总额是多少呢?”获取贷款类型的提示信息可以是“请选择‘商业贷款’、‘公积金贷款’、‘组合贷款’中的一种。”获取按揭贷款年数的提示信息可以是“我行可以办理1到30年的按揭贷款,请问你想多少年还清?”获取还款方式的提示信息可以是“您是选择等额本息还款呢?还是等额本金还款?”获取公积金总额的提示信息可以是“您的住房公积金总额是多少呢?”此外,“公积金总额”为可选参数,当用户选择的公积金贷款或者组合贷款时需要获取。
对于通过自动获取方式获取的输入参数,获取步骤为,计算机设备调用获取与该输入参数对应的参数信息的子函数,获取子函数返回的参数信息。其中,一个输入参数的参数信息可以是通过调用一个子函数获取,也可以是通过调用多个子函数来获取。
例如在计算房贷的语境中,月利率的获取方式为自动获取方式,获取月利率的子函数可以是get_current_lending_rates。
语境函数是调用语境函数描述文件的可执行脚本。计算机设备自动创建一个语境函数实例化语境函数描述文件。具体地,语境函数在指定的目录下调用语境函数描述文件。
步骤108,根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息。
对于通过用户输入方式获取的输入参数,计算机设备通过与用户会话交互的形式获取。计算机设备输出与输入参数对应的提示信息,以使用户根据提示信息作出相应的回应,计算机设备根据用户的回应采集对应的参数信息。其中,用户可以是以发出语音的形式作出回应,计算机设备采集用户回应的语音信号进行解析,获取参数信息。一个输入参数的参数信息获取过程即为一轮会话,通过用户输入方式获取的输入参数的个数即为会话论数。
例如在计算房贷的语境中,计算机设备发出提示信息“请问您需要贷款的总额是多少呢?”,以获取贷款总额的参数信息,用户回应后,计算机设备接收用户的语音信号,计算机设备解析语音回应信号,获取参数信息“120万元”。即通过一轮对话,计算机设备:“请问您需要贷款的总额是多少呢?”用户:“120万元。”获取贷款总额的参数信息,为120万元。同样的,贷款类型的参数信息的获取过程的会话可以是,计算机设备:“请选择‘商业贷款’、‘公积金贷款’、‘组合贷款’中的一种。”用户:“商业贷款。”按揭贷款年数的参数信息的获取过程的会话可以是,计算机设备:“我行可以办理1到30年的按揭贷款,请问你想多少年还清?”用户:“15年。”还款方式的参数信息的获取过程的会话可以是,计算机设备:“您是选择等额本息还款呢?还是等额本金还款?”用户:“等额本息还款。”
步骤110,利用多个参数对应的参数信息执行语境函数,输出与用户需求信息对应的反馈结果。
语境函数调用语境函数描述文件,获取语境函数描述文件的输入参数对应的参数信息。具体地,计算机设备将语境函数描述文件中的输入参数对应的参数信息自动赋值给语境函数中的输入参数变量。
语境函数获取各输入参数的参数信息后,执行对应的业务功能,输出反馈结果。具体地,一个语境函数描述文件包括至少一个输出参数,输出参数对应的参数信息即为语境函数的反馈结果。输出参数可以是以自然语言的方式输出,还可以是以动作指令的方式输出。具体地,当输出参数以自然语言的方式输出时,输出参数被载入表达语句中输出。计算机设备通过语音播放设备将携带了输出参数的表达语句以语音的方式播出。其中,表达语句预存于语境函数描述文件中。当输出参数为动作指令时,计算机设备可以根据动作指令控制计算机设备本身的机械部件执行相应的机械动作,或者控制与计算机设备通信连接的外部机械部件执行相应的机械动作。
例如在计算房贷的语境中,输出参数为月供,计算机设备执行语境函数,根据输入参数计算出月供对应的参数信息,将月供的参数信息载入表达语句中输出。例如月供为“9427.13元”,计算机设备通过输出表达语句“您每月的月供为9427.13元。”将其反馈给用户。
本实施例中,计算机设备通过解析用户发出的语音信号中携带的用户需求信息,得到对应的语境,调用对应的语境函数以及语境函数描述文件,根据语境函数描述文件的多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息,从而执行语境函数,输出对应的反馈结果。一个语境对应一个业务功能,将一个语境封装成一个独立的语境函数描述文件,当需要更改计算机设备的业务功能或者需要对计算机设备的业务功能进行扩展时,只需修改对应的语境函数描述文件或者加载扩展的业务功能对应的语境函数描述文件即可实现,在此过程中,无需修改、重新发布和升级计算机设备内的程序,使得对计算机设备的业务功能扩展更加灵活方便。
在一个实施例中,获取语音信号的步骤之前还包括:根据触发条件、输入参数和输出参数生成语境函数描述文件;加载多个语境函数描述文件。
语境函数描述文件包括语境函数的名称、触发条件、各输入参数和各输出参数,以代码的形式描述。一个语境函数描述文件对应一个业务功能,计算机设备对应的管理员可以根据实际需求加载多个不同业务功能的语境函数描述文件,还可以对计算机设备加载的某一个语境函数描述文件进行修改,例如修改语境函数描述文件的触发条件、输入参数或输出参数,以更改语境函数描述文件的业务功能。语境函数为计算机设备自动创建的调用语境函数描述文件执行预定的业务功能的函数。具体地,语境函数可以是构造函数。可以将语境函数描述文件放入计算机设备指定的目录下,语境函数即可在指定的目录下调用语境函数描述文件,执行对应的业务功能。
例如计算房贷的语境中,语境函数可以命名为calculate_housing_loans,在语境函数描述文件中,语境函数名称的描述为"function_name":"calculate_housing_loans"。触发条件的描述为triggering_conditions":[{"trigger":"我要贷款买房"},{"trigger":"帮我计算一下房贷"},{"trigger":"房贷计算器"}]。贷款总额输入参数的描述为{"name":"total_loan","type":"number","ranges":"0-+∞","required":true,"obtain_way":"请问您需要贷款的总额是多少呢?","key_word":"贷款总额"},其他输入参数的描述形式同上。输出参数的描述为"out_put":{"output_parameter":[{"name":"repayment_amount"}],"format":"您每月的月供为%repayment_amount%元"}。将包含上述信息的语境函数描述文件命名为以扩展名“.fn”的形式放入计算机设备指定的目录下,其中,语境函数描述文件名为calculate_housing_loans.fn。
本实施例中,计算机设备通过加载多个不同业务功能的语境函数描述文件,使得计算机设备的业务功能得到扩展,实现了计算机设备多样化的业务供应。
在一个实施例中,多轮会话交互方法还包括:当语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行语境函数,输出对应的反馈结果。
计算机设备在与用户进行会话交互的过程中,获取用户当前发出的语音信号并进行解析,获取语音信号中携带的需求信息以及参数信息。其中,计算机设备当前接收的用户语音信号中,携带的参数信息对应的输入参数可能还包括计算机设备在之前的会话中已获取的,而当前获取的参数信息可以是不同于之前获取的参数信息。具体地,在一个语境中,计算机设备每获取一个用户的语音信号,解析出语音信号中携带的所有参数信息,将计算机设备未获取的参数信息添加到语境函数描述文件,将计算机设备已获取的参数信息在语境函数描述文件中进行替换更新。
例如在天气查询的语境中,预设关键词为“天气”,输入参数是时间和地点,如计算机设备接收用户发出的语音信号:“北京今天的天气怎么样?”包含预设关键词触发天气查询语境的语境函数,计算机设备解析语音信号,获取时间输入参数的参数信息“今天”和地点输入参数的参数信息“北京”,计算机设备根据获取的输入参数查询北京当天的天气,输出天气信息,例如“北京的天气:晴转多云,16摄氏度至21摄氏度。”当计算机设备继续接收到用户发出的语音信号“深圳呢?”语境未发生改变,其中,地点输入参数的参数信息发生了改变,计算机设备将地点输入参数的参数信息由“北京”更新为“深圳”。
计算机设备自动结合更新后的输入参数和已获取的未发生改变的输入参数,执行语境函数,输出对应的反馈结果。其中,未发生改变的输入参数包括除计算机设备当前解析出的输入参数以外的输入参数,以及计算机设备当前解析出的输入参数中、与已获取的输入参数的参数信息一致的输入参数。
例如在天气查询的语境中,计算机设备根据用户当前发出的语音信号“深圳呢?”可以解析出地点输入参数对应的参数信息,而缺省了时间输入参数,此时时间输入参数的参数信息依然为“今天”,计算机设备则查询深圳当天的天气,输出天气信息。
本实施例中,计算机设备通过解析用户的当前语音信号携带的参数信息,当计算机设备已获取的输入参数的参数信息发生改变时,对发生改变的输入参数进行更新,计算机设备自动结合用户当前语音信号中缺省的、在之前的会话中已获取的输入参数,输出对应的反馈结果,实现同一语境下的输入参数的自然传递,使得计算机设备与用户的会话自然衔接。
在一个实施例中,多轮会话交互方法还包括:当语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
计算机设备在一个语境中与用户进行会话交互时,接收用户当前的语音信号,解析当前语音信号中携带的当前需求信息,判断语境是否发生变化。具体地,计算机设备通过判断当前语音信号是否包含其他语境函数触发条件的预设关键词,来确定语境是否发生变化。
例如在天气查询的语境中,计算机设备与用户经过一轮会话,如用户:“北京今天的天气怎么样?”计算机设备:“北京的天气:晴转多云,16摄氏度至21摄氏度。”后,当计算机设备接收到用户携带“我要订去那里的机票”需求信息的语音信号,计算机设备经过对需求信息进行分析,确定语境由天气查询转为订机票。具体地,计算机设备通过检索关键词,确定用户当前的语音信号中携带的需求信息包含订机票语境的预设关键词,以确定语境转为订机票。例如订机票语境的预设关键词可以是“订机票”。计算机设备调用订机票语境的语境函数以及语境函数描述文件。
当计算机设备通过解析当前需求信息,从上一个语境进入下一个语境时,获取与当前需求信息对应的下一个语境的语境函数以及语境函数描述文件。具体地,计算机设备创建下一个语境函数,调用下一个语境函数描述文件,执行语境函数。若下一个语境函数描述文件存在与上一个语境函数描述文件相同的输入参数,则将上一个语境函数的输入参数对应的参数信息添加至下一个语境函数中。具体地,将上一个语境函数的输入参数变量的参数信息赋值给下一个语境函数的输入参数变量。
例如当计算机设备从天气查询语境转入订机票语境时,订机票语境的语境函数描述文件的输入参数包括起点、终点和时间,其中,计算机设备通过解析用户的语音信号“我要订去那里的机票”,可以获取终点输入参数为天气查询语境中的地点输入参数,将参数信息“北京”添加至终点输入参数中,订机票语境的时间输入参数等于天气查询语境的时间输入参数,将参数信息“今天”添加至订机票语境的时间输入参数中。至此,计算机设备只需要通过与用户会话获取起点输入参数即可执行订机票语境的功能。具体地,计算机设备可以通过输出内容为“请问您要从哪里出发?”的提示信息,接收用户根据该提示信息的回应,获取起点输入参数对应的参数信息。
本实施例中,在语境发生改变时,计算机设备自动将上一个语境函数的参数信息添加至下一个语境函数中,实现不同语境下的输入参数的自然传递,使得计算机设备与用户的会话自然衔接。
在一个实施例中,语境函数描述文件具有统一的定义规范。
计算机设备加载的多个语境函数描述文件具有统一的定义规范。其中,统一的定义规范可以是包括语境函数名称、触发条件、一个或多个输入参数、以及一个或多个输出。具体地,触发条件包括一个或多个预设关键词,输入参数包括输入参数的名称,参数类型,取值范围和获取方式,输出包括一个或多个输出参数的名称和载有输出参数的表达语句。例如可以是如下的定义规范:
语境函数名称;
触发条件:[{预设关键词1,预设关键词2,……预设关键词n}],
输入参数:[{输入参数1},{输入参数2},……{输入参数n}],
输出:{输出参数:[{输出参数名称}],“载有输出参数的表达语句”}
其中,各输入参数的定义规范为:{输入参数名称,参数类型,取值范围,获取方式}。
本实施例中,通过统一语境函数描述文件的定义规范,为开发人员的开发设计提供了方便,使得开发人员不需要针对不同语境的业务功能构建不同的框架,此外统一的定义规范也更便于维护。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种多轮会话交互装置,包括:语音获取模块210、解析模块220、函数获取模块230和会话模块240,其中:
语音获取模块210,用于获取语音信号,语音信号中携带了用户需求信息。
解析模块220,用于对用户需求信息进行解析,得到对应的语境;语境与业务功能相对应。
函数获取模块230,用于根据语境获取对应的语境函数以及语境函数描述文件;语境函数描述文件包括执行业务功能所需的多个输入参数。
会话模块240,用于根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行语境函数,输出与用户需求信息对应的反馈结果。
在一个实施例中,多轮会话交互装置还包括加载模块,用于根据语境函数的触发条件、输入参数和输出参数生成语境函数描述文件;加载语境函数描述文件;函数获取模块还用于当语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;会话模块还用于当语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行语境函数,输出对应的反馈结果;当语境发生变化时,将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
在一个实施例中,输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;会话模块还用于向用户发送获取参数信息的提示信息,接收用户根据提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取参数信息的子函数,获取子函数返回的参数信息。
关于多轮会话交互装置的具体限定可以参见上文中对于多轮会话交互方法的限定,在此不再赘述。上述多轮会话交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置、麦克风和扬声器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种多轮会话交互方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。该计算机设备的麦克风用于采集外界的语音信号,该计算机设备的扬声器用于向外界输出语音信号。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取语音信号,语音信号中携带了用户需求信息;对用户需求信息进行解析,得到对应的语境;语境与业务功能相对应;根据语境获取对应的语境函数以及语境函数描述文件;语境函数描述文件包括执行业务功能所需的多个输入参数;根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行语境函数,输出与用户需求信息对应的反馈结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据语境函数的触发条件、输入参数和输出参数生成语境函数描述文件;加载多个语境函数描述文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行语境函数,输出对应的反馈结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
在一个实施例中,输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;处理器执行计算机程序时还实现以下步骤:向用户发送获取参数信息的提示信息,接收用户根据提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取参数信息的子函数,获取子函数返回的参数信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤获取语音信号,语音信号中携带了用户需求信息;对用户需求信息进行解析,得到对应的语境;语境与业务功能相对应;根据语境获取对应的语境函数以及语境函数描述文件;语境函数描述文件包括执行业务功能所需的多个输入参数;根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行语境函数,输出与用户需求信息对应的反馈结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据语境函数的触发条件、输入参数和输出参数生成语境函数描述文件;加载多个语境函数描述文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行语境函数,输出对应的反馈结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
在一个实施例中,输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;计算机程序被处理器执行时还实现以下步骤:向用户发送获取参数信息的提示信息,接收用户根据提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取参数信息的子函数,获取子函数返回的参数信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种多轮会话交互方法,所述方法包括:
获取语音信号,所述语音信号中携带了用户需求信息;
对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;
利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
2.根据权利要求1所述的方法,其特征在于,所述获取语音信号的步骤之前还包括:
根据触发条件、输入参数和输出参数生成语境函数描述文件;
加载语境函数描述文件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;
根据更新后的输入参数和未发生改变的输入参数,执行所述语境函数,输出对应的反馈结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;
将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;
利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
5.根据权利要求1所述的方法,其特征在于,所述输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;所述方法还包括:
向用户发送获取参数信息的提示信息,接收用户根据所述提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者
调用获取所述参数信息的子函数,获取所述子函数返回的参数信息。
6.一种多轮会话交互装置,其特征在于,所述装置包括:
语音获取模块,用于获取语音信号,所述语音信号中携带了用户需求信息;
解析模块,用于对所述用户需求信息进行解析,得到对应的语境;所述语境与业务功能相对应;
函数获取模块,用于根据所述语境获取对应的语境函数以及语境函数描述文件;所述语境函数描述文件包括执行所述业务功能所需的多个输入参数;
会话模块,用于根据多个输入参数与用户进行多轮会话,采集多个输入参数对应的参数信息;利用多个参数对应的参数信息执行所述语境函数,输出与用户需求信息对应的反馈结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:加载模块,用于根据触发条件、输入参数和输出参数生成语境函数描述文件;加载语境函数描述文件;
所述函数获取模块还用于当所述语境发生变化时,获取下一个语境对应的语境函数以及语境函数描述文件;
所述会话模块还用于当所述语境函数的一个或多个输入参数对应的参数信息发生改变时,更新改变的输入参数对应的参数信息;根据更新后的输入参数和未发生改变的输入参数,执行所述语境函数,输出对应的反馈结果;当所述语境发生变化时,将上一个语境函数中的一个或多个输入参数添加至下一个语境函数中;利用添加的一个或多个输入参数在下一个语境对用户的需求信息进行分析。
8.根据权利要求6所述的装置,其特征在于,所述输入参数对应的参数信息的获取方式包括通过采集用户的输入信息获取和自动获取;所述会话模块还用于向用户发送获取参数信息的提示信息,接收用户根据所述提示信息回应的语音信号,对接收到的语音信号进行解析,得到对应的参数信息;或者调用获取所述参数信息的子函数,获取所述子函数返回的参数信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040791.9A CN108153902A (zh) | 2018-01-16 | 2018-01-16 | 多轮会话交互方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810040791.9A CN108153902A (zh) | 2018-01-16 | 2018-01-16 | 多轮会话交互方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108153902A true CN108153902A (zh) | 2018-06-12 |
Family
ID=62461629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810040791.9A Pending CN108153902A (zh) | 2018-01-16 | 2018-01-16 | 多轮会话交互方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153902A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070370A (zh) * | 2019-04-29 | 2019-07-30 | 上海智臻智能网络科技股份有限公司 | 回访服务的提供方法、装置、计算机设备和存储介质 |
CN110096567A (zh) * | 2019-03-14 | 2019-08-06 | 中国科学院自动化研究所 | 基于qa知识库推理的多轮对话回复选择方法、系统 |
CN110502631A (zh) * | 2019-07-17 | 2019-11-26 | 招联消费金融有限公司 | 一种输入信息响应方法、装置、计算机设备和存储介质 |
CN110750628A (zh) * | 2019-09-09 | 2020-02-04 | 深圳壹账通智能科技有限公司 | 会话信息交互处理方法、装置、计算机设备和存储介质 |
CN111402872A (zh) * | 2020-02-11 | 2020-07-10 | 升智信息科技(南京)有限公司 | 用于智能语音对话系统的语音数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408639A (zh) * | 2014-10-22 | 2015-03-11 | 百度在线网络技术(北京)有限公司 | 多轮会话交互方法和系统 |
CN106572002A (zh) * | 2016-11-11 | 2017-04-19 | 网易(杭州)网络有限公司 | 智能会话方法、智能会话的定制方法和相关设备 |
CN106844499A (zh) * | 2016-12-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 多轮会话交互方法及装置 |
-
2018
- 2018-01-16 CN CN201810040791.9A patent/CN108153902A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408639A (zh) * | 2014-10-22 | 2015-03-11 | 百度在线网络技术(北京)有限公司 | 多轮会话交互方法和系统 |
CN106572002A (zh) * | 2016-11-11 | 2017-04-19 | 网易(杭州)网络有限公司 | 智能会话方法、智能会话的定制方法和相关设备 |
CN106844499A (zh) * | 2016-12-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 多轮会话交互方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096567A (zh) * | 2019-03-14 | 2019-08-06 | 中国科学院自动化研究所 | 基于qa知识库推理的多轮对话回复选择方法、系统 |
CN110070370A (zh) * | 2019-04-29 | 2019-07-30 | 上海智臻智能网络科技股份有限公司 | 回访服务的提供方法、装置、计算机设备和存储介质 |
CN110502631A (zh) * | 2019-07-17 | 2019-11-26 | 招联消费金融有限公司 | 一种输入信息响应方法、装置、计算机设备和存储介质 |
CN110502631B (zh) * | 2019-07-17 | 2022-11-04 | 招联消费金融有限公司 | 一种输入信息响应方法、装置、计算机设备和存储介质 |
CN110750628A (zh) * | 2019-09-09 | 2020-02-04 | 深圳壹账通智能科技有限公司 | 会话信息交互处理方法、装置、计算机设备和存储介质 |
WO2021047189A1 (zh) * | 2019-09-09 | 2021-03-18 | 深圳壹账通智能科技有限公司 | 会话信息交互处理方法、装置、计算机设备和存储介质 |
CN111402872A (zh) * | 2020-02-11 | 2020-07-10 | 升智信息科技(南京)有限公司 | 用于智能语音对话系统的语音数据处理方法及装置 |
CN111402872B (zh) * | 2020-02-11 | 2023-12-19 | 升智信息科技(南京)有限公司 | 用于智能语音对话系统的语音数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153902A (zh) | 多轮会话交互方法、装置、计算机设备和存储介质 | |
CN108076224B (zh) | 应用程序控制方法、装置及存储介质和移动终端 | |
CN104965790B (zh) | 基于关键字驱动的软件测试方法及系统 | |
CN111261144B (zh) | 一种语音识别的方法、装置、终端以及存储介质 | |
US7003457B2 (en) | Method and system for text editing in hand-held electronic device | |
CN102750271B (zh) | 谈话式对话学习和纠正 | |
CN108829235A (zh) | 语音数据处理方法和支持该方法的电子设备 | |
CN116737900A (zh) | 人机交互处理系统及其方法、存储介质、电子设备 | |
US20170316775A1 (en) | Dialog device with dialog support generated using a mixture of language models combined using a recurrent neural network | |
CN108735204A (zh) | 用于执行与用户话语相对应的任务的设备 | |
CN109933760A (zh) | 表单生成方法、装置、计算机设备及计算机可读存储介质 | |
CN106847278A (zh) | 基于语音识别的选择方法及其移动终端装置及信息系统 | |
CN103442130A (zh) | 语音操控方法、移动终端装置及语音操控系统 | |
CN108701127A (zh) | 电子设备及其操作方法 | |
CN109102802A (zh) | 用于处理用户话语的系统 | |
CN110462647B (zh) | 电子设备及执行电子设备的功能的方法 | |
CN108694944A (zh) | 通过使用框架生成自然语言表达的方法和设备 | |
CN108632653A (zh) | 语音管控方法、智能电视及计算机可读存储介质 | |
CN110047484A (zh) | 一种语音识别交互方法、系统、设备和存储介质 | |
US10360914B2 (en) | Speech recognition based on context and multiple recognition engines | |
CN103116483A (zh) | 一种调用微博的方法、装置及终端 | |
KR20190032026A (ko) | 자연어 표현 제공 방법 및 이를 지원하는 전자 장치 | |
JP2017151394A (ja) | 制御装置、制御装置の制御方法、および表示装置 | |
CN111563151A (zh) | 一种信息采集的方法、会话配置的方法、装置及存储介质 | |
CN109144458A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180612 |
|
RJ01 | Rejection of invention patent application after publication |