CN116975221A - 文本阅读理解方法、装置、设备及存储介质 - Google Patents
文本阅读理解方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116975221A CN116975221A CN202310688777.0A CN202310688777A CN116975221A CN 116975221 A CN116975221 A CN 116975221A CN 202310688777 A CN202310688777 A CN 202310688777A CN 116975221 A CN116975221 A CN 116975221A
- Authority
- CN
- China
- Prior art keywords
- question
- paragraphs
- text
- paragraph
- word
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 239000013598 vector Substances 0.000 claims abstract description 278
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000009977 dual effect Effects 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文本阅读理解方法、装置、设备及存储介质,可应用于人工智能、在线问答等场景。该方法包括:获取待阅读的文本和待回答的问题,并提取该文本所包括的N个段落的向量表示和该问题的向量表示;基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落;将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。即本申请将K个段落作为该问题的上下文信息输入生成式模型,可以保证生成式模型的输入长度符合要求,进而使得生成式模型对长文本对应的问题进行自然连贯的回答,且可以提高问题回答的准确性,进而提升了文本阅读理解的效果。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种文本阅读理解方法、装置、设备及存储介质。
背景技术
随着神经网络技术的快速发展,各种机器阅读理解模型随之产生。机器阅读理解的关键在于如何将自然语言文本转化为计算机可以理解和处理的形式。为了实现这一目标,机器阅读理解模型通常使用深度学习技术,例如循环神经网络(Recurrent NeuralNetwork,RNN)、卷积神经网络(Convolutional Neural Network,CNN)和注意力机制(Attention Mechanism)等。
目前的阅读理解方法包括抽取式阅读理解和生成式阅读理解,但是抽取式阅读理解从文本中抽取的答案缺乏连贯性和解释性,其阅读理解效果差。而生成式阅读理解虽然可以输出自然连贯的答案,但是对输入长度有较严格的要求,无法对长文本进行有效的阅读理解。因此,如何对长文本对应的问题进行自然连贯的回答,成为本领域亟待解决的技术问题。
发明内容
本申请提供一种文本阅读理解方法、装置、设备及存储介质,可以对长文本进行有效的阅读理解,且输出自然连通的答案,进行提升长文本的阅读理解效果。
第一方面,本申请提供一种文本阅读理解方法,包括:
获取待阅读的文本和待回答的问题,并提取所述文本的N个段落的向量表示和所述问题的向量表示,所述问题是对所述文本进行阅读理解后要回答的问题,所述N为正整数;
基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,所述K为小于或等于N的正整数;
将所述K个段落作为所述问题的上下文信息,通过生成式模型对所述K个段落和所述问题进行处理,得到所述问题的答案。
第二方面,本申请提供一种文本阅读理解装置,包括:
提取单元,用于获取待阅读的文本和待回答的问题,并提取所述文本的N个段落的向量表示和所述问题的向量表示,所述问题是对所述文本进行阅读理解后要回答的问题,所述N为正整数;
选择单元,用于基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,所述K为小于或等于N的正整数;
理解单元,用于将所述K个段落作为所述问题的上下文信息,通过生成式模型对所述K个段落和所述问题进行处理,得到所述问题的答案。
在一些实施例中,提取单元,具体用于通过对偶式检索模型,提取所述N个段落的向量表示和所述问题的向量表示。
在一些实施例中,所述对偶式检索模型包括第一编码器和第二编码器,提取单元,具体用于通过所述第一编码器提取所述问题中每个词的向量表示,得到所述问题的向量表示;对于所述N个段落中的第i个段落,通过所述第二编码器提取所述第i个段落中每个词的向量表示,得到所述第i个段落的向量表示,所述i为小于或等于N的正整数。
在一些实施例中,选择单元,具体用于对于所述N个段落中的第i个段落,基于所述问题中每个词的向量表示和所述第i个段落中每个词的向量表示,确定所述问题和所述第i个段落之间的相似度;基于所述问题与所述N个段落中每一个段落之间的相似度,从所述N个段落中选出与所述问题的相似度最高的K个段落。
在一些实施例中,选择单元,具体用于基于所述第i个段落中每个词的向量表示,组成所述第i个段落的向量表示矩阵;基于所述问题中每个词的向量表示,组成所述问题的向量表示矩阵;将所述第i个段落的向量表示矩阵和所述问题的向量表示矩阵相乘,得到所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元,具体用于对于所述问题中的第j个词,基于所述第j个词的向量表示和所述第i个段落中的每个词的向量表示,确定所述第j个词与所述第i个段落中的每个词之间的相似度;基于所述第j个词与所述第i个段落中的每个词之间的相似度,确定所述第j个词在所述第i个段落中对应的最大相似度;基于所述问题中每一个词在所述第i个段落中对应的最大相似度,确定所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元,具体用于将所述问题中每一个词在所述第i个段落中对应的最大相似度相加,得到所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元,具体用于基于所述N个段落的向量表示,对所述N个段落进行聚类,得到M个聚类,所述M为小于N的正整数;从所述M个聚类中选出与所述问题的相似度最高的P个聚类,所述P为正整数;从所述P个聚类所包括的段落中,确定出与所述问题的相似度最高的K个段落。
在一些实施例中,选择单元,具体用于对于所述M个聚类中的每一个聚类,基于所述聚类所包括的段落的向量表示,确定出所述聚类的向量索引,并基于所述聚类的向量索引和所述问题的向量表示,确定所述问题与所述聚类之间的相似度;基于所述问题与所述M个聚类中每一个聚类之间的相似度,从所述M个聚类中选出与所述问题的相似度最高的P个聚类。
在一些实施例中,提取单元,在提取所述文本的N个段落的向量表示之前,还用于对所述文本进行段落划分,得到所述N个段落,所述N个段落中各段落的长度小于预设长度。
在一些实施例中,所述K个段落和所述问题的长度之和,小于或等于所述生成式模型的输入长度。
在一些实施例中,所述对偶式检索模型的一批训练数据中包括Q个问题和所述Q个问题对应的Q个文本,对于所述Q个问题中的第q个问题,所述第q个问题的答案在所述Q个文本中的第q个文本中,所述第q个问题对应的正样本包括所述第q个文本中所述第q个问题的答案所在的段落,所述第q个问题对应的负样本包括所述Q个文本中除所述第q个文本外的其他文本中的至少一个段落,所述Q为大于1的正整数,所述q为小于或等于Q的正整数。
在一些实施例中,所述第q个问题对应的负样本还包括所述第q个文本中除所述第q个问题的答案所在的段落外的至少一个段落。
在一些实施例中,所述文本为长文本。
第三方面,本申请提供了一种计算设备,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面任一方面的方法。
第四方面,提供了一种芯片,用于实现上述第一方面至第四方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面的方法。
第五方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面的方法。
第六方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面的方法。
第七方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面的方法。
综上,本申请通过获取待阅读的文本和待回答的问题,并提取该文本所包括的N个段落的向量表示和该问题的向量表示,其中该问题是对该文本进行阅读理解后要回答的问题;接着,基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落,进而将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。由此可知,在本申请实施例中,在使用生成式模型对该文本的相关问题进行回答时,首先从该文本所包括的N个段落中选出与该问题相似度最高的K个段落,作为该问题的上下文信息,与该问题一起输入该生成式模型中,这样可以保证输入信息的长度符合生成式模型的输入长度,使得生成式模型对长文本对应的问题进行自然连贯的回答。进一步的,在本申请实施例中,输入生成式模型的信息为该文本中与问题的相关性最高的K个段落,这样生成式模型基于该与问题相关性最高的K个段落进行阅读理解时,可以实现对该问题的准确回答,进而提升了文本阅读理解的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例涉及的文本阅读理解原理示意图;
图2为一种在线问答界面示意图;
图3为本申请实施例提供的文本阅读理解方法的一种实施环境示意图;
图4为本申请一实施例提供的文本阅读理解方法的流程示意图;
图5为终端设备执行文本阅读理解方法时的一种原理示意图;
图6为计算设备执行文本阅读理解方法时的一种原理示意图;
图7A为本申请实施例涉及的一种对偶式检索模型示意图;
图7B为本申请实施例涉及的另一种对偶式检索模型示意图;
图7C为本申请实施例涉及的又一种对偶式检索模型示意图;
图8为本申请一实施例提供的文本阅读理解方法的流程示意图;
图9为本申请实施例涉及的文本阅读理解过程示意图;
图10A为本申请实施例涉及的一种训练数据样本示意图;
图10B为本申请实施例涉及的另一种训练数据样本示意图;
图11是本申请一实施例提供的文本阅读理解装置的示意性框图;
图12是本申请实施例提供的计算设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,在本发明实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本申请实施例提供的文本阅读理解方法,可以应用于人工智能、在线问答等各种文本阅读理解的场景,用于对待阅读的文本进行准确的阅读理解,且基于对文本的准确阅读理解,对待回答的问题进行准确回答,且输出的答案自然连贯,容易理解。
人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例的提出的方法,属于机器阅读理解领域。
机器阅读理解通常分为两个阶段:阅读理解和答案生成:
其中,阅读理解:机器阅读理解模型需要对输入的文本进行阅读理解,即理解文本的含义和结构。这通常涉及到文本的分词、词性标注、实体识别、句法分析等自然语言处理技术。在阅读理解的过程中,模型需要理解文本中的关键信息、逻辑关系和语义含义,以便回答相关问题。
答案生成:机器阅读理解模型需要根据输入的问题和阅读理解的结果,生成与问题相关的答案。这通常涉及到文本的推理、逻辑推断、知识表示等技术。在答案生成的过程中,模型需要将阅读理解的结果与问题进行匹配,找到最合适的答案,并生成自然语言文本作为答案输出。
机器阅读理解的关键在于如何将自然语言文本转化为计算机可以理解和处理的形式。为了实现这一目标,机器阅读理解模型通常使用深度学习技术,例如循环神经网络(Recurrent Neural Network,RNN)、卷积神经网络(Convolutional Neural Network,CNN)和注意力机制(Attention Mechanism)等。
近年来随着算力的提升,基于预训练模型的端到端模型逐渐成为了阅读理解的主流解决方案。示例性的,如图1所示,该方法将问题(query)和文本的段落拼接成一个输入,输入机器阅读理解模型(例如BERT)中,模型输出包括C标签的概率值,其中C标签的概率值表示该段落中是否包括答案。如果该C标签的概率值是所有输出中的最大值时,则表示该段落中不包括答案。如果该标签C的概率值不是所有输出中的最大值,则表示该段落中包括答案,且在T1到Tm的片段中,答案所在的片段开始位置和结束位置的概率值最大。如果文本的长度超过模型输入的最大长度限制(例如512),则对文本进行切分,选择答案片段中概率最大的结果作为最终的答案。
该方法将阅读理解和答案生成两步融合成一个端到端模型解决,取得了比较好的成绩。但是抽取式的答案结果缺乏连贯性和解释性,不能很好满足用户的阅读需求。
为了解决上述技术问题,提出了一种生成式大模型,生成式大模型是一种基于Transformer架构的生成式语言模型,使用了大规模的预训练数据和自回归模型,可以生成连贯、自然的对话文本。它的预训练数据包括了数十亿个单词级别的文本数据,例如百科、新闻文章、小说等。在预训练阶段,模型学习了文本数据的概率分布,并使用该分布来生成新的文本数据。生成过程是基于上下文的,它可以根据给出的Prompt生成回复。这使得模型可以生成连贯、自然的文本,并且可以适应不同的场景和话题。
其中,Prompt是指用于指导模型生成文本的一段文本或一组关键词。它可以是一个问题、一个主题、一个开头或一个上下文等,用于指导模型生成与Prompt相关的文本。Prompt的设计对于生成式模型的性能和效果非常重要。一个好的Prompt应该能够引导模型生成与Prompt相关的文本,并且应该具有足够的信息量,以便模型可以生成准确、连贯的文本。此外,Prompt的长度和内容也会影响模型的生成效果,因此需要根据具体任务和模型进行调整。
基于生成式大模型的强大文本理解和文本生成能力,各种以问答或者对话形式的产品也涌现出来。如图2所示,浏览器以自身文档阅读器为基础,推出与文档对话的ChatDOC(是一种工具,旨在通过上传文件并与AI聊天机器人进行自然语言对话来帮助获取知识)功能,用户可以对上传的文本进行提问。算法能够基于文本检索相关的上下文内容,然后将上下文和问题构成Prompt,让生成式大模型理解问题并生成答案。
由上述可知,生成式大模型虽然可以生成自然连贯的回答,但是生成式模型对输入的要求比较严格,通过要求输入不超过1024,而通常的文本超过该长度。
因此,如何对长文本对应的问题进行自然连贯的回答,成为本领域亟待解决的技术问题。
为了解决上述技术问题,本申请实施例通过获取待阅读的文本和待回答的问题,并提取该文本所包括的N个段落的向量表示和该问题的向量表示,其中该问题是对该文本进行阅读理解后要回答的问题;接着,基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落,进而将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。由此可知,在本申请实施例中,在使用生成式模型对该文本的相关问题进行回答时,首先从该文本所包括的N个段落中选出与该问题相似度最高的K个段落,作为该问题的上下文信息,与该问题一起输入该生成式模型中,这样可以保证输入信息的长度符合生成式模型的输入长度,使得生成式模型对长文本对应的问题进行自然连贯的回答。进一步的,在本申请实施例中,输入生成式模型的信息为该文本中与问题的相关性最高的K个段落,这样生成式模型基于该与问题相关性最高的K个段落进行阅读理解时,可以实现对该问题的准确回答,进而提升了文本阅读理解的效果。
下面对本申请实施例提供的文本阅读理解方法的实施环境进行介绍。
图3为本申请实施例提供的文本阅读理解方法的一种实施环境示意图,如图3所示,包括终端设备101和计算设备102。
如图3所示,本申请实施例的计算设备102中包括生成式模型。其中,计算设备102该生成式模型是预先训练好的,用于对输入的问题进行回答。具体是,计算设备102获取待阅读的文本和待回答的问题,并提取该文本所包括的N个段落的向量表示和该问题的向量表示,其中该问题是对该文本进行阅读理解后要回答的问题;接着,计算设备102基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落;最后计算设备102将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。由此可知,在本申请实施例中,在使用生成式模型对该文本的相关问题进行回答时,首先从该文本所包括的N个段落中选出与该问题相似度最高的K个段落,作为该问题的上下文信息,与该问题一起输入该生成式模型中,这样可以保证输入信息的长度符合生成式模型的输入长度,使得生成式模型对长文本对应的问题进行自然连贯的回答。进一步的,在本申请实施例中,输入生成式模型的信息为该文本中与问题的相关性最高的K个段落,这样生成式模型基于该与问题相关性最高的K个段落进行阅读理解时,可以实现对该问题的准确回答,进而提升了文本阅读理解的效果。
在一些实施例中,该计算设备102中还包括对偶式检索模型,该对偶式检索模型用于从N个段落中选出与问题相似度最高的K个段落。在一些实施例中,计算设备102在使用该还对对偶式检索模型从该文本所包括的N个段落中选出K个段落之前,首先该对偶式检索模型进行训练,示例性的,对于对偶式检索模型的任意一批训练数据,该训练数据中包括Q个问题和所述Q个问题对应的Q个文本,对于所述Q个问题中的第q个问题,计算设备102从第q个问题的答案所在的第q个文本中选出第q个问题的答案所在的段落作为该第q个问题的正样本,从Q个文本中除第q个文本外的其他文本中选出至少一个段落,作为第q个问题对应的负样本。
在一些实施例中,如图3所示,该应用场景还包括数据库103,该数据库103中包括历史问题和历史问题对应的历史文本数据。在本申请实施例中,终端设备101与数据库103通信连接,可以向数据库103中写入数据,计算设备102与数据库102也通信连接,可以从数据库103中读取数据。在一种示例中,在本申请实施例的模型训练过程中,例如上述对偶式检索模型的训练过程中,计算设备102从数据库103中获取历史问题和历史问题对应的历史文本,并基于历史问题和历史问题对应的历史文本构建不同批训练数据对应的训练样本集,每一批训练数据中包括Q个问题和所述Q个问题对应的Q个文本,每一批训练数据对应的训练样本集中包括问题对应正样本和负样本,具体参照上述描述。接着,计算设备102使用训练样本集对对偶式检索模型进行训练。最后,计算设备102使用训练后的对偶式检索模型提取出待阅读的文本所包括的N个段落的向量表示和待解答的问题的向量表示。
本申请实施例对终端设备101的具体类型不做限制。在一些实施例中,终端设备101可包括但不限于:手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、可穿戴智能设备、医疗设备等等。设备往往配置有显示装置,显示装置也可为显示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等。
在一些实施例中,计算设备102为具有数据处理功能的终端设备,例如手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、可穿戴智能设备、医疗设备等等。
在一些实施例中,若本申请实施例应用于推荐系统,则本申请实施例的终端设备101上安装有客户端,该客户端可以实现对媒体资源,例如广告的推荐。对应的,计算设备102可以理解为该客户端对应的后台服务器。
在一些实施例中,计算设备102包括服务器。服务器可以是一台或多台。服务器是多台时,存在至少两台服务器用于提供不同的服务,和/或,存在至少两台服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102也可以成为区块链的节点。
本申请实施例中,终端设备101和计算设备102之间可以通过有线通信或者无线通信方式进行直接或间接地连接,本申请在此不做限制。
需要说明的是,本申请实施例的应用场景包括但不限于图3所示。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图4为本申请一实施例提供的文本阅读理解方法的流程示意图。本申请实施例的执行主体为具有文本阅读理解功能的装置,例如为文本阅读理解装置。在一些实施例中,该文本阅读理解装置可以为图3中的计算设备,或者为图3中的终端设备,或者为图3中计算设备和终端设备组成的系统。为了便于描述,本申请实施例以执行主体为计算设备为例进行说明。
如图4所示,本申请实施例的文本阅读理解方法包括:
S401、获取待阅读的文本和待回答的问题,并提取文本的N个段落的向量表示和问题的向量表示。
上述问题是对该文本进行阅读理解后要回答的问题,N为正整数。
本申请实施例中,待阅读的文本可以为长文本,也可以为短文本,本申请实施例对此不做限制。也就是说,本申请实施例的文本阅读理解方法可以对长文本进行机器阅读理解,并回答基于该长文本提出的问题,同时也可以对短文本进行机器阅读理解,并回答基于该短文本提出的问题。
上述待回答的问题是对待阅读的文本进行阅读理解后,需要回答的问题。本申请实施例对该问题的具体类型不做限制。
在一种示例中,该问题可以是答案可以直接从文本中抽取出的问题。例如文本介绍了对象A的年龄和性别等基本信息,此时该问题可以为“对象A的年龄是多少?”。该问题的答案可以直接从文本中抽取出来。
在一种示例中,该问题可以是答案不能直接从文本中抽取出的问题,而是需要对文本进行语义和逻辑性进行理解后,归类出答案的问题。例如文本是一批散文,此时该问题可以为“该文本的中心思想是什么?”。该问题的答案无法直接从文本中抽取出来,而是需要对文本进行阅读理解后,进行归类总结才可以得到答案。
本申请实施例对计算设备获取待阅读的文本和待回答的问题的具体方式不做限制。
在一些实施例中,若本申请实施例的文本阅读理解方法的执行主体为终端设备,也就是说,该终端设备具有文本阅读理解能力,可以对待阅读的文本进行阅读理解,并对基于该文本的待回答问题进行作答。基于此,用户可以直接将该待阅读的文本和待回答的问题输入该终端设备,以使该终端设备执行本申请实施例的方法,对该待阅读的文本进行阅读理解,并对该待回答的问题进行作答,输出该问题的答案。
在该实施例的一种可能的实现方式中,如图5所示,终端设备包括问答式页面,用户可以将该待阅读的文本输入该问答式页面中,例如将该待阅读的文本直接拖入该问答式页面中。接着,用户在该问答式页面的问题输入框中输入待回答的问题,例如输入“该文本的中心思想是什么?”。
在一种可能的实现方式中,用户触发该问题输入框时,终端设备可以在该问题输入框内或该问题输入框旁显示常见的问题列表,用户可以选择该问题列表中的某问题作为待回答的问题。若该问题列表中不存在待回答的问题时,则用户可以在该问题输入框内手动输入待回答的问题。
在本申请实施例中,用户输入待回答的问题的方式可以是通过键盘输入,也可以通过语音方式输入,或者通过手势等方式输入,本申请实施例对待回答问题的输入方式不做限制。
在该实施例中,若该文本阅读理解方法的执行主体为终端设备时,则终端设备可以直接获取用户输入的待阅读的文本和待回答的问题。
在一些实施例中,若本申请实施例的文本阅读理解方法的执行主体为图3中的计算设备,也就是说,该计算设备具有文本阅读理解能力,可以对待阅读的文本进行阅读理解,并对基于该文本的待回答问题进行作答。由图3可知,该计算设备与终端设备通信连接。基于此,上述待阅读的文本和待回答的问题为终端设备上传的。具体的,用户将该待阅读的文本和待回答的问题输入该终端设备,该终端设备将该待阅读的文本和待回答的问题发送给计算设备,该计算设备执行本申请实施例的方法,对该待阅读的文本进行阅读理解,并对该待回答的问题进行作答,得到该问题的答案。接着,计算设备将该问题的答案发送给终端设备进行显示,这样用户可以通过终端设备查看该问题的答案。
在该实施例的一种可能的实现方式中,如图6所示,终端设备包括问答式页面,用户可以将该待阅读的文本输入该问答式页面中,例如将该待阅读的文本直接拖入该问答式页面中。接着,用户在该问答式页面的问题输入框中输入待回答的问题。终端设备将该待阅读的文本和待回答的问题发送给计算设备,计算设备执行本申请实施例的方法,得到该问题的答案,并将答案发送给终端设备进行显示。在该实现方式的一种示例中,终端设备可以先将待阅读的文本发送给计算设备,再将待回答的问题发送给计算设备,例如用户将该待阅读的文本输入终端设备时,终端设备立即将该文本发送给计算设备,用户将待回答的问题输入终端设备后,终端设备再将该问题发送给计算设备。在该实现方式的另一种示例中,终端设备在接收到待回答的问题后,将待阅读的文本和待回答的问题一同发送给计算设备进行处理。
计算设备基于上述步骤,获得待阅读的文本和待回答的问题后,对该待阅读的问题和待回答的问题进行阅读理解,以对该问题进行回答。
具体的,计算设备首先提取该文本的各段落的向量表示,同时提取该问题的向量表示。
由上述可知,在本申请实施例使用生成式模型进行答案的预测,而该生成式模型对输入信息的长度有限定,因此需要对该待阅读的文本的自然段落进行检测。
在一些实施例中,若该文本所包括的自然段落的长度小于预设长度时,则不对该文本进行段落划分,进而将该文本所包括的自然段落作为该文本的N个段落。
在一些实施例中,若该文本所包括的自然段落的长度大于或等于该预设长度时,则需要对该文本进行段落划分,得到N个段落。
在该实例的一种示例中,对文本所包括的自然段落中长度大于或等于该预设长度的自然段落进行划分,而对于自然段落中长度小于预设长度的自然段落不进行划分。
在该实例的另一种示例中,对该文本从头开始进行段落划分,例如基于语义信息,将该文本中每一段语义完整,且长度小于预设长度的片段划分为一个段落,进而将该文本划分为N个段落。
本申请实施例中,上述预设长度小于生成式模型的输入长度,例如小于1024。
在一种示例中,上述预设长度小于或等于b,即预设长度小于或等于生成式模型的输入长度与问题的长度的差值与问题相似度最高的段落的个数的比值。例如该b的值通过如下公式(1)确定:
其中,L为生成式模型的输入长度,例如为1024,L'为问题的长度,K为从上述N个段落中选出与问题相似度最高的段落的个数。
在本申请实施例中,基于上述步骤得到的N个段落中每一个段落的长度均小于预设长度,这样可以使得选出的K个段落与问题的长度之和,小于或等于生成式模型的输入长度,保证了生成式模型对该问题的有效回答。
上述S101中对计算设备提取文本的N个段落的向量表示和问题的向量表示的具体方式包括但不限于如下几种:
方式1,计算设备使用已有训练好的特征提取模型,提取N个段落中每一个段落的特征信息,将该特征信息记为段落的向量表示。同理,使用该训练好的特征提取模型,提取该问题的特征信息,将该问题的特征信息记为该问题的向量表示。
方式2,计算设备通过如下S101-A的步骤,提取N个段落的向量表示和问题的向量表示:
S101-A、通过对偶式检索模型,提取N个段落的向量表示和问题的向量表示。
对偶式检索模型是将文本表示为向量,并使用向量之间的相似度来衡量文本之间的相关性。通常做法是指两个完全一致的模型分别对问题和段落进行特征提取,得到对应的语义表示,通常为一个固定长度的向量(如768维)。再通过距离函数计算二者之间的距离,距离越近表示越相似。
示例性的,如图7A所示,对偶式检索模型包括两个完全一致的模型,为了记为第一编码器和第二编码器,其中第一编码器用于提取问题的特征信息,得到问题的向量表示,例如得到问题的嵌入表示Embedding。第二编码器用于提取段落的特征信息,得到段落的向量表示,例如得到段落的嵌入表示Embedding。
本申请实施例对对偶式检索模型的具体网络结构不做限制。
在一些实施例中,上述段落的向量表示和问题的向量表示均为一个向量,而不是向量矩阵。这样,如图7B所示,对于N个段落中的某一个段落,该段落与问题组成一个输入对,将问题输入该对偶式检索模型的第一编码器中进行特征提取,得到该问题的向量表示。将该段落输入该对偶式检索模型的第二编码器中进行特征提取,得到该段落的向量表示。
在一些实施例中,上述段落的向量表示和问题的向量表示均为一个向量矩阵,此时,上述S101-A包括如下S101-A1和S101-A2的步骤:
S101-A1、通过第一编码器提取问题中每个词的向量表示,得到问题的向量表示;
S101-A2、对于N个段落中的第i个段落,通过第二编码器提取第i个段落中每个词的向量表示,得到第i个段落的向量表示,i为小于或等于N的正整数。
在该实施例中,对偶式检索模型中的第一编码器和第二编码器分别用于提取问题中每个词的向量表示,和段落中每个词的向量表示,这样可以提高对问题和段落的语义理解,进而提高问题的向量表示和段落的向量表示的提取准确性。
示例性的,如图7C所示,第一编码器也称为问题编码器fQ,用于对问题中每个词的特征信息进行提取,得到问题中每个词的向量表示。第二编码器也称为段落编码器fP,用于对段落中每个词的特征信息进行提取,得到段落中每个词的向量表示。
在本申请实施例中,对于N个段落中的每一个段落,将该段落输入上述第二编码器中对该段落中的每个词的特征信息进行提取,得到该段落中每个词的向量表示,进而将该段落中的每个词的向量表示进行矩阵表示,得到该段落的向量表示,此时该段落的向量表示为一个向量矩阵。例如,该段落包括10个词,每个词的向量表示长度为5,则可以将段落中的每一个词的向量表示作为向量矩阵的一行,得到一个10行5列的向量矩阵。再例如,可以将段落中的每一个词的向量表示作为向量矩阵的一列,得到一个5行10列的向量矩阵。
同理,将该问题输入上述第一编码器中对该问题中的每个词的特征信息进行提取,得到该问题中每个词的向量表示,进而将该问题中的每个词的向量表示进行矩阵表示,得到该问题的向量表示,此时该问题的向量表示为一个向量矩阵。例如,该问题包括4个词,每个词的向量表示长度为5,则可以将该问题中的每一个词的向量表示作为向量矩阵的一行,得到一个4行5列的向量矩阵。再例如,可以将问题中的每一个词的向量表示作为向量矩阵的一列,得到一个5行4列的向量矩阵。
计算设备基于上述步骤,确定出待阅读的文本的N个段落中每一个段落的向量表示,以及问题的向量表示,接着执行如下S102的步骤。
S102、基于N个段落的向量表示和问题的向量表示,从N个段落中选出与问题相似度最高的K个段落。
其中,K为小于或等于N的正整数。
在本申请实施例中,通过生成式模型来对该待阅读的文本对应的问题进行解答,输出自然连贯,可读性和可解释性强的答案,且对答案无法直接从文本中抽取出的问题进行解答。但是由上述可知,生成式模型对输入信息的长度有限制,因此为了提高对问题的准确解答,则需要从N个段落中选出与问题的语义相关性最强的K个段落作为该问题的上下文,与该问题一起输入该生成式模型中,使得该生成式模型基于该对K个段落的理解,以对该问题进行准确解答。
在本申请实施例中,K个段落和问题的长度之和,小于或等于生成式模型的输入长度。
在本申请实施例中,计算设备基于N个段落的向量表示和问题的向量表示,从N个段落中选出与问题相似度最高的K个段落的具体方式至少包括如下几种:
方式一,对N个段落进行排序,例如基于该N个段落在原文本中的位置顺序进行排队。接着,基于排序后的N个段落中的第一个段落的向量表示和该问题的向量表示,确定该第一个段落与该问题的相似度,若该相似度大于预设相似度,则将该第一个段落作为K个段落中的一个段落。若该相似度小于预设相似度,则舍弃该第一个段落。接着,基于排序后的N个段落中的第二个段落的向量表示和该问题的向量表示,确定该第二个段落与该问题的相似度,若该相似度大于预设相似度,则将该第二个段落作为K个段落中的一个段落。若该相似度小于预设相似度,则舍弃该第二个段落。依次类推,从排序后的N个段落中选出K个与问题的相似度满足预设相似度的K个段落。
方式二,计算设备基于N个段落中每一个段落的向量表示和该问题的向量表示,确定N个段落中每一个段落与该问题的相似度,进而基于该N个段落中每一个段落与该问题的相似度,从N个段落中选出与该问题的相似度最高的K个段落。
在该方式二的一种可能实现方式中,若问题的向量表示为一个向量,段落的向量表示也是一个向量,则对于N个段落中的第i个段落,计算设备直接基于该第i个段落的向量表示和该问题的向量表示,确定出该第i个段落和该问题的相似度。例如,确定该第i个段落的向量表示和该问题的向量表示之间的距离(例如欧式距离或余弦距离等),将该距离确定为该第i个段落和该问题的相似度。再例如,确定该第i个段落的向量表示和该问题的向量表示的内积,将该内积确定为该第i个段落和该问题的相似度。
在该方式二的一种可能的实现方式中,如上述S101-A1和S101-A2所示,上述问题的向量表示包括该问题中每个词的向量表示,段落的向量表示包括该段落中每个词的向量表示,此时上述S102包括如下S102-A1和S102-A2的步骤:
S102-A1、对于N个段落中的第i个段落,基于问题中每个词的向量表示和第i个段落中每个词的向量表示,确定问题和第i个段落之间的相似度;
S102-A2、基于问题与N个段落中每一个段落之间的相似度,从N个段落中选出与问题的相似度最高的K个段落。
在该实现方式中,如图7C所示,对于N个段落中的每一个段落,例如N个段落中的第i个段落,将该第i个段落和问题组成输入对,输入图7C所示的第一编码器和第二编码器中,第一编码器对问题中的每个词进行特征提取,得到问题中每个词的向量表示,第二编码器对第i个段落中的每个词进行特征提取,得到该第i个段落中每个词的向量表示。接着,基于该问题中每个词的向量表示和该第i个段落中每个词的向量表示,确定该问题和该第i个段落之间的相似度。
本申请实施例对S102-A1中,基于问题中每个词的向量表示和第i个段落中每个词的向量表示,确定问题和第i个段落之间的相似度的具体方式不做限制。
在一种可能的实现方式中,上述S102-A1包括如下S102-A1-a1至S102-A1-a3的步骤:
S102-A1-a1、基于第i个段落中每个词的向量表示,组成第i个段落的向量表示矩阵;
S102-A1-a2、基于问题中每个词的向量表示,组成问题的向量表示矩阵;
S102-A1-a3、将第i个段落的向量表示矩阵和问题的向量表示矩阵相乘,得到问题和第i个段落之间的相似度。
举例说明,假设该第i个段落包括10个词,每个词的向量表示长度为5,则可以将第i个段落中的每一个词的向量表示作为向量矩阵的一行,得到一个10行5列的向量矩阵。假设该问题包括4个词,每个词的向量表示长度为5,则可以将该问题中的每一个词的向量表示作为向量矩阵的一列,得到一个5行4列的向量矩阵。这样将第i个段落的一个10行5列的向量矩阵与该问题的一个5行4列的向量矩阵进行相乘,得到该问题与该第i个段落之间的相似度。
基于该实现方式,可以确定出N个段落中每个段落与问题之间的相似度,进而选择相似度最高的K个段落。
在一种可能的实现方式中,上述S102-A1包括如下S102-A1-b1至S102-A1-b3的步骤:
S102-A1-b1、对于问题中的第j个词,基于第j个词的向量表示和第i个段落中的每个词的向量表示,确定第j个词与第i个段落中的每个词之间的相似度;
S102-A1-b2、基于第j个词与第i个段落中的每个词之间的相似度,确定第j个词在第i个段落中对应的最大相似度;
S102-A1-b3、基于问题中每一个词在第i个段落中对应的最大相似度,确定问题和第i个段落之间的相似度。
在该实现方式中,对于N个段落中的第i个段落,确定该问题中的每个词与第i个段落中每个词之间的相似度。其中,确定该问题中每个词与第i个段落中每个词之间的相似度的过程相同,为了便于描述,在此以该问题中的第j个词为例进行说明。
计算设备基于该第j个词的向量表示和该第i个段落中每个词的向量表示,确定该第j个词与该第i个段落中每个词之间的相似度。例如,对于第i个问题中的第r个词,基于该第j个词的向量表示和第r个词的向量表示,确定第j个词与该第r个词之间的相似度。例如,确定该第j个词的向量表示和第r个词的向量表示之间的距离(例如余弦距离),将该距离记为第j个词与该第r个词之间的相似度。再例如,确定该第j个词的向量表示和第r个词的向量表示之间的内积,将该内积记为第j个词与该第r个词之间的相似度。这样,可以确定出问题中的第j个词与该第i个段落中每个词之间的相似度。
接着,基于第j个词与第i个段落中的每个词之间的相似度,确定第j个词在第i个段落中对应的最大相似度。例如基于上述步骤,确定出第j个词与第i个段落中的第3个词的相似度最大,则将该相似度确定为第j个词在第i个段落中对应的最大相似度。
基于上述可知,可以确定出该问题中的每一个词在第i个段落中对应的最大相似度。接着,基于问题中每一个词在第i个段落中对应的最大相似度,确定问题和所述第i个段落之间的相似度。
例如,将问题中每一个词在第i个段落中对应的最大相似度相加,得到该问题和该第i个段落之间的相似度。
再例如,将问题中每一个词在第i个段落中对应的最大相似度中的最大值,确定为该问题和该第i个段落之间的相似度。
再例如,将问题中每一个词在第i个段落中对应的最大相似度中的平均值,确定为该问题和该第i个段落之间的相似度。
在该方式二中,通过计算N个段落中每个段落与问题的相似度,从N个段落中选出K个段落,使得选出的K个段落为N个段落中与该问题的相关性最强的K个段落,进而保证了基于该K个段落进行问题解答时的准确性。
方式三,为了降低计算量,则从部分段落中选出K个段落,此时,上述S102包括如下S102-B1至S102-B3的步骤:
S102-B1、基于N个段落的向量表示,对N个段落进行聚类,得到M个聚类,M为小于N的正整数;
S102-B2、从M个聚类中选出与问题的相似度最高的P个聚类,P为正整数;
S102-B3、从P个聚类所包括的段落中,确定出与问题的相似度最高的K个段落。
在该方式三中,首先对N个段落进行聚类,得到M个聚类,每一个聚类中包括至少一个段落。接着,从这M个聚类中选出与该问题的相似度最高的至少一个聚类,例如选出P个聚类,进而从这P个聚类所包括的段落中,选出与该问题的相似度最高的K个聚类。该方式三可以大大降低选出K个段落时的计算量,提升阅读理解速度。
具体的,计算设备基于N个段落中每个段落的向量表示,对这N个段落进行聚类,得到M个聚类。本申请实施例对N个段落的具体聚类方式不进行限制,例如将向量表示之间的距离近的划分为一个聚类中。
接着,计算设备从上述M个聚类中选出与该问题的相似度最高的P个聚类。本申请实施例对计算设备从上述M个聚类中选出与该问题的相似度最高的P个聚类的具体方式不做限制。
在一种可能的实现方式中,确定M个聚类中每个聚类与该问题的相似度,例如对应M个聚类中的每个聚类,从该聚类所包括的段落中选出一个段落,基于该段落的向量表示和问题的向量表示,确定该段落与该问题之间的相似度,将该段落与该问题之间的相似度,确定为该聚类与该问题之间的相似度,这样可以确定出M个聚类中每个聚类与该问题的相似度。接着,基于M个聚类中每个聚类与该问题的相似度,从M个聚类中选出与该问题的相似度最高的P个聚类。
在一种可能的实现方式中,对于M个聚类中的每一个聚类,计算设备基于聚类所包括的段落的向量表示,确定出聚类的向量索引,并基于聚类的向量索引和问题的向量表示,确定问题与聚类之间的相似度。可选的,上述聚类的向量索引可以为该聚类中任一段落的向量表示。可选的,上述聚类的向量索引可以为该聚类中所有段落的向量表示的平均值。可选的,上述聚类的向量索引可以为该聚类的聚类中心。接着,计算设备基于问题与M个聚类中每一个聚类之间的相似度,从M个聚类中选出与问题的相似度最高的P个聚类。
计算设备基于上述步骤,从M个聚类中选出与问题的相似度最高的P个聚类后,从该P个聚类所包括的段落中,确定出与问题的相似度最高的K个段落。
例如,若P个聚类为1个聚类,且该聚类所包括的段落数量等于K时,则将该聚类中的K个段落,确定为与问题的相似度最高的K个段落。
再例如,若P个聚类为1个聚类,且该聚类所包括的段落数量大于K时,则将该聚类中的段落中,随机选出K个段落。或者确定该聚类中每个段落与问题的相似度,基于相似度从该聚类所包括的段落中选出K个段落。
再例如,若P个聚类为2个或2个以上的聚类,且该P个聚类所包括的段落数量大于K时,则将该P个聚类所包括的段落中,随机选出K个段落。或者确定该P个聚类中每个段落与问题的相似度,基于相似度从该聚类所包括的段落中选出K个段落。
计算设备基于上述步骤,从待阅读的文本的N个段落中选出与待回答的问题的相关性最强的K个段落,接着,执行如下S103的步骤。
S103、将K个段落作为问题的上下文信息,通过生成式模型对K个段落和问题进行处理,得到问题的答案。
由上述可知,由于生成式模型的输入限制,则对于待阅读的文本,本申请实施例通过上述步骤,从该待阅读的文本中选出K个段落,这K个段落的长度和问题的长度相加之和,小于或等于生成式模型的输入,进而保证生成式模型可以输出该问题的可读性强的答案,解决了对长文本的问题无法进行自然连贯回答的问题。
另外,本申请实施例选出的K个段落为待阅读的文本的N个段落中与待回答的问题的相关性最强的段落。这样将这K个段落作为问题的上下文信息,与该问题一同输入生成式模型中,使得该生成式模型对该K个段落进行阅读理解,以对该问题进行准确回答,进而提高了问题的回答准确性。也就是说,本申请实施例不仅实现对长文本对应的问题进行自然连贯的回答,且提升了答案的准确性,进而提升了机器阅读理解的能力。
在一些实施例中,若上述计算设备为终端设备时,则该终端设备中包括训练好的生成式模型。终端设备可以直接将上述确定的K个段落和问题输入生成式模型中进行处理,得到该问题的答案,并对该答案进行显示。
在一些实施例中,若上述计算设备不是终端设备时,则该计算设备中包括训练好的生成式模型。计算设备将上述确定的K个段落和问题输入生成式模型中进行处理,得到该问题的答案。接着,计算设备将该答案发送给终端设备,终端设备对该答案进行显示。
本申请实施例提供的文本阅读理解方法,通过获取待阅读的文本和待回答的问题,并提取该文本所包括的N个段落的向量表示和该问题的向量表示,其中该问题是对该文本进行阅读理解后要回答的问题;接着,基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落,进而将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。由此可知,在本申请实施例中,在使用生成式模型对该文本的相关问题进行回答时,首先从该文本所包括的N个段落中选出与该问题相似度最高的K个段落,作为该问题的上下文信息,与该问题一起输入该生成式模型中,这样可以保证输入信息的长度符合生成式模型的输入长度,使得生成式模型对长文本对应的问题进行自然连贯的回答。进一步的,在本申请实施例中,输入生成式模型的信息为该文本中与问题的相关性最高的K个段落,这样生成式模型基于该与问题相关性最高的K个段落进行阅读理解时,可以实现对该问题的准确回答,进而提升了文本阅读理解的效果。
上文对本申请实施例提供的文本阅读理解方法进行整体介绍,在上述实施例的基础上,下面结合图8对本申请实施例提供的文本阅读理解方法作进一步介绍,图8所示的方法实施例可以理解为上述图4所示的方法实施例的一种具体实现形式。
图8为本申请一实施例提供的文本阅读理解方法的流程示意图,如图8所示,包括:
S201、获取待阅读的文本和待回答的问题。
该问题是对文本进行阅读理解后要回答的问题。
上述S201的实现过程参照上述S101的具体描述,在此不再赘述。
S202、通过对偶式检索模型,提取N个段落的向量表示和问题的向量表示。
如图9所示,计算设备将获取的待阅读的文本和待回答的问题输入对偶式检索模型中,进行段落的特征提取和问题的特征提取。
在一些实施例中,在通过对偶式检索模型,提取N个段落的向量表示和问题的向量表示之前,首先对待阅读的文本进行段落划分,得到N个段落,使得N个段落中每个段落的长度小于预设长度。
在一些实施例中,如图7C所示,对偶式检索模型包括第一编码器和第二编码器,通过第一编码器提取问题中每个词的向量表示,得到问题的向量表示;对于N个段落中的第i个段落,通过第二编码器提取第i个段落中每个词的向量表示,得到第i个段落的向量表示,i为小于或等于N的正整数。
在一些实施例中,本申请实施例还包括对对偶式检索模型的训练过程。传统的对偶式检索模型在训练时通常采用triplet-loss的方式,对问题构造一个正例和一个负例的方式进行学习,然而这样的方式需要手动构造正负样本,难以满足文档检索负例段落远大于正例段落的情况。因此在此基础上,本申请实施例设计了batch负采样方式,即对于同一个batch中的任意一个问题,从该batch中除该问题对应的文本外的其他文本中随机选出至少一个段落,作为该问题的负样本,以提高对对偶式检索模型的训练效果。
具体的,对偶式检索模型的一批训练数据中包括Q个问题和Q个问题对应的Q个文本,对于Q个问题中的第q个问题,第q个问题的答案在Q个文本中的第q个文本中,第q个问题对应的正样本包括第q个文本中第q个问题的答案所在的段落,第q个问题对应的负样本包括Q个文本中除第q个文本外的其他文本中的至少一个段落,Q为大于1的正整数,q为小于或等于Q的正整数。
举例说明,对于对偶式检索模型的任意一批训练数据,该训练数据包括3个问题和3个文本,其中问题q1的答案所在的文本记为文本1,问题q2的答案所在的文本记为文本2,问题q3的答案所在的文本记为文本3。假设文本1包括3个段落分别记为D1、D2和D3,文本2包括3个段落分别记为D4、D5和D6,文本3包括3个段落分别记为D7、D8和D9。这只是一种示例,各文本当然可以包括其他数量的段落,本申请实施例对此不做限制。
计算设备基于该批训练数据所包括的问题和文本,构建训练数据集,首先确定问题q1对应的正样本和负样本,具体的,将文本1所包括的D1、D2和D3段落中,该问题q1的答案所在的段落,确定为该问题q1对应的正样本,例如,问题q1的答案在文本1中的D1段落中,因此D1为问题q1对应的正样本。接着,从文本2和文本3所包括的段落中,确定问题q1对应的负样本,例如从文本2和文本3所包括的段落中,随机采样几个段落,作为该问题q1对应的负样本,例如图10A所示,将文本2所包括的D4、D5和D6和文本3所包括的D7、D8和D9,确定为该问题q1对应的负样本。同理,确定问题q2对应的正样本和负样本,具体的,将文本2所包括的D4、D5和D6段落中,该问题q2的答案所在的段落,确定为该问题q2对应的正样本,例如,问题q2的答案在文本2中的D4段落中,因此D4为问题q2对应的正样本。接着,从文本1和文本3所包括的段落中,确定问题q2对应的负样本,例如从文本1和文本3所包括的段落中,随机采样几个段落,作为该问题q1对应的负样本,例如图10A所示,将文本1所包括的D1、D2和D3和文本3所包括的D7、D8和D9,确定为该问题q2对应的负样本。同理,确定问题q3对应的正样本和负样本,具体的,将文本3所包括的D7、D8和D9段落中,该问题q3的答案所在的段落,确定为该问题q3对应的正样本,例如,问题q3的答案在文本3中的D7段落中,因此D7为问题q3对应的正样本。接着,从文本1和文本2所包括的段落中,确定问题q3对应的负样本,例如从文本1和文本2所包括的段落中,随机采样几个段落,作为该问题q2对应的负样本,例如图10A所示,将文本1所包括的D1、D2和D3和文本2所包括的D4、D5和D6,确定为该问题q3对应的负样本。
在一些实施例中,第q个问题对应的负样本还包括第q个文本中除第q个问题的答案所在的段落外的至少一个段落。在一些实施例中,将第q个文本中除第q个问题的答案所在的段落外的至少一个段落记为第q个问题的困难负样本,将上述从batch中随机采用的段落,记为该第q个问题的随机负样本。
举例说明,继续参照上述示例,对于问题q1,将文本1中该问题q1的答案所在的段落,确定为该问题q1对应的正样本,将该文本1中除该问题q1的答案所在的段落外的其他段落中随机采样至少一个段落,作为该问题q1的困难负样本,例如图10B所示将文本1中D2和D3段落作为问题q1对应的困难负样本。接着,从文本2和文本3所包括的段落中,确定问题q1对应的随机负样本,例如从文本2和文本3所包括的段落中,随机采样几个段落,作为该问题q1对应的随机负样本,例如图10B所示,将文本2所包括的D4、D5和D6和文本3所包括的D7、D8和D9,确定为该问题q1对应的随机负样本。同理,对于问题q2,将文本2中该问题q2的答案所在的段落,确定为该问题q2对应的正样本,将该文本2中除该问题q2的答案所在的段落外的其他段落中随机采样至少一个段落,作为该问题q2的困难负样本,例如图10B所示将文本2中D5和D6段落作为问题q2对应的困难负样本。接着,从文本1和文本3所包括的段落中,确定问题q2对应的随机负样本,例如从文本1和文本3所包括的段落中,随机采样几个段落,作为该问题q1对应的随机负样本,例如图10B所示,将文本1所包括的D1、D2和D3和文本3所包括的D7、D8和D9,确定为该问题q2对应的随机负样本。同理,对于问题q3,将文本3中该问题q3的答案所在的段落,确定为该问题q3对应的正样本,将该文本3中除该问题q3的答案所在的段落外的其他段落中随机采样至少一个段落,作为该问题q3的困难负样本,例如图10B所示将文本3中D8和D9段落作为问题q3对应的困难负样本。接着,从文本1和文本2所包括的段落中,确定问题q3对应的随机负样本,例如从文本1和文本2所包括的段落中,随机采样几个段落,作为该问题q2对应的随机负样本,例如图10B所示,将文本1所包括的D1、D2和D3和文本2所包括的D4、D5和D6,确定为该问题q3对应的随机负样本。
在本申请实施例中,基于上述确定,构建出如图10A或图10B所示的训练数据集后,使用该训练数据集对对偶式检索模型进行训练。具体的,将上述训练数据集输入对偶式检索模型中,对于该训练数据集中的每个问题,该对偶式检索模型可以输出该问题的向量表示和该问题对应的正样本和负样本的向量表示,接着,基于该问题的向量表示和该问题对应的正样本和负样本的向量表示,确定该问题与正样本之间的相似度,以及该问题与负样本之间的相似度。接着,基于对偶式检索模型预测的问题与正样本之间的相似度,以及问题与负样本之间的相似度,确定该对偶式检索模型的损失,并基于该损失对该对偶式检索模型进行训练。依次类推,直到达到对偶式检索模型的训练结束条件为止,其中训练结束条件可以为训练次数大大预设次数,或损失小于预设损失。
在一些实施例中,上述对偶式检索模型的初始模型为预训练后的语言模型,上述训练过程可以理解为对预训练后的对偶式检索模型进行微调,使得对偶式检索模型更符合本申请实施例的场景。
接着,计算设备可以使用训练好的对偶式检索模型执行本申请实施例的方法,以提取出待阅读文本的N个段落的向量表示,以及待回答的问题的向量表示。
S203、基于N个段落的向量表示和问题的向量表示,从N个段落中选出与问题相似度最高的K个段落。
其中K为小于或等于N的正整数。
例如,对于N个段落中的第i个段落,基于问题中每个词的向量表示和第i个段落中每个词的向量表示,确定问题和第i个段落之间的相似度;基于问题与N个段落中每一个段落之间的相似度,从N个段落中选出与问题的相似度最高的K个段落。
再例如,基于N个段落的向量表示,对N个段落进行聚类,得到M个聚类,M为小于N的正整数;从M个聚类中选出与问题的相似度最高的P个聚类,P为正整数;从P个聚类所包括的段落中,确定出与问题的相似度最高的K个段落。
上述S203的具体实现过程可以参照上述S102的相关描述,在此不再赘述。
S204、将K个段落作为问题的上下文信息,通过生成式模型对K个段落和问题进行处理,得到问题的答案。
上述S204的具体实现过程可以参照上述S103的相关描述,在此不再赘述。
本申请实施例提供的文本阅读理解方法,通过获取待阅读的文本和待回答的问题,并通过对偶式检索模型提取该文本所包括的N个段落的向量表示和该问题的向量表示;接着,基于这N个段落的向量表示和该问题的向量表示,从这N个段落中选出与该问题相似度最高的K个段落,进而将这K个段落作为该问题的上下文信息,通过生成式模型对这K个段落和该问题进行处理,得到该问题的答案。由此可知,在本申请实施例中,在使用生成式模型对该文本的相关问题进行回答时,首先从该文本所包括的N个段落中选出与该问题相似度最高的K个段落,作为该问题的上下文信息,与该问题一起输入该生成式模型中,这样可以保证输入信息的长度符合生成式模型的输入长度,使得生成式模型对长文本对应的问题进行自然连贯的回答。进一步的,在本申请实施例中,输入生成式模型的信息为该文本中与问题的相关性最高的K个段落,这样生成式模型基于该与问题相关性最高的K个段落进行阅读理解时,可以实现对该问题的准确回答,进而提升了文本阅读理解的效果。另外,本申请实施例的对偶式检索模型在训练时对负样本进行充分学习,提高了对偶式检索模型的训练效果,这样基于该准确训练后的对偶式检索模型进行特征提取时,可以提高特征提取的准确性,这样基于准确提取的向量表示进行阅读理解时,可以进一步提高阅读理解的效果。
上文结合图4至图10B,详细描述了本申请的模型训练和数据处理方法实施例,下文结合图11至图12,详细描述本申请的装置实施例。
图11是本申请一实施例提供的文本阅读理解装置的示意性框图。该装置10可以应用于计算设备。
如图11所示,文本阅读理解装置10包括:
提取单元11,用于获取待阅读的文本和待回答的问题,并提取所述文本的N个段落的向量表示和所述问题的向量表示,所述问题是对所述文本进行阅读理解后要回答的问题,所述N为正整数;
选择单元12,用于基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,所述K为小于或等于N的正整数;
理解单元13,用于将所述K个段落作为所述问题的上下文信息,通过生成式模型对所述K个段落和所述问题进行处理,得到所述问题的答案。
在一些实施例中,提取单元11,具体用于通过对偶式检索模型,提取所述N个段落的向量表示和所述问题的向量表示。
在一些实施例中,所述对偶式检索模型包括第一编码器和第二编码器,提取单元11,具体用于通过所述第一编码器提取所述问题中每个词的向量表示,得到所述问题的向量表示;对于所述N个段落中的第i个段落,通过所述第二编码器提取所述第i个段落中每个词的向量表示,得到所述第i个段落的向量表示,所述i为小于或等于N的正整数。
在一些实施例中,选择单元12,具体用于对于所述N个段落中的第i个段落,基于所述问题中每个词的向量表示和所述第i个段落中每个词的向量表示,确定所述问题和所述第i个段落之间的相似度;基于所述问题与所述N个段落中每一个段落之间的相似度,从所述N个段落中选出与所述问题的相似度最高的K个段落。
在一些实施例中,选择单元12,具体用于基于所述第i个段落中每个词的向量表示,组成所述第i个段落的向量表示矩阵;基于所述问题中每个词的向量表示,组成所述问题的向量表示矩阵;将所述第i个段落的向量表示矩阵和所述问题的向量表示矩阵相乘,得到所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元12,具体用于对于所述问题中的第j个词,基于所述第j个词的向量表示和所述第i个段落中的每个词的向量表示,确定所述第j个词与所述第i个段落中的每个词之间的相似度;基于所述第j个词与所述第i个段落中的每个词之间的相似度,确定所述第j个词在所述第i个段落中对应的最大相似度;基于所述问题中每一个词在所述第i个段落中对应的最大相似度,确定所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元12,具体用于将所述问题中每一个词在所述第i个段落中对应的最大相似度相加,得到所述问题和所述第i个段落之间的相似度。
在一些实施例中,选择单元12,具体用于基于所述N个段落的向量表示,对所述N个段落进行聚类,得到M个聚类,所述M为小于N的正整数;从所述M个聚类中选出与所述问题的相似度最高的P个聚类,所述P为正整数;从所述P个聚类所包括的段落中,确定出与所述问题的相似度最高的K个段落。
在一些实施例中,选择单元12,具体用于对于所述M个聚类中的每一个聚类,基于所述聚类所包括的段落的向量表示,确定出所述聚类的向量索引,并基于所述聚类的向量索引和所述问题的向量表示,确定所述问题与所述聚类之间的相似度;基于所述问题与所述M个聚类中每一个聚类之间的相似度,从所述M个聚类中选出与所述问题的相似度最高的P个聚类。
在一些实施例中,提取单元11,在提取所述文本的N个段落的向量表示之前,还用于对所述文本进行段落划分,得到所述N个段落,所述N个段落中各段落的长度小于预设长度。
在一些实施例中,所述K个段落和所述问题的长度之和,小于或等于所述生成式模型的输入长度。
在一些实施例中,所述对偶式检索模型的一批训练数据中包括Q个问题和所述Q个问题对应的Q个文本,对于所述Q个问题中的第q个问题,所述第q个问题的答案在所述Q个文本中的第q个文本中,所述第q个问题对应的正样本包括所述第q个文本中所述第q个问题的答案所在的段落,所述第q个问题对应的负样本包括所述Q个文本中除所述第q个文本外的其他文本中的至少一个段落,所述Q为大于1的正整数,所述q为小于或等于Q的正整数。
在一些实施例中,所述第q个问题对应的负样本还包括所述第q个文本中除所述第q个问题的答案所在的段落外的至少一个段落。
在一些实施例中,所述文本为长文本。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图11所示的装置可以执行上述方法的实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图12是本申请实施例提供的计算设备的示意性框图,该计算设备用于执行上述文本阅读理解方法实施例。该计算设备可以为终端设备和/或服务器。
如图12所示,该计算设备50可包括:
存储器51和处理器52,该存储器51用于存储计算机程序53,并将该程序代码53传输给该处理器52。换言之,该处理器52可以从存储器51中调用并运行计算机程序53,以实现本申请实施例中的方法。
例如,该处理器52可用于根据该计算机程序53中的指令执行上述方法步骤。
在本申请的一些实施例中,该处理器52可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器51包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序53可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器51中,并由该处理器52执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序53在该计算设备中的执行过程。
如图12所示,该计算设备50还可包括:
收发器54,该收发器54可连接至该处理器52或存储器51。
其中,处理器52可以控制该收发器54与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器54可以包括发射机和接收机。收发器54还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该计算设备50中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地执行本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (17)
1.一种文本阅读理解方法,其特征在于,包括:
获取待阅读的文本和待回答的问题,并提取所述文本的N个段落的向量表示和所述问题的向量表示,所述问题是对所述文本进行阅读理解后要回答的问题,所述N为正整数;
基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,所述K为小于或等于N的正整数;
将所述K个段落作为所述问题的上下文信息,通过生成式模型对所述K个段落和所述问题进行处理,得到所述问题的答案。
2.根据权利要求1所述的方法,其特征在于,所述提取所述文本的N个段落的向量表示和所述问题的向量表示,包括:
通过对偶式检索模型,提取所述N个段落的向量表示和所述问题的向量表示。
3.根据权利要求2所述的方法,其特征在于,所述对偶式检索模型包括第一编码器和第二编码器,所述通过对偶式检索模型,提取所述N个段落的向量表示和所述问题的向量表示,包括:
通过所述第一编码器提取所述问题中每个词的向量表示,得到所述问题的向量表示;
对于所述N个段落中的第i个段落,通过所述第二编码器提取所述第i个段落中每个词的向量表示,得到所述第i个段落的向量表示,所述i为小于或等于N的正整数。
4.根据权利要求3所述的方法,其特征在于,所述基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,包括:
对于所述N个段落中的第i个段落,基于所述问题中每个词的向量表示和所述第i个段落中每个词的向量表示,确定所述问题和所述第i个段落之间的相似度;
基于所述问题与所述N个段落中每一个段落之间的相似度,从所述N个段落中选出与所述问题的相似度最高的K个段落。
5.根据权利要求4所述的方法,其特征在于,所述基于所述问题中每个词的向量表示和所述第i个段落中每个词的向量表示,确定所述问题和所述第i个段落之间的相似度,包括:
基于所述第i个段落中每个词的向量表示,组成所述第i个段落的向量表示矩阵;
基于所述问题中每个词的向量表示,组成所述问题的向量表示矩阵;
将所述第i个段落的向量表示矩阵和所述问题的向量表示矩阵相乘,得到所述问题和所述第i个段落之间的相似度。
6.根据权利要求4所述的方法,其特征在于,所述基于所述问题中每个词的向量表示和所述第i个段落中每个词的向量表示,确定所述问题和所述第i个段落之间的相似度,包括:
对于所述问题中的第j个词,基于所述第j个词的向量表示和所述第i个段落中的每个词的向量表示,确定所述第j个词与所述第i个段落中的每个词之间的相似度;
基于所述第j个词与所述第i个段落中的每个词之间的相似度,确定所述第j个词在所述第i个段落中对应的最大相似度;
基于所述问题中每一个词在所述第i个段落中对应的最大相似度,确定所述问题和所述第i个段落之间的相似度。
7.根据权利要求6所述的方法,其特征在于,所述基于所述问题中每一个词在所述第i个段落中对应的最大相似度,确定所述问题和所述第i个段落之间的相似度,包括:
将所述问题中每一个词在所述第i个段落中对应的最大相似度相加,得到所述问题和所述第i个段落之间的相似度。
8.根据权利要求3所述的方法,其特征在于,所述基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,包括:
基于所述N个段落的向量表示,对所述N个段落进行聚类,得到M个聚类,所述M为小于N的正整数;
从所述M个聚类中选出与所述问题的相似度最高的P个聚类,所述P为正整数;
从所述P个聚类所包括的段落中,确定出与所述问题的相似度最高的K个段落。
9.根据权利要求8所述的方法,其特征在于,所述从所述M个聚类中选出与所述问题的相似度最高的P个聚类,包括:
对于所述M个聚类中的每一个聚类,基于所述聚类所包括的段落的向量表示,确定出所述聚类的向量索引,并基于所述聚类的向量索引和所述问题的向量表示,确定所述问题与所述聚类之间的相似度;
基于所述问题与所述M个聚类中每一个聚类之间的相似度,从所述M个聚类中选出与所述问题的相似度最高的P个聚类。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述提取所述文本的N个段落的向量表示之前,所述方法还包括:
对所述文本进行段落划分,得到所述N个段落,所述N个段落中各段落的长度小于预设长度。
11.根据权利要求1-9任一项所述的方法,其特征在于,所述K个段落和所述问题的长度之和,小于或等于所述生成式模型的输入长度。
12.根据权利要求2-9任一项所述的方法,其特征在于,所述对偶式检索模型的一批训练数据中包括Q个问题和所述Q个问题对应的Q个文本,对于所述Q个问题中的第q个问题,所述第q个问题的答案在所述Q个文本中的第q个文本中,所述第q个问题对应的正样本包括所述第q个文本中所述第q个问题的答案所在的段落,所述第q个问题对应的负样本包括所述Q个文本中除所述第q个文本外的其他文本中的至少一个段落,所述Q为大于1的正整数,所述q为小于或等于Q的正整数。
13.根据权利要求12所述的方法,其特征在于,所述第q个问题对应的负样本还包括所述第q个文本中除所述第q个问题的答案所在的段落外的至少一个段落。
14.根据权利要求1-9任一项所述的方法,其特征在于,所述文本为长文本。
15.一种文本阅读理解装置,其特征在于,包括:
提取单元,用于获取待阅读的文本和待回答的问题,并提取所述文本的N个段落的向量表示和所述问题的向量表示,所述问题是对所述文本进行阅读理解后要回答的问题,所述N为正整数;
选择单元,用于基于所述N个段落的向量表示和所述问题的向量表示,从所述N个段落中选出与所述问题相似度最高的K个段落,所述K为小于或等于N的正整数;
理解单元,用于将所述K个段落作为所述问题的上下文信息,通过生成式模型对所述K个段落和所述问题进行处理,得到所述问题的答案。
16.一种计算设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现如上述权利要求1至14任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如上述权利要求1至14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310688777.0A CN116975221A (zh) | 2023-06-09 | 2023-06-09 | 文本阅读理解方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310688777.0A CN116975221A (zh) | 2023-06-09 | 2023-06-09 | 文本阅读理解方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116975221A true CN116975221A (zh) | 2023-10-31 |
Family
ID=88483955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310688777.0A Pending CN116975221A (zh) | 2023-06-09 | 2023-06-09 | 文本阅读理解方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116975221A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117669512A (zh) * | 2024-02-01 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 答案生成方法、装置、设备及存储介质 |
-
2023
- 2023-06-09 CN CN202310688777.0A patent/CN116975221A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117669512A (zh) * | 2024-02-01 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 答案生成方法、装置、设备及存储介质 |
CN117669512B (zh) * | 2024-02-01 | 2024-05-14 | 腾讯科技(深圳)有限公司 | 答案生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220245213A1 (en) | Content recommendation method and apparatus, electronic device, and storage medium | |
CN109086303B (zh) | 基于机器阅读理解的智能对话方法、装置、终端 | |
CN112164391B (zh) | 语句处理方法、装置、电子设备及存储介质 | |
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
CN110046221A (zh) | 一种机器对话方法、装置、计算机设备及存储介质 | |
CN111930942B (zh) | 文本分类方法、语言模型训练方法、装置及设备 | |
CN112231569B (zh) | 新闻推荐方法、装置、计算机设备及存储介质 | |
CN112287089B (zh) | 用于自动问答系统的分类模型训练、自动问答方法及装置 | |
CN112287069B (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN111898369B (zh) | 文章标题生成方法、模型的训练方法、装置和电子设备 | |
CN103970791B (zh) | 一种从视频库推荐视频的方法、装置 | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
JP7488871B2 (ja) | 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN111813909A (zh) | 一种智能问答方法和装置 | |
CN116975221A (zh) | 文本阅读理解方法、装置、设备及存储介质 | |
CN113569118B (zh) | 自媒体推送方法、装置、计算机设备及存储介质 | |
CN117056494B (zh) | 开放域问答的方法、装置、电子设备和计算机存储介质 | |
CN114282528A (zh) | 一种关键词提取方法、装置、设备及存储介质 | |
CN113420136A (zh) | 一种对话方法、系统、电子设备、存储介质和程序产品 | |
CN113342948A (zh) | 一种智能问答方法及装置 | |
CN117217278A (zh) | 模型训练方法、文本召回方法、设备、介质及程序产品 | |
CN116955543A (zh) | 连贯性评估模型训练和连贯性评估方法、装置及设备 | |
CN115146033A (zh) | 命名实体识别方法及装置 | |
CN114547308A (zh) | 文本处理的方法、装置、电子设备及存储介质 | |
CN117272937B (zh) | 文本编码模型训练方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |