CN112632242A - 智能对话方法及装置、电子设备 - Google Patents
智能对话方法及装置、电子设备 Download PDFInfo
- Publication number
- CN112632242A CN112632242A CN202011501374.3A CN202011501374A CN112632242A CN 112632242 A CN112632242 A CN 112632242A CN 202011501374 A CN202011501374 A CN 202011501374A CN 112632242 A CN112632242 A CN 112632242A
- Authority
- CN
- China
- Prior art keywords
- processed
- corpus
- round
- reply
- data
- 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
Images
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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种智能对话方法及装置、电子设备,该方法包括:获取待处理语料;筛选与待处理语料匹配的多轮场景数据,进行多轮回复;若不存在与待处理语料匹配的多轮场景数据,筛选与待处理语料匹配的近似语料,从近似语料的候选答复中筛选目标答复,进行单轮回复;若不存在目标答复,通过兜底模型输出与待处理语料关联的兜底答复。减少了对话设备对于用户问题回复不佳的概率,增加了用户与机器的对话轮次。
Description
技术领域
本申请涉及机器人技术领域,特别涉及一种智能对话方法及装置、电子设备。
背景技术
对话系统的使用将人与机器紧密联系,通过完成一系列对话系统的任务,可以实现人机交互,利用机器人可以大大减少人力成本,目前最突出的表现在智能客服领域。而闲聊的对话则比任务型对话系统要更为复杂,不仅要保证回答的准确度,还要考虑对话者的体验,如是否能够精准识别对话者的情绪、对话是否可以持续很多轮次、对话的覆盖范围广度。
由于闲聊属于开放域对话,当用户与机器交流时不具备明确的任务目标,也无法以统一的标准答案进行回复。在当前开启闲聊机器人的场景下,人机对话过程通常将面对以下问题:语料范围覆盖不全,在某些较为生僻的领域无法给出回复,此时仅能答复配置的标准语句“我不理解”,“我不明白”,“你把我难住了”等等。对话轮次短,机器人无法与用户针对某一话题进行深入的,多轮次的交流,回复不佳的概率较高。
发明内容
本申请实施例提供了一种智能对话方法,用以增加用户与机器的对话轮次,保证每个问题均能得到有关联的回复,从而降低回复不佳的概率。
本申请实施例提供了一种智能对话方法,包括:
获取待处理语料;
筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复;
若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复;
若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
在一实施例中,所述获取待处理语料,包括:
对原始语料进行繁体转简体、省略成分补充、敏感词过滤、纠错以及同义词替换中的一种或多种方式处理,得到所述待处理语料。
在一实施例中,所述筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复包括:
将所述待处理语料作为意图模型的输入,获得所述意图模型输出的意图分数最高的意图标签;
根据所述多轮场景数据的标签信息以及所述意图分数最高的意图标签,选取所述标签信息与所述意图标签之间的意图相同的多轮场景数据;
按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。
在一实施例中,所述筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复包括:
根据所述多轮场景数据的触发语句,筛选与所述待处理语料的语义相似度最高,且满足语义相似度阈值的多轮场景数据;
按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。
在一实施例中,所述按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出,包括:
若接收到二次输入语料,将所述二次输入语料与所述多轮场景数据中配置的多个预设二次输入文本进行语义相似度的匹配,确定对话分支走向;
根据所述对话分支走向对应配置的答案集,随机选取答复内容进行多轮答复流程。
在一实施例中,所述筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复,包括:
计算所述待处理语料与数据库中不同语料之间的语义相似度,获得所述语义相似度最高的近似语料;
根据所述待处理语料对应的附带参数,从所述近似语料的候选答复中筛选与所述附带参数匹配的目标答复。
在一实施例中,所述通过兜底模型输出与所述待处理语料关联的兜底答复,包括:
根据预设的优先级顺序,将所述待处理语料与预设模板进行句型匹配、AIML模板匹配、情绪匹配和词性匹配,将相匹配模板对应的答复作为所述兜底答案。
在一实施例中,所述将所述待处理语料与预设模板进行句型匹配、AIML模板匹配、情绪匹配和词性匹配之前,所述方法还包括:
将所述待处理语料作为情绪模型的输入,获得所述情绪模型输出的情绪标签。
在所述进行多轮答复之后,所述方法还包括:
若所述多轮场景数据中预设的多轮对话流程已结束,接收到新一轮的输入语料;
筛选与所述输入语料匹配的相似语料,从所述相似语料的候选答复中筛选目标答复,进行单轮回复;
若无法从所述相似语料的候选答复中筛选得到目标答复,通过兜底模型输出与所述输入语料关联的兜底答复。
本申请实施例提供了一种智能对话装置,包括:
语料获取模块,用于获取待处理语料;
多轮回复模块,用于筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复;
单轮回复模块,用于若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复;
兜底回复模块,用于若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
本申请实施例提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述智能对话方法。
本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述智能对话方法。
本申请实施例提供了一种智能对话方法,可以提升用户与闲聊机器人对话的体验,可以筛选与待处理语料匹配的多轮场景数据进行答复,从而提高对话轮次,如果没有匹配的多轮场景数据,可以从近似语料的候选答复中筛选目标答复进行输出,从而提高出话相关性,如果没有目标答复,可以通过兜底模型输出与待处理语料关联的兜底答案,从而保证每个问题均能得到有关联的回复。减少了对话设备对于用户问回复不佳的概率,增加了用户与机器的对话轮次。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的智能对话方法的应用场景示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的智能对话方法的流程示意图;
图4是本申请实施例提供的多轮场景数据的举例;
图5是本申请一实施例提供的智能对话方法的详细流程示意图;
图6是图5对应实施例中步骤S540的细节流程图;
图7是图5对应实施例中步骤S560的细节流程图;
图8是本申请实施例提供的智能对话装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的智能对话方法的应用场景示意图,如图1所示,该应用场景包括对话设备200以及智能终端300,对话设备200与智能终端300之间通过无线网络连接。对话设备200、智能终端300可以是智能音响、机器人、台式电脑、手机、平板电脑、车载设备或智能手表。
智能终端300可以向对话设备200发送待处理语料,进而对话设备200采用本申请实施例提供的方法,对待处理语料进行准确应答,从而提高智能终端300所在用户的体验,继续进行下一轮对话。
在一实施例中,对话设备200可以具有语音采集功能,将采集的语音信号转换为文本(即待处理语料),进而利用本申请实施例提供的智能对话方法,确定答复内容,采用语音或文字的形式输出答复内容。
图2是本申请实施例提供的电子设备的结构示意图。如图2所示,该电子设备100可以作为图1所示的对话设备200;该电子设备100可以用于执行本申请实施例提供的智能对话方法。如图2所示,该电子设备100包括:一个或多个处理器102、一个或多个存储处理器可执行指令的存储器104。其中,所述处理器102被配置为执行本申请下述实施例提供的关智能对话方法。
所述处理器102可以是网关,也可以为智能终端,或者是包含中央处理单元(CPU)、图像处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备100中的其它组件的数据进行处理,还可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的智能对话方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
在一实施例中,图2所示电子设备100还可以包括输入装置106、输出装置108以及数据采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图2所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备100也可以具有其他组件和结构。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置110可以采集对象的图像,并且将所采集的图像存储在所述存储器104中以供其它组件使用。示例性地,该数据采集装置110可以为摄像头。
在一实施例中,用于实现本申请实施例的智能对话方法的示例电子设备100中的各器件可以集成设置,也可以分散设置,诸如将处理器102、存储器104、输入装置106和输出装置108集成设置于一体,而将数据采集装置110分离设置。
在一实施例中,用于实现本申请实施例的智能对话方法的示例电子设备100可以被实现为诸如智能手机、平板电脑、智能手表、车载设备等智能终端。
图3是本申请实施例提供的智能对话方法的流程示意图。该方法可以图1所示应用场景中的对话设备200执行。如图3所示,该方法包括以下步骤S310-步骤S340。
步骤S310:获取待处理语料;
其中,待处理语料可以认为是对话设备采集到或者从其他设备接收到的语料。例如,待处理语料可以是“今天晚上吃什么呢”、“去哪里玩好呢”、“我好无聊”等。
步骤S320:筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复。
其中,多轮场景数据包括每一轮用户可能的对话内容,从而提前配置了每一轮可能的对话内容的答复内容。类似于提前配置了大量小故事,用户输入语料的不同,故事走向不同,答复内容不同。筛选与待处理语料匹配的多轮场景数据进行多轮回复,又可以称为小故事模型。
在一实施例中,待处理语料的意图和多轮场景数据的意图相同,可以认为待处理语料与多轮场景数据匹配。待处理语料的语义和多轮场景数据的触发语句的语义相似,则可以认为待处理语料与多轮场景数据匹配。
在一实施例中,上述步骤S320具体可以通过:将所述待处理语料作为意图模型的输入,获得所述意图模型输出的意图分数最高的意图标签;根据所述多轮场景数据的标签信息以及所述意图分数最高的意图标签,选取所述标签信息与所述意图标签之间的意图相同的多轮场景数据;按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。
可以利用提前训练好的意图模型,识别待处理语料的意图。意图模型的输入是语料,输出是满足意图分数阈值的意图标签,如果满足意图分数阈值的意图标签有多个,可以选取意图分数最高的意图标签。其中,意图分数用于指示意图标签的准确性。意图模型可以利用已知意图的大量语料进行机器学习训练得到。之后,将待处理语料作为意图模型的输入,获得意图模型输出的意图标签和意图分数。意图标签用于指示待处理语料的意图。意图分数用于指示意图标签的正确性。其中,若意图分数均小于分数阈值(例如90分),意图识别结果可以是“不存在意图”,若意图分数大于等于分数阈值,意图识别结果可以是意图分数大于阈值的多个意图标签。当有多个标签的意图分数均大于分数阈值时,可以按照分数高低排序,将意图分数最高的意图标签作为意图识别结果。
在一实施例中,不同的多轮场景数据可以设置不同的触发条件。在一实施例中,多轮场景数据可以设置相应的标签信息(包含意图),根据待处理语料的意图分数最高的意图标签,可以筛选出与待处理语料的意图标签之间的意图相同的多轮场景数据。进而按照多轮场景数据指示的每轮可选的答复内容(即答案集),在每一轮随机选取预设的答复内容进行输出。
在另一实施例中,多轮场景数据可以设置相应的触发语句,例如“想出去玩”,假设待处理语料不存在意图标签,则可以计算输入触发语句(例如“想出去玩”)与待处理语料(例如,“我想出去玩”)之间的语义相似度,进而筛选与待处理语料的语义相似度最高,且满足相似度阈值的多轮场景数据;按照多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。其中,语义相似度可以通过将触发语句和待处理语句转换为向量,通过计算向量之间的欧式距离,表征语义相似度大小。
在一实施例中,在按照多轮场景数据中配置的答复内容对待处理语料进行回复之后,若接收到二次输入语料,可以将二次输入语料与所述多轮场景数据中配置的多个预设二次输入文本进行语义相似度的匹配,确定对话分支走向;根据所述对话分支走向对应配置的答案集,随机选取答复内容进行多轮答复流程。
其中,二次输入语料是相对待处理语料而言的,在待处理语料之后输入的语料。语义相似度度的匹配可以通过计算二次输入语料与每个预设二次输入文本之间的语义相似度,选择语义相似度最高的预设二次输入文本,作为对话分支走向。输出预设二次输入文本对应配置的答复内容。其中,如果二次输入语料与预设的二次输入文本的语义相似度均小于阈值,可以认为没有匹配的对话分支走向,可以输出默认答复。在多轮场景数据的多轮答复流程结束后,如果对话未结束,可以执行单轮回复和兜底回复。
如图4所示,是一种多轮场景数据的举例。触发语句是“想出去玩”,假设用户输入语料是“我想出去玩”,此触发语句和输入语料语义相似度最高,且高于阈值,则机器人可以筛选出图4所示的多轮场景数据。回复预设的答复:“那你平常喜欢去热闹一点的场所,还是安静一点的场所呀?”多轮场景数据提前配置了用户接下来可能会有几种回复(即预设二次输入文本)。流程一:喜欢热闹;流程二:喜欢安静;流程三:都可以;流程四:出不去;流程五:Default(默认节点),即不在机器人预判中。然后根据预判的几种情况进行新的回复。举例来说,用户可能输入语料“喜欢去热闹一点的场所”(即二次输入文本),则进入流程一“喜欢热闹”(相当于对话分支走向),可以输出流程一提前配置的答复,例如“那想约朋友出去玩还是一个人出去玩呢”。之后用户可能输入语料“还是约朋友一起出去玩吧”,从而命中流程一的子节点“约朋友”,机器人可以输出流程一的子节点“约朋友”相应配置的答复内容。以此类推,可以实现多轮答复流程,可以提高对话轮次。
在一实施例中,若多轮场景数据中预设的多轮对话流程已结束,接收到新一轮的输入语料;可以筛选与输入语料匹配的相似语料,从所述相似语料的候选答复中筛选目标答复,进行单轮回复;若无法从所述相似语料的候选答复中筛选得到目标答复,通过兜底模型输出与输入语料关联的兜底答复。
相似语料可以通过计算输入语料与数据库中不同语料之间的语义相似度,获得相似度最高的语料作为输入语料的相似语料。为进行区分,与新一轮输入语料语义相似度最高的语料称为相似语料。下文中,与待处理语料的语义相似度最高的语料称为近似语料。其中,单轮答复和兜底答复的具体过程可以参见下文不存在匹配的多轮场景数据时的处理过程。
步骤S330:若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复。
在一实施例中,近似语料可以通过计算待处理语料与数据库中不同语料之间的语义相似度,获得相似度最高的语料作为近似语料。数据库中的语料可以提前配置相应的多个候选答复。对话设备可以根据待处理语料对应的附带参数,从近似语料的候选答复中筛选与附带参数匹配的目标答复。
其中,目标答复是指从多个候选答复中选取的语附带参数匹配的候选答复。附带参数是指待处理语料的描述性参数。举例来说,附带参数可以包括用户编号(例如手机号)、语料来源标识(例如不同手机的品牌标识)、设备类型(例如即时通信软件APP、手机、音响)、待处理语料的发送时间等。不同的候选答复可以设置相应的条件参数,进而根据附带参数,从候选答复中筛选条件参数与附带参数匹配的目标答复。例如,某条候选答复的条件参数可以是xx品牌手机,假设附带参数包含xx品牌手机,则可以将此条候选答复作为目标答复进行输出。
步骤S340:若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
其中,兜底模型可以包括预设的多种模板,例如包括多种句型模板、多种AIML(人工智能标记语言)模板、多种情绪模板和多种词性模板。在一实施例中,不同类型的模板可以设置一定的优先级,根据预设的优先级顺序,将待处理语料与预设模板进行句型匹配、AIML模板匹配、情绪匹配和词性匹配,将相匹配模板对应的答复作为兜底答案。如果优先级高的模板匹配成功,则进入下一优先级的模板进行匹配。相反的,如果优先级高的模板匹配不成功,则进入下一优先级的模板进行匹配。
句型匹配:模板数据库中可以包括23种特征明显的句型,例如“是否问句”、“数量问句”,将待处理语料和每种句型模板匹配,找出相匹配的句型模板,进而输出句型模板相应配置的答复内容。为进行区分,兜底模型输出的答复内容,可以称为兜底答复。
AIML模板匹配:AIML模板回复库包括多种AIML模板,通过将用户问题和AIML模板规则进行匹配,匹配成功则取该模板回复。其中,本申请实施例提供的AIML模板在常规的AIML元素基础上,还增加了词性,可为模板中的预设变量设置词性,以此增加模板匹配的准确性和覆盖面。同时,在进行回复时,可以提取用户问题的变量信息,使答案更加精准。
情绪匹配:情绪模板库可以包括多种情绪的答复模板,例如生气的答复模板、高兴的答复模板等。在一实施例中,可以将待处理语料作为情绪模型的输入,获得所述情绪模型输出的情绪标签。进而根据待处理语料的情绪,匹配相应情绪的答复模板,按照此答复模板输出答案。其中,情绪模型可以通过已知情绪的大量语料通过机器学习训练得到。
词性匹配:词性模板库可以包括46种词性的模板话术,根据词性权重设置有出话优先级。对话设备可以调用NLU(自然语言理解)模型对待处理语料的分词结果,词性模板可对分词后的数据进行优先级的匹配。当出现同等权重数据时,则根据词在句子中的先后顺序,对第一个关键词进行回复。同时,对话设备提供的答案可以引用该关键词,给出更具关联性的答案。
举例来说,用户输入待处理语料“可爱的陈某某在这里玩i love you”,对话设备会对文本内容进行分词,接着会被输入至情绪模型和意图模型中进行提取和分析。此时的分词为“可爱/a,的/ude1,陈雷/nr,在/p,这里/rzs,玩/v,i/nx,/w,love/nx,/w,you/nx”,然后情绪模型会判断用户输入文本为中性,意图未能命中的情况下进入闲聊模块进行接话,由于此句中英文结合并且意图不明确,判断为asr转译错误,而闲聊语料库中不存在此类型无意义的语料,所以没有足够的信心分可以接话,所以此时转而由训练好的兜底模型来接话。
用户输入的文本内容输入兜底模型中进行处理,兜底模型是根据文本的词性、句型和情绪信息进行构建。在本例中,用户输入文本通过兜底模型的处理,进行词性和句型的拆解和判断,对话设备按照兜底模型的出话规则,本例根据nr(名词人名)给出答案回复,在对应答案“听你这么一说,我对nr还挺感兴趣的”中,然后在出话时将nr替换成陈某某。最终机器会输出回答“听你这么一说,我对陈某某还挺感兴趣的”。
在当前开启闲聊机器人的场景下,人机对话过程通常将面对以下几个痛点:一、对话轮次短。机器人无法与用户针对某一话题进行深入的,多轮次的交流。二、语料范围覆盖不全。在某些较为生僻的领域无法给出回复。三、出话相关性低。在无预设场景的情况下,机器人难以判断对话的中心内容。四、过度依赖云端数据支持。当机器人处于私有部署或无网络环境中,无法通过搜索进行网络数据的实时调取。基于上述几个痛点,本申请实施例提供了一种智能对话方法,可以提升用户与闲聊机器人对话的体验,可以筛选与待处理语料匹配的多轮场景数据进行答复,从而提高对话轮次,如果没有匹配的多轮场景数据,可以从近似语料的候选答复中筛选目标答复进行输出,从而提高出话相关性,如果没有目标答复,可以通过兜底模型输出与待处理语料关联的兜底答案,从而保证每个问题均能得到有关联的回复。减少了对话设备对于用户问回复不佳的概率,增加了用户与机器的对话轮次,从而提升对话体验。同时,整个方案可做私有化部署应用范围更广。
在一实施例中,上述步骤S310的待处理语料可以由原始语料预处理得到,原始语料可以是对话设备直接接收到的或采集到的语料文本。其中,预处理可以是对原始语料进行繁体转简体、省略成分补充、敏感词过滤、纠错以及同义词替换中的一种或多种方式处理。
其中,可以提前设置繁体词库以及敏感词库,繁体词库存储繁体字对应的简体字,从而可以将待处理语料与繁体词库的繁体字进行匹配,找出待识别语料中的繁体字,进而将繁体字替换成相应的简体字。敏感词库存储大量敏感词,从而可以从待识别语料中找出位于敏感词库中的词汇,将找出的词汇作为敏感词,进行去除。
其中,人的自然语言对话容易省略关键信息,根据句子结构看可能是名词性主语、动词等。省略成分补充可以基于上下文rewrite(改写)模型进行,。上下文rewrite模型的用途是基于日常对话,对对话中主体省略部分进行补充。上下文rewrite模型在通过分析了大量上下文数据后,可以根据不同类型情况进行rewrite处理。当从语言结构判断一个句子缺少一些关键信息时,上下文rewrite模型会根据规律判断缺了什么。
比如:好(副词)累(形容词);
这句句子中没有主语,不知道是指谁好累。那通过rewrite可以抓取上一句句子中的主语。
比如上一句是:我(人称代词)今天(时间)加班(动词)了;
那上下文rewrite模型就会把这句里的“我”,承接到下句,变成:我好累
比如:对话设备说:造一个龙珠雷达,万一这世界上真的有龙珠呢?
用户:你会造吗?(经过上下文rewrite,这里会变成:“你会造【一个龙珠雷达】吗?”)
上下文rewrite模型会把这个情况归类第一句和第二句有相同的动词,受词缺省的情况,并对其做补充,对话设备就会对补充受词的句子进行回答。
其中,对话设备可以将经过繁转简、省略成分补充、敏感词过滤后的待处理语料放入NLU模型当中,通过NLU的模型主要做两个工作,其一是对待处理语料进行一定程度的纠错和同义词替换,帮助机器更好地理解。其二是对文本进行分词、词性、句型的分析和标注,从语言学层面将文本进行结构化地拆分。NLU模型本身在训练时会有大量预先收集训练的NER实体。
举个例子,待处理语料“你喜欢听林志炫的单身青歌吗?”,通过NLU的模型,可以提取出两个实体:“林志炫=Singer(歌手名)”、“单身青歌=Song(歌曲名)”。
但是由于输入错误,对话设备可能无法匹配到有首歌叫“单身歌”。而NLU模型可以在匹配之前积累的实体时,通过拼音纠错的方式,将错误信息转成“单身情歌”。这样机器人就会拿纠错后的“你喜欢听林志炫的单身情歌吗”进行匹配回复。
同义词替换时根据当下对话设备内配置的词表进行判断。词表中可以存储一个标准词(例如开心)的所有同义词(例如开心、快乐、高兴、愉快等),从而待处理语料出现某个同义词时,可以统一替换为标准词。将目的是为了提高对话设备在做数据匹配时的匹配度。比如对话设备的训练的语料是“我好高兴”,这时用户输入的待处理语料是“我好开心”,意思是一样的,但是从字的权重打分上可能就会有差异。但是如果对话设备知道“高兴”和“开心”是同义词,那在判断时,就会把同义词替换成标准词,与原有数据匹配,从而提高匹配准确率。
图5是本申请一实施例提供的智能对话方法的详细流程示意图。如图5所示,该方法包括以下步骤S510-步骤S560。
步骤S510:获取用户输入的待处理语料以及附带参数(用户ID,语料来源标识(渠道值)等);
步骤S520:对待处理语料进行预处理;预处理包括繁体转简体、补充省略成分、过滤敏感词、使用词库纠错、同义词替换、分词、词性标注和句型分析等;
步骤S530:通过意图模型识别待处理语料的意图,通过情绪模型识别待处理语料的情绪;其中,可以有19种情绪,包括悲痛、难过、沮丧、高兴、兴奋、感动、惊讶、自责、不喜欢、不高兴、寂寞、无聊、厌恶、反感、愤怒、不满、厌烦、害怕、尴尬、疲惫;
步骤S540:通过多轮小故事模型对待处理语料进行分析,筛选多轮场景数据进行多轮闲聊回复;
举例来说,用户输入文本内容“今天吃什么”。
对话设备会对文本内容进行分词,接着会被输入至情绪模型和意图模型中进行提取和分析。此时的分词为“今天/t,吃/v,什么/ry”,接着情绪模型会判断用户的情绪为中性,意图未能命中,则该句无法进入任务型对话,转而由闲聊模块(即本申请实施例提供的方案)接话。
首先将用户输入的文本内容放进小故事模型里进行处理,小故事的模型是根据文本信息、话题信息及语言行为信息进行构建。在本例中,用户输入文本通过小故事模型的判断,在多个预设话题池中选择回复话题,此时挑选出的话题包括“今天吃什么好”和“美食推荐”,由于判断用户输入文本和“今天吃什么好”的触发句相似度更高,所以对话机器人会选择“今天吃什么好”的话题与用户进行多轮对话。
步骤S550:如果没有多轮场景数据或者多轮闲聊答复结束,可以通过单轮闲聊模型对待处理语料进行分析,根据与待处理语料相似度最高的近似语料,从近似语料的候选答复中筛选目标答复,进行单轮闲聊回复;
步骤S560:如果没有找到目标答复,可以通过兜底模型对待处理语料进行分析,具体通过句型模板、AIML模板、情绪模板以及词性模板进行模板匹配,输出模板相应的答案,进行兜底回复。
其中,如图6所示,上述步骤S540可以包括以下步骤S541-步骤S546。
步骤S541:对待处理语料进行意图或语句相似度匹配,得到待处理语料与不同场景数据之间的匹配分数;
步骤S542:触发分数最高的多轮闲聊场景;
步骤S543:进行下一轮对话;
步骤S544:用户二次输入文本是否符合多轮场景数据预设的二次输入文本,不符合,按照预设通用回答出话;
步骤S545:符合,按照预期进行下一轮对话;持续循环至多轮结束;
步骤S546:退出当前多轮闲聊对话。
其中,如图7所示,上述步骤S560可以包括以下步骤S561-步骤S565。
步骤S561:判断是否符合预设句型类型,符合,输出预设句型相应回复;不符合,执行步骤S562:
步骤S562:进行AIML分析;
步骤S563:判断是否符合预设AIML规则,符合,输出预设AIML规则相应的回复;不符合,执行步骤S564:
步骤S564:判断是否符合预设情绪类型,符合,输出此情绪类型相应的模板;不符合,执行步骤S565;
步骤S565:判断分词是否含有预设词性;有,按照预设回复顺序,输出词性相应的回复;无,退出兜底模型。
下述为本申请装置实施例,可以用于执行本申请上述智能对话方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请智能对话方法实施例。
图8为本申请一实施例示出的智能对话装置的框图。如图8所示,该装置包括:语料获取模块810、多轮回复模块820、单轮回复模块830、兜底回复模块840。
语料获取模块810,用于获取待处理语料;
多轮回复模块820,用于筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复;
单轮回复模块830,用于若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复;
兜底回复模块840,用于若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
上述装置中各个模块的功能和作用的实现过程具体详见上述智能对话方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种智能对话方法,其特征在于,包括:
获取待处理语料;
筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复;
若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复;
若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理语料,包括:
对原始语料进行繁体转简体、省略成分补充、敏感词过滤、纠错以及同义词替换中的一种或多种方式处理,得到所述待处理语料。
3.根据权利要求1所述的方法,其特征在于,所述筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复,包括:
将所述待处理语料作为意图模型的输入,获得所述意图模型输出的意图分数最高的意图标签;
根据所述多轮场景数据的标签信息以及所述意图分数最高的意图标签,选取所述标签信息与所述意图标签之间的意图相同的多轮场景数据;
按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。
4.根据权利要求1所述的方法,其特征在于,所述筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复,包括:
根据所述多轮场景数据的触发语句,筛选与所述待处理语料的语义相似度最高,且满足语义相似度阈值的多轮场景数据;
按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出。
5.根据权利要求3或4所述的方法,其特征在于,所述按照所述多轮场景数据指示的每轮答案集,在每一轮对话随机选择答案集中的答复内容,进行输出,包括:
若接收到二次输入语料,将所述二次输入语料与所述多轮场景数据中配置的多个预设二次输入文本进行语义相似度的匹配,确定对话分支走向;
根据所述对话分支走向对应配置的答案集,随机选取答复内容进行多轮答复流程。
6.根据权利要求1所述的方法,其特征在于,所述筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复,包括:
计算所述待处理语料与数据库中不同语料之间的语义相似度,获得所述语义相似度最高的近似语料;
根据所述待处理语料对应的附带参数,从所述近似语料的候选答复中筛选与所述附带参数匹配的目标答复。
7.根据权利要求1所述的方法,其特征在于,所述通过兜底模型输出与所述待处理语料关联的兜底答复,包括:
根据预设的优先级顺序,将所述待处理语料与预设模板进行句型匹配、AIML模板匹配、情绪匹配和词性匹配,将相匹配模板对应的答复作为所述兜底答案。
8.根据权利要求7所述的方法,其特征在于,所述将所述待处理语料与预设模板进行句型匹配、AIML模板匹配、情绪匹配和词性匹配之前,所述方法还包括:
将所述待处理语料作为情绪模型的输入,获得所述情绪模型输出的情绪标签。
9.根据权利要求1所述的方法,其特征在于,在所述进行多轮答复之后,所述方法还包括:
若所述多轮场景数据中预设的多轮对话流程已结束,接收到新一轮的输入语料;
筛选与所述输入语料匹配的相似语料,从所述相似语料的候选答复中筛选目标答复,进行单轮回复;
若无法从所述相似语料的候选答复中筛选得到目标答复,通过兜底模型输出与所述输入语料关联的兜底答复。
10.一种智能对话装置,其特征在于,包括:
语料获取模块,用于获取待处理语料;
多轮回复模块,用于筛选与所述待处理语料匹配的多轮场景数据,进行多轮回复;
单轮回复模块,用于若不存在与所述待处理语料匹配的多轮场景数据,筛选与所述待处理语料匹配的近似语料,从所述近似语料的候选答复中筛选目标答复,进行单轮回复;
兜底回复模块,用于若不存在所述目标答复,通过兜底模型输出与所述待处理语料关联的兜底答复。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-9任意一项所述的智能对话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011501374.3A CN112632242A (zh) | 2020-12-17 | 2020-12-17 | 智能对话方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011501374.3A CN112632242A (zh) | 2020-12-17 | 2020-12-17 | 智能对话方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112632242A true CN112632242A (zh) | 2021-04-09 |
Family
ID=75316752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011501374.3A Pending CN112632242A (zh) | 2020-12-17 | 2020-12-17 | 智能对话方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632242A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268973A (zh) * | 2021-06-01 | 2021-08-17 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
CN113360626A (zh) * | 2021-07-02 | 2021-09-07 | 北京容联七陌科技有限公司 | 一种智能客服机器人的多场景混合问答推荐方法 |
CN113553405A (zh) * | 2021-06-11 | 2021-10-26 | 中国农业银行股份有限公司浙江省分行 | 基于中文bert模型智能机器人的实现方法和系统 |
CN115936011A (zh) * | 2022-12-28 | 2023-04-07 | 南京易米云通网络科技有限公司 | 智能对话中多意图语义识别方法 |
CN117131183A (zh) * | 2023-10-26 | 2023-11-28 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241237A (zh) * | 2019-12-31 | 2020-06-05 | 中国建设银行股份有限公司 | 一种基于运维业务的智能问答数据处理方法及装置 |
CN111897930A (zh) * | 2020-06-13 | 2020-11-06 | 南京奥拓电子科技有限公司 | 一种自动问答方法与系统、智能设备及存储介质 |
-
2020
- 2020-12-17 CN CN202011501374.3A patent/CN112632242A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241237A (zh) * | 2019-12-31 | 2020-06-05 | 中国建设银行股份有限公司 | 一种基于运维业务的智能问答数据处理方法及装置 |
CN111897930A (zh) * | 2020-06-13 | 2020-11-06 | 南京奥拓电子科技有限公司 | 一种自动问答方法与系统、智能设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268973A (zh) * | 2021-06-01 | 2021-08-17 | 北京太极华保科技股份有限公司 | 一种人机多轮对话方法及装置 |
CN113553405A (zh) * | 2021-06-11 | 2021-10-26 | 中国农业银行股份有限公司浙江省分行 | 基于中文bert模型智能机器人的实现方法和系统 |
CN113360626A (zh) * | 2021-07-02 | 2021-09-07 | 北京容联七陌科技有限公司 | 一种智能客服机器人的多场景混合问答推荐方法 |
CN113360626B (zh) * | 2021-07-02 | 2022-02-11 | 北京容联七陌科技有限公司 | 一种智能客服机器人的多场景混合问答推荐方法 |
CN115936011A (zh) * | 2022-12-28 | 2023-04-07 | 南京易米云通网络科技有限公司 | 智能对话中多意图语义识别方法 |
CN115936011B (zh) * | 2022-12-28 | 2023-10-20 | 南京易米云通网络科技有限公司 | 智能对话中多意图语义识别方法 |
CN117131183A (zh) * | 2023-10-26 | 2023-11-28 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
CN117131183B (zh) * | 2023-10-26 | 2024-01-26 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427617B (zh) | 推送信息的生成方法及装置 | |
CN109829039B (zh) | 智能聊天方法、装置、计算机设备及存储介质 | |
CN112632242A (zh) | 智能对话方法及装置、电子设备 | |
CN109844743B (zh) | 在自动聊天中生成响应 | |
CN107146610B (zh) | 一种用户意图的确定方法及装置 | |
CN109918650B (zh) | 自动生成采访稿的采访智能机器人装置及智能采访方法 | |
US10878817B2 (en) | Systems and methods for generating comedy | |
US20150279366A1 (en) | Voice driven operating system for interfacing with electronic devices: system, method, and architecture | |
WO2019165331A1 (en) | Systems and methods for generating jokes | |
CN107818781A (zh) | 智能交互方法、设备及存储介质 | |
Cassani et al. | On the semantics of nonwords and their lexical category. | |
CN111078856B (zh) | 一种群聊对话处理方法、装置及电子设备 | |
CN111191450A (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN108763355B (zh) | 一种基于用户的智能机器人交互数据处理系统及方法 | |
US20230350929A1 (en) | Method and system for generating intent responses through virtual agents | |
CN114625855A (zh) | 用于生成对话信息的方法及装置、设备和介质 | |
CN112667796A (zh) | 一种对话回复方法、装置、电子设备及可读存储介质 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
CN116821290A (zh) | 面向多任务对话的大语言模型训练方法和交互方法 | |
CN106776557B (zh) | 情感机器人的情感状态记忆识别方法及装置 | |
CN117122927A (zh) | Npc交互方法、装置及存储介质 | |
CN115186080A (zh) | 一种智能问答数据处理方法、系统、计算机设备及介质 | |
CN115640398A (zh) | 评论生成模型训练方法、评论生成方法、设备及存储介质 | |
CN114708869A (zh) | 语音交互方法、装置及电器 | |
Kshirsagar et al. | A Review on Application of Deep Learning in Natural Language Processing |
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 |