CN112256863A - 一种确定语料意图的方法、装置及电子设备 - Google Patents

一种确定语料意图的方法、装置及电子设备 Download PDF

Info

Publication number
CN112256863A
CN112256863A CN202010985724.1A CN202010985724A CN112256863A CN 112256863 A CN112256863 A CN 112256863A CN 202010985724 A CN202010985724 A CN 202010985724A CN 112256863 A CN112256863 A CN 112256863A
Authority
CN
China
Prior art keywords
corpus
subset
corpora
core
intent
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.)
Granted
Application number
CN202010985724.1A
Other languages
English (en)
Other versions
CN112256863B (zh
Inventor
李涵
王俊
王雷
伍治源
魏青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010985724.1A priority Critical patent/CN112256863B/zh
Publication of CN112256863A publication Critical patent/CN112256863A/zh
Application granted granted Critical
Publication of CN112256863B publication Critical patent/CN112256863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种确定语料意图的方法、装置及电子设备,用以高效地确定语料意图,该方法包括:基于预设的规则对第一语料集进行核心词筛选之后,根据核心词对该语料集进行子集划分(即分类),得到多个子集;对于多个子集中语料数量满足预设条件的子集,直接基于该子集对应的核心词,确定该子集的意图,对于多个子集中语料数量不满足预设条件的任一子集,将其作为新的第一语料集,采用新的核心词再对新的第一语料集进行子集划分,以此循环,直到所有的语料都能确定出意图。该方法的整个过程不需要人工参与,可以实现自动、高效、低成本地确定语料意图,进而提升对话机器人的智能性。

Description

一种确定语料意图的方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种确定语料意图的方法、装置及电子设备。
背景技术
随着计算机技术的飞速发展,为了满足商业业务和人们日常生活的需要,对话机器人应运而生。其中,对话机器人的智能程度由算法引擎的能力和对话意图的丰富性决定。因此,在算法引擎稳定的情况下,要提高机器人的智能程度,就需要提升对话系统中意图的丰富性。
大部分厂商对于语料的新意图挖掘,多采用聚类和人工分析相结合的方式,但对话机器人获取到的对话语料多为短文本语料,且语料语义特征少、语料分布不均匀,数据稀疏。因此,采用常见聚类算法对这些短文本语料进行聚类,会将不相关的语料聚合在一起,导致聚类出的结果不准确,需要大量的人工分析,加重了人工成本。
也有部分厂商采用迁移学习与分类相结合的方法来实现语料的新意图挖掘,但这种方式也需要大量人工对语料进行数据标注,且这种方式中迁移学习模型训练所需的计算能力较高、训练周期长。因此,这种方式仍存在成本高、效率低、无法快速满足业务需求的问题。
由上述分析可知,当前聚类或分类等机器学习方法无法高效准确地实现对话语料的新意图挖掘,需要耗费大量的人工成本或计算设备成本,且效率较低。因此,如何实现高效、低成本地对语料进行新意图挖掘,是目前亟需解决的技术问题。
发明内容
本申请提供一种确定语料意图的方法、装置及电子设备,用以高效地确定语料意图。
第一方面,提供一种确定语料意图的方法,该方法可以由电子设备执行,也可以由设备中的软件程序或硬件芯片执行,本申请这里不做限定。在该方法中,电子设备首先获取包含若干条语料的第一语料集;之后,电子设备从第一语料集中确定出至少一个核心词,并根据至少一个核心词对第一语料集执行预设操作。具体的,该预设操作包括:根据至少一个核心词对第一语料集中的语料进行子集划分,获得至少一个子集,其中,至少一个子集与至少一个核心词一一对应,每个子集中的语料均包含每个子集对应的核心词;并且,在至少一个子集中的第一子集中的语料数量小于第一预设值时,可以基于第一子集对应的核心词,确定第一子集中的所有语料的第一意图,并基于所述第一意图为所述第一子集中的所有语料添加意图标签;在第一子集中的语料数量不小于第一预设值时,将第一子集重新作为第一语料集,并对重新确定的第一语料集执行上述预设操作;其中,第一子集为至少一个子集中的任意一个子集;对不同所述第一语料集执行所述预设操作时所使用的核心词的词性不同。
在上述技术方案中,基于预设的规则对第一语料集进行核心词筛选之后,根据核心词对该语料集进行子集划分(即分类),得到多个子集;对于多个子集中语料数量满足预设条件(即语料数量小于第一预设值)的子集,直接基于该子集对应的核心词确定该子集的意图,而对于多个子集中语料数量不满足预设条件的子集,将其作为新的第一语料集,采用新的核心词再对新的第一语料集执行预设操作。整个过程可不需要人工参与,可以实现自动、高效、低成本地确定语料意图。而且根据新的核心词对第一语料集子集划分后得到的子集中不满足预设条件的子集重新执行预设操作,可以尽可能地挖掘出更多的语料意图,使得确定出的语料意图更加精确。
在一种可能的设计中,电子设备在对第一语料集执行预设操作时,可以将逆文本频率指数TF-IDF值大于设定阈值的名词或动词作为筛选条件,从第一语料集中筛选至少一个核心词,并基于筛选出的至少一个核心词对第一语料集中的语料进行子集划分。其中,在对不同第一语料集中筛选至少一个核心词时所使用的设定阈值大小可以相同,也可以不同。
可选的,电子设备还可以进一步结合该名词在一条语料中的句子成分从第一语料集中筛选至少一个核心词。例如,电子设备可以将第一语料集中TF-IDF值大于设定阈值且处于宾语位置的名词作为至少一个核心词。
在上述技术方案中,电子设备将第一语料集中的TF-IDF值大于第一阈值的名词作为筛选核心词的条件,可以提高确定语料意图的准确性和效率。
在一种可能的设计中,电子设备在确定第一语料集时,有多种实现方式,包括但不限于以下方式:
电子设备获取包含多条语料的对话日志,并从多条语料中筛选出置信度小于或等于第一置信度的语料,将筛选出的语料作为第一语料集,其中,置信度用于表征语料分类的准确程度。这种方式下,电子设备将现有意图分类器无法识别的语料作为第一语料集,再对第一语料集进行新意图挖掘,可以提高第一语料集中意图的丰富性,进而提高方案的可靠性。
在一种可能的设计中,电子设备根据所述至少一个核心词对第一语料集中的语料进行子集划分时,如果出现包括至少两个核心词的第一语料,可以将该第一语料分别划分到至少两个核心词中分别对应的至少两个子集中的每个子集中。其中,第一语料可以是第一语料集包括的多个语料中的任意一个语料。
在上述技术方案中,电子设备将包含多个核心词的语料分别划分到该语料所包含的每个核心词对应的每一个子集中,可以提高为每个语料确定的意图的准确性。
在另一种可能的设计中,电子设备根据至少一个核心词对第一语料集中的语料进行子集划分时,如果出现包括至少两个核心词的第一语料,则可以进一步确定至少两个核心词中TF-IDF值最大的核心词,将第一语料划分到所述TF-IDF值最大的核心词对应的子集中。
在上述技术方案中,电子设备将包含多个核心词的语料分别划分到所述TF-IDF值最大的核心词对应的子集中,在保证确定的语料意图的准确性的同时,又可以提高确定语料意图的效率。
在一种可能的设计中,电子设备在基于第一意图为第一子集中的所有语料添加意图标签之后,还可以基于已添加意图标签的语料生成数据库;并在接收到第一语音指令时,从数据库中确定出与第一语音指令相匹配的语料,基于该语料的意图标签确定第一语音指令的意图。
在上述技术方案中,电子设备基于已添加意图标签的语料生成数据库,并基于该数据库对接收到的语音指令进行意图匹配。这样,可以提高电子设备对新语料的识别准确度,进而提升用户使用对话机器人的体验。
在一种可能的设计中,在电子设备基于该语料的意图标签确定第一语音指令的意图之后,还可以根据第一语音指令的意图执行第一操作。其中,第一操作是针对第一语音指令的响应操作,可以理解为用户想要执行的操作,例如,假设第一语音指令是“帮我看看北京的机票”,第一操作即为帮用户查询北京的机票。
在上述技术方案中,电子设备基于从语音指令中匹配出来的意图,响应用户输入的第一语音指令,执行相应的操作,进一步提高人机交互效率,提高用户体验。
第二方面,提供一种确定语料意图的装置,该装置包括用于执行第一方面中的方法的模块。作为一种示例,该装置可以包括确定模块,用于确定第一语料集,第一语料集中包含若干条语料;处理模块,用于对第一语料集执行下述预设操作:
根据至少一个核心词对第一语料集中的语料进行子集划分,获得至少一个子集,其中,至少一个子集与至少一个核心词一一对应,每个所述子集中的语料均包含每个所述子集对应的核心词;
在至少一个子集中的第一子集中的语料数量小于第一预设值时,基于所述第一子集对应的核心词,确定第一子集中的所有语料的意图,并基于所述意图为第一子集中的所有语料添加意图标签;第一子集为所述至少一个子集中的任意一个子集;
在第一子集中的语料数量不小于第一预设值时,将第一子集重新作为新的第一语料集,并对重新确定的第一语料集执行预设操作;其中,对不同第一语料集执行预设操作时所使用的核心词的词性不同。
这些模块可以执行上述第一方面或第一方面任一种可能的设计中的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不作赘述。
第三方面,提供一种电子设备,该电子设备包括:至少一个处理器,用于读取并执行存储器存储的程序,当存储器存储的程序被执行时,所述处理器用于执行第一方面或第一方面任一种可能的设计中的方法。
在一种可能的设计中,所述存储器可以位于所述电子设备之外。
在另一种可能的设计中,所述电子设备还可以包括存储器,所述存储器与所述至少一个处理器相连,所述存储器存储有可被所述至少一个处理器执行的指令。
第四方面,提供一种计算机可读介质,该计算机可读介质存储有用于设备执行的程序代码,该程序代码被所述设备执行时,上述第一方面或第一方面任一种可能的设计中的方法将被执行。
第五方面,提供一种包含指令的计算机程序指令,当该程序指令在计算机上运行时,使得上述第一方面或第一方面任一种可能的设计中的方法被执行。
第六方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器用于通过所述数据接口读取并执行存储器上存储的指令,使得第一方面或第一方面任一种可能的设计中的方法被执行。
在一种可能的设计中,所述芯片还可以包括所述存储器,所述存储器中存储有所述指令。
上述第二方面至第六方面中任一方面中的各种设计方案可以达到的技术效果请参照上述第一方面或第一方面任一种可能的设计中的方法可以带来的技术效果,这里不再予以重复赘述。
附图说明
图1为一种确定语料意图的方法的流程示意图;
图2为一种确定语料意图的方法的流程示意图;
图3A为本申请实施例提供的一种可能的场景的示意图;
图3B为本申请实施例提供的另一种可能的场景的示意图;
图4为本申请实施例提供的一种确定语料意图的方法的流程图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的一种可能的语料意图挖掘过程的示意图;
图7为本申请实施例提供的一种确定语料意图的装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
对话机器人的智能程度主要由算法引擎和对话意图的丰富性决定。当前各厂商在设计对话机器人的业务系统时,根据业务领域需求搭建对话引擎以及构建意图分类模型。对话机器人投入使用之后,会持续采集对话日志,数据分析团队通过分析对话日志中不能被已有意图分类器识别的语料,可以挖掘出对话日志中的新意图,并将添加新意图标签的语料数据加入到对话引擎中,进而使得对话机器人更智能。
表1
查看我的知己 客户拜访记录
我的报表 查看客户接触记录
清空聊天记录 查看客户活动记录
删除我的信息 手机截图
清除和别人的聊天 手机签到
删掉我的TM记录 如何去欧洲小镇
由表1可知,随着业务类型的多样化以及复杂化,来自不同业务领域的对话机器人收集到的对话日志中存在着大量未识别的语料。现有意图分类器可以识别出表1中的某个语料(例如,“清空聊天信息”)对应的多个意图(例如,清空消息、发消息、未读消息等等),但不确定这个语料的准确意图,对于这种类型的语料,需要由人工进行标注;对于表1中无法识别意图的语料,则需要产品专家/业务专家对未识别意图的语料进行新意图挖掘。因此,由人工对未识别的语料进行意图挖掘的人力成本较高;而且多人协同作业时,新意图划分标准不统一,易产出不同颗粒度、冗余的新意图标签、效率较低,进而导致对话机器人无法快速满足用户需求,降低了人机对话的质量,使得用户的体验较差。
示例性的,图1为一种确定语料意图的方法,该方法主要采用聚类和人工分析结合的方式来挖掘新意图,具体包含以下几个步骤:
S101、对未识别语料集进行预处理,得到初始语料集。
应理解,初始语料集中包含若干条语料。
S102、提取初始语料集中的每条语料的特征。
可以理解的是,每条语料的特征可以是每条语料中的词组以及词组的组成关系。
S103、根据每条语料的特征确定初始语料集中不同语料之间的相似度大小,并将相似度大于预设值的语料划分为一个语料簇,得到多个语料簇。
S104、由人工对多个语料簇中的语料进行数据标注。
然而该方法中,对话机器人收集到的对话日志中的语料多为短文本语料,且语料语义特征少,会使得聚类算法的聚类精度较低,容易将不相关的语料聚合在一起,达不到实际应用的需求,反而加大了人工分析的成本,存在效率低下、人力成本高的缺点。
示例性的,图2为另一种确定语料意图的方法,该方法包括以下几个步骤:
S201、从所有未分类语料中随机抽取第一语料样本。
应理解,第一语料样本可以理解为小量样本。
S202、由人工对第一语料样本进行标注,得到已标注样本。
应理解,已标注样本可以理解为已添加意图标签的语料集。
S203、根据已标注样本对分类模型进行模型训练,得到新的分类模型。
可以理解的是,分类模型即用于识别语料意图的模型。
S204、利用新的分类模型对剩余未分类语料进行分类预测。
对于S204中分类成功的语料,执行S205、生成新意图。
对于S204中无法分类的语料,则重复执行S201-S204,从无法分类的语料中随机抽取小量样本,由人工进行标注后,再迭代到S203中得到的分类模型中,对分类模型进行训练得到新的分类模型,并利用新的分类模型继续对剩余未分类的语料进行分类(即识别意图)。
以此迭代上述过程,直到所有新语料都可被归类。
在这种方法中,需要海量的语料作为训练数据,且分类模型的需要多次迭代训练,耗费的计算能力较大,训练周期长。因此,该方法存在成本高、效率低,无法快速满足业务需求问题。
由上述分析可知,聚类或分类等机器学习算法和人工分析相结合,无法准确地实现语料的新意图挖掘,耗费了大量的人工成本或计算设备成本,且效率较低。
鉴于此,本申请提供一种确定语料意图的方法,在该方法中,先筛选出未识别语料集的核心词,并根据该核心词对未识别语料集进行子集划分,得到多个子集;对于语料数量小于预设值的子集,根据该子集对应的核心词确定该子集的意图,而对于语料数量不小于预设值的子集,则将该子集作为新的未识别的语料集,采用新的核心词对新的未识别的语料集再次执行上述过程,即子集划分、判断划分的子集中的语料数量等操作,如此循环,直到所有的语料都能被识别出意图为止。通过该方法,可以实现自动、高效、低成本的意图挖掘。具体方案将在后文详细介绍。
本申请提供的确定语料意图的方法可以应用在智能医疗场景、保险业务咨询场景、驾驶场景或者其它需要确认语料意图的场景。具体可以应用于以下各种设备中,例如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)设备,虚拟现实(virtual reality,VR)设备,车载终端等;也可以应用于以下各种服务器中,例如可以是能够提供用户所需的业务服务的服务器,该业务服务可以包括与前述本申请所适用的各个应用场景对应的业务,例如某些医疗系统、保险公司、手机厂商的服务器,或者可以是云服务平台的服务器,或者,该服务器也可以嵌入到已有的数据库系统中,例如为某一个数据中心的服务器,或者,该服务器也可以是一个独立的服务器,在本申请实施例中,不对该电子设备的具体形式进行限制。
以下以两个具体的示例,来对本申请的应用场景进行举例说明。
请参见图3A,图3A为本申请实施例提供的一种可能的场景的示意图,在图3A中的通信系统包括云服务器301和电子设备302,其中云服务器301可以是保险业务系统中的服务端,电子设备302可以是保险业务系统中的客户端。用户通过电子设备302登录该保险业务系统的网页之后,可以通过电子设备302持续采集用户和该保险业务系统中设置的对话机器人(即对话引擎)的对话日志,并将对话日志发送至云服务器301,由云服务器301对对话日志中的语料进行意图识别,将意图识别过程中不能识别的语料作为初始语料集;并且云服务器301执行本申请实施例提供的确定语料意图的方法,对初始语料集进行新意图挖掘,进而根据得到的新意图对相关的语料进行标注,将关联新意图的语料集作为训练集对对话机器人的意图分类模型进行优化训练,可以得到能够识别更多意图的意图分类模型,进而使得该保险业务系统中的对话机器人更加智能,以提升用户的使用体验。
例如,云服务器301第一次对“帮我买保险业务1”的语料进行意图识别时无法识别出对应的意图,云服务器301将这条语料和其他未识别意图的语料作为初始语料集,并通过执行本申请实施例提供的确定语料意图的方法,对该初始语料集进行新意图挖掘,得到“购买保险业务1”的新意图,并基于“购买保险业务1”关联的语料集对对话机器人的意图分类模型进行优化训练。云服务器301下一次接收到电子设备302发送的“帮我购买保险业务1”的语料,再对其进行意图识别,就可以直接确定这条语料对应的意图为“购买保险业务1”,并向电子设备302发送控制指令,控制电子设备302自动为用户办理保险业务1,如此不需要人工客服手动操作,可减少保险公司的人力成本。
请参见图3B,图3B为本申请实施例提供的另一种可能的场景的示意图,在图3B中,电子设备303中设置了用于在医院中智能导诊的对话机器人的业务系统。其中,在电子设备303用于智能导诊时,电子设备303可以持续采集用户的语音指令,并对语音指令中的语料进行意图识别,对于无法识别的语料(例如,“感冒挂什么科”、“感冒去哪科”、“眼睛不舒服去什么科”等等),电子设备303通过执行本申请实施例提供的确定语料意图方法进行新意图挖掘,得到了名称为“查询感冒对应的挂号科室”的新意图,进而根据该新意图对相关的语料(例如,“感冒挂什么科”、“感冒去哪科”等等)进行标注,并将该新意图关联的语料集对用于在医院中智能导诊的对话机器人的意图分类模型进行优化训练。之后,电子设备303再采集到“感冒挂什么科”的语音指令,就可以匹配出“查询感冒对应的挂号科室”的意图,电子设备303自动查询感冒对应的挂号科室,并通过语音或者文字的方式输出“呼吸科”。通过电子设备303实现智能导诊,可以帮用户快速找到需要挂号的科室,提高患者就医体验度,降低科室的转诊率,同时为导诊台减压。
应理解,上述两种应用场景仅为举例而非限定,本申请提供的确定语料意图的方法还可以应用在其他需要进行确定语料意图的应用场景中。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
需要说明的是,本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
为了便于理解,下面对本申请实施例涉及的相关术语进行进一步的解释。
(1)、意图,可以理解为用户输入的查询信息所请求的真实目的。例如,当用户输入的“北京”时,“北京的天气”、“北京的交通”等等都可能是用户所输入的查询信息想要执行的意图。
(2)、逆文档频率(term frequency-inverse document frequency,TF-IDF),是一种统计方法,具体为一种用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度的方法,下文将这种方法中对每个字词的衡量标准称之为TF-IDF值。
(3)、聚类,可以理解为根据预设好的某个特定标准,将多个对象划分为若干个不相交的子集的方法,其目的是使得同一个子集内的数据相似性尽可能大,同时不在同一个子集中的数据对象的差异性也尽可能大,通常每个子集称为一个“簇”。其中,聚类可以分为如下几种类型:基于层次的聚类方法、基于划分的聚类方法、基于密度的聚类方法、基于网格的聚类方法、基于模型的聚类方法等等。
(4)、迁移学习,可以理解为利用数据、任务、或模型之间的相似性,将在旧领域学习过的模型,应用于新领域的一种学习过程。
(5)、主动学习,可以理解为通过某些特定方法从样本数据中筛选出最有价值的数据,对这些有价值的数据进行数据标注后,作为训练集对分类模型进行迭代优化训练的过程。在本申请中,可以理解为利用已确定出新意图的语料集对原意图分类模型进行优化训练的过程。
(6)、对话机器人,可以理解为能够与人进行连贯对话的语音系统。依据是否有特定任务,可分为任务导向型机器人和非任务导向型机器人。其中,任务导向型对话机器人,是指帮助用户完成某领域内的具体任务的对话机器人,其对话范围属于封闭域。依据对话轮次,任务导向型机器人的对话系统也可分为两大类:(1)单轮对话系统(single-turnDS),指根据用户的单次输入,生成匹配相应意图的输出,即一问一答的问答模式;(2)多轮对话系统(multi-turn DS),指系统可以引导用户输入,通过与用户多轮次的问答,生成匹配用户完整意图的输出。非任务导向型对话机器人,是指与用户进行闲聊的对话系统,比如常见的聊天机器人(例如,手机的语音助手),没有特定领域或待完成的任务,其对话范围属于开放域。
如图4所示,为本申请实施例提供的一种确定语料意图的方法的流程示意图。该方法具体可以应用于设备中,设备可以是终端设备也可以是服务器设备,例如图3A所示的云服务器301或图3B所示的电子设备303,本申请这里不做限定。也就是说下述执行步骤可以由终端设备执行或由终端设备内的软件程序或硬件芯片执行,也可以由服务器设备执行或由服务器设备内的软件程序或硬件芯片执行。该方法具体包括以下步骤:
S401、收集初始语料集。
具体的,收集初始语料集的方式可以是获取第一预设时长内的历史对话日志和/或第二预设时长内的当前对话日志,并将第一预设时长内的历史对话日志和/或第二预设时长内的当前对话日志中的若干条语料的集合确定为初始语料集;其中,第一预设时长和第二预设时长可以相同,也可以不同。第一预设时长或第二预设时长具体可以是一个星期、一天、一个小时、10分钟等等,本申请的实施例不作具体的限定。
示例性的,假设第一预设时长是一天、第二预设时长是5分钟,初始语料集即为过去一天内生成的对话日志和开始收集语料集之后5分钟内生成对话日志中的语料的集合。
在收集到初始语料集之后,可以对初始语料集进行预处理(例如,词性标注、分词操作等),得到多个已标注词性的单词。
其中,词性标注可以理解为给每一个单词打上词性标签,词性标签包括形容词、动词、名词、副词、连词、叹词和方位词等等,具体可以通过成分似然性自动词性标注系统(Contituent-Likelihood Automatic Word-tagging System,CLAWS)等算法来实现;分词操作可以理解为将每一条语料划分为多个单词,具体可以通过词袋(bag of words,BoW)、TF-IDF等方法结合基于统计、规则等中文分词方法来实现。
例如,某条语料是“查询上个月的邮件”,则可划分为“查询”、“上个月”、“的”、“邮件”四个单词,对应词性分别为动词、名词、助词、名词。
在一种可能的实施例中,在对初始语料集进行预处理之后,还可以对语料中的同义词近义词进行去重操作。
S402、确定第N层语料集。
N=0时,第N层语料集即为在对初始语料集进行预处理之后的第一层操作,则将初始语料集作为第0层语料集,或者,可以将通过现有意图分类器对初始语料集进行意图识别后得到的未能识别的语料集合作为第0层语料集。
在一种可能的实施例中,现有意图分类器对初始语料集,以筛选未识别语料集合的过程可以是:通过预设分类算法确定初始语料集中每条语料的置信度,并从初始语料集中筛选出置信度小于或等于预设置信度的语料,将筛选出的语料确定为第0层语料集,执行步骤S403-S406,即对第0层语料集执行预设操作。
应理解,这里的置信度可以理解为某条语料属于某个意图的概率。可选的,每条语料的置信度计算具体可以是根据该条语料匹配到的意图对该条语料描述的频率、覆盖率、以及该意图与该语料的相关性(例如,意图对应的领域和该语料所描述的领域是否同属一个领域)等维度确定的。
其中,用于确定语料置信度的预设分类算法可以是朴素贝叶斯算法(
Figure BDA0002689190980000081
Bayes,NB)、支持向量机算法(support vector machine,SVM)、K近邻算法(k-nearest neighbors,KNN)、长短记忆网络算法(Long Short Term Memory networks,LSTM)、卷积神经网络算法(convolution neural network,CNN)、fasttext算法、决策树算法等等分类算法中的任一种,本申请的实施例不作具体限定。
示例性的,假设通过决策树算法对获取到的对话日志中的语料进行意图识别分类,并确定每一条语料的属于已支持意图中某个意图的概率,将概率小于0.6的语料筛选出来,作为第0层语料集。
N>0时,第N层语料集则是在执行了N-1层预设操作之后获得的语料数量不小于预设值的子集。
对第N层语料集执行预设操作,具体包括以下几个步骤:
S403、确定第N层语料集的至少一个核心词。
这里先从0层开始介绍。
在一种可能的实施例中,当N=0时,第0层语料集的核心词可以是名词、动词、形容词等,本申请不作具体的限定。
本申请实施例提供了多种确定核心词的方式,这里以第0层语料集中的核心词为名词为例进行解释说明。以下列举了几种可能的实现方式:
方式1、计算第0层语料集中每个词的TF-IDF值,将第0层语料集中TF-IDF值大于第一阈值且处于宾语位置的名词作为第0层核心词。
方式2、计算第0层语料集中每个词的TF-IDF值,将第0层语料集中TF-IDF值大于第一阈值且处于主语位置的名词作为第0层核心词。
方式3、计算第0层语料集中每个词的TF-IDF值,将第0层语料集中TF-IDF值大于第一阈值且处于状语位置的名词作为第0层核心词。
作为一种示例,假设根据对话机器人的对话日志确定的第0层语料集中包括三条语料:“帮我写邮件”、“我要看邮件”、“查邮件”,对这三条语料进行分词操作以及词性标注之后,得到“写”、“看”、“邮件”、“查”等单词,计算这些词组的TF-IDF值,发现“邮件”的TF-IDF值大于90%,且处于宾语位置,则将“邮件”作为第0层核心词。
由于名词在一个语料文本一般是用于描述为用户想要执行相应操作的核心对象,因此在本申请的实施例以名词筛选第0层核心词的方式,可以快速确定较为准确的意图,以提高确定语料意图的效率。
S404、根据第N层核心词对第N层语料集进行子集划分,获得至少一个子集。
继续以0层为例,在从第0层语料集中筛选出第0层核心词之后,根据第0层核心词对第0层语料集进行子集划分,获得至少一个子集。
可以理解的是,对第0层语料集进行子集划分的过程,实际上就是对第0层语料集中的语料进行分类的过程。换而言之,根据第N层核心词对第N层语料集进行子集划分的具体实现过程包括:将第0层语料集分成至少一个语料类,每一个语料类中的所有语料均包含每个语料类对应的第0层核心词。
作为一种示例,假设收集到的对话日志中有初始语料集200条(第0层语料集),通过核心词筛选得到“邮件”、“消息”、“周六”、“月末”这四个第0层核心词,根据这四个第0层核心词,将初始语料集划分成4个语料子集,例如子集I、子集II、子集III、子集IV、每个子集中均关联一个第0层核心词,每个子集中的每条语料均包含该子集关联的核心词,例如子集I关联“邮件”,则子集I中的每条语料均包含“邮件”,例如子集II关联“消息”,则子集II中的每条语料均包含“消息”,等等。
需要说明的是,在对第0层语料集中的语料进行划分的过程中,可能会出现一条语料中可能包含多个第0层核心词的情况,针对这种情况,本申请实施例提供了多种划分方式,例如以下几种:
方式1、将包含多个第0层核心词的第一语料划分到第一语料所包含的每个第0层核心词关联的子集中。
示例性的,假设第0层语料集中的一条语料是“我需要查看周六的邮件”,通过预设方式(例如,名词筛选)从第0层语料集中确定出来的第0层核心词有“周六”和“邮件”,则这条语料中包含两个核心词,即“周六”和“邮件”,在对第0层语料集进行子集划分的时候,可以将这条语料同时划分到关联“周六”和“邮件”的子集中,或者将这条语料进行复制,得到相同的两条语料“我需要查看周六的邮件”,将这两条语料分别划分到关联“周六”和“邮件”的子集中。
方式2、确定第一语料中包含的多个第0层核心词中TF-IDF值最大的第0层核心词,并将第一语料划分到TF-IDF值最大的第0层核心词关联的第一子集。
示例性的,假设第0层语料集中的一条语料是“我需要查看周六的邮件”,通过预设方式(例如,名词筛选)从第0层语料集中确定出来的第0层核心词有“周六”和“邮件”,这条语料中包含“周六”和“邮件”,则可以进一步比较“周六”和“邮件”在第0层语料集中的TF-IDF值大小,若“周六”的TF-IDF值较大,则在对第0层语料集进行子集划分的时候,将这条语料划分到关联“周六”的子集中;若“邮件”的TF-IDF值较大,则在第0层语料集进行子集划分的时候,将这条语料划分到关联“邮件”的子集中。
方式3、确定第一语料中所包含的多个第0层核心词之间的相关性,若相关性大于预设值,将这多个第0层核心词所关联的语料集合并成一个新的语料集,将第一语料划分到这个新的语料集中。
可选的,计算这多个第0层核心词之间的相关性,具体可以通过这多个第0层核心词中不同的第0层核心词组合的语料在初始语料集中出现的频率确定。例如,频率越高,相关性越大。
示例性的,假设预设值30%,第一语料是“查询北京地图”,通过名词筛选的方式,确定了这条语料中包括“北京”和“地图”两个核心词,通过统计算法发现包含“北京地图”的语料在第0层语料集中的占比为40%,则将包含“北京地图”的语料划分成一个新的语料集。
S405、判断至少一个子集中任一子集的语料数量是否小于预设值。
继续以0层为例,在对第0层语料集进行子集划分之后,得到至少一个子集,则进一步判断该至少一个子集中任一个子集的语料数量是否小于第一预设值。一种可能的实现方式中,对该至少一个子集中每一个子集的语料数量都进行判断操作。
针对语料数量的小于第一预设值,进一步执行S406,以确定该任一子集的第一意图;
针对语料数量的不小于第一预设值的子集,进一步执行S407,即将该子集作为下一层语料集,重新执行S403~S406/S407的操作。为了便于理解,本文将S403~S406/S407的所执行操作定义为预设操作。
S406、针对语料数量小于第一预设值的每个子集,根据该子集对应的核心词确定该子集中所有语料的第一意图。
这里确定第一意图的过程,可以理解为根据语料数量小于第一预设值的子集对应的第0层核心词,对所该子集中的每条语料进行数据标注的过程。
一种可能的实方式中,该子集的第一意图可以用该子集对应的第0层核心词来命名,当确定该子集中语料数量小于第一预设值时,则对该子集中的每条语料添加名称为该子集对应的第0层核心词的意图标签。
示例性的,假设第一预设值为10,某个第0层核心词划分后得到的第一子集中的第0层核心词为“邮件”,且语料数量为9条,就为这9条语料添加名称为“邮件”的意图标签。
当然,实际应用中还可以采用其他方式来命名,例如采用子集对应的第0层核心词的近义词来命名,这里不做限制。
一种可能的实施方式中,在基于语料数量小于第一预设值的子集对应的第0层核心词对该子集中的所有语料添加意图标签之后,还可以基于已添加意图标签的语料生成数据库;电子设备在接收到第一语音指令时,可以从该数据库中确定出与第一语音指令相匹配的语料,并基于该语料的意图标签确定第一语音指令的意图,并根据第一语音指令的意图执行第一操作。
应理解,这里的第一操作是针对第一语音指令的响应操作,例如可以理解为用户想要电子设备执行的动作。
例如,假设第一语音指令对应的意图是“查询北京的天气”,则电子设备基于上述数据库确定“查询北京的天气”对应的意图后,电子设备自动查询北京当前的天气信息,并将查询结果以文字、图像、视频或音频等的方式输出。
一种可能的实施方式中,在确定第一语音指令对应意图的过程中,可能会存在与第一语音指令相匹配的两个或两个以上的语料,因此,基于与第一语音指令相匹配的语料确定出来的意图可能存在多个的情况。在这种情况下,针对这多个意图,可以进一步计算每个意图对应的核心词在该数据库中的TF-IDF值,将TF-IDF值最大的核心词对应的意图作为第一语音指令的意图,并执行相应的操作。或者,基于这多个意图输出提示信息,提示用户进一步执行选择操作。
例如,假设第一语音指令是“北京天安门”,电子设备按照以上方法确定出“北京天安门路线”、“北京天安门历史”两个意图,则进一步计算这两个意图对应的核心词在该数据库中的TF-IDF值,例如核心词“路线”的TF-IDF值大于核心词“历史”的TF-IDF值,则将“路线”对应的意图作为第一语音指令的意图,进而为用户查询去往北京天安门的路线。
S407、将语料数量不小于预设值的子集作为下一层语料集,并返回继续执行S402。
如图4所示,在S407中,将上一层语料集进行子集划分后得到的至少一个子集中语料数量不小于预设值的子集作为下一层语料集,即跳转回S402,进而对下一层语料集继续执行S402至205的操作。
应理解,不同层(或者说不同阶段)的预设操作对应的操作步骤是类似的,但是不同层在执行上述预设操作时所使用的参数可以不同,例如S402输出的语料集可以不同,S403确定出的核心词可以不同,以及S405使用的预设值可以不同等。例如,第1层执行预设操作的方法和第0层执行预设操作的方法是类似的,但是第1层在执行S402时输出的语料集可以和第0层在执行S402时输出的语料集不同,第1层在执行S403时确定出的核心词可以和第0层在执行S403时确定出的核心词不同,以及第1层在执行S405使用的预设值可以和第0层在执行S405使用的预设值不同。
下面以0层跳转到1层为例,将第0层语料集中语料数量不小于预设值的子集作为第1层语料集,再次执行预设操作S403~S407,具体包括以下步骤:
S403’、确定第1层语料集的至少一个核心词。
在一种可能的设计中,该至少一个核心词为第1层语料集中TF-IDF值大于第二阈值的动词、名词、形容词等等。需要说明的是,第二阈值和上述S403中提及的第一阈值的具体取值可以相同,也可以不同,本申请的实施例不作具体的限定。
本申请实施例提供了多种确定第1层核心词的方式,这里列举几种可能的实现方式:
方式1、计算第1层语料集中每个词的TF-IDF值,将第1层语料集中TF-IDF值大于第二阈值的且处于宾语位置的名词作为第1层核心词。这里的第二阈值与上述0层中方式1的第一阈值不同。
方式2、计算第1层语料集中每个词的TF-IDF值,将第1层语料集中TF-IDF值大于第二阈值的且处于谓语位置的动词作为第1层核心词。这里的第二阈值与上述第0层中方式2的第一阈值相同或不同。
方式3、计算第1层语料集中每个词的TF-IDF值,将第1层语料集中TF-IDF值大于第二阈值的且处于状语位置的名词或动词作为第1层核心词。如果是名词,这里的第二阈值与上述0层中方式3的第一阈值不同。如果是动词,则这里的第二阈值与上述0层中方式3的第一阈值相同或不同。
应理解,以上几种方式仅仅是举例说明,本申请的实施例中不作具体的限定。
可选的,在第0层执行S403时可以预先确定出多类核心词,分别对应不同的层,则此处可以不用再执行确定核心词的操作(即可以不执行S403’),而是直接使用预先确定出的对应第1层的核心词。
S404’、根据第1层核心词对第1层语料集中的语料进行子集划分,获得至少一个子集。
应理解,该至少一个子集中的每个子集与该至少一个核心词中的第1层核心词一一对应。
应理解,第1层语料集是第0层语料集的子集,因此,每个子集中的所有语料均包含每个子集对应第0层核心词以及第1层语料集对应的第1层核心词。
S405’、判断至少一个子集中任一子集中的语料数量是否小于第二预设值。
具体的,在对第1层语料集进行子集划分,得到至少一个子集之后,进一步对该至少一个子集中的每个子集中的语料数量进行判断;若该至少一个子集中的第二子集中的语料数量小于第二预设值,则执行步骤S406’;若第二子集中的语料数量不小于第二预设值,则将该第二子集作为下一层(即第2层)语料集,再次跳转回S402,执行S402至S405的操作,这里不再赘述。类似的,第2层执行预设操作的方法和第0层/第1层执行预设操作的方法是类似的,但是第2层在执行S402时输出的语料集可以和第0层/第1层在执行S402时输出的语料集不同,第2层在执行S403时确定出的核心词可以和第0层/第1层在执行S403时确定出的核心词不同,以及第2层在执行S405使用的预设值可以和第0层/第1层在执行S405使用的预设值不同,这里不再赘述第2层以及第2层之后的层的具体实现过程。
需要说明的是,第二预设值和上述第一预设值具体的取值可以相同,也可以不同,本申请的实施例不作限定。
S406’、基于该第二子集对应的第1层核心词确定该第二子集中的所有语料的第二意图。
一种可能的实施方式中,第二意图的名称为该第二子集对应的第1层核心词与第0层语料集对应的第0层核心词的组合,可以并基于该第1层核心词和第0层核心词为该任一子集中的所有语料添加意图标签。其中,该第0层核心词和该第1层核心词的组合顺序可以是预设规则(例如核心词在语料中的句子成分)确定的。
示例性的,以谓语-宾语顺序确定意图名称,假设该第0层核心词为“邮件”,是位于宾语位置的名词,该第1层核心词为“写”,是位于谓语位置的动词,则第二意图即为“写邮件”。
当然,还可以采用其它方式来确定第二意图的名称,这里不做限定。
需要说明的是,上述仅仅给出了对第0层语料集和第1层语料集进行预设操作的过程,在实际的应用中,在每一层执行S405后输出的语料数量大于预设值的语料集,均可以跳转至下一层继续执行步骤S403-S406/S407,以此循环,通过对这些语料集执行预设操作,直到所有语料都能确定出意图;或者,在执行到设定层(如第2层、第5层或第10层等)之后,收集新的语料,将设定层输出的不能识别的语料和新收集到的语料,作为新的初始语料集,重新从0层开始执行上述预设操作。
通过上述可知,本申请实施例根据预设的规则对收集到的语料集进行核心词筛选,并根据核心词对该语料集进行分类(即子集划分),得到多个子集,并根据核心词确定多个子集中语料数量满足条件的任一子集的意图,同时对子集中语料数量不满足条件的任一子集进行预设操作(即筛选核心词、子集划分、生成意图等等),以此循环,直到所有的语料都能确定出相应的意图,整个过程可以减少人工参与甚至可以不用人工参与,可以实现自动、高效、低成本地挖掘语料意图的技术效果。
在一些可能的实施例中,在基于语料数量大于第一预设值的任一子集对应的第N层核心词为该任一子集中的所有语料的添加意图标签之后,还可以基于已添加意图标签的语料作为新的训练集应用到意图分类器模型的训练过程中,以实现优化意图分类器的技术效果。
可以执行上述图4所示的方案的设备框架结构可以参见图5所示,包括意图分类器501、标注池502、意图池503以及语料池504四个功能模块。
其中,意图分类器501为事先训练好的用于对语料进行识别的意图分类模型;标注池502用于装载需要人工进行标注的语料数据;意图池503用于装载已明确意图的语料数据;语料池504用于装载需要挖掘新意图的语料数据。
在电子设备获取到包含多条语料的对话日志之后,首先通过意图分类器501计算每条语料的多个置信度,并根据预设的条件,将这些语料分别划分到标注池502、意图池503、语料池504。
假设预设条件是将置信度大于等于第一置信度的语料划分到意图池503,计算意图池503中的每条语料对应的意图的热度(例如在初始语料集中出现的频率、数量),并按热度从高到低对这些意图进行排序;将置信度小于等于第二置信度的语料划分到语料池504,基于前述的本申请实施例提供的确定语料意图方法对语料池中的语料进行意图挖掘,并将关联新意图的语料作为新的训练集迭代到意图分类器501中训练(即进行主动学习),优化意图分类器501;将置信度大于第二置信度且小于第一置信度的对应的语料划分到标注池502,由人工根据对话机器人的业务系统已支持的意图,对这些语料进行意图标注,剔除无效信息,并将标注好的语料迭代到意图分类器501中学习(即进行监督学习),优化意图分类器501。其中,第一置信度和第二置信度的具体取值不同。
示例1,假设第一置信度的具体取值是0.8,第二置信度的具体取值是0.4。例如,若电子设备收集到的对话日志中包括语料“删除我的信息”,意图分类器501通过对这条语料进行语料识别,得到了三个置信度,即该语料对应的意图为对话机器人的业务系统已支持意图的概率,该语料对应的意图为“清空消息”、“发消息”、“未读信息”的概率分别为0.67、0.52、0.44,这些置信度均大于第二置信度且小于第一置信度,电子设备将这条语料划分到标注池502。再例如,对话日志中包括语料“邮件附件看不了”,意图分类器501确定出这条语料对应的意图为“邮件附件权限”的概率为0.54,即置信度为0.54,该置信度大于第二置信度且小于第一置信度,电子设备将这条语料划分到标注池502。由人工对标注池中的些语料进行意图标注,并将标注好的语料迭代到意图分类器501中学习(即进行监督学习),优化意图分类器501。
示例2,第一置信度的具体取值继续以0.8为例,第二置信度的具体取值继续以0.4为例。意图分类器501确定出对话日志中的每条语料的置信度之后,电子设备将置信度大于0.8的语料(即已明确意图的语料)划分到意图池503,由意图池503根据每个已明确意图出现的频率确定这些已明确意图的热度,并排序。例如,意图池503确定出意图“清空聊天记录”的主题意图集为“清空消息”以及热度为30;意图池503确定出意图“邮件附件权限”的主题意图集为“邮件权限”以及热度为20;意图池503对这两个意图进行排序并输出(参见图5所示),同时输出用于提醒用户进行选择操作的提示信息。
示例3,第一置信度的具体取值继续以0.8为例,第二置信度的具体取值继续以0.4为例。意图分类器501确定出对话日志中的每条语料的置信度之后,电子设备将置信度小于0.4的语料(即未识别出意图的语料)划分到语料池504,由电子设备执行本申请实施例提供的确定语料意图的方法,对未识别出意图的语料(即图5中的不规则语料集)进行意图挖掘,得到以核心词为主题的意图1、意图2、……、意图N,其中,无法挖掘出新意图的语料放在语料池504中,和下一次意图分类器501筛选出的未识别意图的语料作为新的不规则语料集(例如前述的第一语料集)再次进行意图挖掘,得到关联新意图的语料集,并将关联新意图的语料作为新的训练集迭代到意图分类器501中训练(即进行主动学习),优化意图分类器501。
由以上描述可知,在图5所示的方案中,通将监督学习和主动学习相结合,将小部分人工标注的语料数据和每一层语料集中挖掘出新意图的语料数据作为训练集,不断的迭代优化训练意图分类器501,进而使的对话机器人的语音系统更加智能,能够识别更多的意图,提高了用户体验。
为了更加清楚地理解本申请实施例,下面再结合一个具体的示例对语料池504中的语料进行意图挖掘的过程进行举例说明。
请参见图6,为一种可能的语料意图挖掘过程的示意图,假设语料池504中的初始语料集的语料数量为200条,以TF-IDF值大于设定阈值(例如0.85)的名词作为筛选条件,对该初始语料集进行核心词筛选后得到“邮件”、“消息”、“周六”三个核心词,根据这三个核心词将该初始语料集进行分类后,得到了邮件类别语料集(80条)、消息类别语料集(28条)、周六类别语料集(10条)以及未识别语料集(82条)。
这里设定的用于确定每一类语料集是否直接生成意图的预设条件是语料数量小于30,电子设备通过判断发现消息类别语料集和周六类别语料集的语料数量满足第一预设条件,则可以直接生成“消息”意图和“周六”意图,并输出“消息”意图关联的语料集以及“周六”意图关联的语料集。由于邮件类别语料集中的语料数量不满足预设条件,进一步对邮件类别语料集进行预设操作。例如,预设操作,可以是:以TF-IDF值大于设定阈值(例如,0.84)的动词或名词作为筛选条件,筛选邮件类别语料集里的核心词,得到“查”、“写”、“附件”这三个核心词;根据这三个核心词对邮件类别语料集进行子集划分,得到查邮件类别语料集(20条)、写邮件类别语料集(22条)、邮件附件类别语料集(35条)。
进一步判断发现查邮件类别语料集(20条)、写邮件类别语料集(22条)满足预设条件,则根据预设规则(例如动词-名词、名词-名词等顺序)将核心词“邮件”与核心词“查”、“写”相结合,生成“查邮件”意图和“写邮件”意图,并输出“查邮件”意图关联的语料集以及“写邮件”意图关联的语料集。
但是,邮件附件类别语料集的语料数量数仍大于阀值,则进一步对邮件附件类别语料集继续执行上述预设操作,得到了“申请邮件附件”意图关联的语料集(10条)、“查看邮件附件”意图关联语料集(15条)、以及未识别语料集(5条)。
从图6可以看出,通过对上述初始语料集进行意图挖掘后,从该初始语料集中自动生成的意图有“申请邮件附件”、“查看邮件附件”、“查邮件”、“写邮件”、“消息”、“周六”。
对于在上述过程中确定出来的关联新意图的语料集,可以作为新的训练集,应用到图5所示的意图分类器501的模型训练过程中,以实现对意图分类器501的优化。而对于在上述过程中,仍未能识别的语料集可以和下一次采集到的语料集作为新的初始语料集,通过本申请实施例提供的确定语料意图的方法再次进行意图挖掘。
基于与方法实施例同一技术构思,本申请实施例还提供一种确定语料意图的装置700,可以用于执行上述图4~图6所示方法实施例中确定语料意图的方法。
示例性地,如图7所示,装置700可以包括确定模块701、处理模块702;其中,确定模块701,用于确定第一语料集,第一语料集中包含若干条语料;确定模块701可用于执行如图4所示实施例中的步骤S401-S402。处理模块702,用于根据至少一个核心词对第一语料集进行预设操作;处理模块702可用于执行如图4所示实施例中的步骤S403-S406。
其中,处理模块702在用于对第一语料集执行预设操作时,具体用于:
根据至少一个核心词对第一语料集中的语料进行子集划分,获得至少一个子集,其中,至少一个子集与至少一个核心词一一对应,每个子集中的语料均包含每个子集对应的核心词;
在至少一个子集中的第一子集中的语料数量小于第一预设值时,基于第一子集对应的核心词,确定第一子集中的所有语料的第一意图,并基于第一意图为第一子集中的所有语料添加意图标签;其中,第一子集可以为至少一个子集中的任意一个子集;
在第一子集中的语料数量不小于第一预设值时,将第一子集重新作为第一语料集,并对重新确定的第一语料集执行预设操作;其中,对不同第一语料集执行预设操作时所使用的核心词的词性不同。
示例性的,处理模块702在用于根据至少一个核心词对所述第一语料集中的语料进行子集划分时,可以在所述第一语料集中选择逆文本频率指数TF-IDF值大于设定阈值的动词或名词作为至少一个核心词;并且在不同第一语料集中选择至少一个核心词时所基于的设定阈值大小可以相同,也可以不同;基于选择的至少一个核心词对第一语料集中的语料进行子集划分。
可选的,处理模块702还可以进一步结合语料中的句子成分从第一语料集中筛选至少一个核心词。例如,将第一语料集中TF-IDF值大于设定阈值且处于宾语位置的名词作为至少一个核心词。
示例性的,确定模块701在用于确定第一语料集时,可以获取包含多条语料的对话日志,并从这多条语料中筛选出置信度不大于第一置信度的语料,将筛选出的语料作为第一语料集,其中,置信度用于表征语料分类的准确程度。
一种示例,处理模块702在用于根据至少一个核心词对所述第一语料集中的语料进行子集划分时,对于第一语料集中包括至少两个核心词的第一语料,有以下三种划分方式:
方式1,将第一语料划分到与该至少两个核心词分别对应的至少两个子集中的每个子集中。
方式2,确定所述至少两个核心词中TF-IDF值最大的核心词,将第一语料划分到TF-IDF值最大的核心词对应的子集中。
方式3,确定第一语料中所包含的多个核心词之间的相关性,若相关性大于预设值,将这多个核心词所对应的语料集合并成一个新的语料集,将第一语料划分到这个新的语料集中。
可选的,处理模块702在用于基于所述第一意图为所述第一子集中的所有语料添加意图标签之后,还可以基于已添加意图标签的语料生成数据库;在接收到第一语音指令时,从该数据库中确定出与第一语音指令相匹配的语料,并基于相匹配的语料的意图标签确定第一语音指令的意图。
进一步地,处理模块702在基于该语料的意图标签确定第一语音指令的意图之后,还可以根据第一语音指令的意图执行第一操作,即执行用户想要执行的操作。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
基于同一技术构思,本申请实施例还提供一种电子设备800,用于实现图4~图6所示实施例中的方法。
如图8所示,电子设备800可以包括处理器801用于执行存储器802存储的程序或指令,当存储器802存储的程序或指令被执行时,所述处理器用于执行图4~图6所示实施例中的方法。可选的,电子设备800还可以包括通信接口803。附图8用虚线表示通信接口803对于电子设备800是可选的。
其中,处理器801、存储器802和通信接口803的个数并不构成对本申请实施例的限定,具体实施时,可以根据业务需求任意配置。
一种实施例中,所述存储器802可以位于所述电子设备800之外。另一种实施例中,所述电子设备800可以包括所述存储器802,所述存储器802与所述至少一个处理器801相连,所述存储器802存储有可被所述至少一个处理器801执行的指令。附图8用虚线表示存储器802对于电子设备800是可选的。其中,所述处理器801和所述存储器802可以通过接口电路耦合,也可以集成在一起,这里不做限制。
本申请实施例中不限定上述处理器801、存储器802以及通信接口803之间的具体连接介质。本申请实施例在图8中以处理器801、存储器802以及通信接口803之间通过总线804连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,本申请实施例中提及的处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
示例性的,处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data EateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
图7中的确定模块701、处理模块702的功能/实现过程均可以通过图8中的处理器801调用存储器802中存储的计算机执行指令来实现。
基于同一技术构思,本申请实施例还提供一种计算机可读介质,该计算机可读介质存储有用于设备执行的程序代码,该程序代码包括用于执行前述实施例中的确定语料意图的方法。
基于同一技术构思,本申请实施例还提供一种包含指令的计算机程序指令,当该计算机程序指令在计算机上运行时,使得计算机执行前述实施例中的确定语料意图的方法。
基于同一技术构思,本申请实施例还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器用于通过所述数据接口读取并执行存储器上存储的指令,执行前述实施例中的确定语料意图的方法。
在一种可能的设计中,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行前述实施例中的确定语料意图的方法。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种确定语料意图的方法,其特征在于,包括:
确定第一语料集,所述第一语料集中包含若干条语料;
对所述第一语料集执行下述预设操作:
根据至少一个核心词对所述第一语料集中的语料进行子集划分,获得至少一个子集,其中,所述至少一个子集与所述至少一个核心词一一对应,每个所述子集中的语料均包含每个所述子集对应的核心词;
在所述至少一个子集中的第一子集中的语料数量小于第一预设值时,基于所述第一子集对应的核心词,确定所述第一子集中的所有语料的第一意图,并基于所述第一意图为所述第一子集中的所有语料添加意图标签;所述第一子集为所述至少一个子集中的任意一个子集;
在所述第一子集中的语料数量不小于所述第一预设值时,将所述第一子集重新作为所述第一语料集,并对重新确定的所述第一语料集执行所述预设操作;其中,对不同所述第一语料集执行所述预设操作时所使用的核心词的词性不同。
2.如权利要求1所述的方法,其特征在于,根据至少一个核心词对所述第一语料集中的语料进行子集划分,包括:
在所述第一语料集中选择逆文本频率指数TF-IDF值大于设定阈值的动词或名词作为所述至少一个核心词;其中,在不同所述第一语料集中选择所述至少一个核心词时所基于的所述设定阈值大小相同或不同;
基于选择的所述至少一个核心词对所述第一语料集中的语料进行子集划分。
3.如权利要求1或2所述的方法,其特征在于,所述确定第一语料集,包括:
获取对话日志,所述对话日志中包含多条语料;
筛选出所述多条语料中置信度小于或等于第一置信度的语料,基于筛选出的语料生成所述第一语料集,其中所述置信度用于表征语料分类的准确程度。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述根据所述至少一个核心词对所述第一语料集中的语料进行子集划分,包括:
若所述第一语料集中的第一语料包括至少两个核心词,将所述第一语料划分到与所述至少两个核心词分别对应的至少两个子集中的每个子集中;其中,所述第一语料为所述第一语料集包括的多个语料中的任意一个语料。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述根据所述至少一个核心词对所述第一语料集中的语料进行子集划分,包括:
若所述第一语料集中的第一语料包括至少两个核心词,确定所述至少两个核心词中逆文本频率指数TF-IDF值最大的核心词;
将所述第一语料划分到所述TF-IDF值最大的核心词对应的子集中;其中,所述第一语料为所述第一语料集包括的多个语料中的任意一个语料。
6.如权利要求1-5中任一项所述的方法,其特征在于,在基于所述第一意图为所述第一子集中的所有语料添加意图标签之后,还包括:
基于已添加意图标签的语料生成数据库;
在接收到第一语音指令时,从所述数据库中确定出与所述第一语音指令相匹配的语料;
基于所述相匹配的语料的意图标签确定所述第一语音指令的意图。
7.如权利要求6所述的方法,其特征在于,在基于所述相匹配的语料的意图标签确定所述第一语音指令的意图之后,还包括:
根据所述第一语音指令的意图执行第一操作。
8.一种确定语料意图的装置,其特征在于,包括:
确定模块,用于确定第一语料集,所述第一语料集中包含若干条语料;
处理模块,用于对所述第一语料集执行下述预设操作:
根据至少一个核心词对所述第一语料集中的语料进行子集划分,获得至少一个子集,其中,所述至少一个子集与所述至少一个核心词一一对应,每个所述子集中的语料均包含每个所述子集对应的核心词;
在所述至少一个子集中的第一子集中的语料数量小于第一预设值时,基于所述第一子集对应的核心词,确定所述第一子集中的所有语料的意图,并基于所述意图为所述第一子集中的所有语料添加意图标签;所述第一子集为所述至少一个子集中的任意一个子集;
在所述第一子集中的语料数量不小于所述第一预设值时,将所述第一子集重新作为所述第一语料集,并对重新确定的所述第一语料集执行所述预设操作;其中,对不同所述第一语料集执行所述预设操作时所使用的核心词的词性不同。
9.如权利要求8所述的装置,其特征在于,所述处理模块在用于根据至少一个核心词对所述第一语料集中的语料进行子集划分时,具体用于:
在所述第一语料集中选择逆文本频率指数TF-IDF值大于设定阈值的动词或名词作为所述至少一个核心词;其中,在不同所述第一语料集中选择所述至少一个核心词时所基于的所述设定阈值大小相同或不同;
基于选择的所述至少一个核心词对所述第一语料集中的语料进行子集划分。
10.如权利要求8或9所述的装置,其特征在于,所述确定模块在用于确定第一语料集时,具体用于:
获取对话日志,所述对话日志中包含多条语料;筛选出所述多条语料中置信度小于或等于第一置信度的语料,基于筛选出的语料生成所述第一语料集,其中所述置信度用于表征语料分类的准确程度。
11.如权利要求8-10中任一项所述的装置,其特征在于,所述处理模块在用于根据所述至少一个核心词对所述第一语料集中的语料进行子集划分时,具体用于:
若所述第一语料集中的第一语料包括至少两个核心词时,将所述第一语料划分到与所述至少两个核心词分别对应的至少两个子集中的每个子集中。
12.如权利要求8-10中任一项所述的装置,其特征在于,所述处理模块在用于根据所述至少一个核心词对所述第一语料集中的语料进行子集划分时,具体用于:
若所述第一语料集中的第一语料包括至少两个核心词时,确定所述至少两个核心词中逆文本频率指数TF-IDF值最大的第一类核心词;
将所述第一语料划分到所述TF-IDF值最大的核心词对应的子集中;其中,所述第一语料为所述第一语料集包括的多个语料中的任意一个语料。
13.如权利要求8-12中任一项所述的装置,其特征在于,所述处理模块在用于基于所述第一意图为所述第一子集中的所有语料添加意图标签之后,还用于:
基于已添加意图标签的语料生成数据库;
在接收到第一语音指令时,从所述数据库中确定出与所述第一语音指令相匹配的语料,基于所述相匹配的语料的意图标签确定所述第一语音指令的意图。
14.如权利要求13所述的装置,其特征在于,所述处理模块在用于基于所述相匹配的语料的意图标签确定所述第一语音指令的意图之后,还用于:
根据所述第一语音指令的意图执行第一操作。
15.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储软件程序;
处理器,用于读取并执行所述存储器中存储的软件程序,以使如权利要求1-7中任一项所述的方法被执行。
16.一种计算机存储介质,其特征在于,所述存储介质中存储程序指令,所述程序指令在被一个或多个处理器读取并执行时实现权利要求1-7中任一项所述的方法。
CN202010985724.1A 2020-09-18 2020-09-18 一种确定语料意图的方法、装置及电子设备 Active CN112256863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010985724.1A CN112256863B (zh) 2020-09-18 2020-09-18 一种确定语料意图的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010985724.1A CN112256863B (zh) 2020-09-18 2020-09-18 一种确定语料意图的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112256863A true CN112256863A (zh) 2021-01-22
CN112256863B CN112256863B (zh) 2024-06-25

