一种基于人机对话的用户画像构建方法、系统、终端及存储介质与流程

文档序号:22878258发布日期:2020-11-10 17:32阅读:101来源:国知局
一种基于人机对话的用户画像构建方法、系统、终端及存储介质与流程

本发明涉及人机交互技术领域,特别是涉及一种基于人机对话的用户画像构建方法、系统、终端及存储介质。



背景技术:

随着智能对话技术的发展,对话机器人在众多的场景中得到了广泛的应用,例如垂直场景下的任务型机器人、问答机器人和开放场景下的闲聊机器人等。在用户与对话机器人的交互过程中,对话机器人常常会接收到一些关于用户个人信息的描述,自动化地提取人机交互中包含的用户属性信息并构建用户画像,进而针对性地向用户提供不同场景下的营销推荐,具有很大的商业价值。

传统的人机交互用户属性信息提取方法通常采用基于规则或者一些简单的机器学习方法,但这些方法仅能从句式相对固定的描述中提取到显式用户属性信息,而很难捕捉到用户的隐式属性表达。另外,对于不同类型的用户信息,往往需要设计不同的提取方法,然而目前并没有统一的用户信息提取框架,因此传统的人机交互用户属性信息提取方法灵活性和准确性都相对较差。



技术实现要素:

本发明提供了一种基于人机对话的用户画像构建方法、系统、终端及存储介质,能够在一定程度上解决现有技术中存在的不足。

为解决上述技术问题,本发明采用的技术方案为:

一种基于人机对话的用户画像构建方法,包括:

获取人机交互过程中的对话数据;

将所述对话数据输入属性分类模型,所述属性分类模型包括对话编码器、属性分类器和实体生成器,通过所述对话编码器对所述对话数据进行编码,通过所述属性分类器对所述编码后的对话数据进行属性类型分类,通过所述实体生成器提取各个属性类型对应的主语和宾语,所述属性分类模型将所述主语和宾语与对应的属性类型进行拼接,并输出由主语、属性类型和宾语组成的三元组信息;

根据所述三元组信息构建用户画像。

本发明实施例采取的技术方案还包括:所述对话数据包括语音数据或/和文本数据。

本发明实施例采取的技术方案还包括:所述获取人机交互过程中的对话数据还包括:

通过asr技术将所述语音数据转换为文本数据。

本发明实施例采取的技术方案还包括:所述通过对话编码器对对话数据进行编码包括:

所述对话编码器包括一个双向gru,所述双向gru的输入为单词嵌入向量组成的序列,用于对所述文本数据中的每一个句子分别进行编码,得到单句级别的编码序列{h1,h2,h3,…,hn}:

上式中,e(wi,j)表示单词wi,j的嵌入向量。

本发明实施例采取的技术方案还包括:所述通过对话编码器对对话数据进行编码还包括:

所述对话编码器还包括一个单向gru,所述单向gru的输入为所述单句级别的编码序列{h1,h2,h3,…,hn},根据gru本身的序列编码特性将gru每一时刻的隐状态构成新的句子嵌入表达序列{h1,h2,h3,…,hn},使得所述新的句子嵌入表达中包含每一个句子的上下文信息:

本发明实施例采取的技术方案还包括:所述通过属性分类器对编码后的对话数据进行属性类型分类包括:

所述属性分类器采用线性映射层加sigmoid激活函数层进行属性类型分类:

pi=σ(whi+b)

上式中,pi表示第i个句子在所有预先定义的属性类型下的概率分布,σ表示sigmoid激活函数,w和b是线性映射的权重参数,hi是所述单向gru编码得到的第i个句子的嵌入表达向量。

本发明实施例采取的技术方案还包括:所述通过实体生成器提取各个属性类型对应的主语和宾语包括:

所述实体生成器采用gru进行主语和宾语的提取,将实体生成定义成一个序列生成问题,所述实体生成器的目标序列为由主语和宾语拼接成的序列,所述gru起始时刻的输入为某一种属性类型的嵌入向量,起始时刻的隐状态为对应句子由所述单向gru进行编码的最后一个时刻得到的隐状态,使得各个属性类型分别对应一种实体生成器,通过所述实体生成器输出各个属性类型对应的主语和宾语。

本发明实施例采取的另一技术方案为:一种基于人机对话的用户画像构建系统,包括:

数据获取模块:用于获取人机交互过程中的对话数据;

