1.一种基于BERT的智能家居使用事件抽取方法,其特征在于,包括以下步骤:S1.使用数据挖掘的方法获取用户使用智能家居的行为数据并做数据清洗,根据获得到的数据以及专家知识,构建用户使用智能家居的事件类别;
步骤S1通过使用神经网络对多模态信息进行协同特征表示,接着使用全连接神经网络结合专家知识的方式对事件类型进行划分,具体步骤如下:S11.多模态信息协同特征表示学习:
所有的模态数据信息I进行特征提取,获得特征集合Feature=(f1,f2,...,fn),其中fn表示第n个特征元素,将多模态所输出的不同的特征通过池化的方式进行合成,得到多模态数据特征间的多阶关系抽象特征表示E,通过协同特征的方法进行表示学习可以得到多模态抽象空间,进而可以通过获取到的特征直接共享同一神经网络模型;
S12.基于专家知识的事件角色划定:
专家知识初步获取用户使用智能家居事件的角色集合R=(role1,role2,...,rolen),其中rolen表示第n个角色元素,针对每个事件类型,为其分配相应的角色集合r,S2.根据事件类型准备论元角色槽位,将候选实体、事件触发词通过WordPiece方法进行分词并获取token词元,传入BERT预训练模型获取其隐藏层编码,在BERT模块后添加CRF层进行结果先后顺序的约束,并计算论元角色的最大似然估计,实现角色与论元的链接;
步骤S2具体步骤如下:
S21.事件触发词指定:
将用户指令集合C=(command1,command2,...,commandn),其中commandn表示第n个用户指令元素,映射为事件触发词集合Tr=(Trigger1,Trigger2,...,Triggern),其中Truggern表示第n个事件触发词元素,即:Tr=f(C),
f(·)为用户指令到事件触发词的映射函数,映射类型为满的单射,即事件触发词与用户指令一一对应,将事件触发词使用WordPiece分词方法进行切词获取Token词元,接着构造预训练语言模型BERT的输入,即“[CLS]Token1,Token2,...,Tokenm[SEP]”,传入BERT后获取触发词的隐藏层表示,将[CLS]的隐藏层表示外接一个全连接神经网络DNN进行事件分类,最后经过Softmax进行事件类别输出,获取事件类型Type,其计算方式如下:P(i|E)=soft max(WE+b),
Type=arg max(P(i|E)),
其中,[CLS]表示输入的标记,用于分类任务,[SEP]表示Token词元之间的分隔符,Tokenm表示第m个词元,P(i|E)表示在抽象特征表示E的条件下,事件被判定为类别i的概率,softmax(·)表示激活函数,argmax(·)表示返回函数最大值,W是可学习的权重矩阵,b是偏置项,i∈T,T是事件类别数;
S22.事件槽位准备:
在此模块中,将上面获取到的事件触发词以及事件类别进行保存,并根据事件类型准备事件角色槽位,首先,动态获取事件类型对应的角色集合r,以r中的角色作为原子节点,通过集合扩展的方式对事件角色进行top‑k数据遍历扩展,在整个智能家居语料库中,获取实体集,其次,聚集角色集合r中的每一个实体tm以及实体集En中每一个实体tn相关度来计算两个实体的语义相关度,定义为Sim(tm,tn),计算公式为:其中,Jaccard(·)表示相似度函数,C(·)是实体的概念集;
然后对上面生成的Sim进行排序,选择top‑k作为角色集合r的扩充,对于k的个数选定,* *规定扩展后的集合大小|r|≤10,即k=max((10‑|r|),0),并将最终角色集合r用于事件论元与角色链接流程中;
S23.候选实体与事件角色的链接:
在这个模块中,利用上面的事件触发词、事件类型以及事件角色,进行候选实体与事件角色链接,同样,利用WordPiece方法对智能家居的响应具体内容进行分词,获取token词元,接着构造预训练语言模型BERT的输入,即“[CLS]Trigger[SEP]sequence[SEP]”,传入BERT后获取输入序列的隐藏层表示,将每个Token的隐藏层表示输入到条件随机场模型(CRF),用来约束命名实体标签出现的先后关系,设置的优化目标函数为:其中,s(·)为路径的打分函数,包括发射分数和转移分数,T为BERT的输出表示,y为真实序列,y’为其他可能序列;
S3.以事件触发词和事件论元为核心,根据事件之间的关系进行事件知识图谱的构建。
2.根据权利要求1所述基于BERT的智能家居使用事件抽取方法,其特征在于:给定一个事件Event,其对应的节点属性应该是唯一的事件id,事件触发词Trigger,事件论元argument,规定每个事件必须有Time角色,其对应论元为时间戳;
使用BERT模型将两个事件拼接进行编码,用以识别两个事件之间的关系,在输入时将触发词的位置以及时间戳的位置进行标记,将拼接后的向量输入到一个全连接层后,接入Softmax进行分类,判别出共指关系、时序关系、因果关系和子事件关系,Rel=Softmax(FC(combine(eυent1,eυent2))),其中Rel(·)表示两事件之间的关系,combine(·)代表拼接操作,FC(·)代表全连接网络的输出,event1表示事件1,event2表示事件2。