一种面向科技服务需求的需求图谱构建方法技术

技术编号:28374021 阅读:33 留言:0更新日期:2021-05-08 00:01
本发明专利技术为一种面向科技服务需求的需求图谱构建方法,公开了一种基于需求文档的需求图谱构建的方法,该方法首先对非结构化需求文档利用依存语法和语义角色标注初步提取出文档里的需求三元组,然后通过人工标注的方式对于部分的需求三元组标注其意图标签,接着把人工标注好的数据进行数据预处理,转换成图结构数据,用one‑hot编码对图结构数据里面的部分信息进行特征编码,得到每个三元组的特征表示,将图结构数据和处理好的特征编码转为邻接矩阵和特征矩阵输入到准备好的两层图神经网络里面,得到一个训练好可以用来预测需求三元组标签的模型,最后将所有处理好的需求三元组构建成需求图谱进行可视化展示。

【技术实现步骤摘要】
一种面向科技服务需求的需求图谱构建方法
本专利技术涉及一种面向科技服务需求的需求图谱构建方法,属于自然语言处理

技术介绍
知识图谱是谷歌在2012年提出一种语义网络,可以用图的展示形式来描述知识和客观世界万物之间的关联关系的一种技术。知识图谱是由边和节点组成。节点是一个概念实体,如苹果、人名、自然与语言处理,知识图谱。边则是概念实体的相关属性或者实体之间的关系,如英文名、引用等。具体领域的知识图谱构建是一项重要的功能,知识图谱的构建需要根据该领域的特点,设定一个符合该领域规范的知识图谱结构,紧接着如果数据是结构化数据,需要结合第三方数据进行知识融合,如果是半结构化或者结构化的数据,则是需要对数据进行属性抽取,关系抽取,实体抽取,从而得到该数据的三元组表示。之后对于这俩类数据都要进行指代消解和实体消歧,最后进行知识加工构建出该领域的知识图谱。知识图谱构建完成之后我们用其进行下游子任务,例如该领域的智能问答机器人,智能推荐等。
技术实现思路
本专利提出一种面向科技服务需求的需求图谱构建方法,该专利技术首先用自然语言处理的方法从需求文档中提取出需求三元组,然后对提取出的需求三元组进行人工标注,标注出需求三元组代表的意图,之后用one-hot码对需求三元组的本体进行编码,得到256维的特征,将特征保存为特征矩阵,以及根据需求三元组的关系构建邻接矩阵,将特征矩阵和邻接矩阵输入到设置好的图神经网络,得到一个可以识别需求三元组意图的模型,从而对所有需求三元组进行标注,标注后用d3.js的技术,实时构建输入的需求文档的需求图谱。本专利技术的技术方案是:一种面向科技服务需求的需求图谱构建方法,其特征在于:具体的算法流程如下所示:Step1、利用python-doc的包,读取存储在doc文件里面需求文档数据,并保存为字典格式;Step2、加载哈工大语言技术平台工具Pyltp,读取Pyltp内cws.model等语言模型;Step3、将Step1中处理好的数据先进行分句处理,将分句处理好的数据切分长句,冒号,分号等做切分标识,利用语义角色标注,获取主谓宾三元组,先根据语义角色标注的结果,抽取三元组。如果语义角色标注为空,则采取依存语法进行抽取;Step4、将Step3中抽取成功的需求三元组利用python第三方包xlrd进行保存,存储到excel表格里面备用;Step5、将excel里面的部分需求三元组进行人工标注,从excel里面信息提取需求三元组的特征,构建出需求三元组的特征矩阵与邻接矩阵;Step6、将Step5中构建的矩阵放入到设计好的图神经网络进行训练,得到一个可以对三元组进行标注的模型;Step7、利用训练好的模型将需求三元组全部进行标注后,构建成图谱形式并进行可视化展示;进一步的,所述步骤Step2的具体步骤为:Step2.1、加载哈工大语言技术平台工具Pyltp里面ltp.data,读取cws.model、pos.model、parser.model、ner.model、pisrl.model语言模型,以备用来对非结构化需求文本提取需求三元组。进一步的,所述步骤Step3的具体步骤为:Step3.1定义一个parser参数,用来存储Step2的语言模型。Step3.2定义一个split_sents方法,导入python中的re包,通过re包内置方法,利用正则表达式来匹配字符串,对输入的需求文本进行分句处理,切分冒号,感叹号等并做切分标识。Step3.3定义一个语义角色标注方法,可以直接获取主语,谓语,宾语三元组Step3.4定义一个需求三元组抽取的主函数,根据Step3.3的语义角色标注的结果,进行需求三元组的抽取,如果语义角色的标记为空,则使用依存语法进行需求三元组的抽取。进一步的,所述步骤Step5的具体步骤为:Step5.1对抽取的N个需求三元组(h,r,t)进行人工标注,标注出这N个三元组的意图标签,例如(预期,花费,金额300万人民币),对其标注一个”约束“这个标签,标注完成后将已经标注好的需求三元组用结构化的方式存储在excel表里面,分为三列,第一列表示需求三组的id,第二列表示需求三元组的内容,第三列表示需求三元组的标签。Step5.2紧接着需要对需求三元组进行特征提取,使用python自带包xlwt读取Step5.1存储在excel里面的内容,存储形式为字典,创建一个常见词为256维的分词器,构建索引单词,将字典中需求三元组的内容字符串转为整数索引列表,根据索引得到每个需求三元组的256维的one-hot特征表示,将这256维的需求三元组特征存储为特征矩阵,以备用于之后的计算,然后根据需求三元组之间的关联,创建一个邻接矩阵。进一步的,所述步骤Step6的具体步骤为:Step6.1根据Step5中构建的需求三元组的特征矩阵和邻接矩阵,将其输入到一个图卷积神经网络,定义一个两层的图卷积神经网络,其中输入的维度为256维,隐藏层维度设置为16维,最后一层图卷积神经网络将输出的维度变为类别数4,激活函数选择使用的是ReLU函数Step6.2设置图神经网络的一些超参数,learn_rate学习率为0.04,weight_dacay=5e-4,epochs迭代次数为200次,损失函数使用设置的是交叉熵损失函数,优化器设置的是Adam。本专利技术的有益效果是:本专利技术在需求图谱的构建方面有很好的表现,该专利技术首先用自然语言处理的方法从需求文档中提取出需求三元组,然后对提取出的需求三元组进行人工标注,标注出需求三元组代表的意图,之后用one-hot码对需求三元组的本体进行编码,得到256维的特征,将特征保存为特征矩阵,以及根据需求三元组的关系构建邻接矩阵,将特征矩阵和邻接矩阵输入到设置好的图神经网络,得到一个可以识别需求三元组意图的模型,从而对所有需求三元组进行标注,标注后用d3.js的技术,实时构建可视化需求图谱。附图说明图1为本专利技术中的整体流程图;图2为单个需求文档的需求图谱的可视化;具体实施方式实施例1:如图1所示,一种面向科技服务需求的需求图谱构建方法,所述方法的具体步骤为:Step1、在本专利中,使用是100个非结构化的长本文需求文档。首先我们对这100个非结构化需求文档进行需求三元组的提取,得到这100个需求文档的需求三元组表示,如表1所示。Step2、对于需求三元组进行人工标注,标注出其意图属性,将数据按照需求三元组id,需求三元组本体,需求三元组意图的格式存储到excel里面,如表2所示。Step3、利用one-hot编码的方法,将需求三元组本体编码成256维的one-hot特征码,并读取得到一个关于需求三元组的特征矩阵,将其与邻接矩阵一起输入到设置好的图神经网络当中,具体参数如表3所示。表1单个需求文本提取出的需求三元组...