属性信息提取模块:用于将所述对话数据输入属性分类模型,所述属性分类模型包括对话编码器、属性分类器和实体生成器,通过所述对话编码器对所述对话数据进行编码,通过所述属性分类器对所述编码后的对话数据进行属性类型分类,通过所述实体生成器提取各个属性类型对应的主语和宾语,所述属性分类模型将所述主语和宾语与对应的属性类型进行拼接,并输出由主语、属性类型和宾语组成的三元组信息;

用户画像构建模块:用于根据所述三元组信息构建用户画像。

本发明实施例采取的又一技术方案为:一种终端,所述终端包括处理器、与所述处理器耦接的存储器,其中,

所述存储器存储有用于实现上述的基于人机对话的用户画像构建方法的程序指令;

所述处理器用于执行所述存储器存储的所述程序指令以执行所述基于人机对话的用户画像构建操作。

本发明实施例采取的又一技术方案为:一种存储介质,存储有处理器可运行的程序指令,所述程序指令用于执行上述的基于人机对话的用户画像构建方法。

本发明的有益效果是:本发明实施例的基于人机对话的用户画像构建方法、系统、终端及存储介质通过构建包括对话编码器、属性分类器和实体生成器为一体的属性分类模型,能够在统一框架下自动提取人机对话中不同属性类型的显式或隐式用户属性信息,根据提取的属性信息构建用户画像,根据用户画像进行不同场景的营销任务推荐。本发明实施例可以部署到不同的场景任务中,提升了用户属性信息提取的灵活性和准确性。

附图说明

图1是本发明第一实施例的基于人机对话的用户画像构建方法的流程示意图;

图2是本发明实施例的属性分类模型结构示意图;

图3是本发明第二实施例的基于人机对话的用户画像构建方法的流程示意图;

图4是本发明实施例基于人机对话的用户画像构建系统的结构示意图;

图5是本发明实施例的本发明实施例的终端结构示意图;

图6是本发明实施例的存储介质结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

请参阅图1,是本发明第一实施例的基于人机对话的用户画像构建方法的流程示意图。本发明第一实施例的基于人机对话的用户画像构建方法包括以下步骤:

s10:对历史人机交互对话数据进行采样,得到人机对话样本数据;

本步骤中,人机对话样本数据即为用户与机器人或人工坐席之间的对话,人机对话数据样本包括语音数据或/和文本数据等。

s11:将人机对话样本数据转换为文本数据;

本步骤中,如果人机对话样本数据是语音数据,则通过asr(automaticspeechrecognition,自动语音识别)技术将语音数据转换为文本格式;如果人机对话样本数据是通过文本交互产生的,则直接采用原始的文本数据。

s12:对文本数据中的用户属性信息按照(主语、属性类型、宾语)的三元组形式进行标注,生成训练模型的数据集;

本步骤中,用户属性信息即为用户在人机对话过程中对个人信息的描述,例如婚姻状况、子女情况、职业信息等。例如某一个句子为“我儿子今年7岁”,则该句子对应的用户属性信息标签为(儿子,年龄,7岁)。

s13:根据数据集训练属性分类模型,属性分类模型输出由主语、属性类型和宾语组成的三元组信息;

本步骤中,属性分类模型结构如图2所示,其包括对话编码器、属性分类器和实体生成器,首先对话编码器对文本数据进行编码,然后以对话编码器的输出作为属性分类器的输入,得到一个多标签分类相关的损失,随后每个激活的属性类型连同对话编码器的输出一起输入实体生成器,生成每个属性类型对应的主语和宾语,实体生成器部分也会对应一个序列相关的损失,最终模型的训练是在这两部分损失的驱动下进行的,构成一个多任务学习的框架。

本发明实施例采用有监督的方式进行模型训练,具体训练过程包括:

1、通过对话编码器对文本数据进行编码;其中,对话编码器采用gru(gatedrecurrentunits,门控循环单元)对文本数据进行编码。具体的,对话编码器包括一个双向gru和一个单向gru,双向gru接收的输入是单词嵌入向量(wordembedding)组成的序列,用于对文本数据中的每一个句子分别进行编码;单向gru接收的输入是编码后的句子嵌入向量(utteranceembedding)组成的序列,用于对文本数据中每一个句子的上下文信息分别进行编码。

例如:假设一段文本数据由n个句子(utterance)组成,表示成c={u1,u2,u3,…,un},第i个句子由ki个单词(word)组成,表示成ui={wi,1,wi,2,wi,3,…,wi,ki}。则对第i个句子的编码过程表示成下面的形式,得到单句级别的编码序列{h1,h2,h3,…,hn}:

