CN111581364A - 一种面向医疗领域的中文智能问答短文本相似度计算方法 - Google Patents
一种面向医疗领域的中文智能问答短文本相似度计算方法 Download PDFInfo
- Publication number
- CN111581364A CN111581364A CN202010370543.8A CN202010370543A CN111581364A CN 111581364 A CN111581364 A CN 111581364A CN 202010370543 A CN202010370543 A CN 202010370543A CN 111581364 A CN111581364 A CN 111581364A
- Authority
- CN
- China
- Prior art keywords
- question
- user
- similarity
- word
- sentence
- 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.)
- Granted
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
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
-
- 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/08—Learning methods
Abstract
本发明提供了一种面向医疗领域的中文智能问答短文本相似度计算方法,涉及自然语言处理与智能问答领域。该方法针对中文医疗领域,采用SH‑CNN对用户输入的问句与智能问答系统中预设定的问题模板进行向量化,然后提取出两文本中的突出特征进行相似度计算,再结合TF‑IDF的加权处理以获取更具可信性的文本相似度结果。根据结果获得用户输入问句的问题类型,结合使用词性标注方法获取的问句中的医疗实体,构造面向知识图谱的查询语句,并从中检索答案返回给用户。基于该方法所构造的智能问答系统能够快速的为用户提供简洁准确的答案,具有较高的实用价值。
Description
技术领域
本发明涉及自然语言处理与智能问答领域,具体而言涉及一种面向医疗领域的中文智能问答短文本相似度计算方法。
背景技术
一直以来,医疗健康问题都是社会关注的焦点。由于我国人口众多,地区发展不平衡,不可避免地导致医疗资源总量不足,部分地区医疗资源分配不合理,现有医疗条件难以满足病患医疗需求的问题。在人工智能时代,人们希望能像科幻电影中一样,通过人机交互的方式就能了解到自己的健康状况,实现简单的自我诊疗。智能问答的出现为上述问题提供了解决方法——智能问答系统通过对用户输入的自然语言问题进行分析理解,获取用户的搜索意图,并精确定位用户所需的提问知识,从而返回快速简洁的答案。然而,面向中文医疗领域的智能问答系统的研究还处于初步发展阶段,其中存在的一个大的挑战在于如何理解问答系统中用户输入的自然语言问句。模板匹配作为问答系统中的常用算法,可通过计算用户提出的问句与系统中预设定的问题模板间的相似度来确定用户意图。
但这样做的难点在于中文的表达复杂多变,同一类的问句可以表现为不同的形式,使得计算机难以区分。另一方面,由于用户输入的问句文本较短,导致个别噪音词语会对整个文本的解析带来新的挑战。系统中包含的知识来源于结构化的知识图谱,只有当为用户提出的问句匹配符合语义的问题模板时,系统才能返回准确的答案给用户。因此,设计一个合理高效的短文本相似度算法是系统开发者必须考虑的问题。
现有的短文本相似度计算方法主要分为两类:
(1)基于非深度学习的短文本相似度计算方法,分为两种。第一种是基于字面匹配的方法,通过比较两句子中的每个单词是否相等来进行计算,比如TF-IDF、simhash等。第二种是基于语义匹配的方法,计算方法一般是余弦相似度。
(2)基于深度学习的短文本相似度计算方法,主要是利用深度网络提取特征,计算句子之间的匹配度,或者挖掘句子之间不同单词的匹配关系。
以上无论哪种方案,都可以计算短文本相似度,同时也都存在各自的缺点:
(1)基于非深度学习的短文本相似度算法更侧重于文本本身的相似度,只考虑到句子的表层信息,在计算过程中缺少对文本内容的预处理,不可避免的存在一些缺陷。
(2)基于深度学习的短文本相似度算法需要大量数据来训练神经网络,对大型数据集的依赖程度很大,而面向中文医疗领域并没有合适的语料训练集。同时,一些深度模型需要很长的时间来训练,大量的网络参数使得整个模型的训练性能难以提升。
虽然基于深度学习的方法被广泛应用于自然语言处理任务,并取得了优异的成绩,但依靠少量的领域训练集难以训练出高性能的神经网络。因此我们需要结合传统的文本相似度融合算法,从不同角度理解中文文本的语义信息,从而计算文本相似度。
发明内容
本发明为了缓解当前医疗资源紧缺,面向中文医疗领域的智能问答系统不能准确理解用户意图的问题,提出一种智能问答短文本相似度计算方法,该方法针对中文医疗领域并依此构建了智能问答系统,通过将用户输入的自然语言问句与系统中预设定的问题模板进行相似度计算,获得最贴近用户输入问句语义的问题模板,从而达到准确理解用户输入问句的目的
本发明使用到的一些缩略词释义如下:
SH-CNN:基于共享层的卷积神经网络;
TF-IDF:termfrequency-inverse document frequency,词频-逆文本频率指数。
本发明提供一种面向医疗领域的中文智能问答短文本相似度计算方法,融合SH-CNN和TF-IDF技术,来计算用户输入问句和系统问题模板之间的文本相似度,包括以下步骤:
步骤P1,文本预处理:将训练SH-CNN模型的问句语料进行分词,对分词结果中出现的所有单词建立一个词典V,并将每个单词都编码一个唯一的索引号;将问句语料中的每个句子都加长到最大句子的长度,再将每个句子都转换成词向量矩阵;
步骤P2,将问句语料中包含的所有问题对的词向量矩阵分批依次输入SH-CNN中,获得训练后的SH-CNN模型;
步骤P3,将用户输入问句和系统中所有问题模板进行分词,得到的每个单词均从步骤P1生成的词典V中取出唯一的索引号,再将包含单词索引号的每个句子都加长到最大句子的长度,然后将每个句子都转换成词向量矩阵,获得用户输入问句的词向量矩阵和系统中所有问题模板的词向量矩阵;
步骤P4,将所述用户输入问句的词向量矩阵,每次结合一个问题模板的词向量矩阵,依次输入所述训练后的SH-CNN模型,计算用户输入问句与每个问题模板之间的文本相似度,获得列表L1;
步骤P5,为每个问题模板设置一个文件,所述问题模板和所述文件一一对应;所述文件包含其对应模板中出现的一些重要单词及包含这些重要单词的短语或短句,同时剔除一些对于确定问句类型没有帮助的单词,相当于对这些重要单词进行加权处理;然后利用TF-IDF加权技术计算用户输入问句与每个问题模板之间的文本相似度,获得列表L2;
步骤P6,将步骤P4、P5中获得的列表L1、L2中的值相加,获取文本相似度融合列表L3;根据L3中最大值所对应问题模板的问题类型,确定用户输入问句的问题类型。
优选地,步骤P1中,利用中文分词工具jieba对训练SH-CNN模型的问句语料进行分词;步骤P3中,利用中文分词工具jieba对用户输入问句和系统中所有问题模板进行分词。
优选地,步骤P3中,所述将每个句子都加长到最大句子的长度,其中,句子的被加长部分使用字符“<PAD/>”来填充,每个字符“<PAD/>”对应一个单词长度;对于用户输入问句和系统中所有问题模板进行分词后得到的未出现在词典V中的单词,也以字符“<PAD/>”来填充;每个句子都表示为文本序列S=(x1,x2,...,xi,...,xm),xi代表构成文本序列S的第i个单词,m表示最大句子的长度。
优选地,步骤P4中,所述训练后的SH-CNN模型,使用一个共享层来对用户输入问句的词向量矩阵和系统中的问题模板的词向量矩阵进行映射和处理;
取与的点积,以获得一个新的一维特征向量C*={C1,C2,...,Ci,...,Cm-j+i},Ci代表卷积核每一步滑动过程中产生的局部特征值;卷积后,得到k个C*,k为SH-CNN模型在训练时初始化的卷积核种类数;
池化层中,采用max-pooling对C*中的特征点取最大值,并将获取的k个最大值进行拼接,获取一个结构为k×1维的向量作为本层的输出。
优选地,所述训练后的SH-CNN模型,还包括全连接层;池化层输出的k×1维的向量在全连接层中进行dropout,以增加SH-CNN模型的泛化能力。
优选地,全连接层中,使用Sigmoid函数接受经过dropout后的用户输入问句的向量和问题模板的向量,计算用户输入问句和问题模板的相似度值,得到列表L1。
优选地,步骤P4中,列表L1中的所有相似度值都是0-1之间的浮点数,与各个问题模板一一对应,表示用户输入问句与问题模板之间的相似程度。
优选地,步骤P5中,利用TF-IDF计算用户输入问句与每个问题模板之间的文本相似度的公式包括:
其中分子ni,j表示用户输入问句中包含的重要单词t在一个问题模板所对应文件F中出现的次数,分母∑knk,j表示文件F中所有单词出现次数的总和;
其中分子|D|是问句语料库中的文件总数,分母|{j:ti∈dj}|表示问句语料库中包含重要单词t的文件数目;
tfidfi,j=tfi,j×idfi,
tfidfi,j为用户输入问句与问题模板的相似度;
通过TF-IDF技术,获得用户输入问句与所有问题模板间的文本相似度列表L2。
本发明的有益效果是:
(1)相比于基于非深度学习的短文本相似度算法,本发明采用的SH-CNN结合TF-IDF的计算方法添加了对文本的预处理,挖掘了文本的深层语义信息,理解语义的结果更准确。
(2)相比于目前基于深度学习的短文本相似度算法,本发明中提及的SH-CNN模型采用浅层卷积神经网络,加快了模型的训练速度,并在卷积神经网络的基础上对网络层进行了一些修改,使用一个共享层来对用户输入的问句和系统中的问题模板进行映射和处理,从而计算它们之间的文本相似度。同时结合TF-IDF加权技术,应用于计算医疗领域的文本相似度,更能准确得出用户输入的医疗问句的问题类型,能弥补中文医疗智能问答领域缺乏合适的中文医疗数据集的缺陷。
(3)基于本发明的计算方法所构建的中文智能问答系统,将其应用于中文医疗领域进行测试,结果显示理解用户语义的准确率达到了90.7%,取得了显著的进步。
附图说明
为了更清楚地说明本发明的技术方案,下面将对说明书中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是实施例提供的本发明的文本相似度计算方法流程图;
图2是实施例提供的本发明的文本相似度计算方法在问答系统中的位置;
图3是实施例提供的SH-CNN模型结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
图1为本发明的文本相似度计算方法流程图,具体如下所述。
(1)模型训练。计算前,需要用问句语料对SH-CNN模型进行训练,以使得SH-CNN模型在处理用户输入问句时能得到预期的输出值。训练步骤包括文本预处理和将预处理得到的词向量输入SH-CNN(基于共享层的卷积神经网络)中。具体为利用中文分词工具jieba对训练SH-CNN模型的问句语料进行分词。对问句语料的分词结果中出现的所有单词建立一个词典V,并将每个单词都编码一个唯一的索引号,以便于查找。由于问句语料中的句子长度不同,因此我们需要将每个句子都加长到最大句子的长度m,句子的被加长部分使用字符“<PAD/>”来填充,每个字符对应一个单词长度。这样做的意义在于SH-CNN(基于共享层的卷积神经网络)可以有效地批量处理我们的数据,因为批处理中每个示例必须具有相同的长度。这样每个句子都可表示为文本序列S=(x1,x2,...,xi,...,xm),xi代表构成文本序列S的第i个单词。随后使用训练好的word2vec模型将问句语料中的每个句子都转换成词向量矩阵其中代表该单词的词向量。以上操作的目的是为了将用于计算文本相似度的中文问题对都转化成SH-CNN(基于共享层的卷积神经网络)可以处理的文本格式。将问句语料中包含的所有问题对的词向量矩阵分批依次输入SH-CNN中,获得训练后的SH-CNN模型。
(2)分词和词向量。计算时,首先利用中文分词工具jieba对用户输入的自然语言问句和系统问题模板进行分词。分词得到的每个单词都会从模型训练中生成的词典V中取出唯一一个对应的索引号,然后再将每个句子都加长到最大句子长度m,句子的被加长部分使用字符“<PAD/>”来填充,每个字符“<PAD/>”对应一个单词长度;如果在处理实例中,有的单词在生成的字典V中没有,则也会以填充字符“<PAD/>”来替代。这样每个句子都可表示为文本序列S=(x1,x2,...,xi,...,xm),xi代表构成文本序列S的第i个单词。再使用训练好的word2vec模型将每个句子的文本序列都转换成词向量矩阵其中代表该单词的词向量,获得用户输入问句的词向量矩阵和系统中所有问题模板的词向量矩阵。
(3)SH-CNN。训练后的SH-CNN模型使用一个共享层来对用户输入问句的词向量矩阵和系统问题模板的词向量矩阵进行映射和处理。用户输入问句的词向量矩阵,每次结合一个问题模板的词向量矩阵,形成一对词向量矩阵,依次将每对词向量矩阵输入训练后的SH-CNN模型,计算用户输入问句与每个问题模板之间的文本相似度,获得列表L1。
(4)TF-IDF。针对特定领域,TF-IDF用来区分一些可能产生噪声的词语,来提高算法的精确度。先为系统中每个问题模板设置一个文件,文件和问题模板一一对应。文件中包含其对应模板中出现的一些重要单词以及它相似的单词,同时剔除一些对于确定问句类型没有帮助的单词,相当于对这些重要单词进行加权处理。再利用TF-IDF计算用户输入问句与每个问题模板之间的文本相似度,获得列表L2。
本发明的SH-CNN和TF-IDF融合的算法;
(1)相比于基于非深度学习的短文本相似度算法,本发明采用的SH-CNN结合TF-IDF的计算方法添加了对文本的预处理,挖掘了文本的深层语义信息,理解语义的结果更准确。
(2)相比于目前的基于深度学习的短文本相似度算法,本发明使用较短时间训练后的SH-CNN模型来计算用户输入问句和系统问题模板的文本相似度,同时结合TF-IDF加权技术,应用于计算医疗领域的文本相似度,更能准确得出用户输入的医疗问句的问题类型,能弥补中文医疗智能问答领域缺乏合适的中文医疗数据集的缺陷。
参照图2所示,图2介绍了整个问答系统的流程框架,以及本发明的文本相似度计算方法在该问答系统中的位置。系统运行时,首先对用户输入的自然语言问句进行分词,例如:感冒的症状有哪些,分为感冒、的、症状、有、哪些。然后利用词性标注的方法获取该问句中包含的医疗实体——感冒,再使用SH-CNN模型和TF-IDF技术为用户输入问句匹配语义最接近的系统问题模板。每个问题模板都代表不同类型的问句,依此可获得用户输入问句的问题类型,并结合问句中包含的医疗实体即可构成面向知识图谱的查询语句,然后从中检索相应的答案返回给用户。后续的实验结果表明,基于本发明的文本相似度计算方法构造的问答系统展现出了良好的性能。
请参阅图3,为SH-CNN模型结构图,其包括的共享层由卷积层和池化层构成,分别用于处理水平方向上输入的两个文本词向量矩阵,包括用户输入问句的词向量矩阵和系统中单个问题模板的词向量矩阵。SH-CNN模型还包括全连接层。在共享层后利用全连接层将捕获的特征信息进行拼接后计算句子向量的相似性。
卷积核的本质是一个n-gram特征提取器,不同尺寸的卷积核提取的特征不同,在处理文本任务时,通常卷积核大小被设为5,而对于短文本而言,这个尺寸过大,会引入噪声,使得SH-CNN难以提取我们期望的文本特征。但是,如果卷积核尺寸太小,则无法提取完整的词语表征,因此我们取多个不同大小的卷积核测试并将其任意组合,最终选定卷积核大小为3,即代表卷积核一次会处理文本序列S中的三个相邻单词所组成的3×n的局部词向量矩阵,其中n代表单词的向量维度。
在处理文本时,卷积核需要抽取每个单词的所有维度特征,因此卷积核只能沿着Sw的“上下”方向移动,取与的点积,以获得一个新的一维特征向量C*={C1,C2,...,Ci,...,Cm-j+i},Ci代表卷积核每一步滑动过程中产生的局部特征值。
在SH-CNN训练中会初始化k种不同的卷积核,在卷积操作后会得到k个C*。池化层采用max-pooling对C*中的特征点取最大值,并将获取的k个值进行拼接,获取一个结构为k×1维的向量作为池化层的输出。
在池化层后进行dropout,以增加模型的泛化能力。Dropout会以概率p随机的删除网络模型中的神经元。网络模型中的神经元,它会接收上层网络层的输出值并乘以自身的权重,并将其相加后通过激活函数调整输出一个值作为网络下一层的输入,类似于人体类的神经细胞来传递外来接收的信号。通过这种方式修改神经元连接,SH-CNN模型不会太依赖某些局部特征。比如某一层的神经元个数为1000个,其激活函数输出的值为y1、y2、…y1000,如果p=0.5,则这些神经元中将有500个会停止工作。
Sigmoid函数是生物学中常见的S型函数,由于其单增以及反函数单增的性值,可将变量映射到0到1之间。因此,根据任务需要,SH-CNN模型在全连接层使用sigmoid作为激活函数,它接受的是经过dropout后的两文本(用户输入问句和一个系统问题模板)的向量表示,用以计算两文本的相似度,并将其表示为0到1的浮点数,其公式为:训练模型采用交叉熵损失函数,其公式为:其中yi代表样本i属于y,而则代表其成立的概率,n为训练集规模。只有当yi与相等时,loss才为0,否则loss就是一个正数,而且loss值会随着概率相差增大而增大。
通过SH-CNN模型,将会获得用户输入的自然语言问句与系统中问题模板间的文本相似度列表L1。
TF-IDF用以评估一个单词对一个语料中一个句子的重要程度。例如对于问题模板“感冒的症状有哪些”,该模板所对应的设置文件中就包含症状、现象、表现等重要单词,以及包含这些重要单词的短句。每个模板都代表不同类型的问句,例如:对于问题模板“感冒的症状有哪些”,它代表疾病的症状查询类;对于问题模板“高血压的并发症”,它代表疾病的并发症查询类。因此每个问题模板所对应文件中存在的单词不会出现在别的问题模板所对应的文件中。同时,对于一些对确定问句类型没有帮助的单词,比如“感冒”、“的”“有哪些”等,我们不会将这些添加在模板所对应的设置文件中,相当于对重要单词进行加权处理。
通过上述方法对用户输入问句中出现的重要单词进行加权后,利用TF-IDF再对用户输入问句和问题模板进行相似度计算。TF-IDF的计算方法包括以下三个公式:
其中分子ni,j表示用户输入问句中包含的重要单词t在一个问题模板所对应文件F中出现的次数,分母∑knk,j表示文件F中所有单词出现次数的总和。TF词频(TermFrequency)表示重要单词t在一个问题模板所对应文件F中出现的频率。
其中分子|D|是问句语料库中的文件总数,分母|{j:ti∈dj}|表示问句语料库中包含重要单词t的文件数目。如果语料库中包含重要单词t的文件越少,则说明词条具有很好的分类能力,则IDF越大。而且由于每个模板都代表不同类型的问句,因此在我们设置的问题模板所对应的文件中,每个文件中所出现的单词都不会出现在别的问题模板所对应的文件中去。
tfidfi,j=tfi,j×idfi
Tfidfi,j即为两文本的相似度,其主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现(IDF较大),则认为此词或者短语具有很好的类别区分能力,适合用来分类。由TF和IDF结合可以看出,在特定文件内的高频词语,以及该词语在整个文件集合中的低文件频率,可以产生高权重的TF-IDF,TF-IDF越大,表示相似度越大。通过对文件中重要单词的加权,可以使TF-IDF更好的区分特定领域内的文本。
通过TF-IDF,将会获得用户输入的自然语言问句与系统中问题模板间的文本相似度列表L2。
将获取的文本相似度列表L1,L2中的值相加,获得文本相似度融合列表L3。
根据L3最大值下标对应问题模板的问句类型,结合用户输入问句中的医疗实体,即可构造面向知识图谱的查询语言,并从知识图谱中检索答案,获取的答案经过渲染后以自然语言的形式返回给用户。
在面对中文医疗问题方面没有相关的问句语料,针对系统中设计好的问题模板,我们从医疗和健康网站爬取与之匹配的各类型真实问题进行验证。为了表明混合算法性能,我们选用TF-IDF、Jaccard系数、SH-CNN、word2vec以及余弦相似度(Cosine)等五种不同的相似度算法来进行比较测试。表1表示五种文本相似度算法应用于中文智能问答系统中的运行结果,其衡量标准为运行时间和准确率。
表1五种不同方法的运行结果
中文自然语言复杂而且表达方式繁多,对于文本的语义信息应该从多个角度来理解。由于word2vec在处理文本相似度时消耗时间过长,而且准确率并不令人满意,因此我们剔除此种方法,将余下四种方法两两结合,并进行进一步验证,获取的结果如表2所示。
表2不同算法的精确度比较
从表2可以看出,将SH-CNN与TF-IDF融合取得了最好的效果,其准确率达到了90.7%。相比于传统的文本相似度算法,该融合算法添加了对中文文本内容的预处理,同时结合了经过加权处理的TF-IDF算法,使其更适用于特定领域中的问答。本发明采用SH-CNN与TF-IDF融合的算法,来计算用户输入问句和系统问题模板的文本相似度,准确性高,基于此融合算法构建的智能问答系统可以为用户提供有效准确的答案,具有很好的实际意义。
以上所揭露的仅为本发明的较佳实施例而已,不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的权利范围。
Claims (10)
1.一种面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,融合SH-CNN和TF-IDF技术,来计算用户输入问句和系统问题模板之间的文本相似度,包括以下步骤:
步骤P1,文本预处理:将训练SH-CNN模型的问句语料进行分词,对分词结果中出现的所有单词建立一个词典V,并将每个单词都编码一个唯一的索引号;将问句语料中的每个句子都加长到最大句子的长度,再将每个句子都转换成词向量矩阵;
步骤P2,将问句语料中包含的所有问题对的词向量矩阵分批依次输入SH-CNN中,获得训练后的SH-CNN模型;
步骤P3,将用户输入问句和系统中所有问题模板进行分词,得到的每个单词均从步骤P1生成的词典V中取出唯一的索引号,再将包含单词索引号的每个句子都加长到最大句子的长度,然后将每个句子都转换成词向量矩阵,获得用户输入问句的词向量矩阵和系统中所有问题模板的词向量矩阵;
步骤P4,将所述用户输入问句的词向量矩阵,每次结合一个问题模板的词向量矩阵,依次输入所述训练后的SH-CNN模型,计算用户输入问句与每个问题模板之间的文本相似度,获得列表L1;
步骤P5,为每个问题模板设置一个文件,所述问题模板和所述文件一一对应;所述文件包含其对应模板中出现的一些重要单词及包含这些重要单词的短语或短句,同时剔除一些对于确定问句类型没有帮助的单词;然后利用TF-IDF计算用户输入问句与每个问题模板之间的文本相似度,获得列表L2;
步骤P6,将步骤P4、P5中获得的列表L1、L2中的值相加,获取文本相似度融合列表L3;根据L3中最大值所对应问题模板的问题类型,确定用户输入问句的问题类型。
2.根据权利要求1所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,步骤P1中,利用中文分词工具jieba对训练SH-CNN模型的问句语料进行分词;步骤P3中,利用中文分词工具jieba对用户输入问句和系统中所有问题模板进行分词。
3.根据权利要求1所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,步骤P3中,所述将每个句子都加长到最大句子的长度,其中,句子的被加长部分使用字符“<PAD/>”来填充,每个字符“<PAD/>”对应一个单词长度;对于用户输入问句和系统中所有问题模板进行分词后得到的未出现在词典V中的单词,也以字符“<PAD/>”来填充;每个句子都表示为文本序列S=(x1,x2,...,xi,...,xm),xi代表构成文本序列S的第i个单词,m表示最大句子的长度。
5.根据权利要求4所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,步骤P4中,所述训练后的SH-CNN模型,使用一个共享层来对用户输入问句的词向量矩阵和系统中的问题模板的词向量矩阵进行映射和处理;所述共享层包括卷积层和池化层;SH-CNN模型的卷积公式为其中,表示文本序列S中第i个单词到第j个单词所组成的词向量矩阵,为卷积核,b是偏差向量;
取与的点积,以获得一个新的一维特征向量C*={C1,C2,...,Ci,...,Cm-j+i},Ci代表卷积核每一步滑动过程中产生的局部特征值;卷积后,得到k个C*,k为SH-CNN模型在训练时初始化的卷积核种类数;
池化层中,采用max-pooling对C*中的特征点取最大值,并将获取的k个最大值进行拼接,获取一个结构为k×1维的向量作为本层的输出。
6.根据权利要求5所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,所述训练后的SH-CNN模型,还包括全连接层;池化层输出的k×1维的向量在全连接层中进行dropout,以增加SH-CNN模型的泛化能力。
7.根据权利要求5所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,全连接层中,使用Sigmoid函数接受经过dropout后的用户输入问句的向量和问题模板的向量,计算用户输入问句和问题模板的相似度值,得到列表L1。
9.根据权利要求1所述的面向医疗领域的中文智能问答短文本相似度计算方法,其特征在于,步骤P4中,列表L1中的所有相似度值都是0-1之间的浮点数,与各个问题模板一一对应,表示用户输入问句与问题模板之间的相似程度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370543.8A CN111581364B (zh) | 2020-05-06 | 2020-05-06 | 一种面向医疗领域的中文智能问答短文本相似度计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370543.8A CN111581364B (zh) | 2020-05-06 | 2020-05-06 | 一种面向医疗领域的中文智能问答短文本相似度计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581364A true CN111581364A (zh) | 2020-08-25 |
CN111581364B CN111581364B (zh) | 2022-05-03 |
Family
ID=72126197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010370543.8A Active CN111581364B (zh) | 2020-05-06 | 2020-05-06 | 一种面向医疗领域的中文智能问答短文本相似度计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581364B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270323A (zh) * | 2020-09-29 | 2021-01-26 | 西安电子科技大学 | 智能医疗复检控制方法、系统、介质、计算机设备及应用 |
CN112580325A (zh) * | 2020-12-25 | 2021-03-30 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
CN113407697A (zh) * | 2021-06-28 | 2021-09-17 | 李蕊男 | 深度百科学习的中文医疗问句分类系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答系统 |
US20180341871A1 (en) * | 2017-05-25 | 2018-11-29 | Accenture Global Solutions Limited | Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains |
CN110032632A (zh) * | 2019-04-04 | 2019-07-19 | 平安科技(深圳)有限公司 | 基于文本相似度的智能客服问答方法、装置及存储介质 |
CN110647614A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
-
2020
- 2020-05-06 CN CN202010370543.8A patent/CN111581364B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答系统 |
US20180341871A1 (en) * | 2017-05-25 | 2018-11-29 | Accenture Global Solutions Limited | Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains |
CN110032632A (zh) * | 2019-04-04 | 2019-07-19 | 平安科技(深圳)有限公司 | 基于文本相似度的智能客服问答方法、装置及存储介质 |
CN110647614A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
MANAL MOHAMMED等: "Question classification based on Bloom’s taxonomy cognitive domain using modified TF-IDF and word2vec", 《PLOS ONE》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270323A (zh) * | 2020-09-29 | 2021-01-26 | 西安电子科技大学 | 智能医疗复检控制方法、系统、介质、计算机设备及应用 |
CN112270323B (zh) * | 2020-09-29 | 2024-02-02 | 西安电子科技大学 | 智能医疗复检控制方法、系统、介质、计算机设备及应用 |
CN112580325A (zh) * | 2020-12-25 | 2021-03-30 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
CN112580325B (zh) * | 2020-12-25 | 2023-04-07 | 建信金融科技有限责任公司 | 一种快速文本匹配方法及装置 |
CN113407697A (zh) * | 2021-06-28 | 2021-09-17 | 李蕊男 | 深度百科学习的中文医疗问句分类系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111581364B (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN105183833B (zh) | 一种基于用户模型的微博文本推荐方法及其推荐装置 | |
CN110287323B (zh) | 一种面向目标的情感分类方法 | |
CN111581364B (zh) | 一种面向医疗领域的中文智能问答短文本相似度计算方法 | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索系统 | |
CN111581401A (zh) | 一种基于深度相关性匹配的局部引文推荐系统及方法 | |
Cai et al. | Intelligent question answering in restricted domains using deep learning and question pair matching | |
Ju et al. | An efficient method for document categorization based on word2vec and latent semantic analysis | |
CN113392209B (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN110705247B (zh) | 基于χ2-C的文本相似度计算方法 | |
CN111858896B (zh) | 一种基于深度学习的知识库问答方法 | |
CN112559684A (zh) | 一种关键词提取及信息检索方法 | |
CN111898369B (zh) | 文章标题生成方法、模型的训练方法、装置和电子设备 | |
CN112232053A (zh) | 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质 | |
CN113934835B (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN114064901B (zh) | 一种基于知识图谱词义消歧的书评文本分类方法 | |
Chai | Design and implementation of English intelligent communication platform based on similarity algorithm | |
CN113377953B (zh) | 一种基于palc-dca模型的实体融合及分类方法 | |
CN114239730A (zh) | 一种基于近邻排序关系的跨模态检索方法 | |
Uddin et al. | Extracting severe negative sentence pattern from bangla data via long short-term memory neural network | |
CN112417170B (zh) | 面向不完备知识图谱的关系链接方法 | |
Chen et al. | Co-attention fusion based deep neural network for Chinese medical answer selection | |
CN112084312B (zh) | 一种基于知识图构建的智能客服系统 | |
CN111353032B (zh) | 面向社区问答的问题分类方法及系统 | |
CN110674293B (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 |