【技术保护点】
1.一种面向科技服务需求的需求图谱构建方法,其特征在于:具体的操作流程如下所示:/nStep1、利用python-doc的包,读取存储在doc文件里面需求文档数据,并保存为字典格式;/nStep2、加载哈工大语言技术平台工具Pyltp,读取Pyltp内cws.model等语言模型;/nStep3、将Step1中处理好的数据先进行分句处理,将分句处理好的数据切分长句,冒号,分号等做切分标识,利用语义角色标注,获取主谓宾三元组,先根据语义角色标注的结果,抽取三元组。如果语义角色标注为空,则采取依存语法进行抽取;/nStep4、将Step3中抽取成功的需求三元组利用python第三方包xlrd进行保存,存储到excel表格里面备用;/nStep5、将excel里面的部分需求三元组进行人工标注,从excel里面信息提取需求三元组的特征,构建出需求三元组的特征矩阵与邻接矩阵;/nStep6、将Step5中构建的矩阵放入到设计好的图神经网络进行训练,得到一个可以对三元组进行标注的模型;/nStep7、利用训练好的模型将需求三元组全部进行标注后,构建成图谱形式并进行可视化展示。/n

【技术特征摘要】
1.一种面向科技服务需求的需求图谱构建方法,其特征在于:具体的操作流程如下所示:
Step1、利用python-doc的包,读取存储在doc文件里面需求文档数据,并保存为字典格式;
Step2、加载哈工大语言技术平台工具Pyltp,读取Pyltp内cws.model等语言模型;
Step3、将Step1中处理好的数据先进行分句处理,将分句处理好的数据切分长句,冒号,分号等做切分标识,利用语义角色标注,获取主谓宾三元组,先根据语义角色标注的结果,抽取三元组。如果语义角色标注为空,则采取依存语法进行抽取;
Step4、将Step3中抽取成功的需求三元组利用python第三方包xlrd进行保存,存储到excel表格里面备用;
Step5、将excel里面的部分需求三元组进行人工标注,从excel里面信息提取需求三元组的特征,构建出需求三元组的特征矩阵与邻接矩阵;
Step6、将Step5中构建的矩阵放入到设计好的图神经网络进行训练,得到一个可以对三元组进行标注的模型;
Step7、利用训练好的模型将需求三元组全部进行标注后,构建成图谱形式并进行可视化展示。


2.根据权利要求1所述的一种面向科技服务需求的需求图谱构建方法,其特征在于:所述步骤Step2的具体步骤为:
Step2.1、加载哈工大语言技术平台工具Pyltp里面ltp.data,读取cws.model、pos.model、parser.model、ner.model、pisrl.model语言模型,以备用来对非结构化需求文本提取需求三元组。


3.根据权利要求1所述的一种面向科技服务需求的需求图谱构建方法,其特征在于:所述步骤Step3的具体步骤为:
Step3.1定义一个parser参数,用来存储Step2的语言模型;
Step3.2定义一个split_sents方法,导入python中的re包,通过re包内置方法,利用正则表达式来匹配字符串,对输入的需求文本进行分句处理,切分冒号,感叹号等...

【专利技术属性】
技术研发人员:王红斌胡永鹏线岩团文永华
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南;53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1