上式中,e(wi,j)表示单词wi,j的嵌入向量。

得到单句级别的编码序列{h1,h2,h3,…,hn}后,将其送入单向gru进行对话级别的编码,将gru每一时刻的隐状态(hiddenstate)构成新的句子嵌入表达序列{h1,h2,h3,…,hn},编码过程表示成下面的形式:

其中,由于gru本身的序列编码特性,经过上述编码后,新的句子嵌入表达中包含每一个句子的上下文信息。例如,对于句子ui,其嵌入表达hi中融合了前文u1到ui-1和ui的信息。

2、通过属性分类器对编码后的文本数据进行属性类型分类;其中,由于用户可能在一轮表达中产生多个类型的属性信息,例如性别、年龄或职业等,因此本发明将属性分类器设计为一个多标签分类器。具体地,属性分类器采用一个简单的全连接层,即线性映射层加上sigmoid激活函数层,如下所示:

pi=σ(whi+b)(5)

上式中,pi表示第i个句子在所有预先定义的属性类型下的概率分布,σ表示sigmoid激活函数,w和b是线性映射的权重参数,hi是单向gru编码得到的第i个句子的嵌入表达向量。

3、将编码后的文本数据和属性分类器输出的属性类型一起输入实体生成器,通过实体生成器提取各个属性类型对应的主语和宾语;其中,实体生成器采用gru进行主语和宾语的提取。将实体生成定义成一个序列生成问题,实体生成器的目标序列为由主语和宾语拼接成的序列,gru起始时刻的输入为某一种属性类型的嵌入向量,起始时刻的隐状态(hiddenstate)为对应句子由单向gru进行编码的最后一个时刻得到的隐状态,以使得各个属性类型分别对应一种实体生成器,通过实体生成器输出各个属性类型对应的主语和宾语,然后将实体生成器的输出结果和对应的属性类型进行拼接,最终得到由主语、属性类型和宾语组成的三元组信息。

s14:根据三元组信息构建用户画像。

基于上述,本发明实施例的基于人机对话的用户画像构建方法通过构建包括对话编码器、属性分类器和实体生成器为一体的属性分类模型,能够在统一框架下自动提取人机对话中不同属性类型的显式或隐式用户属性信息,根据提取的属性信息构建用户画像,根据用户画像进行不同场景的营销任务推荐。本发明实施例可以部署到不同的场景任务中,提升了用户属性信息提取的灵活性和准确性。

请参阅图3,是本发明第二实施例的基于人机对话的用户画像构建方法的流程示意图。本发明第二实施例的基于人机对话的用户画像构建方法包括以下步骤:

s20:获取人机交互过程中的对话数据,将对话数据转换成文本数据;

s21:将文本数据输入训练得到的属性分类模型,通过属性分类模型提取文本数据中包含的用户属性信息,并输出由主语、属性类型、宾语组成的三元组信息;

s22:根据三元组信息构建用户画像。

在一个可选的实施方式中,还可以:将所述的基于人机对话的用户画像构建方法的结果上传至区块链中。

具体地,基于所述的基于人机对话的用户画像构建方法的结果得到对应的摘要信息,具体来说,摘要信息由所述的基于人机对话的用户画像构建方法的结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得该摘要信息,以便查证所述的基于人机对话的用户画像构建方法的结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

请参阅图4,是本发明实施例基于人机对话的用户画像构建系统的结构示意图。本发明实施例基于人机对话的用户画像构建系统40包括:

数据获取模块41:用于获取人机交互过程中的对话数据;

属性信息提取模块42:用于将所述对话数据输入属性分类模型,所述属性分类模型包括对话编码器、属性分类器和实体生成器,通过所述对话编码器对所述对话数据进行编码,通过所述属性分类器对所述编码后的对话数据进行属性类型分类,通过所述实体生成器提取各个属性类型对应的主语和宾语,所述属性分类模型将所述主语和宾语与对应的属性类型进行拼接,并输出由主语、属性类型和宾语组成的三元组信息;

用户画像构建模块43:用于根据所述三元组信息构建用户画像。

请参阅图5,为本发明实施例的终端结构示意图。该终端50包括处理器51、与处理器51耦接的存储器52。

存储器52存储有用于实现上述基于人机对话的用户画像构建方法的程序指令。

处理器51用于执行存储器52存储的程序指令以执行基于人机对话的用户画像构建操作。

其中,处理器51还可以称为cpu(centralprocessingunit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

请参阅图6,图6为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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