当前位置: 首页 > 专利查询>淮阴工学院专利>正文

一种基于知识图谱的古代诗词语义检索方法技术

技术编号:26763956 阅读:75 留言:0更新日期:2020-12-18 23:32
发明专利技术公开了一种基于知识图谱的古代诗词语义检索方法,包括:首先对爬取数据进行SPACY处理,获得符合规范数据集,再使用BERT分类算法比较相似问题的相似度及实体识别THULAC对数据集进行古诗词系统的问句相似度比较和全句中关键字的提取,通过逆向最大匹配算法切分用户输入语料,与系统自定义字典匹配,构造Cypher查询语句,将查询实体数据返还WEB应用程序,从Neo4j库中查询到与关键字有关的实体。用户输入问题是根据白话文翻译古诗词的问题,先使用Seq2Seq对用户输入的白话文内容进行古诗词的翻译,再使用聚类算法Doc2vec和距离度量算法计算古诗词内容实体间相似度,返回出内容相似度最佳的前10个选项。通过ECharts渲染古诗词实体属性数据和实体间关系数据,实现古诗词实体可视化。

【技术实现步骤摘要】
一种基于知识图谱的古代诗词语义检索方法
本专利技术属于自然语言处理和系统应用
,特别涉及一种基于知识图谱的古代诗词语义检索方法。
技术介绍
自然语言处理(NLP)是一个智能科学重要的研究领域,它探索了有关计算机和自然语言的关系,并把两者相关联起来,是计算机在文字运用领域的特别成就。它也可以被称为一种基于文本的计算机分析方法。而古诗词作为中华文化的瑰宝,在中国历史上具有无法撼动的地位,而古诗词的学习也是中小学科目中不可缺少的一项必修课,可以说古诗词的市场是巨大的。目前,对于古诗词领域方面的研究少之又少,而搜索引擎也有时候无法快速检索到想要的内容。如何将自然语言处理和古诗词相结合,快速检索到用户所需要的古诗信息,成为古诗词系统设计过程中的一个重要环节,而基于知识图谱的古代诗词语义检索系统专门针对用户所设计,满足用户快速方便的检索古诗词的需求。朱全银等人已有的研究基础包括:WanliFeng.Researchofthemestatementextractionforchineseliteraturebasedonlexicalchain本文档来自技高网...

【技术保护点】
1.一种基于知识图谱的古代诗词语义检索方法,其特征在于,具体步骤如下:/n(1)对古诗文网、诗词大全和诗词名句网等网站的数据爬取,进行SPACY处理,获得符合规范的能用于数据挖掘任务的古诗词数据集PoemData;/n(2)搭建BERT-TextCNN神经网络算法,输入CLASSIFY_DATA进行关系抽取实验,训练神经网络,保存模型CLASSIFY_MODEL;/n(3)使用BERT分类算法比较相似问题的相似度及实体识别THULAC对问答数据集进行古诗词系统的问句相似度比较和全句中关键字的提取;/n(4)用户输入问题是根据白话文翻译古诗词的问题,先使用Seq2Seq对用户输入的白话文内容进行...

【技术特征摘要】
1.一种基于知识图谱的古代诗词语义检索方法,其特征在于,具体步骤如下:
(1)对古诗文网、诗词大全和诗词名句网等网站的数据爬取,进行SPACY处理,获得符合规范的能用于数据挖掘任务的古诗词数据集PoemData;
(2)搭建BERT-TextCNN神经网络算法,输入CLASSIFY_DATA进行关系抽取实验,训练神经网络,保存模型CLASSIFY_MODEL;
(3)使用BERT分类算法比较相似问题的相似度及实体识别THULAC对问答数据集进行古诗词系统的问句相似度比较和全句中关键字的提取;
(4)用户输入问题是根据白话文翻译古诗词的问题,先使用Seq2Seq对用户输入的白话文内容进行古诗词的翻译,再使用聚类算法Doc2vec算法对有关古诗词进行聚类,从Neo4j库中查询到与关键字有关的实体,返回出最佳的前10个选项;
(5)开放Neo4j图数据库接口API和古诗词语义检索系统接口API,对用户输入古诗词相关关键字或语句调用算法获取相关实体数据和相似回答,将查询数据返还WEB应用程序;通过ECharts渲染古诗词实体属性数据和实体间关系数据,提供用户古诗词实体数据可视化,实现古诗词自动问答系统。