Family

ID=74231595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010985724.1A Active CN112256863B (zh) 2020-09-18 2020-09-18 一种确定语料意图的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112256863B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656354A (zh) * 2021-08-06 2021-11-16 杭州安恒信息技术股份有限公司 日志分类方法、系统、计算机设备和可读存储介质
CN115168593A (zh) * 2022-09-05 2022-10-11 深圳爱莫科技有限公司 一种可自我学习的智能对话管理系统、方法及处理设备
CN117454885A (zh) * 2023-10-30 2024-01-26 赛力斯汽车有限公司 一种语音文本的意图识别方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278996B1 (en) * 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response
CN104951428A (zh) * 2014-03-26 2015-09-30 阿里巴巴集团控股有限公司 用户意图识别方法及装置
CN109753609A (zh) * 2018-08-29 2019-05-14 百度在线网络技术(北京)有限公司 一种多意图查询方法、装置以及终端
CN110162775A (zh) * 2019-03-11 2019-08-23 腾讯科技(深圳)有限公司 确定意图识别准确度的方法、装置及计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278996B1 (en) * 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response
CN104951428A (zh) * 2014-03-26 2015-09-30 阿里巴巴集团控股有限公司 用户意图识别方法及装置
CN109753609A (zh) * 2018-08-29 2019-05-14 百度在线网络技术(北京)有限公司 一种多意图查询方法、装置以及终端
CN110162775A (zh) * 2019-03-11 2019-08-23 腾讯科技(深圳)有限公司 确定意图识别准确度的方法、装置及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨春妮;冯朝胜;: "结合句法特征和卷积神经网络的多意图识别模型", 计算机应用, no. 07, 20 March 2018 (2018-03-20), pages 15 - 21 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656354A (zh) * 2021-08-06 2021-11-16 杭州安恒信息技术股份有限公司 日志分类方法、系统、计算机设备和可读存储介质
CN115168593A (zh) * 2022-09-05 2022-10-11 深圳爱莫科技有限公司 一种可自我学习的智能对话管理系统、方法及处理设备
CN115168593B (zh) * 2022-09-05 2022-11-29 深圳爱莫科技有限公司 一种可自我学习的智能对话管理方法及处理设备
CN117454885A (zh) * 2023-10-30 2024-01-26 赛力斯汽车有限公司 一种语音文本的意图识别方法、装置及存储介质
CN117454885B (zh) * 2023-10-30 2024-06-25 赛力斯汽车有限公司 一种语音文本的意图识别方法、装置及存储介质

