CN117953902A - 人机交互的方法、装置和设备 - Google Patents
人机交互的方法、装置和设备 Download PDFInfo
- Publication number
- CN117953902A CN117953902A CN202311830289.5A CN202311830289A CN117953902A CN 117953902 A CN117953902 A CN 117953902A CN 202311830289 A CN202311830289 A CN 202311830289A CN 117953902 A CN117953902 A CN 117953902A
- Authority
- CN
- China
- Prior art keywords
- voice
- user
- information
- robot
- voice information
- 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
- 230000003993 interaction Effects 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 93
- 239000012634 fragment Substances 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 22
- 238000003058 natural language processing Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 230000008451 emotion Effects 0.000 description 26
- 230000033001 locomotion Effects 0.000 description 20
- 239000003795 chemical substances by application Substances 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 210000001747 pupil Anatomy 0.000 description 14
- 230000009471 action Effects 0.000 description 11
- 238000013136 deep learning model Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 210000004279 orbit Anatomy 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 230000036651 mood Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003153 chemical reaction reagent Substances 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 206010034719 Personality change Diseases 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 210000003786 sclera Anatomy 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本申请提供一种人机交互的方法、装置和设备,所述方法用于机器人与用户之间的互动,包括:基于预设的VAD间隔,接收所述用户的语音分段;将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。相比于基于固定的VAD间隔的判停,能够减少对用户语音的打断,提升了交互体验。
Description
技术领域
本申请实施例涉及人工智能技术领域,并且更具体地,涉及一种人机交互的方法、装置和设备。
背景技术
随着人工智能技术的不断地发展,机器人的种类越来越多。其中,家庭机器人是比较常见的一种机器人,其可以通过与用户之间的交互,来增加用户的幸福感,减轻用户的压力。例如,在家庭生活中,父母不能陪伴儿童时,儿童可以与机器人进行交互,比如进行对话、娱乐或者学习等。为此,如何提升用户与机器人之间的交互体验,成为需要解决的问题。
发明内容
本申请实施例提供一种人机交互的方法、装置和设备,能够提升用户与机器人之间的交互体验。
第一方面,提供一种人机交互的方法,用于机器人与用户之间的互动,所述方法包括:基于预设的语音活动检测VAD间隔,接收所述用户的语音分段;将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。
本申请基于预设的VAD间隔接收用户的语音分段,并在接收过程中不断将新的语音分段合并至前面的语音信息中,并根据合并后的语音信息的语意完整性,确定是否判停用户语音并进行回复。相比于基于固定的VAD间隔的判停,能够减少对用户语音的打断,提升了交互体验。
在一些可能的实现方式中,所述VAD间隔为连续两个语音分段之间的时间间隔的最小值。
例如,所述VAD间隔可以设置为小于或者等于600毫秒。
又例如,所述VAD间隔可以设置为小于或者等于200毫秒。
在该实现方式中,在采用较小的VAD间隔对用户语音进行分割时,通过分小段处理用户语音,能够降低延时,减少用户等待答复的时间,进一步提高了交互体验。
在一些可能的实现方式中,所述根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息,对所述用户进行语音回复,包括:在所述第二语音信息的语意为完整的情况下,针对所述第二语音信息对所述用户进行语音回复;在所述第二语音信息的语意为不完整的情况下,将所述当前时刻的下一时刻接收到的语音分段合并至所述第二语音信息中,得到第三语音信息,并根据所述第三语音信息的语意的完整性,确定是否针对所述第三语音信息对所述用户进行语音回复。
在该实现方式中,在将采集到的语音分段合并至此前的第一语音信息中后,如果得到的新的第二语音信息的语意是完整的,则认为用户的话说完了,从而可以对用户进行回复;如果得到的第二语音信息的语意仍不完整,则继续采集新的语音分段并合并至第二语音信息中,得到第三语音信息,并根据第三语音信息的完整性确定是否对用户进行回复。
在一些可能的实现方式中,所述针对所述第二语音信息对所述用户进行语音回复,包括:基于ASR技术,将所述第二语音信息转换为文本信息,并向LLM输入所述文本信息,所述LLM用于根据所述文本信息生成文本回复内容;接收所述LLM输出的所述文本回复内容;基于TTS技术,将所述文本回复内容转换为语音回复内容;根据所述语音回复内容,对所述用户进行语音回复。
在该实现方式中,可以利用大语言模型获取回复内容,具体地,可以基于ASR技术将第二语音信息转换为文本信息并输入LLM中,并从LLM获取文本回复内容,基于TTS技术将LLM返回的文本回复内容转换为语音回复内容后对用户进行语音回复。通过这个过程,便能够流畅、自然地与用户对话。
在一些可能的实现方式中,所述LLM还用于调用其外部的功能模块,并根据所述功能模块提供的信息生成所述文本回复内容。这样,便能够使机器人于用户之间的互动内容更加丰富。
所述功能模块例如包括以下中的至少一种:用于存储聊天记录的数据库、所述机器人的参数库、以及其他具有特定功能的功能模块。
在一些可能的实现方式中,所述方法还包括:基于自然语言处理NLP技术,确定所述第二语音信息的语意的完整性。利用NLP技术可以高效且准确地帮助计算机理解人类语言,通过分析第二语音信息对应的文本的结构、语法和语意等,确定其完整性。
第二方面,提供一种人机交互的装置,用于机器人与用户之间的互动,所述装置包括:检测模块,用于基于预设的语音活动检测VAD间隔,接收所述用户的语音分段;处理模块,用于将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;所述处理模块还用于,根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。
在一些可能的实现方式中,所述VAD间隔为连续两个语音分段之间的时间间隔的最小值。
在一些可能的实现方式中,所述VAD间隔小于或者等于600毫秒,或者所述VAD间隔小于或者等于200毫秒。
在一些可能的实现方式中,所述处理模块具体用于,在所述第二语音信息的语意为完整的情况下,针对所述第二语音信息对所述用户进行语音回复;在所述第二语音信息的语意为不完整的情况下,将所述当前时刻的下一时刻接收到的语音分段合并至所述第二语音信息中,得到第三语音信息,并根据所述第三语音信息的语意的完整性,确定是否针对所述第三语音信息对所述用户进行语音回复。
在一些可能的实现方式中,所述处理模块具体用于,基于ASR技术,将所述第二语音信息转换为文本信息,并向LLM输入所述文本信息,所述LLM用于根据所述文本信息生成文本回复内容;接收所述LLM输出的所述文本回复内容;基于TTS技术,将所述文本回复内容转换为语音回复内容;根据所述语音回复内容,对所述用户进行语音回复。
在一些可能的实现方式中,所述LLM还用于调用其外部的功能模块,并根据所述功能模块提供的信息生成所述文本回复内容。
所述功能模块例如包括以下中的至少一种:用于存储聊天记录的数据库、所述机器人的参数库、以及其他具有特定功能的功能模块。
在一些可能的实现方式中,所述处理模块还用于,基于自然语言处理NLP技术,确定所述第二语音信息的语意的完整性。
第三方面,提供一种人机交互的设备,包括处理器,所述处理器用于执行存储器中存储的指令,以使所述设备执行上述第一方面或第一方面的任一可能的实现方式中所述的人机交互的方法。
第四方面,提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在人机交互的设备上运行时,使得所述设备执行上述第一方面或第一方面的任一可能的实现方式中所述的人机交互的方法。
附图说明
图1是本申请实施例提供的一种可能的机器人的结构示意图。
图2是本申请一个实施例提供的人机交互的方法的示意性流程图。
图3是图2所示的方法的一种可能的具体实现方式的示意性流程图。
图4是人脸方向角的示意图。
图5是本申请另一个实施例提供的人机交互的方法的示意性流程图。
图6是图5所述的方法中的语音分割和合并的示意图。
图7是agent与LLM之间的交互过程的示意图。
图8是本申请另一个实施例提供的人机交互的方法的示意性流程图。
图9是本申请另一个实施例提供的人机交互的方法的示意性流程图。
图10是本申请实施例的人机交互的装置的示意性框图。
图11本申请实施例的人机交互的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“复数个”或者“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
示例性的,图1示出了本申请实施例提供的人机交互装置,例如机器人100的结构示意图。
如图1所示,机器人100包括处理器110、执行器111、外部存储器接口120,内部存储器121、通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线、无线通信模块150,传感器模块160、音频模块170、扬声器170A、麦克风170B、摄像头180、显示屏190等。
处理器110例如包括图形处理器(graphics processing unit,GPU)、控制器、存储器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或者多个处理器中。其中,控制器可以是机器人100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号等,产生操作控制信号,完成取指令和执行指令的控制。
存储器用于存储指令和数据。处理器110中的存储器例如可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或者数据。如果处理器110需要再次使用该指令或者数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括至少一个接口。该接口可以包括集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purposeinput/output,GPIO)接口和USB接口等中的一种或者几种。
可以理解,本申请实施例示意的各模块间的接口连接关系,仅为示例,并不构成对机器人100的结构限定。在另一些实施例中,机器人100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
执行器111用于控制机器人100的移动、转动、跳跃等。可选地,在一些实施例中,若机器人100包括头部、躯干和腿部,执行器111还用于控制躯干相对于腿部转动、腿部相对于躯干转动、躯干摇晃、或者头部沿躯干转动等。在一些实施例中,执行器111可以包括至少一个电机。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,以扩展机器人100的存储能力。
内部存储器121用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,执行机器人100的各种功能应用和数据处理。内部存储器121包括存储程序区和存储数据区。其中,存储程序区用于存储操作***、至少一个功能所需的应用程序例如声音播放功能,图像播放功能等等。存储数据区用于存储机器人100使用过程中所创建的数据例如音频数据等等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flash storage,UFS)等。
USB接口130是符合USB标准规范的接口,例如是Mini USB接口、Micro USB接口、USB Type C接口等。USB接口130可以用于连接充电器,以对机器人100充电,机也可以用于机器人100与***设备之间的传输数据。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过机器人100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。电源管理模块141用于连接电池142,充电管理模块140与处理器110。
无线通信模块150可以提供应用在机器人100上的无线通信的解决方案,例如无线局域网(wireless local area networks,WLAN)、无线保真(wireless fidelity,Wi-Fi)网络、蓝牙(bluetooth,BT)网络等。
在一些实施例中,机器人100的天线和无线通信模块150耦合,使得机器人100可以通过无线通信技术与网络及其他设备之间进行通信。
传感器模块160可以包括至少一个传感器。例如,传感器模块160包括触摸传感器、距离传感器、姿态传感器等。在一些实施例中,触摸传感器为电容传感器,可以设置于机器人100的头顶、颈部、背部、腹部等位置,用于感知用户的抚摸、轻拍等交互动作。距离传感器用于测量机器人100与外界环境物体或者用户之间的距离。姿态传感器为陀螺仪,用于感知机器人100的姿态变化。
音频模块170用于将数字音频信息转换成模拟音频信号输出,和/或将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A也称“喇叭”,用于将音频电信号转换为声音信号。麦克风170B也称“话筒”或者“传声器”,用于将声音信号转换为电信号。
机器人100可以通过音频模块170、扬声器170A、麦克风170B、以及处理器110等实现音频功能,例如语音播放、录音等。
摄像头180用于捕获静态图像或视频,以便处理器110可以根据摄像头180获取的图像或视频进行事件的检测,从而可以对事件进行反馈等,摄像头180的拍摄方向可以和机器人100的正面面向的方向一致,从而能够实现机器人100模拟“人眼看到”所处的环境。摄像头180可以将采集到的图像存储于存储器121中,还可以将采集到的图像直接传输给处理器110。
显示屏190用于显示由用户输入的信息,或者用于提供给用户信息、以及机器人100的各种菜单功能。显示屏190可采用液晶显示器、有机发光二极管等形式进行配置。进一步地,在机器人100的头部区域包括用于显示模拟眼睛的显示屏190,该眼睛可以包含有模拟的瞳孔和底色部分(虹膜巩膜)。需要说明的是,显示屏190中的模拟眼睛可以包括左眼和右眼,也可以只包含一只眼睛,可以在显示屏190上移动,以看向不同的方向和位置。应理解,眼睛在移动过程中,双眼同时进行移动。
在本申请实施例中,机器人100可以为具有模拟人形形态的机器人,或者为具有非人形形态的机器人例如模拟动物形态的机器人,或者为非生物形态的机器人。即,机器人100为人和具备运动功能的设备,所述的运动包括移动、旋转等。
为了更好地提升用户与机器人之间的交互体验,本申请实施例分别从机器人与用户之间的对话开启、多轮对话、对话的应答策略、以及机器人于用户之间的互动策略等方面出发,改善用户的交互体验。
本申请实施例的人机交互的方法可以由机器人执行,例如,可以由机器人的代理(agent)例如云端agent来执行。该机器人可以是陪伴式机器人,其结构例如图1所示。
可以理解,agent可以看作是运行于机器人内部的计算机程序,其可以通过各种传感器和执行器与机器人的硬件进行交互,从而根据机器人所处的环境和任务要求,自主地感知环境信息、理解任务需求,并通过推理、学***和自主能力。
首先,描述如何识别用户的交互意愿从而开启对话。
图2示出了本申请实施例提供的人机交互的方法200的示意性流程图。如图2所示,方法200可以包括以下步骤中的部分或者全部。
在步骤210中,检测用户的语言意图信息。
其中,语言意图信息包括以下信息中的至少一种:用户的脸部和/或眼神的方向、用户的嘴部动作和/或语音、以及用户的语意。
在步骤220中,根据该语言意图信息,确定用户是否有与机器人进行语言交互的意愿,即用户是否想对机器人说话。
通常,机器人判断对话开启时通过用户说出唤醒词,例如“hello loona”,但是这会导致语音交互的不连贯性,使得用户体验较差。
而在方法200中,通过检测用户的语言意图信息,确定用户是否有与机器人进行语言交互的意愿。相比于通过用户说出唤醒词来表达其语言意图的方式,提升了语音交互的连贯性。
其中,该语言意图信息包括以下三层触发条件种的至少一种:第一层触发条件为用户朝向机器人;第二层触发条件为用户的嘴部动作;第三层触发条件为用户的语意理解,即用户的语音是针对机器人的。
本申请实施例中,可以选择上述三种触发条件中的一种或者几种作为触发条件,来判断用户是否有交互意愿。
在一些实施例中,可以将第一层触发条件作为基础的触发条件,并结合第三层触发条件作为附加的触发条件,共同用判断用户的交互意愿。也就是说,在用户朝向机器人,且用户的语意与互动内容相关联的情况下,确定用户有与机器人进行语言交互的意愿。
例如,如图3所示,上述的步骤210可以包括步骤211和步骤212,这时,步骤220可以包括步骤221。
在步骤211中,检测用户是否朝向机器人。
在步骤212中,在用户朝向机器人的情况下,获取用户的语音信息,并根据该语音信息确定用户的语音是否针对机器人。
在步骤221中,在用户的语音是针对机器人的情况下,确定用户有与机器人进行语言交互的意愿。
由于在用户没有朝向机器人的情况下,大概率不是在对机器人说话,因此,在理解用户的语意之前先检测用户是否朝向机器人,并在用户朝向机器人的情况下才会对用户的语音信息进行收集分析,能够在一定程度上避免对用户语音的过度解析,保护了用户的语言隐私。
在另一些实施例中,可以将第二层触发条件作为基础的触发条件,并结合第三层触发条件作为附加的触发条件,共同用来判定用户的交互意愿。也就是说,在用户朝向机器人,且识别到用户的嘴部动作的情况下,确定用户有与机器人进行语言交互的意愿。
在用户朝向机器人的情况下,通过识别用户嘴部动作,能够过滤掉大部分的无意的动作,避免过度的意图解析。可选地,为了提高准确性,除了识别用户的嘴部动作,还可以进一步检测用户语音与机器人之间的距离,从而判断用户是否是对该机器人说话。
通常,可以利用语音活动检测(voice activity detection,VAD)技术检测语音信号的存在,并采用计算机视觉识别技术检测用户的嘴部动作,为语音识别提供辅助信息。
在其他实施例中,还可以结合第一层触发条件、第二层触发条件和第三层触发条件,共同来判定用户的交互意愿。也就是说,在用户朝向机器人,且识别到用户的嘴部动作,并且根据用户的语意确定用户是在对机器人说话的情况下,确定用户有与机器人进行语言交互的意愿。
例如,在上述的步骤212中,在用户朝向机器人的情况下,可以接着判断是否识别到用户的嘴部动作,在识别到用户的嘴部动作的情况下获取用户的语音信息,并根据该语音信息确定用户的语音是否针对机器人。
通过三层触发条件,进一步提升了分析用户语意的门槛,更有效地避免了对用户语音的过度解析,保护了用户的语言隐私。
这里,根据接收到的语音信息的语意确定用户是否对机器人说话,例如可以通过判断用户的语意是否与互动过程中对话的上下文的关联性、或者与当前的互动场景和互动内容之间的关联性、或者符合对机器人设定的相关指令等,来判断用户是否是对机器人说话。如果用户当前的语音内容与之前的语音内容之间有关联性,或者用户当前的语音内容与当前的互动场景比如学习、游戏等场景相关联,或者用户说出某些特定指令,则可以判断用户当前是在对机器人说话。
本申请实施例中,检测用户是否朝向机器人,例如可以通过检测用户的脸部和/或眼神的方向来实现,即检测用户的脸部和/或眼神是否朝向机器人。当然,其他检测用户是否朝向机器人的方法也可以应用在本申请实施例中,例如检测用户语音的方向,即用户声音的方向是否朝向机器人。
在一些实施例中,可以先检测用户的脸部是否朝向机器人,并在脸部朝向机器人的情况下,检测用户的眼神是否朝向机器人,从而在脸部和眼神均朝向机器人的情况下,再通过分析用户的语意判断用户是否有与机器人进行语言交互意愿。由于同时考虑了脸部和眼神的方向,使得判断用户是否朝向机器人的条件更加严格,对用户是否有语言交互意愿的判断也更加准确。
本申请实施例可以利用机器学习和计算机视觉技术,检测用户的脸部是否朝向机器人。例如,在检测用户的脸部是否朝向机器人的过程中,可以获取用户的脸部图像、以及脸部的关键点的坐标信息,并将该脸部图像和关键点的坐标信息输入预设的深度学习模型,以获取深度学习模型输出的脸部的方向角信息,进而根据该方向角信息,确定用户的脸部是否朝向机器人。
这里,脸部的关键点例如可以是脸部图像中具有比较明显且稳定的特征,且能够用于描述脸部图像的整体特征和内容的点。
首先,需要基于深度学习技术,对脸部的关键点的数据进行训练,得到脸部关键点的检测模型。在获取脸部的关键点的坐标信息时,可以向该检测模型中输入人脸图像,并获取该检测模型输出的关键点的坐标信息。
其次,还需要训练另一深度学习模型,其用于根据脸部的关键点的坐标信息预测脸部的朝向角。向该深度学习模型输入脸部的关键点的左边,该深度学习模型可以输出脸部的方向角。
这样,预先训练用于检测用户脸部方向的深度学习模型,将用户的脸部图像和脸部的关键点的坐标信息输入该深度学习模型,该深度学习模型可以输出脸部的方向角信息,包括沿自身坐标系的X轴、Y轴和Z轴的旋转角度。根据脸部的方向角信息,便能够确定用户的脸部是否朝向机器人。
其中,该方向角信息可以包括分别沿X轴、Y轴和Z轴的旋转角度(yaw,pitch,roll)。例如,如图4所示,X轴、Y轴和Z轴相互垂直,X轴可以看作是重力方向,Y轴可以看作是左右方向,Z轴可以看作是前后方向,围绕X轴旋转的角度、围绕Y轴旋转的角度、以及围绕Z轴旋转的角度记作(yaw,pitch,roll)。可以将脸部正对机器人时的方向角作为初始方向角(yaw0,pitch0,roll0),在检测脸部的方向时,将脸部的关键点的坐标数据输入预设的深度学习模型,以获取深度学习模型输出的测量方向角(yaw,pitch,roll),并根据测量方向角(yaw,pitch,roll)与初始方向角(yaw0,pitch0,roll0)之间的差异,确定用户的脸部是否朝向机器人,例如,该差异在预定范围内的情况下,可以认为用户的脸部朝向机器人。
在确定用户的脸部朝向机器人的情况下,可以根据用户的语意判断用户是否在对机器人说话;或者,为了过滤用户脸部朝向机器人但眼睛看向别处情况,在确定用户的脸部朝向机器人的情况下,可以进一步判断用户的眼神是否朝向机器人,并在用户的眼神也朝向机器人的情况下,根据用户的语意判断用户是否在对机器人说话。
在一些实施例中,本申请可以根据用户的眼眶和瞳孔之间的相对位置,确定用户的眼神是否朝向机器人。例如,获取用户的眼眶的关键点的坐标信息、以及瞳孔的关键点的坐标信息,并根据眼眶的关键点的坐标信息、以及瞳孔的关键点的坐标信息,确定眼眶与瞳孔之间的相对位置,进而根据眼眶与瞳孔之间的相对位置,确定用户的眼神是否朝向机器人。
这样,利用眼眶的关键点的坐标信息和瞳孔的关键点的坐标信息判断二者的相对位置,便能够确定用户的眼神是否朝向机器人。例如,瞳孔位于眼眶的中心区域的情况下,可以认为用户的眼神朝向机器人,即用户正在注视机器人。
与脸部的关键点相类似,对于眼眶的关键点和瞳孔的关键点的坐标信息,也可以基于深度学习技术对眼眶和瞳孔的关键点的数据进行训练,得到相应的训练模型,从而基于眼眶和瞳孔的图像,利用相应的模型获取眼眶和瞳孔关键点的坐标信息。
此外,为了提高在不同环境下的识别准确率,可选地,在采集人脸图像、眼眶图像或者瞳孔图像后,采用特殊的图像处理算法对采集到的图像进行图像处理,然后输入相应的机器学习模型,以获取图像关键点的坐标信息。
对眼神方向的识别能够更加准确地判断用户的交互意愿,在对准确性要求较高的场景下,可以选择识别眼神方向来判断用户是否朝向机器人,或者结合脸部方向和眼神方向来判断用户是否朝向机器人。但是,对于眼神方向的识别具有一定难度,为了降低复杂度,在对准确性要求不高的场景下,也可以仅检测用户的脸部方向,以此来判断用户是否朝向机器人。
在判断用户朝向机器人的情况下,对用户的语音进行语意理解,确定用户的语音是否针对机器人。
在一些实施例中,可以采用本地或者云端的自动语音识别(Automatic SpeechRecognition,ASR)技术和自然语言处理NLP(Natural Language Processing,NLP)技术,来理解用户的话是否是针对机器人说的。
例如,基于ASR技术将用户的语音信息转换为文本信息,并基于NLP技术对文本信息进行分析,以确定文本信息的内容是否有意义,并在该文本信息的内容有意义的情况下,确定用户的语音是否针对机器人。从而准确且高效地获取判断用户的话是否是对机器人说的。
NLP技术是与自然语言相关的理解、生成和处理的技术和方法,其涵盖了广泛的任务和应用,包括但不限于文本分类、情感分析、命名实体识别、机器翻译、问答***、对话***、文本摘要、信息提取、语音识别等。
以大语言模型(large language model,LLM)为例,其中,LLM是NLP技术中一种特定类型的语言模型,其通常是基于深度学习技术的大规模预训练模型,能够理解和生成自然语言文本。在基于ASR技术将用户的语音信息转换为文本信息后,可以将该文本信息发送给LLM中,并通过LLM判断该文本信息的内容是否是针对机器人的。
例如,发送给LLM的部分提示词可以如下:“你是一款机器人的语言分析***,你每收到一段话,结合之前的所有内容判断我的话是否有意义,如果有意义,则判断该句话是对你说的还是对其他人说的。如果你确定这句话是无意义的,返回字符串A;如果你确定这句话有意义,且目标对话对象就是你,返回字符串B;如果你确定这句话有意义,但是目标对话对象不是你,返回字符串C;如果你无法判断,默认回答字符串A”。
这时,如果向LLM输入文本“我不吃饭了”,LLM可能会输出字符串C;如果向LLM输入文本“你看起来好可爱呀”,LLM可能会输出字符串B;如果向LLM输入文本“给我表演个节目”,LLM可能会输出字符串B;如果向LLM输入文本“等一会儿”,LLM可能会输出字符串C;如果向LLM输入文本“啊的股骨头”,LLM可能会输出字符串A。
如果LLM输出的是字符串B,那么可以认为用户现在有与机器人进行语言交互的意愿。
在通过方法200判断用户希望对机器人说话的情况下,可以开始检测用户的语言信息并进行语音回复。机器人与用户之间可以进行多轮对话。因此,机器人需要判断用户是否已经说完一段话,并确定在什么时刻回复用户。
用户的相邻两句话之间具有间隔,通常可以利用VAD技术识别该间隔。以下,也将该间隔称为VAD间隔。VAD技术可以用于检测语音信号的存在,其主要是在语音信号中识别出包含语音的部分和不包含语音的部分。
因此,可以基于固定的VAD间隔对用户的语音进行判停,并对用户进行回复。例如,在用户说完一句话之后,如果在固定的时间间隔内没有再检测到用户的语音,那么就认为用户说完了这句话,从而对用户进行回复。那么,如果该VAD间隔设置的较长,那么较长的延迟会让用户感到沮丧;如果该VAD间隔设置的较短,那么很可能用户还没有说完这段话就会被打断。
为此,本申请实施例还提供一种人机交互的方法300,能够使机器人与用户之间更顺畅和高效地进行多轮对话。如图5所示,方法300包括以下步骤中的部分或者全部。
在步骤310中,基于预设的VAD间隔,接收用户的语音分段。
在步骤320中,将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息。
其中,该第一语音信息是由当前时刻之前接收到的语音分段合并形成的语音信息。
在步骤330中,根据第二语音信息的语意的完整性,确定是否针对第二语音信息对用户进行语音回复。
在该实施例中,基于预设的VAD间隔接收用户的语音分段,并在接收过程中不断将新的语音分段合并至前面的语音信息中,并根据合并后的语音信息的语意完整性,确定是否判停用户语音并进行回复。相比于基于固定的VAD间隔的判停,能够减少对用户语音的打断,提升了交互体验。
该预设的VAD间隔例如可以是连续两个语音分段之间的时间间隔的最小值。
该最小值可以是普遍的用户说话时连续相邻两句话之间的最小间隔。例如,VAD间隔可以设置为小于或者等于600毫秒;又例如,VAD间隔可以设置为小于或者等于200毫秒。
由于不同用户的语言习惯、语速等不同,该最小值还可以是当前与该机器人进行互动的用户在说话时连续相邻两句话之间的最小间隔,例如,可以根据该用户的历史对话数据来确定。
在采用较小的VAD间隔对用户语音进行分割时,通过分小段处理用户语音,能够尽可能地降低延时,减少用户等待答复的时间。
可见,通过语意判断用户的语言信息的完整性,并且将用于语音分割为小段语音进行处理,能够进一步提高交互体验。
在一些实施例中,在步骤330中,在第二语音信息的语意为完整的情况下,可以针对第二语音信息对用户进行语音回复。
在另一些实施例中,在步骤330中,在第二语音信息的语意为不完整的情况下,可以将当前时刻的下一时刻接收到的语音分段合并至第二语音信息中,得到第三语音信息,并根据第三语音信息的语意的完整性,确定是否针对第三语音信息对用户进行语音回复。
具体来说,在将采集到的语音分段合并至此前的第一语音信息中后,如果得到的新的第二语音信息的语意是完整的,则认为用户的话说完了,从而可以对用户进行回复;如果得到的第二语音信息的语意仍不完整,则继续采集新的语音分段并合并至第二语音信息中,得到第三语音信息,并根据第三语音信息的完整性确定是否对用户进行回复。
作为示例,如图6所示,在接收语音分段1之后,如果在预设的VAD间隔内没有再检测到新的语音,则将接收到的语音分段1合并至第一语音信息中,形成第二语音信息。如果第二语音信息的语意是完整的,那么可以认为用户说完了这句话,从而针对第二语音信息对用户进行回复。如果第二语音信息的语意是不完整的,那么继续接收语音分段2,在接收语音分段2之后,如果在预设的VAD间隔内没有检测到新的语音,则将接收到的语音分段2合并至第二语音信息中,形成第三语音信息。如果第三语音信息的语意是完整的,那么可以认为用户说完了这句话,从而针对第三语音信息对用户进行回复;否则,继续执行上述步骤,直至获得语意完整的语音信息。
在一些实施例中,可以基于自然语言处理(natural language processing,NLP)技术,确定第二语音信息的语意的完整性。利用NLP技术可以高效且准确地帮助计算机理解人类语言,通过分析第二语音信息对应的文本的结构、语法和语意等,确定其完整性。
在一些实施例中,步骤330中所述的针对第二语音信息对用户进行语音回复,具体可以包括以下步骤:基于ASR技术,将第二语音信息转换为文本信息,并向LLM输入该文本信息,LLM用于根据文本信息生成文本回复内容;接收LLM输出的该文本回复内容;基于文本转语音(text to speech,TTS)技术,将该文本回复内容转换为语音回复内容;根据该语音回复内容,对用户进行语音回复。
这里,利用了LLM获取回复内容,其中,LLM是可以使用大量文本数据训练的深度学习模型,其可以生成自然语言文本或理解语言文本的含义,并用于多种自然语言任务,例如文本分类、问答、对话等。具体地,可以基于ASR技术将第二语音信息转换为文本信息并输入LLM中,并从LLM获取文本回复内容,基于TTS技术将LLM返回的文本回复内容转换为语音回复内容后对用户进行语音回复。通过这个过程,便能够实现与用户之间流畅、自然的对话。
作为示例,如图7所示的语音交互过程。
在步骤201中,agent基于ASR技术将第二语音信息转换为文本信息。
在步骤202中,agent向LLM输入该文本信息。
在步骤203中,LLM接收文本信息并对该文本信息进行处理,生成相应的文本回复内容。
在步骤204中,LLM向agent输出文本回复内容。
在步骤205中,agent接收该文本回复内容,并基于TTS技术将该文本回复内容转换为语音回复内容。
在步骤206中,agent根据该语音回复内容,对用户进行语音回复。
在一些实施例中,LLM还用于调用其外部的功能模块,并根据功能模块提供的信息生成文本回复内容。这样,便能够使机器人于用户之间的互动内容更加丰富。
其中,该功能模块例如包括以下中的至少一种:用于存储聊天记录的数据库、机器人的参数库、以及其他具有特定功能的功能模块。
例如,用户对机器人说“你还记得我前两天说我要去上海吗?”,那么,LLM需要调用数据库中的历史聊天记录,查找前两天有关于去上海的聊天记录,并结合聊天记录,生成相应的回复内容。
又例如,用户问机器人“你还有多少电量?”,那么,LLM需要调用机器人自身的参数库或者知识库,以便于查找机器人当前的电量信息并生成相应的回复内容。
在机器人与用户之间进行多轮对话的过程中,用户如果想要打断机器人的话,则可以利用前述的方法200判断用户是否想要插话。例如,在用户的脸部朝向机器人且根据语意判断用户说的话是针对机器人的情况下,确定用户想要打断机器人的话。
LLM输出的回复内容通常不带有生命感和情绪,为了进一步提升交互体验,本申请实施例还提供一种人机交互的方法400,能够赋予机器人更多的情绪,以增强机器人的生命感。
如图8所示,方法400包括以下步骤中的部分或者全部。
在步骤410中,获取与回复内容相匹配的情绪信息。
例如,在确定用于有与机器人进行语言交互的意愿的情况下,根据接收到的语音信息,获取回复内容进而获得与该回复内容相匹配的情绪信息。
在步骤420中,根据该情绪信息,对用户进行语音回复。
其中,该情绪信息例如包括以下中的至少一种:与回复内容相匹配的语言情绪、与回复内容相匹配的肢体动作、以及与回复内容相匹配的微动作。
在该实施例中,在机器人与用户互动的过程中赋予了机器人更多的情绪,以增强机器人的生命感。通过获取与回复内容相匹配的情绪信息,例如与回复内容相匹配的语言情绪、肢体动作、微动作等,并基于该情绪信息对用户进行语音回复,从而提升交互体验。
语言情绪即与整段回复内容的基础情绪状态,即机器人的整段回答的情绪,例如,机器人可以带着照开心、悲伤、愤怒等情绪对用户进行语音回复。这样,能够使机器人的语言更具有生命感。
肢体动作可以是离散的,不一定每段对话都带有肢体动作。可以在对用户进行语音回复的过程中停顿的时刻,即相邻两句话之间的间隔期间,执行相应的肢体动作,例如耷拉耳朵、伸爪子、转圈、摇尾巴等。在机器人与用户的对话过程中附加肢体动作,能够起到更好的互动效果。
可选地,可以调用与回复内容相匹配的动画,使机器人基于该动画呈现的该肢体动作,比如调用与回复内容相匹配的表情动画,使机器人执行与该表情动画相匹配的肢体动作。
例如,若机器人的表情动画呈现开心、兴奋等情绪时,可以执行摇尾巴、站立笔直或者抬头挺胸等肢体动作;又例如,机器人的表情动画呈现生气等情绪时,可以执行跺脚、挥舞四肢等肢体动作。
而上述的微动作,则可以是指机器人在与用户对话的过程中所做出的微小的动作,例如包括微笑、眼神交流、肢体姿势、动作的速度和频率等。微动作可以伴随回复过程,即,在对用户进行语音回复的同时,执行相应的微动作。这些微小的动作可以使机器人在对话中更好地表达当前对话内容所含有的情感和态度,从而提升交互体验。
举例来说,agent发送给LLM的部分提示词可以如下:“你是一个名叫Loona的智能宠物机器人,我希望你在回复用户的话之前,以【】形式返回表达这段话的整体心情。同时在回复的过程中,在每个标点符号之前,加上要说话的情绪。情绪以{}的形式表达。你只能使用我指定的以下情绪:快乐、悲伤、惊讶、愤怒、好奇、友好、恐惧、期待、质疑、厌恶、关心、同情、害羞、热情”。
相应地,LLM可以返回如下的回复内容“【快乐】{快乐}嗨,凯恩!很高兴见到你!{好奇}你有什么特别想知道或谈论的吗?{热情}我在这里让你的一天更明亮、更有趣!”。
这时,机器人会将【快乐】的情绪作为整体基调,以{快乐}的口气对用户说“嗨,凯恩!很高兴见到你!”,以{好奇}的口气对用户说“你有什么特别想知道或谈论的吗?”,并以{热情}的口气对用户说“我在这里让你的一天更明亮、更有趣!”。
agent发送给LLM的内容除了上面的部分,还可能携带聊天记录和回复风格的示例。
这样,通过【】中的内容可以获取机器人在回复用户时的整体情绪,这会影响机器人的发声语调和表情,并通过{}中的内容可以获取机器人在回复每句话是的情绪。
类似地,还可以通过{}中的内容获取句子间隔中机器人应该表达的肢体动作,例如一小段动画,以及通过{}中的内容获取机器人在说这句话时的微动作,例如耳朵的抖动频率和规律、微表情等。
上面通过{}中的内容获取机器人回复用户时的情绪、携带的微动作和穿插的肢体动作的规则仅为示例,在实际应用中,也可以通过其他规则,例如通过在关键词上打标签等方式,由LLM返回微动作等信息,本申请对此不做限定。
考虑到不同的用户具有不同的性格,为了提供个性化的交互,本申请实施例还提供一种人机交互的方法500,能够实现个性化的互动。
如图9所示,方法500包括以下步骤中的部分或者全部。
在步骤510中,获取用户的性格参数。
在步骤520中,根据该性格参数,确定用于与用户进行互动的互动策略。
在该实施例中,机器人能够根据用户的性格参数,确定与用户进行互动的互动策略,从而进行个性化的互动,提升了交互体验。该互动策略例如可以包括与用户之间的语音交互的策略、肢体交互的策略等等。
在一些实施例中,在步骤510中,可以获取用户的历史互动信息,并根据该历史互动信息,确定用户的性格参数。其中,该历史互动信息例如包括用户与机器人的聊天记录和/或互动内容的信息,该互动内容的信息例如可以是来自用户的触摸、手势等信息。
通过收集用户的历史互动信息,例如聊天记录和/或互动内容的信息,可以判断用户的性格参数,从而确定用户的性格参数,该性格参数可以反映用户的性格例如外向或者内向、感性或者理性等。
该性格参数可以是内向、外向、感性、理性、安静、吵闹等能够表示用户性格特征的性格形容词;也可以能够表征该性格特征的其他信息,例如聊天记录、各种互动内容的触发频次及其持续时间等信息。
在一些实施例中,在步骤520中,可以向LLM输入该性格参数,并接收LLM输出的与互动内容相关的互动参数,其中,该互动参数例如可以包括互动内容的触发频次和/或持续时间等,从而根据该触发频次和/或持续时间等,执行相应的互动内容。
agent告知LLM能够更改的机器人参数、用户与机器人之间的聊天记录、用户与机器人在互动过程中各类互动形式出现的频次和持续时间等信息,LLM根据这些信息更改机器人参数,从而实现对机器人的行为模式的调整。
举例来说,机器人在面对用户时,求抚摸、表演、求玩球等勾人的内容出现的频率是可以调节的。如果用户在与机器人的历史互动过程中频繁地抚摸机器人,那么向LLM输出性格参数时,抚摸这种互动类型的参数值就会比较高,LLM会在返回的互动参数中增加求抚摸等勾人内容的触发频次。
又例如,机器人在面对用户时,吵闹度等是可以调节的,如果用户在与机器人的历史互动过程中表现出来的是较为内向的性格,那么将该性格参数告知LLM后,LLM会返回与这种性格相匹配的互动参数,比如在返回的互动参数中降低机器人的吵闹度、降低机器人与障碍物互动的频次等。
本申请实施例可以采用多agent配合的方式,各个agent之间可以进行信息的交互。例如,用于聊天的agent可以从用于性格分析的agent处获取用户的性格参数;又例如,用于性格分析的agent可以在用于聊天的agent与用户之间的对话结束后,基于聊天内容对用户的性格进行分析。
如上所述,通过方法200可以有效识别用户的说话意愿;通过方法300能够使机器人与用户之间更顺畅和高效地进行多轮对话;通过方法400能够赋予机器人更多的情绪,以增强机器人的生命感;通过方法500能够实现个性化的互动。需要说明的是,方法200、方法300、方法400和方法500均可以单独执行,也可以相互结合从而给用户带来更好的交互体验。
上文详细描述了本申请实施例的人机交互的方法,下面结合图10和图11详细描述本申请实施例的人机交互的装置,方法实施例所描述的技术特征适用于以下装置实施例。
图10是本申请实施例的人机交互的装置的示意性框图。如图10所示,人机交互的装置600包括检测模块610和处理模块620。其中,检测模块610用于基于预设的语音活动检测VAD间隔,接收所述用户的语音分段;处理模块620用于:将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。
在一些实施例中,VAD间隔为连续两个语音分段之间的时间间隔的最小值。例如,该VAD间隔小于或者等于600毫秒,或者该VAD间隔小于或者等于200毫秒。
在一些实施例中,处理模块620具体用于,在第二语音信息的语意为完整的情况下,针对第二语音信息对用户进行语音回复;在第二语音信息的语意为不完整的情况下,将当前时刻的下一时刻接收到的语音分段合并至第二语音信息中,得到第三语音信息,并根据第三语音信息的语意的完整性,确定是否针对第三语音信息对用户进行语音回复。
在一些实施例中,处理模块620具体用于,基于ASR技术,将第二语音信息转换为文本信息,并向大语言模型LLM输入该文本信息,LLM用于根据该文本信息生成文本回复内容;接收LLM输出的该文本回复内容;基于TTS技术,将该文本回复内容转换为语音回复内容;根据该语音回复内容,对用户进行语音回复。
在一些实施例中,LLM还用于调用其外部的功能模块,并根据功能模块提供的信息生成文本回复内容。
该功能模块例如包括以下中的至少一种:用于存储聊天记录的数据库、机器人的参数库、以及其他具有特定功能的功能模块。
在一些实施例中,处理模块620还用于,基于NLP技术,确定第二语音信息的语意的完整性。
应理解,人机交互的装置600与用户进行互动的具体方式以及产生的有益效果可以参见方法实施例中的相关描述,为了简便,这里不再赘述。
本申请实施例还提供一种人机交互的设备,设备700例如可以是机器人或者机器人的agent例如云端agent。如图11所示,人机交互的设备700包括处理器710,处理器710用于执行存储器中存储的指令,其中,当该指令被执行时,使得人机交互设备700执行上述任一实施例中所述的人机交互的方法。其实现原理和技术效果与上述方法实施例中的描述类似,此处不再赘述。
可选地,人机交互设备700还包括存储器720,存储器720用于存储计算机程序,该计算机程序包括指令。存储器720可以是独立于处理器710的单独的器件,也可以集成在处理器710中。
可选地,如图11所示,人机交互设备700还可以包括收发器730,处理器710可以控制收发器730与其他设备之间进行通信,例如向其他设备发送信息,和/或接收其他设备发送的信息。
本申请实施例还提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在人机交互的设备上运行时,使得该设备执行上述任一实施例中所述的人机交互的方法。其实现原理和技术效果与上述方法实施例类似,此处不再赘述。
本申请实施例还提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,在该计算机可读代码在电子设备中运行的情况下,电子设备中的处理器执行上述任一实施例中所述的人机交互的方法。其实现原理和技术效果与上述方法实施例中的描述类似,此处不再赘述。
需要说明的是,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。
在本申请实施例中,各个步骤的序号的大小并不意味着执行顺序的先后,各个步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,本申请实施例中的各个功能单元中的全部或者部分可以集成在一起,或者各个单元也可以在物理上单独存在。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分能够以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备例如个人计算机、服务器或者网络设备等执行本申请各个实施例所述方法的全部或者部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种人机交互的方法,其特征在于,用于机器人与用户之间的互动,所述方法包括:
基于预设的语音活动检测VAD间隔,接收所述用户的语音分段;
将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;
根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。
2.根据权利要求1所述的方法,其特征在于,所述VAD间隔为连续两个语音分段之间的时间间隔的最小值。
3.根据权利要求1或2所述的方法,其特征在于,所述VAD间隔小于或者等于600毫秒。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息,对所述用户进行语音回复,包括:
在所述第二语音信息的语意为完整的情况下,针对所述第二语音信息对所述用户进行语音回复;
在所述第二语音信息的语意为不完整的情况下,将所述当前时刻的下一时刻接收到的语音分段合并至所述第二语音信息中,得到第三语音信息,并根据所述第三语音信息的语意的完整性,确定是否针对所述第三语音信息对所述用户进行语音回复。
5.根据权利要求4所述的方法,其特征在于,所述针对所述第二语音信息对所述用户进行语音回复,包括:
基于自动语音识别ASR技术,将所述第二语音信息转换为文本信息,并向大语言模型LLM输入所述文本信息,所述LLM用于根据所述文本信息生成文本回复内容;
接收所述LLM输出的所述文本回复内容;
基于文本转语音TTS技术,将所述文本回复内容转换为语音回复内容;
根据所述语音回复内容,对所述用户进行语音回复。
6.根据权利要求5所述的方法,其特征在于,所述LLM还用于调用其外部的功能模块,并根据所述功能模块提供的信息生成所述文本回复内容。
7.根据权利要求6所述的方法,其特征在于,所述功能模块包括用于存储聊天记录的数据库和/或所述机器人的参数库。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
基于自然语言处理NLP技术,确定所述第二语音信息的语意的完整性。
9.一种人机交互的装置,其特征在于,用于机器人与用户之间的互动,所述装置包括:
检测模块,用于基于预设的语音活动检测VAD间隔,接收所述用户的语音分段;
处理模块,用于将当前时刻接收到的语音分段合并至第一语音信息中,得到第二语音信息,其中,所述第一语音信息是由所述当前时刻之前接收到的语音分段合并形成的语音信息;
所述处理模块还用于,根据所述第二语音信息的语意的完整性,确定是否针对所述第二语音信息对所述用户进行语音回复。
10.根据权利要求9所述的装置,其特征在于,所述VAD间隔为连续两个语音分段之间的时间间隔的最小值。
11.根据权利要求9或10所述的装置,其特征在于,所述VAD间隔小于或者等于600毫秒。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述处理模块具体用于,
在所述第二语音信息的语意为完整的情况下,针对所述第二语音信息对所述用户进行语音回复;
在所述第二语音信息的语意为不完整的情况下,将所述当前时刻的下一时刻接收到的语音分段合并至所述第二语音信息中,得到第三语音信息,并根据所述第三语音信息的语意的完整性,确定是否针对所述第三语音信息对所述用户进行语音回复。
13.根据权利要求12所述的装置,其特征在于,所述处理模块具体用于,
基于自动语音识别ASR技术,将所述第二语音信息转换为文本信息,并向大语言模型LLM输入所述文本信息,所述LLM用于根据所述文本信息生成文本回复内容;
接收所述LLM输出的所述文本回复内容;
基于文本转语音TTS技术,将所述文本回复内容转换为语音回复内容;
根据所述语音回复内容,对所述用户进行语音回复。
14.根据权利要求13所述的装置,其特征在于,所述LLM还用于调用其外部的功能模块,并根据所述功能模块提供的信息生成所述文本回复内容。
15.根据权利要求14所述的装置,其特征在于,所述外部的功能模块包括用于存储聊天记录的数据库和/或所述机器人的参数库。
16.根据权利要求9至15中任一项所述的装置,其特征在于,所述处理模块还用于,
基于自然语言处理NLP技术,确定所述第二语音信息的语意的完整性。
17.一种人机交互的设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的指令,以使所述设备执行根据权利要求1至8中任一项所述的人机交互的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在人机交互的设备上运行时,使得所述设备执行根据权利要求1至8中任一项所述的人机交互的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830289.5A CN117953902A (zh) | 2023-12-27 | 2023-12-27 | 人机交互的方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830289.5A CN117953902A (zh) | 2023-12-27 | 2023-12-27 | 人机交互的方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117953902A true CN117953902A (zh) | 2024-04-30 |
Family
ID=90792913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311830289.5A Pending CN117953902A (zh) | 2023-12-27 | 2023-12-27 | 人机交互的方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117953902A (zh) |
-
2023
- 2023-12-27 CN CN202311830289.5A patent/CN117953902A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018204246B2 (en) | Method of performing multi-modal dialogue between a humanoid robot and user, computer program product and humanoid robot for implementing said method | |
CN111368609B (zh) | 基于情绪引擎技术的语音交互方法、智能终端及存储介质 | |
McColl et al. | A survey of autonomous human affect detection methods for social robots engaged in natural HRI | |
KR101604593B1 (ko) | 이용자 명령에 기초하여 리프리젠테이션을 수정하기 위한 방법 | |
Rossi et al. | An extensible architecture for robust multimodal human-robot communication | |
US11017551B2 (en) | System and method for identifying a point of interest based on intersecting visual trajectories | |
CN109086860B (zh) | 一种基于虚拟人的交互方法及*** | |
CN106502382B (zh) | 用于智能机器人的主动交互方法和*** | |
CN110737335B (zh) | 机器人的交互方法、装置、电子设备及存储介质 | |
CN114995657B (zh) | 一种智能机器人的多模态融合自然交互方法、***及介质 | |
US20190253724A1 (en) | System and method for visual rendering based on sparse samples with predicted motion | |
KR102222911B1 (ko) | 로봇 상호작용 시스템 및 그를 위한 프로그램 | |
EP3752959A1 (en) | System and method for inferring scenes based on visual context-free grammar model | |
CN111515970B (zh) | 一种互动方法、拟态机器人和相关装置 | |
JP2021068404A (ja) | アバターの顔の表情生成システムおよびアバターの顔の表情生成方法 | |
US20230343324A1 (en) | Dynamically adapting given assistant output based on a given persona assigned to an automated assistant | |
CN116188642A (zh) | 交互方法、装置、机器人和存储介质 | |
CN117953902A (zh) | 人机交互的方法、装置和设备 | |
US12011828B2 (en) | Method for controlling a plurality of robot effectors | |
CN117765952A (zh) | 人机交互的方法、装置和设备 | |
JP2024505503A (ja) | 自然言語処理、理解及び生成を可能にする方法及びシステム | |
André et al. | Multimodal fusion in human-agent dialogue | |
KR20200077936A (ko) | 사용자 상태에 기초하여 반응을 제공하는 전자 장치 및 그의 동작 방법 | |
US20230341948A1 (en) | Multimodal ui with semantic events | |
CN107457787B (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 |