2.根据权利要求1所述的一种基于知识图谱的古代诗词语义检索方法,其特征在于,所述步骤(1)中获得符合规范的能用于数据挖掘任务的古诗词数据集PoemData的具体步骤如下:
(1.1)整合从古诗文网、诗词大全和诗词名句网等网站爬取到的数据,将其导入MySQL数据库,创建all_poems表来存储古诗词数据;
(1.2)将all_poems表中的存在停用词以及乱码的数据过滤掉,形成新的古诗词表;
(1.3)创建auhtor表,提取all_poems表的作者进行分类,定义字段名为authorid:ID(Author)和name,分别表示作者数据的ID号和诗人属性名称;
(1.4)创建dynasty表,提取all_poems表的朝代字段进行分类,定义字段名为dynastyid:ID(Dynasty)和name,分别表示朝代数据的ID号和朝代属性名称;
(1.5)创建title表,提取all_poems表的标题和内容字段进行分类,定义字段名为titleid:ID(Title)、title和content,分别表示朝代数据的ID号和古诗词的题目和内容;
(1.6)创建Relation1表,提取all_poems表的标题和朝代字段结合步骤(1.4)创建的dynasty表和步骤(1.5)创建的title表进行创建;Relation1表定义字段名为:START_ID(Title),:END_ID(Dynasty)和DLinks;:START_ID(Title)表示Relation1表的主键和外键ID号,即title表的titleid:ID(Title)相一致;:END_ID(Dynasty)表示Relation1表的主键和外键,即dynasty表的dynastyid:ID(Dynasty)相一致;DLinks表示关系为朝代;
(1.7)创建Relation2表,提取all_poems表的标题和朝代字段结合步骤(1.3)创建的author表和步骤(1.5)创建的title表进行创建。Relation2表定义字段名为:START_ID(Title),:END_ID(Author)和ALinks;:START_ID(Title)表示Relation2表的主键和外键ID号,即title表的titleid:ID(Title)相一致;:END_ID(Author)表示Relation1表的主键和外键,即author表的authorid:ID(Author)相一致;ALinks表示关系为作者;
(1.8)将步骤(1.1)至步骤(1.5)中所创建的所有实体表,抽取实体表中实体编号集合作为各个实体索引导入Neo4j库中;将步骤(1.6)至步骤(1.7)中所创建的所有关系表,其中的实体关系导入Neo4j库中,形成古诗词三元组关系网络。


3.根据权利要求1所述的一种基于知识图谱的古代诗词语义检索方法,其特征在于,所述步骤(2)中搭建BERT分类算法,具体步骤如下:
(2.1)采用BERT问答分类算法对问题库进行预训练,将Bert问答分类用作多分类的模式,分别对用户目的进行分类,分为5类,分别是搜索诗题目、搜索朝代、搜索作者、搜索诗内容和根据白话文搜索文言文,根据PoemData标注的训练数据集PoemTrain,验证数据集PoemTestVal,测试数据集PoemTest,计算已标注的数据集R总数sum_R;分别定义训练集比例train_prop、验证集比例val_prop和测试集比例test_prop;
(2.2)按照6:2:2的比例随机分配问答数据集设定train_prop=6,val_prop=2,Test_prop=2;分别计算训练集总数train_num、验证集总数val_num以及测试集总数trest_num,得到训练集Train_R={T1,T2,T3,…,Ta},测试集Test_R={N1,N2,…,Na}和验证集Val_R={V1,V2,V3,…,Va};
(2.3)定义类InputExample用来表示数据,初始化变量guid、text和label,分别表示训练id、字和字对应的标签;
(2.4)定义类DataProcessor用于数据处理,编写的继承类PoemNerProcessor,定义get_labels函数用来返回实体标签集,定义_create_example函数用于调用类InputExample给guid,text及label赋值,生成训练和验证样本;
(2.5)定义函数model_builder,构建模型PoemEntityModel。实现以下内容:将text与label转换为ids表示,使用参数加载BERT模型,得到字embedding和最大序列长度max_seq_length;使用TensorFlow对输入数据的ids表示按行求和得到当前batch中的序列长度lengths。定义变量num_labels为数据集L中的标签数量,利用BERT模型参数作为SchoolEntityModel模型的参数初始值,加载B...

【专利技术属性】
技术研发人员:宗慧陈凌云朱全银朱亚飞陈小艺季睿孙强
申请(专利权)人:淮阴工学院
类型:发明
国别省市:江苏;32

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

1