CN117473054A - 基于知识图谱的通用智能问答方法及装置 - Google Patents

基于知识图谱的通用智能问答方法及装置 Download PDF

Info

Publication number
CN117473054A
CN117473054A CN202311014440.8A CN202311014440A CN117473054A CN 117473054 A CN117473054 A CN 117473054A CN 202311014440 A CN202311014440 A CN 202311014440A CN 117473054 A CN117473054 A CN 117473054A
Authority
CN
China
Prior art keywords
entity
text
knowledge graph
knowledge
data
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.)
Pending
Application number
CN202311014440.8A
Other languages
English (en)
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.)
Cnnc Hexin Information Technology Beijing Co ltd
Original Assignee
Cnnc Hexin Information Technology Beijing 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 Cnnc Hexin Information Technology Beijing Co ltd filed Critical Cnnc Hexin Information Technology Beijing Co ltd
Priority to CN202311014440.8A priority Critical patent/CN117473054A/zh
Publication of CN117473054A publication Critical patent/CN117473054A/zh
Pending legal-status Critical Current

Links

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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Machine Translation (AREA)

Abstract

本公开属于核电技术领域,具体涉及一种基于知识图谱的通用智能问答方法及装置。本公开用自然语言处理和知识图谱技术,利用NLP、深度学习、智能问答、知识图谱等相关技术分析管理程序设计的组织单元、业务实体、事件、处理规则、表单记录等内容,建立以具体事务处理为核心的知识图谱。基于知识图谱建立智能问答系统,支持用户通过自然语言式的问句获取对管理程序内容的精准应答。

Description

基于知识图谱的通用智能问答方法及装置
技术领域
本发明属于核电技术领域,具体涉及一种基于知识图谱的通用智能问答方法及装置。
背景技术
电厂管理程序数量多、内容结构复杂,管理程序相互之间、管理程序与信息化流程之间、管理程序与统计表单之间都会存在一定的关联关系。工作人员在具体业务过程中会涉及到多种领域管理程序的内容及问题,单纯采用关键词对管理程序进行检索查询,往往无法直接获取准确结果,需要进行多轮关联才能得到答案,影响实际工作效率。鉴于此,亟需提高管理程序文本检索效率。
发明内容
为克服相关技术中存在的问题,提供了一种基于知识图谱的通用智能问答方法及装置。
根据本公开实施例的一方面,提供一种基于知识图谱的智能问答方法,所述方法包括:
步骤1,读取管理程序数据库中存储的半结构化数据;
步骤2,对获取的半结构化数据-文本进行实体、关系标注;
步骤3,根据标注文件训练实体、关系抽取模型;
步骤4,对半结构化文本进行分段分句预处理;
步骤5,句内命名实体识别;
步骤6,分段分句完成后,对得到的结果进行实体识别;
步骤7,句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系;
步骤8对获取的半结构化数据-表格进行实体、关系标注;
步骤9,构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱;
步骤10,对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。
在一种可能的实现方式中,步骤1包括:
步骤10:使用Python依赖包创建数据库链接;
步骤11:使用SQL语句根据管理程序标识进行管理程序内容查询;
步骤12:得到该管理程序的所有半结构化数据内容。
在一种可能的实现方式中,步骤3包括:
步骤30,文件转码:将Word文档转为txt格式,编码为“utf-8”,此外,需创建空白.ann文件,命名与.txt文件相同,.ann文件为标注文件;
步骤31,数据存放:在安装目录下的data文件夹中新建用于存放数据的文件夹,将.txt文件和.ann文件存放到新建文件夹中;
步骤32,软件配置:将data文件夹下其他文件夹中的标注配置文件annotation.conf和视觉配置文件visual.conf拷贝至新建文件夹下,根据实际需求选择性地对其进行修改;
步骤33,实体标注:打开文件进行实体标注,打开需要标注的文件,选中所需标注实体,选择所需的实体类型,完成实体标注;
步骤34,关系标注:点击步骤33中所标注的实体,并将其拖动到另一个实体上,完成关系标注;
步骤35,形成实体-关系-实体三元组。
在一种可能的实现方式中,步骤4包括:
步骤40,获取管理程序半结构数据内容的文本部分;
步骤41,文本分段:利用分段函数对步骤1中读取的纯文本数据进行分段;
步骤42,文本分句:利用Python自带的split函数对步骤b中得到的段落按指定分隔符进行分句。
在一种可能的实现方式中,步骤8包括:
步骤80,表格初始化:根据输入的表格类型,初始化知识槽需要抽取字段的信息;
步骤81,键值对配对:知识槽模型对表格数据进行键值对匹配,与初始化字段对应的需求数据。
在一种可能的实现方式中,步骤9包括:
步骤90,确定领域:确定所需构建知识图谱的领域,例如“财务”、“人事”领域等,确定该领域中所涉及的所有相关管理程序文档;
步骤91,创建三元组:针对步骤1中涉及领域的相关管理程序数据,利用Python将命名实体抽取、关系抽取、槽模型抽取所得到的该领域中的实体集和关系集构建三元组;
步骤92,构建知识图谱:利用Py2neo依赖包中的Node、Relationship、Graph等函数连接Python和Neo4j,并在Neo4j中将得到的三元组绘制成节点与边;
步骤93,查看实体及实体属性:点击所需查看的节点,界面底部显示该节点的所有属性;
步骤94,查看用于表示两个实体关系的边:点击所需查看的边,界面底部显示的即为该边的所有属性。
在一种可能的实现方式中,步骤10包括:
步骤100,输入需要查找的问题,通过输入框将需要查找的内容通过自然语言描述;
步骤101,对输入的文本进行句法分析,当用户输入问题后,系统首先对问题做句法分析,以便将句法分析结果输入到步骤3中训练好的BI-LSTM-CRF模型进行命名实体识别,后将抽取出的命名实体和问题文本馈入推理查找模块;
步骤102,实体识别:利用在标注数据上训练的命名实体识别模型,可抽取出问题中的实体;
步骤103,问题意图识别:为了确定该问题所属的领域,以便更精确的查找出问题中抽取的实体所关联的其他实体及关系,使用意图识别分析问题所属的领域;
步骤104,基于知识图谱进行实体查找:在确定该问题所属的领域之后,利用在领域知识上预训练的K-BERT模型对传入的问题文本和其中的实体进行知识推理,以获取与问题相关联的知识;
步骤105,答案生成:与问题相关联的知识并非最终的答案,所以还需要利用在实体标注数据上训练得到的TextGAN模型,生成语义与句法完整的答案。
根据本公开实施例的另一方面,提供一种基于知识图谱的智能问答装置,所述装置包括:
读取模块,用于读取管理程序数据库中存储的半结构化数据;
获取模块,用于对获取的半结构化数据-文本进行实体、关系标注;
训练模块,用于根据标注文件训练实体、关系抽取模型;
预处理模块,用于对半结构化文本进行分段分句预处理;
第一识别模块,用于句内命名实体识别;
第二识别模块,用于分段分句完成后,对得到的结果进行实体识别;
关系发现模块,用于句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系;
标注模块,用于对获取的半结构化数据-表格进行实体、关系标注;
构建模块,用于构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱;
问答模块,用于对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。
根据本公开实施例的另一方面,提供一种基于知识图谱的智能问答装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述的方法。
根据本公开实施例的另一方面,提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本公开的有益效果在于:本公开用自然语言处理和知识图谱技术,利用NLP、深度学习、智能问答、知识图谱等相关技术分析管理程序设计的组织单元、业务实体、事件、处理规则、表单记录等内容,建立以具体事务处理为核心的知识图谱。基于知识图谱建立智能问答系统,支持用户通过自然语言式的问句获取对管理程序内容的精准应答。
附图说明
图1是根据一示例性实施例示出的一种基于知识图谱的通用智能问答方法的架构流程图。
图2是根据一示例性实施例示出的一种构建知识图谱的架构流程图。
图3是根据一示例性实施例示出的一种标注和模型训练的架构流程图。
图4是根据一示例性实施例示出的知识图谱的示意图。
图5是根据一示例性实施例示出的管理程序知识图谱进行智能问答架构流程图。
图6是根据一示例性实施例示出K-BERT的模型架构示意图。
图7是根据一示例性实施例示出的一种基于知识图谱的通用智能问答装置的架构流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
图1是根据一示例性实施例示出的一种基于知识图谱的通用智能问答方法的流程图。该方法可以由终端设备执行,其中,终端设备可以例如为服务器、台式电脑、笔记本电脑等,终端设备也可以例如为用户设备、车载设备或可穿戴设备等,本公开实施例对终端设备的类型不做限定。如图1所示,多元异构的管理程序半结构化数据为基础,利用NLP、深度学习、智能问答、知识图谱等相关技术,以多种应用场景为例构建基于管理程序内容的领域知识图谱,并在此基础上实现自然语言方式的智能问答。
图2是根据一示例性实施例示出的一种构建知识图谱的架构流程图,如图2所示,构建管理程序知识图谱的主要数据来源于管理程序结构化数据库存储的半结构化数据。构建管理程序知识图谱的主要流程包括:分段、分句、句内命名实体抽取、句内实体关系发现和知识槽模型抽取,最后将处理的结果存入图数据库。
管理程序结构化数据库中的半结构化内容包含两个部分:文本和表格。对于文本,首先进行分段分句处理,然后利用命名实体识别模型和实体关系抽取模型依次获取句中的实体与关系,并构建实体-关系-实体三元组;对于表格,使用知识槽模型抽取其中的单元格信息,并构建键值对。最后,将两个部分的抽取结果存储到图数据库中,构建管理程序知识图谱,具体系统流程如下:
步骤1,读取管理程序数据库中存储的半结构化数据。
例如,在步骤1中,可以采用Python的数据库连接依赖包以及Pandas。Pandas是基于NumPy的一种工具。通过这些依赖包连接数据库后获取数据库中的半结构化数据,其主要步骤如下:
步骤10:使用Python依赖包创建数据库链接;
步骤11:使用SQL语句根据管理程序标识进行管理程序内容查询;
步骤12:得到该管理程序的所有半结构化数据内容,即根据管理程序标识查询到该管理程序标识下所有的“content”数据。
步骤2,对获取的半结构化数据-文本进行实体、关系标注。
如图3所示,本申请使用文本标注工具对管理程序文档中的命名实体和实体关系进行人工标注,将标注结果用来训练命名实体识别模型和关系抽取模型。其主要流程如图3所示:
本申请使用的是一个基于brat封装的文本标注工具,其主要用途是标注管理程序文档。该工具能用标注的结果把无结构化的原始文本结构化,供计算机处理。利用该工具可以方便的获得各项NLP任务需要的标注语料。使用该文本工具标注管理程序文档的步骤如下:
步骤30:文件转码。由于仅支持txt格式文件,标注前需将Word文档转为txt格式,编码为“utf-8”。此外,需创建空白.ann文件,命名与.txt文件相同,.ann文件为标注文件。
步骤31:数据存放。在安装目录下的data文件夹中新建用于存放数据的文件夹,将.txt文件和.ann文件存放到新建文件夹中。
步骤32:软件配置。将data文件夹下其他文件夹中的标注配置文件annotation.conf和视觉配置文件visual.conf拷贝至新建文件夹下,根据实际需求选择性地对其进行修改。其中,annotation.conf文件定义了实体标注名称、关系标注名称等内容,其中显示样式、标注颜色等内容可以用visual.conf文件修改。
步骤33:实体标注。打开文件进行实体标注,打开需要标注的文件,选中所需标注实体,选择所需的实体类型,完成实体标注。
步骤34:关系标注。点击上述步骤中所标注的实体,并将其拖动到另一个实体上(注:不能跨段链接),完成关系标注。
步骤35:形成实体-关系-实体三元组。将分词行中的实体所对应的文本标注成“实体-关系-实体”的三元组形式。所含关系在“[是]”(并列关系)和“[有]”(包含关系)中选取。每个三元组单独成行,其中每个实体或关系占一格。
若核验人员认为实体标注有误,则须对单元格中的填充颜色进行修改。若本身非实体却错标为实体,则将其对应的填充颜色修改为无填充;若本身是实体却错标为非实体,则将其对应的无填充修改为黄色填充。然后依据新的实体标注结果删除或增加三元组。
通过上述步骤将得到标注好的.excel文件,文件中包含:原文、分词与实体标注多列三元组。该文件将会用于之后的命名实体识别模型和实体关系抽取模型训练。
在一种应用实例中,原文为“短期(<=90天)参加工作锻炼、支援工作人员补助标准为130元/天,按出差自然(日历)天数计算,包干使用;超过90天的,超过部分无补助;”。
对原文分词进行最细粒度的分词,该粒度可以根据需求决定,而非由语法句法决定。分词结果单独成行,每个词占一格。
该示例中,最细粒度分词结果为[短期(<=90天)][参加工作锻炼、支援工作人员][补助标准][为][130元/天][,][按][出差自然(日历)天数][计算][,][包干使用][;][超过90天的][,][超过部分][无补助][;]。
实体标注:直接在分词行上进行处理。对于是实体的单元格,用黄色进行填充;对于非实体的单元格,不进行任何处理。
在该示例中,实体为“[参加工作锻炼、支援工作人员]”“[补助标准]”“[出差自然(日历)天数]”“[超过90天的]”“[130元/天]”,对其分别用颜色填充单元格。
三元组:将分词行中的实体所对应的文本标注成“实体-关系-实体”的三元组形式。所含关系在“[是]”(并列关系)和“[有]”(包含关系)中选取。每个三元组单独成行,其中每个实体或关系占一格。
在该示例中,三元组为“[参加工作锻炼、支援工作人员]”—“[有]”—“[补助标准]”、“[补助标准]”—“[是]”—“[130元/天]”和“[出差自然(日历)天数]”—“[有]”—“[超过90天的]”。
修改标注:所示的例子1中,须删除实体“[130元/天]”,并将分词行中该词单元格的填充颜色修改为无填充,在三元组行中删除包含该词的三元组,即“[补助标准]-[是]-[130元/天]。
根据标注文件训练实体、关系抽取模型;
根据步骤2得到的.excel文件中的内容,生成深度学习模型的数据集。其中15%的数据作为模型的验证集、10%的数据作为测试集剩余75%的数据作为模型的训练集。使用开源预训练词向量集(后文出现的模型识别都将使用该向量集)将原文向量化,命名实体识别模型由BI-LSTM-CRF模型经过训练得到、而实体关系抽取模型则由PCNN模型训练得到。在模型训练过程中,我们需要不断的调参来提高模型的准确率、召回率。
通过上述步骤得到可用于实体识别的BI-LSTM-CRF模型和用于实体关系抽取的PCNN模型,之后的所有实体识别和实体关系抽取都将使用这两个模型。
步骤4半结构化文本预处理-分段分句;
知识图谱是基于实体-关系-实体三元组构建的。获取到管理程序半结构化数据内容后,首先需要对其内容进行预处理。本申请中涉及的有意义的实体关系仅限于段内或句内,所以要抽取符合本申请粒度的实体关系时,需要对管理程序的半结构化数据进行分段、分句处理。使用Python的NLTK、jieba等依赖包对管理程序半结构化数据内容中的纯文本进行分段、分句处理。jieba是Python中最优的文分词组件,主要有以下3种特性:支持3种分词模式:精确模式、全模式、搜索引擎模式,支持繁体分词,支持自定义词典。NLTK是开源的自然语言处理工具包,在NLP领域中,是最常使用的一个Python库,包含分类、分词、词干分析、词性标注、语义解析和语义推理的文本处理库套件,用于NLP的研究和开发。其主要步骤如下:
步骤40,获取管理程序半结构数据内容的文本部分
首先管理程序半结构数据内容中的表格含有“<tr><td>”标签,根据该特性提取文本中含有<tr><td>标签的内容,剔除表格得到纯文本部分:
步骤41,文本分段:利用分段函数对步骤1中读取的纯文本数据进行分段。
步骤42,文本分句,利用Python自带的split函数对步骤b中得到的段落按指定分隔符进行分句。
步骤5,句内命名实体识别;
步骤6,分段分句完成后,对得到的结果进行实体识别。实体识别使用的是标注数据训练后得到的BI-LSTM-CRF模型,该模型能够预测分段分句结果中的命名实体。
BI-LSTM-CRF模型可以有效地使用过去和未来的输入特性。由于具有CRF层,该模型还可以使用句子级标签信息。BI-LSTM-CRF模型是命名实体识别(NER)任务常用模型的。
长短期记忆网络(LSTM)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的。它已被应用于各种任务,包括语言模型和语音识别等。
步骤7,句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系。即对分句的结果进行实体关系抽取。实体关系抽取使用的是标注数据训练后得到的PCNN模型(步骤3得到)。
步骤8对获取的半结构化数据-表格进行实体、关系标注。
管理程序半结构化数据内容除了文本之外还包含表格信息。对于纯文本中的实体和关系抽取,使用的模型分别是BI-LSTM-CRF模型和PCNN模型。对于表格,则利用知识槽模型抽取单元格中的内容,并将其抽取结果以key-value的形式进行构建。
知识槽模型是一种非结构化的文本知识抽取的方法,主要包含知识样本树的创建、文本的读取、文本区域分割、文本知识提取的操作等步骤。该模型可以完整保留输入数据信息,不存在数据丢失情况,并在此基础上实现高效高精度抽取。
知识槽模型是基于用户提供样本,针对不同的表格模板进行处理,能够提高实体、关系抽取的准确率,使用不同的表格样本,利用机器学习以及深度学习方法进行融合及优化,用以创建一个万能样本,在不提供初始样本的情况下,也可以对表格进行文本知识提取。
管理程序半结构化数据库中的表格以单元格形式存储,获取单元格数据后利用行列转换生成表格。如表1所示:
步骤80,表格初始化:根据输入的表格类型,初始化知识槽需要抽取字段的信息。
步骤81,键值对配对:知识槽模型对表格数据进行键值对匹配,与初始化字段对应的需求数据。
用户在某一个统一格式的文本中,需要提取知识关键字创建一个实体知识树以便于后面的文本知识提取;
用户上传需要文本抽取的文件和选择需要抽取知识的知识样本树;
按照知识树的分支进行文本的区域划分,并且把其分支的子树的节点作为该子树的根节点,以此类推,直到该分支全部是叶子节点的时候停止,这样可以对在子树中关键字相似度太大的关键字进行区分,提高其文本知识抽取的准确率,如果在分支中找不到文本区域就以其父区域作为该文本区域,并且需要把父区域的关键字做完为其需要抽取的关键字;
将已分割之后的文本进行文本知识抽取,可以分为文本分句处理,文本的词性标注与文本的命名实体识别,关键字提取,word2vec等操作;
将单一抽取的文本进行简单的评测,如果评测结果太小就重新抽取该知识;
把已经抽取出来的数据实体按照前端需要展示的进行一系列的操作,并且保存到图数据库中。
步骤9,构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱,详细步骤如下:
步骤90,确定领域:确定所需构建知识图谱的领域,例如“财务”、“人事”领域等。确定该领域中所涉及的所有相关管理程序文档。
步骤91,创建三元组:针对步骤1中涉及领域的相关管理程序数据,利用Python将命名实体抽取、关系抽取、槽模型抽取所得到的该领域中的实体集和关系集构建<实体,关系,实体>三元组。
步骤92,构建知识图谱:利用Py2neo依赖包中的Node、Relationship、Graph等函数连接Python和Neo4j,并在Neo4j中将步骤8.1中得到的三元组绘制成节点与边,得到如图4所示的知识图谱。
步骤93,查看实体(节点)及属性:点击所需查看的节点,界面底部显示该节点的所有属性,如图4所示,节点属性可以自定义。该节点具有如下属性:id,指节点编号;domain,指节点所属领域;name,指节点文本内容;sub_title,指节点文本所属子标题;title,指节点文本所属文档。
步骤94,查看关系(边):点击所需查看的边,界面底部显示的即为该边的所有属性,如图4所示,这些边属性可以自由定义。
图5是根据一示例性实施例示出的管理程序知识图谱进行智能问答架构流程图,如图5所示,智能问答的主要流程包括:对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。对于一个输入的问题文本,首先需要进行两方面处理:(1)问题意图识别:利用问题分类模型,判别问题的所属类别;(2)问题实体查找:首先对问题文本进行句法分析,其次利用在标注数据上训练的命名实体识别模型(构建知识图谱过程中使用的命名实体识别模型:BI-LSTM-CRF模型)抽取问题中的实体,在知识图谱中查找实体对应结点及其关联结点。最后,将两个方面所得结果输入到答案生成模型中形成结构完整的答案语句。
步骤100,输入需要查找的问题,通过输入框将需要查找的内容通过自然语言描述。
步骤101,对输入的文本进行句法分析,当用户输入问题后,系统首先对问题做句法分析,目的是得到该问题的句子语法构成,以便将其结果输入到步骤3中训练好的BI-LSTM-CRF模型进行命名实体识别,后将抽取出的命名实体和问题文本馈入推理查找模块。句法分析使用的是Python的LTP依赖包和Dependency Viewer软件。
LTP是一个中文语言处理系统,它提供了一整套自底向上的丰富而且高效的中文语言处理模块(包括词法、句法、语义等6项中文处理核心技术)。Dependency Viewer是一个用于可视化显示、编辑、统计CONLL格式依存树的工具,有助于直观展示依存结构,辅助用户编辑和查找错误。句法分析的主要步骤如下:
句法分析:输入一个句子“财务处处长可以报销卧铺票吗”,利用LTP中的Parser函数对其进行句法分析。
步骤102,实体识别
利用在标注数据上训练的命名实体识别模型(构建知识图谱过程中使用的命名实体识别模型:BI-LSTM-CRF模型)可抽取出问题中的实体。通过模型识别出问题语句中的实体后才能在数据库中找到和问题相关联的实体和管联关系。由于数据库中的数据已经被打上标签,此时可以通过模型快速找到全部相关资料与关联内容。
步骤103,问题意图识别
为了确定该问题所属的领域,以便更精确的查找出问题中抽取的实体所关联的其他实体及关系,使用意图识别分析问题所属的领域。意图识别分析使用的是在项目问题集基础上预训练出来的胶囊网络模型。
该模型用于文本分类的具有动态路由的胶囊网络。在传统的胶囊网络上新增了三种稳定动态路由过程的策略,以减轻噪声胶囊中可能含有“背景”信息的干扰。该模型在将单标签文本分类转换为多标签文本分类时能取得显著的效果。
步骤104,基于知识图谱进行实体查找
在确定该问题所属的领域之后,利用在领域知识上预训练的K-BERT模型对传入的问题文本和其中的实体进行知识推理,以获取与问题相关联的知识。
推理查找使用基于知识图谱的知识支持语言表示模型(K-BERT)。K-BERT引入了软位置和可见矩阵来限制知识的影响,克服了在利用三元组作为领域知识注入到句子中,过多的知识整合使得句子偏离正确意思的问题,即知识噪声(KN)问题。同时,K-BERT能够从在中文维基百科上预训练的BERT中文模型中加载模型参数,因此它可以通过配备知识图谱(KG)而不需要自己进行预训练,轻松地将领域知识注入到模型中。在特定领域的任务(包括金融、法律和医学)中,K-BERT是解决需要专家推断的知识驱动问题的优秀选择。
如图6所示,K-BERT的模型架构由四个模块组成,即知识层、嵌入层、可见层、遮罩转换器。对于一个输入句子,知识层首先从一个KG中注入相关的三元组,将原句子转化为一个知识丰富的句子树。然后,句子树同时被输入到嵌入层和可见层,并转换为单词级嵌入表示形式和可见矩阵。可见矩阵用于控制每个标记的可见区域,防止由于注入的知识过多而改变原始句子的含义。
步骤105,答案生成:与问题相关联的知识并非最终的答案,所以还需要利用在实体标注数据上训练得到的TextGAN模型,生成语义与句法完整的答案。
答案文本生成使用通过生成对抗网络(GAN)生成现实文本的框架TextGAN。GAN在生成逼真的(实值)合成数据方面效果显著。但是,收敛问题和处理离散数据的困难阻碍了GAN在文本上的应用。TextGAN使用一个长短期记忆网络(LSTM)作为生成器,并使用一个卷积神经网络(CNN)作为判别器。它通过核化差异度量来匹配真实和合成句子的高维潜在特征分布,来取代使用GAN的标准目标函数。它改善了与标准GAN训练相关的模式崩溃问题,且鼓励模型学习原始句子(通过自动编码器)和合成句子(通过判别器)的丰富信息。该算法在定量评估中显示出优异的性能。
具体实施例:
输入文本:处长去广州出差的住宿费标准是什么?
进行句法分析得到:E1:处长
E2:广州
R3:住宿费标准
进行实体查找:输入上述得到的,得到Value:600元/天
答案生成:输入E1:处长
E2:广州
R3:住宿费标准
Value:600元/天
得到:处长去广州的住宿标准是600元/天。
本公开具有以下有益效果:
1、知识图谱系统构建方面,本项目对接管理程序结构化系统提供的粗粒度结构化文本内容,分析管理程序设计的组织单元、业务实体、事件、处理规则、表单记录等内容,建立以具体事务处理为核心的知识图谱,并实现简单的图谱管理操作。
2、智能问答系统实现方面,针对简单的文本问题,提供知识图谱中的粗知识粒度的知识展示和信息溯源服务。对于复杂的多实体问题,通过意图识别和多知识的推理能力(推理过程限定在一定范围内,推理步长不超过3,即实体-关系-实体-关系-实体-关系为步长3,相当于三层关系推理)进行一定的逻辑检索。用户通过自然语言式的问句获取对管理程序内容的精准应答,提高各环节的工作效率和行为规范性
3.本技术方案中应用BI-LSTM-CRF模型、PCNN模型、胶囊网络和TextGAN模型处理智能问答系统的实体抽取、关系抽取、问题识别、文本生成,实现了系统数据集构建、问题识别与准确应答的完整流程,具有很强的应用价值。
4.本技术方案结合NLP智能算法与知识图谱技术构建智能问答系统,相比于一般的大语言模型或者数据库检索系统具有很强的优势:
1)模型训练与数据处理成本较低,检索效率更高
2)检索结果的真实性与准确性有保证
3)技术方案可解释性更强
4)基于知识图谱的可视化应用具备更好的易用性。
在一种可能的实现方式中,一种基于知识图谱的智能问答装置,其特征在于,所述装置包括:
读取模块,用于读取管理程序数据库中存储的半结构化数据;
获取模块,用于对获取的半结构化数据-文本进行实体、关系标注;
训练模块,用于根据标注文件训练实体、关系抽取模型;
预处理模块,用于对半结构化文本进行分段分句预处理;
第一识别模块,用于句内命名实体识别;
第二识别模块,用于分段分句完成后,对得到的结果进行实体识别;
关系发现模块,用于句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系;
标注模块,用于对获取的半结构化数据-表格进行实体、关系标注;
构建模块,用于构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱;
问答模块,用于对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。
图7是根据一示例性实施例示出的一种基于知识图谱的通用智能问答装置的架构流程图。例如,装置1900可以被提供为一服务器。参照图7,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种基于知识图谱的智能问答方法,其特征在于,所述方法包括:
步骤1,读取管理程序数据库中存储的半结构化数据;
步骤2,对获取的半结构化数据-文本进行实体、关系标注;
步骤3,根据标注文件训练实体、关系抽取模型;
步骤4,对半结构化文本进行分段分句预处理;
步骤5,句内命名实体识别;
步骤6,分段分句完成后,对得到的结果进行实体识别;
步骤7,句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系;
步骤8对获取的半结构化数据-表格进行实体、关系标注;
步骤9,构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱;
步骤10,对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。
2.根据权利要求1所述的方法,其特征在于,步骤1包括:
步骤10:使用Python依赖包创建数据库链接;
步骤11:使用SQL语句根据管理程序标识进行管理程序内容查询;
步骤12:得到该管理程序的所有半结构化数据内容。
3.根据权利要求1所述的方法,其特征在于,步骤3包括:
步骤30,文件转码:将Word文档转为txt格式,编码为“utf-8”,此外,需创建空白.ann文件,命名与.txt文件相同,.ann文件为标注文件;
步骤31,数据存放:在安装目录下的data文件夹中新建用于存放数据的文件夹,将.txt文件和.ann文件存放到新建文件夹中;
步骤32,软件配置:将data文件夹下其他文件夹中的标注配置文件annotation.conf和视觉配置文件visual.conf拷贝至新建文件夹下,根据实际需求选择性地对其进行修改;
步骤33,实体标注:打开文件进行实体标注,打开需要标注的文件,选中所需标注实体,选择所需的实体类型,完成实体标注;
步骤34,关系标注:点击步骤33中所标注的实体,并将其拖动到另一个实体上,完成关系标注;
步骤35,形成实体-关系-实体三元组。
4.根据权利要求1所述的方法,其特征在于,步骤4包括:
步骤40,获取管理程序半结构数据内容的文本部分;
步骤41,文本分段:利用分段函数对步骤1中读取的纯文本数据进行分段;
步骤42,文本分句:利用Python自带的split函数对步骤b中得到的段落按指定分隔符进行分句。
5.根据权利要求1所述的方法,其特征在于,步骤8包括:
步骤80,表格初始化:根据输入的表格类型,初始化知识槽需要抽取字段的信息;
步骤81,键值对配对:知识槽模型对表格数据进行键值对匹配,与初始化字段对应的需求数据。
6.根据权利要求1所述的方法,其特征在于,步骤9包括:
步骤90,确定领域:确定所需构建知识图谱的领域,例如“财务”、“人事”领域等,确定该领域中所涉及的所有相关管理程序文档;
步骤91,创建三元组:针对步骤1中涉及领域的相关管理程序数据,利用Python将命名实体抽取、关系抽取、槽模型抽取所得到的该领域中的实体集和关系集构建三元组;
步骤92,构建知识图谱:利用Py2neo依赖包中的Node、Relationship、Graph等函数连接Python和Neo4j,并在Neo4j中将得到的三元组绘制成节点与边;
步骤93,查看实体及实体属性:点击所需查看的节点,界面底部显示该节点的所有属性;
步骤94,查看用于表示两个实体关系的边:点击所需查看的边,界面底部显示的即为该边的所有属性。
7.根据权利要求1所述的方法,其特征在于,步骤10包括:
步骤100,输入需要查找的问题,通过输入框将需要查找的内容通过自然语言描述;
步骤101,对输入的文本进行句法分析,当用户输入问题后,系统首先对问题做句法分析,以便将句法分析结果输入到步骤3中训练好的BI-LSTM-CRF模型进行命名实体识别,后将抽取出的命名实体和问题文本馈入推理查找模块;
步骤102,实体识别:利用在标注数据上训练的命名实体识别模型,可抽取出问题中的实体;
步骤103,问题意图识别:为了确定该问题所属的领域,以便更精确的查找出问题中抽取的实体所关联的其他实体及关系,使用意图识别分析问题所属的领域;
步骤104,基于知识图谱进行实体查找:在确定该问题所属的领域之后,利用在领域知识上预训练的K-BERT模型对传入的问题文本和其中的实体进行知识推理,以获取与问题相关联的知识;
步骤105,答案生成:与问题相关联的知识并非最终的答案,所以还需要利用在实体标注数据上训练得到的TextGAN模型,生成语义与句法完整的答案。
8.一种基于知识图谱的智能问答装置,其特征在于,所述装置包括:
读取模块,用于读取管理程序数据库中存储的半结构化数据;
获取模块,用于对获取的半结构化数据-文本进行实体、关系标注;
训练模块,用于根据标注文件训练实体、关系抽取模型;
预处理模块,用于对半结构化文本进行分段分句预处理;
第一识别模块,用于句内命名实体识别;
第二识别模块,用于分段分句完成后,对得到的结果进行实体识别;
关系发现模块,用于句内实体关系发现:构建知识图谱除了需要准确识别句子中的实体之外,还需要精准的抽取实体与实体之间的关系;
标注模块,用于对获取的半结构化数据-表格进行实体、关系标注;
构建模块,用于构建管理程序知识图谱,通过实体识别和实体关系抽取后,将得到实体-关系-实体三元组,然后利用Neo4j软件、Py2neo依赖包把三元组存入图数据库,构建管理程序知识图谱;
问答模块,用于对输入的询问语句进行句法分析、问题意图识别、命名实体识别、实体查找和答案生成。
9.一种基于知识图谱的智能问答装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至7中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
CN202311014440.8A 2023-08-14 2023-08-14 基于知识图谱的通用智能问答方法及装置 Pending CN117473054A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311014440.8A CN117473054A (zh) 2023-08-14 2023-08-14 基于知识图谱的通用智能问答方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311014440.8A CN117473054A (zh) 2023-08-14 2023-08-14 基于知识图谱的通用智能问答方法及装置

Publications (1)

Publication Number Publication Date
CN117473054A true CN117473054A (zh) 2024-01-30

Family

ID=89633739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311014440.8A Pending CN117473054A (zh) 2023-08-14 2023-08-14 基于知识图谱的通用智能问答方法及装置

Country Status (1)

Country Link
CN (1) CN117473054A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117992600A (zh) * 2024-04-07 2024-05-07 之江实验室 一种业务执行方法、装置、存储介质以及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117992600A (zh) * 2024-04-07 2024-05-07 之江实验室 一种业务执行方法、装置、存储介质以及电子设备
CN117992600B (zh) * 2024-04-07 2024-06-11 之江实验室 一种业务执行方法、装置、存储介质以及电子设备

Similar Documents

Publication Publication Date Title
CN111209412A (zh) 一种循环更新迭代的期刊文献知识图谱构建方法
CN112559766B (zh) 一种法律知识图谱构建系统
EP3333731A1 (en) Method and system for creating an instance model
US20220414463A1 (en) Automated troubleshooter
CN112541337B (zh) 一种基于递归神经网络语言模型的文档模板自动生成方法及系统
CN114218472A (zh) 基于知识图谱的智能搜索系统
CN113609838B (zh) 文档信息抽取及图谱化方法和系统
CN111831624A (zh) 数据表创建方法、装置、计算机设备及存储介质
CN115952298A (zh) 供应商履约风险分析方法及相关设备
CN116974554A (zh) 代码数据处理方法、装置、计算机设备和存储介质
CN117473054A (zh) 基于知识图谱的通用智能问答方法及装置
CN114911893A (zh) 基于知识图谱的自动化构建知识库的方法及系统
CN115114419A (zh) 问答处理方法、装置、电子设备和计算机可读介质
Sun A natural language interface for querying graph databases
Yang et al. User story clustering in agile development: a framework and an empirical study
Chen An intelligent question-answering system for course learning based on knowledge graph
Kanev et al. Metagraph knowledge base and natural language processing pipeline for event extraction and time concept analysis
CN115878818B (zh) 一种地理知识图谱构建方法、装置、终端及存储介质
Budin Ontology-driven translation management
CN114428788B (zh) 自然语言处理方法、装置、设备及存储介质
CN115757720A (zh) 基于知识图谱的项目信息搜索方法、装置、设备和介质
CN111949781B (zh) 一种基于自然语句句法分析的智能交互方法及装置
CN114840657A (zh) 一种基于混合模式的api知识图谱自适应构建及智能问答方法
CN114417008A (zh) 一种面向建设工程领域的知识图谱构建方法及系统
Zhang et al. Exploration on the key issues of the teaching method of student independent proposition

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