Also Published As

Publication number Publication date
CN112256863B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
US11948058B2 (en) Utilizing recurrent neural networks to recognize and extract open intent from text inputs
US11468246B2 (en) Multi-turn dialogue response generation with template generation
US11720572B2 (en) Method and system for content recommendation
US11663409B2 (en) Systems and methods for training machine learning models using active learning
CN112256863B (zh) 一种确定语料意图的方法、装置及电子设备
US11397859B2 (en) Progressive collocation for real-time discourse
CN112380331A (zh) 信息推送的方法和装置
CN110955766A (zh) 一种自动扩充智能客服标准问题对的方法和系统
CN111353021A (zh) 意图识别方法和设备、电子设备和介质
CN112579733A (zh) 规则匹配方法、规则匹配装置、存储介质及电子设备
US20220351634A1 (en) Question answering systems
US20230061731A1 (en) Significance-based prediction from unstructured text
US20230054726A1 (en) Query-focused extractive text summarization of textual data
US11922515B1 (en) Methods and apparatuses for AI digital assistants
US20230351121A1 (en) Method and system for generating conversation flows
US20230419035A1 (en) Natural language processing machine learning frameworks trained using multi-task training routines
US20230419034A1 (en) Natural language processing machine learning frameworks trained using multi-task training routines
CN115358817A (zh) 基于社交数据的智能产品推荐方法、装置、设备及介质
US11822893B2 (en) Machine learning models for detecting topic divergent digital videos
AU2019290658B2 (en) Systems and methods for identifying and linking events in structured proceedings
US12032590B1 (en) Machine learning techniques for normalization of unstructured data into structured data
US20240220511A1 (en) Machine learning techniques for normalization of unstructured data into structured data
US11989240B2 (en) Natural language processing machine learning frameworks trained using multi-task training routines
US20240095583A1 (en) Machine learning training approach for a multitask predictive domain
US20230224493A1 (en) Segment-wise prediction machine learning frameworks

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
GR01 Patent grant