CN110110054B - 一种基于深度学习的从非结构化文本中获取问答对的方法 - Google Patents
一种基于深度学习的从非结构化文本中获取问答对的方法 Download PDFInfo
- Publication number
- CN110110054B CN110110054B CN201910220102.7A CN201910220102A CN110110054B CN 110110054 B CN110110054 B CN 110110054B CN 201910220102 A CN201910220102 A CN 201910220102A CN 110110054 B CN110110054 B CN 110110054B
- Authority
- CN
- China
- Prior art keywords
- question
- answer
- text
- sentence
- character
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于深度学习的从非结构化文本中获取问答对的方法,包括如下步骤:文本规格化处理;基于深度神经网络模型进行句子分类和配对及关键短语提取;文本内部的问答对获取;文本外部的问答对爬取;问答对汇总去重。本发明,针对问答对获取困难的问题,通过有效利用容易获取的非结构化文档资源,结合使用深度神经网络模型,自动高效地获取成规模的问答对,供人工校对、补充使用,降低了构建知识库的成本,加快了构建知识库的构建速度。
Description
技术领域
本发明涉及自然语言问答系统知识提取技术领域,尤其涉及问答对提取领域,具体说是一种基于深度学习的从非结构化文本中获取问答对的方法。
背景技术
自然语言处理(NLP,natural language processing),是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域,是计算机科学领域与人工智能领域中的一个重要方向。
自然语言处理是一门融语言学、计算机科学、数学于一体的科学,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,是计算机科学的一部分。
自然语言处理的应用之一是问答系统(智能问答系统,自动问答),它综合运用了知识表示、信息检索、自然语言处理等技术,从系统功能上讲,问答系统分为开放域问答系统和限定域问答系统。随着自然语言处理技术的进步和深度学习的爆发式发展,问答系统越来越成熟,并有广泛应用,尤其是在智能客服领域。
在构建问答系统时,大致可以把问答系统划分为三类:
第一类是纯粹基于检索技术的检索式的问答,它的核心技术特点,是基于关键词的匹配加信息抽取,是基于浅层的语义分析系统,代表的系统有TREC,IBM Waston。
第二类是基于社区的问答,基本上的问答方式是基于网民的贡献,问答过程依赖于关键词的检索的技术,代表的产品就是百度知道,知乎等等。
第三类是面向知识图谱,或者知识库的问答系统,作为问答系统基础的知识库,其质量和完备程度直接影响问答效果。
在第三类问答系统中,问答对,作为知识库(问答对库)的一种形式,具有结构简单、好理解、容易编辑和扩展、便于计算机处理的特点,是构建知识库的主要手段之一。
问答对,也即Frequently Asked Question and Answer Pair,是由问题和对应的答案组成的对,知识库中问答对的规模可以达到百万甚至千万级,针对用户提出的问题(用户问题),可以从知识库中搜索出与用户问题最为相似的已回答问题,将问答对中的答案部分作为结果反馈给用户,因此,如何积累足够多的高质量的问答对,同时如何实现用户问句与问答对之间的相似度的判断,是两大关键技术点。
在问答对收集方面,主要有三种途径:
途径一,问答系统开发者自己维护的问答对库,这种方案一般适用于某个特定领域的问答系统构建,
途径二,从互联网上的FAQ页面上进行抽取,
途径三,知识共享型网站,用户可以在网站上提出问题等待其他用户来回答,如百度知道,目前这类网站每天都积累成千上万的问答对库,累计已经达到千万级。
目前,大规模问答对的编辑严重依赖人工的专业水平和领域经验及熟悉程度,问答对的获取困难是一个普遍存在的问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于深度学习的从非结构化文本中获取问答对的方法,针对问答对获取困难的问题,通过有效利用容易获取的非结构化文档资源,结合使用深度神经网络模型,自动高效地获取成规模的问答对,供人工校对、补充使用,降低了构建知识库的成本,加快了构建知识库的构建速度。
为达到以上目的,本发明采取的技术方案是:
一种基于深度学习的从非结构化文本中获取问答对的方法,其特征在于,包括如下步骤:
文本规格化处理;
基于深度神经网络模型进行句子分类和配对及关键短语提取;
文本内部的问答对获取;
文本外部的问答对爬取;
问答对汇总去重。
在上述技术方案的基础上,所述文本规格化处理,具体包括:
使用文本规格化处理模块101,将原始文本进行规格化处理,通过文本规格化处理,将原始文本转换为纯净文本;
所述原始文本为非结构化文本,所述非结构化文本来源于非结构化文档资源。
在上述技术方案的基础上,所述规格化处理包括:
将原始文本中的全角字符转为半角字符,
将原始文本中的繁体字符转为简体字符,
将原始文本中的大写英文字符转为小写英文字符,
将原始文本中的多个连续空白字符替换为一个空格符,
将原始文本中的HTML标签去除,
将原始文本中的多个连续标点符号仅保留第一个标点符号,再对文本进行文本分句,文本分句时使用换行符、句号、感叹号和问号,规格化处理后得到纯净文本。
在上述技术方案的基础上,得到纯净文本后,使用迭代器102,从头到尾遍历纯净文本中的句子;
遍历过程中,每一个句子均进行如下所述处理;
步骤103,使用字符转ID模块201和编码器模块202,将句子编码,得到句子的向量表示和字符序列的向量表示;
并发步骤104、105、106,根据句子的向量表示,使用闲聊分类器205、问句分类器206,预测句子的分类,
所述闲聊分类器205,根据句子的向量表示,经一个全连接层线性变换后得到是否闲聊的输出向量,再使用sigmoid二分类器将该输出向量分类为是闲聊或非闲聊;
所述问句分类器206,根据句子的向量表示,经一个全连接层线性变换后得到是否问句的输出向量,再使用sigmoid二分类器将该输出向量分类为是问句或非问句;
根据字符序列的向量表示,使用关键短语序列标注器208,预测关键短语的位置;
所述关键短语序列标注器208,根据字符序列的向量矩阵表示,经一个全连接层线性变换后得到序列标注的输出向量矩阵,再使用softmax多分类器根据该输出向量矩阵预测每个字符的关键短语BIO标签,其中B表示关键短语的开始字符,I表示关键短语的中间字符和结束字符,O表示关键短语之外的字符;
步骤107,标记句子的分类和关键短语;
句子遍历完毕,得到标记好的句子。
在上述技术方案的基础上,得到标记好的句子后,使用迭代器108,从头到尾遍历标记好的句子;
遍历过程中,每一个句子均进行如下所述处理;
并发的执行文本内部的问答对获取和文本外部的问答对爬取,
并发执行结束后,则执行步骤120,
步骤120,合并执行文本内部的问答对获取和文本外部的问答对爬取后分别获取的问答对,添加到问答对列表中,返回迭代器108,直到标记好的句子遍历完毕。
在上述技术方案的基础上,所述文本内部的问答对获取,包括以下步骤:
调用文本内部的问答对获取模块,
步骤113,判断当前句子是否非闲聊问句,如果当前句子是非闲聊问句则当前句子是问题句子,
如果当前句子是非闲聊问句,则转步骤114,
步骤114,从当前句子的下10个句子中,取最多前5个非闲聊也非问句的句子作为候选答案,或获取出现在所述问题句子后面的前5个非闲聊也非问题句子作为候选答案,
步骤115,进入迭代器,使用迭代器遍历候选答案,每遍历到一个候选答案,则转步骤116,
步骤116,将该遍历到的候选答案拼接在非闲聊问句后面得到一个候选问答对,
步骤117,对该候选问答对编码得到问答对句子的向量表示,所述对该候选问答对编码使用字符转ID模块201和编码器模块202,将问答对编码,
步骤118,通过问答对分类器207对问答对句子的向量表示分类,筛选出配对成功的问答对,返回步骤115所述迭代器,直到候选答案遍历完毕,则转步骤119,
所述问答对分类器207,根据问答对的向量表示,经一个全连接层线性变换后得到是否问答对的输出向量,再使用sigmoid二分类器将该输出向量分类为是问答对或非问答对;
步骤119,若候选中存在答案句则将答案句按先后顺序拼接成一个句子作为当前问句的答案,若不存在答案句则将当前问句的答案置为空字符串。
在上述技术方案的基础上,所述文本外部的问答对爬取,包括以下步骤:
调用文本外部的问答对爬取模块,
步骤109,判断当前句子是否存在关键短语,如果存在关键短语,则转步骤110,
步骤110,将关键短语组装成搜索条件,
步骤111,判断是否指定了领域,如果指定,则将领域词拼接到搜索条件后面,
步骤112,根据搜索条件从问答社区爬取问答对,
所述问答社区包括但不限于以下任意之一或部分或全部:百度知道、搜狗问问、360问答。
在上述技术方案的基础上,在步骤120的基础上,进一步包括以下步骤:
步骤121,对合并后的问答对列表,使用字符转ID模块201和编码器模块202,编码得到所有问句的向量表示,
步骤122,使用问句间的两两相似度矩阵进行相似度的计算,所述相似度的计算使用但不限于余弦相似度计算方法,
步骤123,根据问句间的两两相似度矩阵,从头到尾逐个取列表中的问答对,
设当前问答对qa1,如果它后面的某条问答对qa2的问句与当前问答对qa1的问句的相似度大于阈值,则认为这两个问句描述的是相同的问题,则将这两个问句对应的答案合并起来,并将第二个问答对qa2的问句作为第一个问答对问句的相似问句,并从问答对列表删除qa2。
针对获取到的全部问答对,使用所述编码器得到每个问题的句子向量,计算每两个句子向量间的余弦相似度,如果两个问句间的余弦相似度大于阈值,则认为这两个问句描述的是相同的问题,则将这两个问句对应的答案合并起来,并将第二个问句作为第一个问句的相似问句,通过以上步骤完成问答对汇总去重。
在上述技术方案的基础上,字符转ID模块201和编码器模块202,使用深度神经网络模型,用于句子分类和配对及关键短语提取,
所述模型为一个多任务联合模型,包含的任务有:
将一段文本分类为闲聊或非闲聊;
将一段文本分类为问句或非问句;
将两段文本分类为问答对或非问答对;
使用BIO标注体系将一段文本序列中的关键短语字符标注为B或I标签,将非关键短语字符标注为O,其中:
B表示关键短语的开始字符,
I表示关键短语的中间字符和结束字符;
所述多任务共用一个上游模型,该上游模型称之为编码器,所述编码器能将一段文本的字符序列编码为一个向量矩阵,向量矩阵中的每个向量是对相同位置字符的语义表示,称之为字符向量,并使用池化技术从字符向量矩阵中得到输入文本的整体语义表示向量,称之为句子向量;
所述字符向量用于构建关键短语标注任务,所述句子向量用于构建分类任务;
所述编码器使用但不限于谷歌发布的BERT中文预训练模型;
训练模块209使用联合损失函数共同学习编码器、分类器和序列标注器的参数。
在上述技术方案的基础上,所述深度神经网络模型使用如下联合损失函数共同学习所述分类和标注任务;
式中:
S为数据集中的句子文本,
lc为是否闲聊标签,lq为是否问句标签,lp为是否问答对标签,lk为关键短语的序列标注标签,
mc为是否闲聊分类任务损失的mask掩码,mq为是否问句分类任务损失的mask掩码,mp为是否问答对分类任务损失的mask掩码,mk为关键短语序列标注任务损失的mask掩码,
对单个训练样本,包含的训练任务的损失mask掩码为1,不包含的训练任务的损失mask掩码为0。
本发明所述的基于深度学习的从非结构化文本中获取问答对的方法,针对问答对获取困难的问题,通过有效利用容易获取的非结构化文档资源,结合使用深度神经网络模型,自动高效地获取成规模的问答对,供人工校对、补充使用,降低了构建知识库的成本,加快了构建知识库的构建速度。其中,所述非结构化文档资源中包含非结构化文本,这类文档资源包括:文章段落、客服聊天记录等等。
本发明所述的基于深度学习的从非结构化文本中获取问答对的方法,采取以上技术方案,其具有以下优点:
针对人工获取问答对困难的问题,学习深度神经网络分类和序列标注模型,自动从非结构化文本中提取问答对,并结合爬虫技术从互联网上爬取问答对,实现了自动成规模地获取文本内部和互联网上相关的问答对,大大缩短了知识库构建的时间,并降低了人工编辑问答对的成本。
使用深度联合模型共同学习分类任务和序列标注任务,有效利用了这些任务间的内在联系,提高了闲聊非闲聊分类、问句非问句分类、问答对配对、关键短语提取的准确率和召回率,并重用了编码器,节省了计算机资源开销。
训练数据易获取,公司在以往的产品运营和项目实施过程中,积累了大量的问答对和闲聊数据,客服与客户的聊天记录也有大量的文本归档,此外,互联网上也存在大量公开可用的问答对数据,使用爬虫技术很容易得到。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
本发明有如下附图:
图1本发明的技术架构图。
图2分类及标注深度神经网络的结构图。
具体实施方式
以下结合附图对本发明作进一步详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
如图1、2所示,本发明所述的基于深度学习的从非结构化文本中获取问答对的方法,包括如下步骤:
文本规格化处理;
基于深度神经网络模型进行句子分类和配对及关键短语提取;
文本内部的问答对获取;
文本外部的问答对爬取;
问答对汇总去重。
在上述技术方案的基础上,所述文本规格化处理,具体包括:
使用文本规格化处理模块101,将原始文本进行规格化处理,通过文本规格化处理,将原始文本转换为纯净文本;
所述原始文本为非结构化文本,所述非结构化文本来源于非结构化文档资源;
具体说,所述非结构化文本包括以下任意之一或部分或全部:
文章段落,来源为使用爬虫技术获取的网页信息;
客服聊天记录,来源为人工客服和客户QQ或微信聊天中的文本信息;
产品说明书;
规章制度;
办事指南;
所述规格化处理包括:
将原始文本中的全角字符转为半角字符,
将原始文本中的繁体字符转为简体字符,
将原始文本中的大写英文字符转为小写英文字符,
将原始文本中的多个连续空白字符替换为一个空格符,
将原始文本中的HTML标签去除,
将原始文本中的多个连续标点符号仅保留第一个标点符号,再对文本进行文本分句,文本分句时使用换行符、句号、感叹号和问号,规格化处理后得到纯净文本。
在上述技术方案的基础上,得到纯净文本后,使用迭代器102,从头到尾遍历纯净文本中的句子;
遍历过程中,每一个句子均进行如下所述处理;
步骤103,使用字符转ID模块201和编码器模块202,将句子编码,得到句子的向量表示和字符序列的向量表示;
如图2所示,所述字符转ID模块201指:句子文本字符转数字ID模块,
所述编码器模块202指:深度神经网络编码器模块;
句子的向量表示203简称句子的表示,获取句子的表示用于分类(预测句子的分类),
字符序列的向量表示204简称字符序列的表示,获取字符序列的表示用于关键短语提取,
并发步骤104、105、106,根据句子的向量表示,使用闲聊分类器205、问句分类器206,预测句子的分类,
根据字符序列的向量表示,使用关键短语序列标注器208,预测关键短语的位置;
如图2所示,闲聊分类器205用于是否闲聊的判断,
问句分类器206用于是否问句的判断;
步骤107,标记句子的分类和关键短语;
句子遍历完毕,得到标记好的句子。
在上述技术方案的基础上,得到标记好的句子后,使用迭代器108,从头到尾遍历标记好的句子;
遍历过程中,每一个句子均进行如下所述处理;
并发的执行文本内部的问答对获取和文本外部的问答对爬取,
并发执行结束后,则执行步骤120,
步骤120,合并执行文本内部的问答对获取和文本外部的问答对爬取后分别获取的问答对,添加到问答对列表中,返回迭代器108,直到标记好的句子遍历完毕。
在上述技术方案的基础上,所述文本内部的问答对获取,包括以下步骤:
调用文本内部的问答对获取模块,
步骤113,判断当前句子是否非闲聊问句,如果当前句子是非闲聊问句则当前句子是问题句子,
如果当前句子是非闲聊问句,则转步骤114,
步骤114,从当前句子的下10个句子中,取最多前5个非闲聊也非问句的句子作为候选答案,或获取出现在所述问题句子后面的前5个非闲聊也非问题句子作为候选答案,
步骤115,进入迭代器,使用迭代器遍历候选答案,每遍历到一个候选答案,则转步骤116,
步骤116,将该遍历到的候选答案拼接在非闲聊问句后面得到一个候选问答对,
步骤117,对该候选问答对编码得到问答对句子的向量表示,所述对该候选问答对编码使用字符转ID模块201和编码器模块202,将问答对编码,
步骤118,通过问答对分类器207对问答对句子的向量表示分类,筛选出配对成功的问答对,返回步骤115所述迭代器,直到候选答案遍历完毕,则转步骤119,
步骤119,若候选中存在答案句则将答案句按先后顺序拼接成一个句子作为当前问句的答案,若不存在答案句则将当前问句的答案置为空字符串。
文本内部的问答对获取前,先对文本进行如前所述的规格化处理。然后使用所述深度神经网络模型对句子分类,标记闲聊句子和问题句子(问题句子属于非闲聊问句)。针对每个问题句子,获取出现在所述问题句子后面的前5个非闲聊也非问题句子,分别拼接所述问题句子后面,输入到所述深度神经网络模型,判断是否为问答对,若预测结果是问答对,则将该句子合并到问题的答案中。
在上述技术方案的基础上,所述文本外部的问答对爬取,包括以下步骤:
调用文本外部的问答对爬取模块,
步骤109,判断当前句子是否存在关键短语,如果存在关键短语,则转步骤110,
步骤110,将关键短语组装成搜索条件,
步骤111,判断是否指定了领域,如果指定,则将领域词拼接到搜索条件后面,
步骤112,根据搜索条件从问答社区爬取问答对,
所述问答社区包括但不限于以下任意之一或部分或全部:百度知道、搜狗问问、360问答。
文本外部的问答对爬取,通过所述深度神经网络对句子分类的同时,提取出关键短语,以这些关键短语作为搜索条件,使用爬虫技术从问答社区爬取问答对,所述问答社区包括但不限于百度知道、搜狗问问、360问答。在爬取过程中,相同的搜索条件只爬取一次,以避免重复操作。特别地,如果事先知道文本所属的领域,则在爬取时将领域词追加到搜索条件中。
在上述技术方案的基础上,在步骤120的基础上,进一步包括以下步骤:
步骤121,对合并后的问答对列表,使用字符转ID模块201和编码器模块202,编码得到所有问句的向量表示(句子向量),
步骤122,使用问句间的两两相似度矩阵进行相似度的计算,所述相似度的计算使用但不限于余弦相似度计算方法,
步骤123,根据问句间的两两相似度矩阵,从头到尾逐个取列表中的问答对,
设当前问答对qa1,如果它后面的某条问答对qa2的问句与当前问答对qa1的问句的相似度大于阈值(本发明为0.8),则认为这两个问句描述的是相同的问题,则将这两个问句对应的答案合并起来,并将第二个问答对qa2的问句作为第一个问答对问句的相似问句,并从问答对列表删除qa2。
针对获取到的全部问答对,使用所述编码器得到每个问题的句子向量,计算每两个句子向量间的余弦相似度,如果两个问句间的余弦相似度大于阈值(本发明为0.8),则认为这两个问句描述的是相同的问题,则将这两个问句对应的答案合并起来,并将第二个问句作为第一个问句的相似问句,通过以上步骤完成问答对汇总去重。
在上述技术方案的基础上,字符转ID模块201和编码器模块202,使用深度神经网络模型,用于句子分类和配对及关键短语提取,
所述模型为一个多任务联合模型,包含的任务有:
将一段文本分类为闲聊或非闲聊;
将一段文本分类为问句或非问句;
将两段文本分类为问答对或非问答对;
使用BIO标注体系将一段文本序列中的关键短语字符标注为B或I标签,将非关键短语字符标注为O,其中:
B表示关键短语的开始字符,
I表示关键短语的中间字符和结束字符;
所述多任务共用一个上游模型,该上游模型称之为编码器,所述编码器能将一段文本的字符序列编码为一个向量矩阵,向量矩阵中的每个向量是对相同位置字符的语义表示,称之为字符向量,并使用池化技术从字符向量矩阵中得到输入文本的整体语义表示向量,称之为句子向量;
所述字符向量用于构建关键短语标注任务,所述句子向量用于构建分类任务;
所述编码器使用但不限于谷歌发布的BERT(Bidirectional EncoderRepresentations from Transformers)中文预训练模型。
在上述技术方案的基础上,所述深度神经网络模型使用如下联合损失函数共同学习所述分类和标注任务;
式中:
S为数据集中的句子文本,
lc为是否闲聊标签,lq为是否问句标签,lp为是否问答对标签,lk为关键短语的序列标注标签,
mc为是否闲聊分类任务损失的mask掩码,mq为是否问句分类任务损失的mask掩码,mp为是否问答对分类任务损失的mask掩码,mk为关键短语序列标注任务损失的mask掩码,
对单个训练样本,包含的训练任务的损失mask掩码为1,不包含的训练任务的损失mask掩码为0。
更进一步,训练模块209使用联合损失函数共同学习编码器、分类器和序列标注器的参数。
在上述技术方案的基础上,所述字符转ID模块201,将句子或问答对文本中的字符转换成数字ID;
可选地,使用分词工具获取每个字符对应的词性标签,并转换得到字符词性数字ID;
可选地,对每个字符根据它在句子中的位置得到字符位置序号ID;
可选地,对每个字符,根据所在句子在文本中的序号ID得到句子序号ID;
将得到的各个ID序列通过各自的嵌入式向量表转换为相同大小的向量矩阵,并将这些向量矩阵累加起来作为句子的向量矩阵。
在上述技术方案的基础上,所述编码器模块202,对句子的向量矩阵编码,得到句子的向量表示和字符序列的向量表示,所述编码器使用但不限于BERT。
在上述技术方案的基础上,所述闲聊分类器205,根据句子的向量表示,经一个全连接层线性变换后得到是否闲聊的输出向量,再使用sigmoid二分类器将该输出向量分类为是闲聊或非闲聊。
在上述技术方案的基础上,所述问句分类器206,根据句子的向量表示,经一个全连接层线性变换后得到是否问句的输出向量,再使用sigmoid二分类器将该输出向量分类为是问句或非问句。
在上述技术方案的基础上,所述问答对分类器207,根据问答对的向量表示,经一个全连接层线性变换后得到是否问答对的输出向量,再使用sigmoid二分类器将该输出向量分类为是问答对或非问答对。
在上述技术方案的基础上,所述关键短语序列标注器208,根据字符序列的向量矩阵表示,经一个全连接层线性变换后得到序列标注的输出向量矩阵,再使用softmax多分类器根据该输出向量矩阵预测每个字符的关键短语BIO标签,其中B表示关键短语的开始字符,I表示关键短语的中间字符和结束字符,O表示关键短语之外的字符。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种基于深度学习的从非结构化文本中获取问答对的方法,其特征在于,包括如下步骤:
使用文本规格化处理模块101,将原始文本进行规格化处理,通过文本规格化处理,将原始文本转换为纯净文本;所述原始文本为非结构化文本,所述非结构化文本来源于非结构化文档资源;
文本规格化处理包括:将原始文本中的全角字符转为半角字符,将原始文本中的繁体字符转为简体字符,将原始文本中的大写英文字符转为小写英文字符,将原始文本中的多个连续空白字符替换为一个空格符,将原始文本中的HTML标签去除,将原始文本中的多个连续标点符号仅保留第一个标点符号,再对文本进行文本分句,文本分句时使用换行符、句号、感叹号和问号,规格化处理后得到纯净文本;
得到纯净文本后,使用迭代器102,从头到尾遍历纯净文本中的句子,遍历过程中,每一个句子均进行如下所述处理:步骤103,使用字符转ID模块201和编码器模块202,将句子编码,得到句子的向量表示和字符序列的向量表示;
并发步骤104是否闲聊分类、105是否问句分类、106关键短语序列标注,根据句子的向量表示,使用闲聊分类器205、问句分类器206,预测句子的分类,根据字符序列的向量表示,使用关键短语序列标注器208,预测关键短语的位置;步骤107,标记句子的分类和关键短语;句子遍历完毕,得到标记好的句子,得到标记好的句子后,使用迭代器108,从头到尾遍历标记好的句子,遍历过程中,每一个句子均进行如下所述处理:并发的执行文本内部的问答对获取和文本外部的问答对爬取,并发执行结束后,则执行步骤120,合并执行文本内部的问答对获取和文本外部的问答对爬取后分别获取的问答对,添加到问答对列表中,返回迭代器108,直到标记好的句子遍历完毕;
所述闲聊分类器205,根据句子的向量表示,经一个全连接层线性变换后得到是否闲聊的输出向量,再使用sigmoid二分类器将该输出向量分类为是闲聊或非闲聊;所述问句分类器206,根据句子的向量表示,经一个全连接层线性变换后得到是否问句的输出向量,再使用sigmoid二分类器将该输出向量分类为是问句或非问句;所述关键短语序列标注器208,根据字符序列的向量矩阵表示,经一个全连接层线性变换后得到序列标注的输出向量矩阵,再使用softmax多分类器根据该输出向量矩阵预测每个字符的关键短语BIO标签,其中B表示关键短语的开始字符,I表示关键短语的中间字符和结束字符,O表示关键短语之外的字符;
问答对汇总去重。
2.如权利要求1所述的基于深度学习的从非结构化文本中获取问答对的方法,其特征在于:所述文本内部的问答对获取,包括以下步骤:
调用文本内部的问答对获取模块,
步骤113,判断当前句子是否非闲聊问句,如果当前句子是非闲聊问句则当前句子是问题句子,
如果当前句子是非闲聊问句,则转步骤114,
步骤114,从当前句子的下10个句子中,取最多前5个非闲聊也非问句的句子作为候选答案,或获取出现在所述问题句子后面的前5个非闲聊也非问题句子作为候选答案,
步骤115,进入迭代器,使用迭代器遍历候选答案,每遍历到一个候选答案,则转步骤116,
步骤116,将该遍历到的候选答案拼接在非闲聊问句后面得到一个候选问答对,
步骤117,对该候选问答对编码得到问答对句子的向量表示,所述对该候选问答对编码使用字符转ID模块201和编码器模块202,将问答对编码,
步骤118,通过问答对分类器207对问答对句子的向量表示分类,筛选出配对成功的问答对,返回步骤115所述迭代器,直到候选答案遍历完毕,则转步骤119,
所述问答对分类器207,根据问答对的向量表示,经一个全连接层线性变换后得到是否问答对的输出向量,再使用sigmoid二分类器将该输出向量分类为是问答对或非问答对;
步骤119,若候选中存在答案句则将答案句按先后顺序拼接成一个句子作为当前问句的答案,若不存在答案句则将当前问句的答案置为空字符串。
3.如权利要求1所述的基于深度学习的从非结构化文本中获取问答对的方法,其特征在于:所述文本外部的问答对爬取,包括以下步骤:
调用文本外部的问答对爬取模块,
步骤109,判断当前句子是否存在关键短语,如果存在关键短语,则转步骤110,
步骤110,将关键短语组装成搜索条件,
步骤111,判断是否指定了领域,如果指定,则将领域词拼接到搜索条件后面,
步骤112,根据搜索条件从问答社区爬取问答对,
所述问答社区包括但不限于以下任意之一或部分或全部:百度知道、搜狗问问、360问答。
4.如权利要求1所述的基于深度学习的从非结构化文本中获取问答对的方法,其特征在于:在步骤120的基础上,进一步包括以下步骤:
步骤121,对合并后的问答对列表,使用字符转ID模块201和编码器模块202,编码得到所有问句的向量表示,
步骤122,使用问句间的两两相似度矩阵进行相似度的计算,所述相似度的计算使用余弦相似度计算方法,
步骤123,根据问句间的两两相似度矩阵,从头到尾逐个取列表中的问答对,
针对获取到的全部问答对,使用所述编码器得到每个问题的句子向量,计算每两个句子向量间的余弦相似度,如果两个问句间的余弦相似度大于阈值,则认为这两个问句描述的是相同的问题,则将这两个问句对应的答案合并起来,并将第二个问句作为第一个问句的相似问句,通过以上步骤完成问答对汇总去重。
5.如权利要求1所述的基于深度学习的从非结构化文本中获取问答对的方法,其特征在于:字符转ID模块201和编码器模块202,使用深度神经网络模型,用于句子分类和配对及关键短语提取,
所述模型为一个多任务联合模型,包含的任务有:
将一段文本分类为闲聊或非闲聊;
将一段文本分类为问句或非问句;
将两段文本分类为问答对或非问答对;
使用BIO标注体系将一段文本序列中的关键短语字符标注为B或I标签,将非关键短语字符标注为O,其中:
B表示关键短语的开始字符,
I表示关键短语的中间字符和结束字符;
所述多任务共用一个上游模型,该上游模型称之为编码器,所述编码器能将一段文本的字符序列编码为一个向量矩阵,向量矩阵中的每个向量是对相同位置字符的语义表示,称之为字符向量,并使用池化技术从字符向量矩阵中得到输入文本的整体语义表示向量,称之为句子向量;
所述字符向量用于构建关键短语标注任务,所述句子向量用于构建分类任务;
所述编码器使用但不限于谷歌发布的BERT中文预训练模型;
训练模块209使用联合损失函数共同学习编码器、分类器和序列标注器的参数。
6.如权利要求5所述的基于深度学习的从非结构化文本中获取问答对的方法,其特征在于:所述深度神经网络模型使用如下联合损失函数共同学习所述分类和标注任务;
式中:
S为数据集中的句子文本,
lc为是否闲聊标签,lq为是否问句标签,lp为是否问答对标签,lk为关键短语的序列标注标签,
mc为是否闲聊分类任务损失的mask掩码,mq为是否问句分类任务损失的mask掩码,mp为是否问答对分类任务损失的mask掩码,mk为关键短语序列标注任务损失的mask掩码,
对单个训练样本,包含的训练任务的损失mask掩码为1,不包含的训练任务的损失mask掩码为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910220102.7A CN110110054B (zh) | 2019-03-22 | 2019-03-22 | 一种基于深度学习的从非结构化文本中获取问答对的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910220102.7A CN110110054B (zh) | 2019-03-22 | 2019-03-22 | 一种基于深度学习的从非结构化文本中获取问答对的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110054A CN110110054A (zh) | 2019-08-09 |
CN110110054B true CN110110054B (zh) | 2021-06-08 |
Family
ID=67484463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910220102.7A Active CN110110054B (zh) | 2019-03-22 | 2019-03-22 | 一种基于深度学习的从非结构化文本中获取问答对的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110054B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688849B (zh) * | 2019-09-03 | 2023-09-15 | 平安科技(深圳)有限公司 | 渐进式阅读方法、装置、设备及可读存储介质 |
CN110532369B (zh) * | 2019-09-04 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种问答对的生成方法、装置及服务器 |
CN111078875B (zh) * | 2019-12-03 | 2022-12-13 | 哈尔滨工程大学 | 一种基于机器学习的从半结构化文档中提取问答对的方法 |
CN112287077A (zh) * | 2019-12-09 | 2021-01-29 | 北京来也网络科技有限公司 | 用于文档的结合rpa和ai的语句提取方法、装置、存储介质及电子设备 |
CN111143531A (zh) * | 2019-12-24 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 一种问答对构建方法、系统、装置及计算机可读存储介质 |
CN111340218B (zh) * | 2020-02-24 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 一种训练问题识别模型的方法和系统 |
CN111506827A (zh) * | 2020-03-18 | 2020-08-07 | 威比网络科技(上海)有限公司 | 业务员问答互动方法、平台、设备及存储介质 |
CN111625632A (zh) * | 2020-04-17 | 2020-09-04 | 北京捷通华声科技股份有限公司 | 一种问答对推荐方法、装置、设备及存储介质 |
CN113836275B (zh) * | 2020-06-08 | 2023-09-05 | 菜鸟智能物流控股有限公司 | 对话模型建立方法、装置、非易失性存储介质和电子装置 |
CN111538825B (zh) | 2020-07-03 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 知识问答方法、装置、系统、设备及存储介质 |
CN112231472B (zh) * | 2020-09-18 | 2022-07-29 | 昆明理工大学 | 融入领域术语词典的司法舆情敏感信息识别方法 |
CN112307164A (zh) * | 2020-10-15 | 2021-02-02 | 江苏常熟农村商业银行股份有限公司 | 信息推荐方法、装置、计算机设备和存储介质 |
CN112364634B (zh) * | 2020-11-02 | 2024-07-26 | 成都不问科技有限公司 | 一种基于问句的同义词匹配方法 |
CN112580343A (zh) * | 2020-11-03 | 2021-03-30 | 北京字节跳动网络技术有限公司 | 模型生成方法、问答质量判断方法、装置、设备及介质 |
CN112784022B (zh) * | 2020-12-31 | 2021-10-19 | 北京智源人工智能研究院 | 一种政务faq知识库自动构建方法、装置和电子设备 |
CN115114430A (zh) * | 2021-03-22 | 2022-09-27 | 京东科技控股股份有限公司 | 信息抽取方法、装置和计算机可读存储介质 |
CN113887246A (zh) * | 2021-10-19 | 2022-01-04 | 京东科技信息技术有限公司 | 客服领域人机方案一致性检测的方法、装置及存储介质 |
CN114281975B (zh) * | 2021-12-30 | 2024-07-16 | 北京尘锋信息技术有限公司 | 一种对话数据中问答对的抽取方法 |
CN117217315B (zh) * | 2023-09-22 | 2024-08-06 | 深圳智现未来工业软件有限公司 | 一种利用大语言模型生成高质量问答数据的方法及装置 |
CN117575020B (zh) * | 2023-11-14 | 2024-09-24 | 平安创科科技(北京)有限公司 | 基于人工智能的智能问答方法、装置、设备及介质 |
CN117972070B (zh) * | 2024-04-01 | 2024-06-18 | 中国电子科技集团公司第十五研究所 | 一种面向大模型表格问答方法 |
CN118350467A (zh) * | 2024-05-21 | 2024-07-16 | 广州中科云图智能科技有限公司 | 知识问答方法、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455535A (zh) * | 2013-05-08 | 2013-12-18 | 深圳市明唐通信有限公司 | 基于历史咨询数据构建知识库的方法 |
CN106095872A (zh) * | 2016-06-07 | 2016-11-09 | 北京高地信息技术有限公司 | 用于智能问答系统的答案排序方法及装置 |
CN107220296A (zh) * | 2017-04-28 | 2017-09-29 | 北京拓尔思信息技术股份有限公司 | 问答知识库的生成方法、神经网络的训练方法以及设备 |
CN108170853A (zh) * | 2018-01-19 | 2018-06-15 | 广东惠禾科技发展有限公司 | 一种聊天语料自清洗方法、装置和用户终端 |
CN108804529A (zh) * | 2018-05-02 | 2018-11-13 | 深圳智能思创科技有限公司 | 一种基于Web的问答系统实现方法 |
-
2019
- 2019-03-22 CN CN201910220102.7A patent/CN110110054B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455535A (zh) * | 2013-05-08 | 2013-12-18 | 深圳市明唐通信有限公司 | 基于历史咨询数据构建知识库的方法 |
CN106095872A (zh) * | 2016-06-07 | 2016-11-09 | 北京高地信息技术有限公司 | 用于智能问答系统的答案排序方法及装置 |
CN107220296A (zh) * | 2017-04-28 | 2017-09-29 | 北京拓尔思信息技术股份有限公司 | 问答知识库的生成方法、神经网络的训练方法以及设备 |
CN108170853A (zh) * | 2018-01-19 | 2018-06-15 | 广东惠禾科技发展有限公司 | 一种聊天语料自清洗方法、装置和用户终端 |
CN108804529A (zh) * | 2018-05-02 | 2018-11-13 | 深圳智能思创科技有限公司 | 一种基于Web的问答系统实现方法 |
Non-Patent Citations (3)
Title |
---|
Google开源BERT模型源代码;本刊讯;《数据分析与知识发现》;20181130;正文第1页 * |
基于web数据的碳交易领域知识图谱构建研究;王良萸;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;正文第2-4章 * |
基于Word2Vec的中文问句检索技术研究及系统实现;成昊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170215;正文第2-4章 * |
Also Published As
Publication number | Publication date |
---|---|
CN110110054A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110054B (zh) | 一种基于深度学习的从非结构化文本中获取问答对的方法 | |
CN111639171B (zh) | 一种知识图谱问答方法及装置 | |
CN113642330B (zh) | 基于目录主题分类的轨道交通规范实体识别方法 | |
CN110598203B (zh) | 一种结合词典的军事想定文书实体信息抽取方法及装置 | |
CN112101028B (zh) | 一种多特征双向门控领域专家实体抽取方法及系统 | |
CN111382565B (zh) | 基于多标签的情绪-原因对抽取方法及系统 | |
CN115564393B (zh) | 一种基于招聘需求相似度的职位推荐方法 | |
CN113312922B (zh) | 一种改进的篇章级三元组信息抽取方法 | |
CN115858758A (zh) | 一种多非结构化数据识别的智慧客服知识图谱系统 | |
CN112541337B (zh) | 一种基于递归神经网络语言模型的文档模板自动生成方法及系统 | |
CN112101014B (zh) | 一种混合特征融合的中文化工文献分词方法 | |
CN113221559B (zh) | 利用语义特征的科技创新领域中文关键短语抽取方法及系统 | |
CN113191148A (zh) | 一种基于半监督学习和聚类的轨道交通实体识别方法 | |
CN114943230A (zh) | 一种融合常识知识的中文特定领域实体链接方法 | |
CN117609419A (zh) | 基于元学习与知识增强的领域检索方法 | |
CN111967267A (zh) | 一种基于XLNet的新闻文本地域提取的方法及系统 | |
Wang | Information Extraction and Knowledge Map Construction based on Natural Language Processing | |
CN113378024B (zh) | 一种基于深度学习面向公检法领域的相关事件识别方法 | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配系统及方法 | |
CN114579706B (zh) | 一种基于bert神经网络和多任务学习的主观题自动评阅方法 | |
CN114842301A (zh) | 一种图像注释模型的半监督训练方法 | |
Yang et al. | Graphusion: Leveraging large language models for scientific knowledge graph fusion and construction in nlp education | |
Shahade et al. | Deep learning approach-based hybrid fine-tuned Smith algorithm with Adam optimiser for multilingual opinion mining | |
Shabbir et al. | Sentiment Analysis From Urdu Language-based Text using Deep Learning Techniques | |
CN118170933B (zh) | 一种面向科学领域多模态语料数据的构建方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |