CN110442760B - 一种问答检索系统的同义词挖掘方法及装置 - Google Patents
一种问答检索系统的同义词挖掘方法及装置 Download PDFInfo
- Publication number
- CN110442760B CN110442760B CN201910672217.XA CN201910672217A CN110442760B CN 110442760 B CN110442760 B CN 110442760B CN 201910672217 A CN201910672217 A CN 201910672217A CN 110442760 B CN110442760 B CN 110442760B
- Authority
- CN
- China
- Prior art keywords
- synonym
- word
- data
- question
- keyword
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—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/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Abstract
本发明涉及一种问答检索系统的同义词挖掘方法及装置,本发明通过对问答语料分类,按类别进行关键词提取,得到待处理关键词集,同时对垂直领域内的大语料进行词向量训练,并计算词向量的余弦相似度,得到当前类别关键词的广义相关词集合,然后进行词性筛选,得到缩略相关词集,再计算缩略相关词集合内的欧式距离,得到同义词对,并统计同义词对的共现频次,计算同义词的替换概率,最终根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正,较好的解决了同义词替换后的语义变形问题,提高了同义词挖掘的准确度以及问答对检索结果的准确性。
Description
技术领域
本发明涉及信息检索领域,尤其涉及一种问答检索系统的同义词挖掘方法及装置。
背景技术
随着互联网技术的飞速发展,面对海量的信息和资源,传统的搜索引擎不能很好的满足人们全面、快捷、准确的知识获取需求,智能的、基于精准知识获取的问答检索系统成为未来发展的方向。近些年,人工智能的不断兴起,技术上的发展进步,问答检索系统的应用深入到各行各业,并已逐渐成为一种非常实用流行的知识获取方式。
同义词替换作为问答检索系统一项重要的技术,是问答检索、搜索引擎系统中的基础性和必要性工作,已成为提高问答检索召回效率不可或缺的一部分。同义词替换是通过用户输入语句,语句中的词语在相似的上下文语境下可以相互替换,并使语句的核心意思不变。由于地区语言差异,时代的变化,新词层出不穷,现有的同义词词表查询的方法对同义词判别已经不再适用,不能满足用户搜索的需要,容易造成检索系统出现致命错误,检索返回的结果不准确。使用智能高效的的方法进行同义词挖掘,形成新的同义词词表,提高检索结果的召回效率,成为非常紧迫的任务。
现阶段同义词挖掘方法主要有以下四种:
1、基于同义词词林的挖掘方法。同义词词林一般是由语言学家的编写整理而成,如哈工大同义词词林,知网的HowNet同义词词林等,同义词对准确度较高,有一定的参考价值,但其在收集编写的过程中,耗费了大量的人力和物力,且数量有限,不能满足领域内的问答检索的同义词替换需求。
2、基于规则模板的挖掘方法。该方法是在百科、文献以及网页上的各类文章中,将具有一定规则的同义词对挖掘出来,如网页文章中某个词语后的括号内的关键词语,还有利用“又名”、“又称”等关键词挖掘出同义词语。但该种方法挖掘出来的同义词集,在特定领域的同义词对有限,不能满足垂直领域的问答检索系统的需求。
3、基于搜索点击日志的挖掘方法。该方法是根据某个时间段同一用户搜索点击行为,通过不同的搜索词共现来计算共现词语的相似度,根据相似度阈值来判断是否为同义词对。该方法能够挖掘出搜索日志中存在错别字的词语,例如债权-债券,账款-帐款等,以及词语相似度达到设定阈值的,主要用于同义词集的扩展。但该种方法对于短语的挖掘效果不理想,且对于新开发的检索系统,在没有日志的情况下,是无法采用这一方法的。
4、基于语义的相似度挖掘方法。该方法通过对大语料训练词向量,根据每个词语对应的词向量,计算各词向量的余弦值,距离范围在0-1之间,值越大代表两个词的关联度越高,从而根据余弦值进行同义词的挖掘。
现有的同义词挖掘方式主要是基于搜索点击日志和语义相似度的挖掘方法。专利申请号CN 201811345950.2提出一种同义词挖掘方法及装置,它是基于搜索点击日志的挖掘方法,通过对用户在一个预定时长的时间窗口内的历史搜索行为所对应多个的搜索词,进行同义词挖掘,但在细粒度词语的同义词挖掘表现不佳,且受到日志数量的限制。专利申请号CN 201810023323.0提出一种近义词挖掘方法、装置及电子设备,它是基于语义的相似度挖掘方法,通过基于词向量的文档相似度算法计算词向量的距离进行同义词挖掘,但没有将同义替换后检索的召回结果,进行分析,判断是否返回正确答案,从而对同义词对进行反馈修正。
发明内容
本发明为克服上述的不足之处,目的在于提供一种问答检索系统的同义词挖掘方法及装置,本发明通过对问答语料分类,按类别进行关键词提取,得到待处理关键词集,同时对垂直领域内的大语料进行词向量训练,并计算词向量的余弦相似度,得到当前类别关键词的广义相关词集合,然后进行词性筛选,得到缩略相关词集,再计算缩略相关词集合内的欧式距离,得到同义词对,并统计同义词对的共现频次,计算同义词的替换概率,最终根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正,较好的解决了同义词替换后的语义变形问题,提高了同义词挖掘的准确度以及问答对检索结果的准确性。
本发明是通过以下技术方案达到上述目的:一种问答检索系统的同义词挖掘方法,包括如下步骤:
(1)爬取和收集垂直领域不同类别的问答语料数据集A和该领域用于训练的大语料数据集B,并对不同类别的数据集A和数据集B进行数据预处理,得到关键词提取数据和训练数据;
(2)对数据集A和数据集B进行词向量训练,提取文本中同义词的特征,挖掘大语料下的广义相关词,并利用词性对其进行筛选,得到缩略相关词,再采用分类挖掘方法,在同类别下挖掘同义词对,形成最终的同义词集;
(3)提取同义词对的共现频次,并根据共现频次计算确定同义词替换的概率;
(4)基于同义词集进行同义词替换,并检查检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。
作为优选,所述步骤(1)具体如下:
(1.1)爬取收集数据:爬取和收集垂直领域的不同类别的数据集A和数据集B;
(1.2)数据清洗:根据步骤(1.1)中爬取收集的数据,对其进行数据清洗,包括相似的文本去重,低质量文本过滤,缺失的文本去除,以及对较短的文本进行删除;
(1.3)文本分类:根据步骤(1.2)得到处理后的数据,对其进行文本分类;其中,对于没有类别的数据采用CNN算法进行文本分类;
(1.4)数据分词:根据步骤(1.2)得到处理后的数据,分别对数据集A和数据集B进行细粒度分词,并建立停用词典和自定义词典,提高分词质量;
(1.5)统计词频并排序:根据步骤(1.4)数据分词得到的结果,统计每个单词出现的频率,并对词频进行降序排序,生成词表;
(1.6)关键词提取:将数据集A中的问题Query细粒度分词后的结果作为关键词集I,并对数据集A中的答案Answer提取关键词得到关键词集II,将关键词集I与关键词集II合并得到初步需要挖掘的关键词集,再进行词性筛选,得到最终需要挖掘同义词的关键词集。
作为优选,所述步骤(1.6)中,提取关键词采用基于统计的TF-IDF算法与基于图模型的TextRank算法相结合,提取文本关键词。
作为优选,所述的词性筛选具体为:对初步的关键词集进行词性筛选,保留名词、动词和形容词;最后得到的最终需要挖掘同义词的关键词集应按类别区分开。
作为优选,所述步骤(2)具体如下:
(2.1)文本向量化:根据分词后的词表,将词表中的词语转化为词向量形式;首先对词表进行one-hot编码得到矩阵M,利用word2vec训练词向量,构建|V|*d的向量矩阵,其中隐藏层的矩阵用N表示,V代表词表的大小,d代表词向量的维度;得到每个词语的词向量:Q=M*N;
(2.2)文本同义词特征提取:根据步骤(2.1)得到的词向量,将某一类别关键词集中的各个词语与词表中各个词语进行词嵌入后计算余弦相似度,其中余弦值大于设置的相似度阈值的,作为广义相关词集;
(2.3)词性筛选:将步骤(2.2)得到的关键词的广义相关词,进行词性筛选,确保广义相关词中的词语与某一类别关键词当中的词语的词性应保持一致,得到缩略相关词集;
(2.4)同义词集获取:在当前类别的关键词集中的关键词与步骤
(2.3)中的缩略相关词集进行欧式距离的计算,其中距离值大于预设阈值的,作为最终的同义词集。
作为优选,所述步骤(3)具体如下:
(3.1)提取共现频次:根据步骤(2)得到的最终同义词集,提取同义词集的共现频次;
(3.2)计算同义词替换概率:根据步骤(3.1)得到的同义词共现频次,计算同义词替换概率;计算一组同义词对的替换概率P公式如下:
其中,P为同义词对的替换概率,count为这一组同义词对的共现频次,count_all为同义词对中某个词的所对应的词语的共现总次数。
作为优选,所述步骤(4)具体如下:
(4.1)问答检索系统对输入的问题进行细粒度分词;
(4.2)根据步骤(4.1)的细粒度分词结果与步骤(2)的同义词集,对于同义词集中包含分词后的关键词的,根据步骤(3)得到的同义词替换概率大小进行替换,检索并返回相似度最高的问答检索结果;
(4.3)根据得到的问答检索结果,判断其相似度是否大于预先设定的阈值S,进行反馈修正:若相似度大于预先设定的阈值S的,则返回用户检索匹配的结果,若相似度小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集。
作为优选,所述在步骤(4.3)中,检索并返回相似度最高的问答检索结果,具体指基于PostgreSQL全文检索结果,与输入的问题比较,基于bert计算文本相似度,返回相似度最高的问答检索结果。
一种问答检索系统的同义词挖掘装置,包括:数据获取模块、数据预处理模块、同义词集获取模块、反馈修正模块;
所述数据获取模块用于爬取和收集垂直领域不同类别的问答语料和作为训练语料的大语料集;
所述数据预处理模块用于语料数据预处理,包括数据清洗、文本分类、数据分词、关键词提取;
所述同义词集获取模块用于训练词向量,提取同义词特征,筛选词性,分类挖掘同义词对,获取同义词集;
所述反馈修正模块用于根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。
作为优选,所述同义词集获取模块,包括文本向量化单元、同义词集输出单元;所述文本向量化单元用于将分词后的文本转化为词向量,得到词向量模型;所述同义词集输出单元,通过加载词向量模型,对于每个关键词进行词嵌入计算余弦相似度,对于余弦相似值大于预设的阈值的,作为每个关键词相对应的广义相关词,再进行词性筛选,确保每个广义相关词与对应的关键词词性相同,从而得到缩略相关词集,再在当前类别的关键词集中的关键词与缩略相关词集进行欧式距离的计算,其中相似度值大于设置的阈值的,作为最终的同义词集;
所述反馈修正模块,包括替换概率计算单元和反馈修正单元;所述替换概率计算单元,通过统计同义词对的共现词频,计算同义词的替换概率;所述反馈修正单元用于对用户的问答系统的检索信息进行分词,至少有一个关键词,对于同义词集中包含分词后的关键词的,根据同义词的替换概率进行同义词替换,得到加权得分最高的问答检索结果,其中加权得分后的权值小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集。
本发明的有益效果在于:(1)本发明采用细粒度分词,对垂直领域中大规模语料词语进行词向量训练,使其能够更好的在垂直领域相关语料内挖掘同义词对;(2)本发明采用分类挖掘方法,通过在同类别下挖掘同义词对,提高了同义词对挖掘的效率和准确率;(3)本发明通过统计同义词对的共现频次,计算同义词对的替换概率,根据替换概率进行同义词替换,提高了同义词的可信度;(4)本发明根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正,较好的解决了同义词替换后的语义变形问题,提高了检索返回结果的精准度;(5)本发明具有较强的移植性,不仅可以在司法领域的大语料下进行同义词挖掘,在其他不同垂直领域都可适用。
附图说明
图1是本发明的装置结构示意图;
图2是本发明的方法流程示意图;
图3是本发明的关键词集获取流程示意图;
图4是本发明的同义词集获取流程示意图;
图5是本发明的同义词集反馈修正流程示意图;
图6是本发明的同义词替换示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例:如图1所示,一种问答检索系统的同义词挖掘装置,包括:数据获取模块、数据预处理模块、同义词集获取模块、反馈修正模块;
所述数据获取模块用于爬取和收集垂直领域不同类别的问答语料和作为训练语料的大语料集;
所述数据预处理模块用于语料数据预处理,包括数据清洗、文本分类、数据分词、关键词提取;其中,关键词提取,是将问答语料中的Query进行细粒度分词作为关键词集I,并对Answer进行关键词提取得到关键词集II,将关键词集I与关键词集II进行合并,得到初步需要挖掘的关键词集,再进行词性筛选,主要是保留名词、动词以及形容词等,得到最终的关键词集,关键词集按类别进行提取。
所述同义词集获取模块用于训练词向量,提取同义词特征,筛选词性,分类挖掘同义词对,获取同义词集;
所述同义词集获取模块,包括文本向量化单元、同义词集输出单元;所述文本向量化单元用于将分词后的文本转化为词向量,得到词向量模型;所述同义词集输出单元,通过加载词向量模型,对于每个关键词进行词嵌入计算余弦相似度,对于余弦相似值大于预设的阈值的,作为每个关键词相对应的广义相关词,再进行词性筛选,确保每个广义相关词与对应的关键词词性相同,从而得到缩略相关词集,再在当前类别的关键词集中的关键词与缩略相关词集进行欧式距离的计算,其中相似度值大于设置的阈值的,作为最终的同义词集;
所述反馈修正模块用于根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。
所述反馈修正模块,包括替换概率计算单元和反馈修正单元;所述替换概率计算单元,通过统计同义词对的共现词频,计算同义词的替换概率;所述反馈修正单元用于对用户的问答系统的检索信息进行分词,至少有一个关键词,对于同义词集中包含分词后的关键词的,根据同义词的替换概率进行同义词替换,得到加权得分最高的问答检索结果,其中加权得分后的权值小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集。
如图2所示,一种问答检索系统的同义词挖掘方法包括如下步骤:
(1)爬取和收集垂直领域不同类别的问答语料数据集A和该领域用于训练的大语料数据集B,并对不同类别的数据集A和数据集B进行数据预处理,得到关键词提取数据和训练数据。
数据集A是用于问答系统的语料,数据集B是垂直领域的大语料,用来训练该领域的词向量模型的。如果语料有限可以直接拿问答语料训练。本实施例中,爬取和收集司法垂直领域不同类别的问答语料(简称为数据集A)和裁判文书数据集(简称为数据集B),其中数据集A为近4万的问答对,数据集B为1000万的裁判文书,主要有债权债务类、婚姻家庭类以及房产纠纷类等。
(1.1)爬取收集数据:爬取和收集垂直领域的不同类别的数据集A和数据集B;
(1.2)数据清洗:由于数据文本质量将对模型训练以及问答检索结果的质量产生重大的影响,需对相似文本去重,低质量文本过滤,缺失的文本去除等处理。利用jaccard相似度算法对相似的文本去重,相似阈值设为0.8;同时对数据集A中不同问题但答案相同以及相同问题不同答案的需进行处理,确保答案精炼准确。
(1.3)数据分类对齐:根据步骤(1.2)收集的数据,得到数据集A与数据集B的类别不能完全对应,需要进行类别对齐,比如数据集A中的债权债务对应数据集B中的民间借贷纠纷。其中对于爬取到的没有类别的数据,利用CNN算法进行文本分类。
本实施例中对司法数据进行文本分类,其分类是按照垂直领域的数据特征进行分类的,主要有债权债务类、劳动纠纷类、婚姻家庭纠纷类、房产纠纷类以及金融纠纷类等。在不同垂直领域其数据特征不同,例如在医疗领域问答中,根据病人就诊的电子病例数据,可以按就诊科室进行分类,可分为骨科、普外科、胸外科以及耳鼻喉科等。例如在金融领域问答中,根据金融相关的数据特征,可分为基金类、证券类、股票类、保险类以及金融借贷类等。
(1.4)数据分词:根据步骤(1.3)分类后的数据,利用jieba进行细粒度分词,并建立停用词典,移除掉语气词、标点符号、数字以及特殊符号等;建立司法领域的自定义词典,使其能够分出原始词库中没有的词以及优先分出一些词,提高分词质量。
(1.5)统计词频并排序:根据步骤(1.4)数据分词得到的结果,利用Python的collections模块中的Counter()函数统计每个单词出现的频率,并对词频进行降序排序,生成一个词表。
(1.6)关键词提取:如图3所示,将问答语料中的Query进行细粒度分词作为关键词集I,并对Answer进行关键词提取得到关键词集II,将关键词集I与关键词集II进行合并,得到初步需要挖掘的关键词集,再进行词性筛选,主要是保留名词、动词以及形容词等,得到最终需要挖掘同义词的关键词集,关键词集应按类别进行提取。在本实施例中,关键词提取算法采用基于统计的TF-IDF算法与基于图模型的TextRank算法相结合。其具体详细步骤如下:
(a)统计人工词典爬取词典劳动法词典标签,并得到标签权重;
(b)利用TF-IDF提取算法得到分析文本关键词集(取top20);
(c)将20个关键词的权重乘对应标签热度T=TFIDF*Weight;
(d)全部关键字不在标签字典里导致结果为0时,使用textrank来提取关键词;
(e)根据计算结果重新排序,保留最多不超过5个关键字。
(2)对数据集A和数据集B进行词向量训练,采用余弦相似度计算方法提取文本中同义词的特征,挖掘大语料下的广义相关词,并利用词性对其进行筛选,得到缩略相关词,再采用分类挖掘方法,通过欧式距离算法在同类别下挖掘同义词对,形成最终的同义词集;具体步骤如图4所示。
(2.1)文本向量化:根据步骤(1.5)得到分词后的词表,词表大小为670K,根据词表进行one-hot编码,得到1*670K的矩阵M。在本实施例中,将每个词表示为一个维度为300的向量,即每个词语有300个特征,那么隐藏层则为|V|*d的向量矩阵,其中隐藏层的矩阵用N表示,V代表词表的大小,d代表词向量的维度。最后得到每个词语的词向量:Q=M*N。
(2.2)文本同义词特征提取:根据步骤(2.1)学习训练语料获取词向量和提取文本特征,词向量是维度为d的实数向量,因词向量中包含了自然语言中的语义和语法关系,各词语之间的远近代表着词语的相关度,距离越近,相关度越高,越可能为同义词。例如关键词“债务”对应的向量与关键词“债款”对应的向量距离就更近,与关键词“租赁”对应的向量距离就更远。在本实施例中,各词语之间的远近用余弦相似度来度量,其中cosine余弦值越接近1,词语对应的词向量就越相似。余弦相似度表达式为:
其中,Xi代表某一类别关键词集中的第i个值对应的词向量,Yi代表词表中的第i个值对应的词向量,其中cosine余弦值越接近1,词语对应的词向量就越相似;
再根据相似值与预设阈值相比较,或者返回前top n的相关词语,预设阈值设置在0.5-0.6之间,或者返回相似度为前top10的相关词语。本实施例中是将需要挖掘同义词的关键词对应的词向量与大语料中各词语的词向量计算余弦值,并将余弦值与预设阈值进行比较,余弦值大于预设阈值的为关键词的广义相关词,小于预设阈值的则删除,其中预设阈值为0.6。
最后遍历需要挖掘同义词的关键词集,挖掘关键词对应的广义相关词,得到广义相关词集。例如关键词“债务”的广义相关词集为“债权债款欠款借款负债外债贷款欠债偿债借贷”。
(2.3)词性筛选:根据步骤(2.2)得到关键词集对应的广义相关词集,对其进行词性筛选,得到缩略相关词集。主要保证关键词的词性与对应的广义相关词的词性应保持一致,减少同义词替换后的语义上的变形。
在步骤(2.2)的基础上进行词性筛选,例如关键词“债务”的词性为名词,则对应的缩略相关词集也应为名词,因此关键词“债务”对应的缩略相关词集为“债权债款外债贷款”。
(2.4)同义词集获取:根据步骤(2.3)得到关键词集对应的缩略相关词集,对其进行欧式距离计算。词向量是低维的的实数向量,欧式距离通过对关键词集和缩略相关词集词语的向量进行距离度量,来衡量向量空间各个点间的绝对距离,这距离是和向量中各个点的个体特征维度的数值直接相关的。其中n维空间里两个向量X(x1,x2,…,xn)与Y(y1,y2,…,yn)之间的欧式距离计算公式为:
在本实施例中,将关键词所对应的向量与所有缩略相关词以及其他需要挖掘同义词的关键词的向量进行欧式距离计算,计算的距离值与预设阈值相比较,对于距离值大于预设阈值的作为第一相关词集;将缩略相关词所对应的向量与所有的关键词集以及其他缩略相关词所对应的向量进行距离计算,对于距离值大于预设阈值的作为第二相关词集;再将第一相关词集与第二相关词集求交集,得到最终的同义词集。本实施例中的预设阈值为0.7。
在步骤(2.3)的基础上进行欧式距离计算,例如关键词“债务”的同义词集为“债权债款外债”。
(3)采用统计同义词对的方法提取同义词对的共现频次,并根据共现频次计算确定同义词替换的概率。具体步骤如下:
(3.1)统计同义词对共现频次:在当前类别下同一篇文本中,依次计算数据中出现同义词对的频次,进行统计,若频次越大,就可以认为它们的关联度越大,是同义词的概率也越大。反之,若频次越小,同义词的概率也就越小。根据步骤(2.4)得到的最终同义词集,统计同义词集的共现频次。
在本实施例中,统计词频采用Python的collections模块中的Counter()函数统计同义词对共现频次。
(3.2)计算同义词替换概率:根据步骤(3.1)得到的同义词共现频次,计算同义词替换概率。由先验知识可以,共现频次和同义词是呈正相关的。计算一组的同义词对的替换概率P公式如下:
其中,P为同义词对的替换概率,count为这一组同义词对的共现频次,count_all为同义词对中某个词的所对应的词语的共现总次数。
根据公式(3)计算同义词对的共现频次在某个词的所对应的词语的共现总次数中占比。如果在某个词的所有共现中,该同义词对的共现频次占比较大,那么是同义词的可信度也就越高。
假设词X和词Y为一个同义词对,词X可能只有一个同义词对,也可能有多个同义词对。在本实施例中,同义词共现频次的词表示例如下所示:
催账|催债|8
催账|讨债|49
催账|追债|4
催账|要债|2
催账|讨账|5
催账|逼债|2
催账|讨款|3
催账|催款|16
催账|追账|2
催账|要帐|1
催账|索债|1
催账|家里要钱|1
催账|追|1
催账|要账|2
由上面同义词共现频次的词表示例可知,结构为词X|词Y|共现频次。其中“催账”和“讨债”的共现频次最高,占比最大,则其可信度也就越大。
(4)基于同义词集进行同义词替换,并检查检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。具体步骤如图5所示:
(4.1)用户在使用问答检索系统时输入的问题,可以为关键词或者关键短语,也可以为问句,问答检索系统对输入的语句进行细粒度分词,得到分词后的关键词集,可以是一个或者多个词语。
(4.2)根据步骤(4.1)的细粒度分词与步骤(2.4)的同义词集,对于同义词集中包含分词后的关键词的,根据步骤(3)得到的同义词替换概率大小,选取同义词替换概率最大的词语进行同义词替换,将替换后的结果去进行检索,得到PostgreSQL全文检索和基于bert文本相似度计算两者的权值加权计算后的分数,并返回得分最高的问答检索结果。
本实施例中,PostgreSQL全文检索和基于bert文本相似度计算两者的权值加权计算后的分数具体步骤如下:
本实施例中,在计算PostgreSQL全文检索和基于bert文本相似度计算两者的权值时,将用户输入的问题进行同义词替换后,将进行关键词提取的结果记作H;将数据库中存储的问答对中的问题进行关键词提取,得到字段keyword,其中字段keyword中的关键词记作J;另外根据字段keyword新建一辅助字段question_keyword,其中question_keyword字段中的关键词是经过同义词替换后得到的,记作K,具体如图6所示:
(a)pg_score计算并按分数排序:进行全文检索有两种情况,(1)当关键词J存在时,则用关键词H在PostgreSQL库里question_keyword字段中的关键词K中进行全文检索得到pg_score,根据pg_score筛选出result;(2)当关键词J不存在时,则用关键词H在PostgreSQL库里的问题/答案进行全文检索得到pg_score,根据pg_score筛选出result。其中筛选出result是根据pg分数进行排序,选取前top30,返回的result是数据库中的原问题。
(b)bert_score计算并重新排序:根据步骤(a)中的result和用户输入的问题,都用bert进行encode转为向量,求出它们之间的余弦距离,得到bert_score。根据bert_score对result重新排序,选取result中得分最高的question,并返回question对应的answer。其中bert_score计算是将用户输入的原问题与pg库中的问题进行向量化计算得到的。
(4.3)根据步骤(4.2)得到的问答检索结果,判断其加权得分后的权值是否大于预先设定的阈值S,进行反馈修正。若加权得分后的权值大于预先设定的阈值S的,则返回用户检索匹配的结果,若加权得分后的权值小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集,进而更新同义词集,从而较好的解决了同义词替换后的语义变形问题,提高了同义词挖掘的准确度以及问答对检索结果的准确性。
例如,在债权债务纠纷中的“算账”与“结账”属于同义词对,但进行同义词替换后,可能产生语义变形问题,从而对检索结果产生较大的影响。进行检索结果的反馈修正可以很好的处理这一现象。
本发明实施例中是按类别进行提取需要挖掘同义词的关键词,整个流程按类别进行。依次按类别更新同义词集,提高在同类别下挖掘同义词的准确率。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (9)
1.一种问答检索系统的同义词挖掘方法,其特征在于,包括如下步骤:
(1)爬取和收集垂直领域不同类别的问答语料数据集A和该领域用于训练的大语料数据集B,并对不同类别的数据集A和数据集B进行数据预处理,得到关键词提取数据和训练数据;
(2)对数据集A和数据集B进行词向量训练,提取文本中同义词的特征,挖掘大语料下的广义相关词,并利用词性对其进行筛选,得到缩略相关词,再采用分类挖掘方法,在同类别下挖掘同义词对,形成最终的同义词集;具体如下:
(2.1)文本向量化:根据分词后的词表,将词表中的词语转化为词向量形式;首先对词表进行one-hot编码得到矩阵M,利用word2vec训练词向量,构建|V|*d的向量矩阵,其中隐藏层的矩阵用N表示,V代表词表的大小,d代表词向量的维度;得到每个词语的词向量:Q=M*N;
(2.2)文本同义词特征提取:根据步骤(2.1)得到的词向量,将某一类别关键词集中的各个词语与词表中各个词语进行词嵌入后计算余弦相似度,其中余弦值大于设置的相似度阈值的,作为广义相关词集;
(2.3)词性筛选:将步骤(2.2)得到的关键词的广义相关词,进行词性筛选,确保广义相关词中的词语与某一类别关键词当中的词语的词性应保持一致,得到缩略相关词集;
(2.4)同义词集获取:在当前类别的关键词集中的关键词与步骤(2.3)中的缩略相关词集进行欧式距离的计算,其中距离值大于预设阈值的,作为最终的同义词集;
(3)提取同义词对的共现频次,并根据共现频次计算确定同义词替换的概率;
(4)基于同义词集进行同义词替换,并检查检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。
2.根据权利要求1所述的一种问答检索系统的同义词挖掘方法,其特征在于:所述步骤(1)具体如下:
(1.1)爬取收集数据:爬取和收集垂直领域的不同类别的数据集A和数据集B;
(1.2)数据清洗:根据步骤(1.1)中爬取收集的数据,对其进行数据清洗,包括相似的文本去重,低质量文本过滤,缺失的文本去除,以及对较短的文本进行删除;
(1.3)文本分类:根据步骤(1.2)得到处理后的数据,对其进行文本分类;其中,对于没有类别的数据采用CNN算法进行文本分类;
(1.4)数据分词:根据步骤(1.2)得到处理后的数据,分别对数据集A和数据集B进行细粒度分词,并建立停用词典和自定义词典,提高分词质量;
(1.5)统计词频并排序:根据步骤(1.4)数据分词得到的结果,统计每个单词出现的频率,并对词频进行降序排序,生成词表;
(1.6)关键词提取:将数据集A中的问题Query细粒度分词后的结果作为关键词集I,并对数据集A中的答案Answer提取关键词得到关键词集II,将关键词集I与关键词集II合并得到初步需要挖掘的关键词集,再进行词性筛选,得到最终需要挖掘同义词的关键词集。
3.根据权利要求2所述的一种问答检索系统的同义词挖掘方法,其特征在于:所述步骤(1.6)中,提取关键词采用基于统计的TF-IDF算法与基于图模型的TextRank算法相结合,提取文本关键词。
4.根据权利要求2所述的一种问答检索系统的同义词挖掘方法,其特征在于:所述的词性筛选具体为:对初步的关键词集进行词性筛选,保留名词、动词和形容词;最后得到的最终需要挖掘同义词的关键词集应按类别区分开。
6.根据权利要求1所述的一种问答检索系统的同义词挖掘方法,其特征在于:所述步骤(4)具体如下:
(4.1)问答检索系统对输入的问题进行细粒度分词;
(4.2)根据步骤(4.1)的细粒度分词结果与步骤(2)的同义词集,对于同义词集中包含分词后的关键词的,根据步骤(3)得到的同义词替换概率大小进行替换,检索并返回相似度最高的问答检索结果;
(4.3)根据得到的问答检索结果,判断其相似度是否大于预先设定的阈值S,进行反馈修正:若相似度大于预先设定的阈值S的,则返回用户检索匹配的结果,若相似度小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集。
7.根据权利要求6所述的一种问答检索系统的同义词挖掘方法,其特征在于:所述在步骤(4.3)中,检索并返回相似度最高的问答检索结果,具体指基于PostgreSQL全文检索结果,与输入的问题比较,基于bert计算文本相似度,返回相似度最高的问答检索结果。
8.一种应用如权利要求1所述方法的同义词挖掘装置,其特征在于,包括:数据获取模块、数据预处理模块、同义词集获取模块、反馈修正模块;
所述数据获取模块用于爬取和收集垂直领域不同类别的问答语料和作为训练语料的大语料集;
所述数据预处理模块用于语料数据预处理,包括数据清洗、文本分类、数据分词、关键词提取;
所述同义词集获取模块用于训练词向量,提取同义词特征,筛选词性,分类挖掘同义词对,获取同义词集;
所述反馈修正模块用于根据同义词对替换后的检索召回结果,对不满足检索召回阈值的同义词对,进行反馈修正。
9.根据权利要求8所述的同义词挖掘装置,其特征在于,
所述同义词集获取模块,包括文本向量化单元、同义词集输出单元;所述文本向量化单元用于将分词后的文本转化为词向量,得到词向量模型;所述同义词集输出单元,通过加载词向量模型,对于每个关键词进行词嵌入计算余弦相似度,对于余弦相似值大于预设的阈值的,作为每个关键词相对应的广义相关词,再进行词性筛选,确保每个广义相关词与对应的关键词词性相同,从而得到缩略相关词集,再在当前类别的关键词集中的关键词与缩略相关词集进行欧式距离的计算,其中相似度值大于设置的阈值的,作为最终的同义词集;
所述反馈修正模块,包括替换概率计算单元和反馈修正单元;所述替换概率计算单元,通过统计同义词对的共现词频,计算同义词的替换概率;所述反馈修正单元用于对用户的问答系统的检索信息进行分词,至少有一个关键词,对于同义词集中包含分词后的关键词的,根据同义词的替换概率进行同义词替换,得到加权得分最高的问答检索结果,其中加权得分后的权值小于预先设定的阈值S的,则记录替换的同义词对,待后验修正同义词集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910672217.XA CN110442760B (zh) | 2019-07-24 | 2019-07-24 | 一种问答检索系统的同义词挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910672217.XA CN110442760B (zh) | 2019-07-24 | 2019-07-24 | 一种问答检索系统的同义词挖掘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442760A CN110442760A (zh) | 2019-11-12 |
CN110442760B true CN110442760B (zh) | 2022-02-15 |
Family
ID=68429799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910672217.XA Active CN110442760B (zh) | 2019-07-24 | 2019-07-24 | 一种问答检索系统的同义词挖掘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442760B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353050A (zh) * | 2019-12-27 | 2020-06-30 | 北京合力亿捷科技股份有限公司 | 一种电信客服垂直领域的词库构建方法及工具 |
CN111552862B (zh) * | 2019-12-28 | 2023-04-21 | 华南理工大学 | 基于交叉支持度评价的模板自动挖掘系统及其方法 |
CN111597322B (zh) * | 2019-12-28 | 2023-04-21 | 华南理工大学 | 基于频繁项集的模板自动挖掘系统及其方法 |
CN111209747B (zh) * | 2020-01-16 | 2023-02-28 | 北京明略软件系统有限公司 | 一种词向量文件加载方法、装置、存储介质及电子设备 |
CN111460816B (zh) * | 2020-03-30 | 2023-03-31 | 招商局金融科技有限公司 | 基于语义特征的数据检索方法、电子装置及存储介质 |
CN111581950B (zh) * | 2020-04-30 | 2024-01-02 | 支付宝(杭州)信息技术有限公司 | 同义名称词的确定方法和同义名称词的知识库的建立方法 |
CN111625468B (zh) * | 2020-06-05 | 2024-04-16 | 中国银行股份有限公司 | 一种测试案例去重方法及装置 |
CN111881255B (zh) * | 2020-06-24 | 2023-10-27 | 百度在线网络技术(北京)有限公司 | 同义文本获取方法、装置、电子设备及存储介质 |
CN112632970A (zh) * | 2020-12-15 | 2021-04-09 | 北京工业大学 | 结合学科同义词与词向量的相似度评分算法 |
CN112507097B (zh) * | 2020-12-17 | 2022-11-18 | 神思电子技术股份有限公司 | 一种提高问答系统泛化能力的方法 |
CN112818686B (zh) * | 2021-03-23 | 2023-10-31 | 北京百度网讯科技有限公司 | 领域短语挖掘方法、装置和电子设备 |
CN112989837B (zh) * | 2021-05-11 | 2021-09-10 | 北京明略软件系统有限公司 | 一种基于共现图的实体别名发现方法及装置 |
CN113822063B (zh) * | 2021-11-22 | 2022-09-16 | 华网领业(杭州)软件有限公司 | 一种基于改进的余弦相似性算法的事件相似性比对方法 |
CN114416940B (zh) * | 2021-12-28 | 2023-04-18 | 北京百度网讯科技有限公司 | 表格问答中的短语泛化方法、装置、电子设备及存储介质 |
CN114861638A (zh) * | 2022-06-10 | 2022-08-05 | 安徽工程大学 | 一种中文同义词扩展方法及装置 |
CN114996463B (zh) * | 2022-07-18 | 2022-11-01 | 武汉大学人民医院(湖北省人民医院) | 一种病例的智能分类方法和装置 |
CN115033594B (zh) * | 2022-08-10 | 2022-11-18 | 之江实验室 | 一种给出置信度的垂直领域检索方法与装置 |
CN115952270B (zh) * | 2023-03-03 | 2023-05-30 | 中国海洋大学 | 冰箱的智能问答方法、装置和存储介质 |
CN116340831B (zh) * | 2023-05-24 | 2024-02-06 | 京东科技信息技术有限公司 | 一种信息分类方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279486A (zh) * | 2013-04-24 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 一种提供相关搜索的方法和装置 |
CN104765769A (zh) * | 2015-03-06 | 2015-07-08 | 大连理工大学 | 一种基于词矢量的短文本查询扩展及检索方法 |
CN105955976A (zh) * | 2016-04-15 | 2016-09-21 | 中国工商银行股份有限公司 | 一种自动应答系统及方法 |
CN108287822A (zh) * | 2018-01-23 | 2018-07-17 | 北京容联易通信息技术有限公司 | 一种中文相似问题生成系统与方法 |
CN108509474A (zh) * | 2017-09-15 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 搜索信息的同义词扩展方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106499A1 (en) * | 2005-08-09 | 2007-05-10 | Kathleen Dahlgren | Natural language search system |
CN103562907B (zh) * | 2011-05-10 | 2016-12-07 | 日本电气株式会社 | 用于评估同义表达的设备、方法和程序 |
-
2019
- 2019-07-24 CN CN201910672217.XA patent/CN110442760B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279486A (zh) * | 2013-04-24 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 一种提供相关搜索的方法和装置 |
CN104765769A (zh) * | 2015-03-06 | 2015-07-08 | 大连理工大学 | 一种基于词矢量的短文本查询扩展及检索方法 |
CN105955976A (zh) * | 2016-04-15 | 2016-09-21 | 中国工商银行股份有限公司 | 一种自动应答系统及方法 |
CN108509474A (zh) * | 2017-09-15 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 搜索信息的同义词扩展方法及装置 |
CN108287822A (zh) * | 2018-01-23 | 2018-07-17 | 北京容联易通信息技术有限公司 | 一种中文相似问题生成系统与方法 |
Non-Patent Citations (4)
Title |
---|
"基于LDA扩展主题词库的主题爬虫研究";费晨杰,刘柏嵩;《计算机应用与软件》;20180415;第35卷(第04期);49-54 * |
"科技查新中检索词智能抽取系统的设计与实现";王培霞 等;《现代图书情报技术》;20161115(第11期);82-93 * |
"自动问答系统的研究与实现";李清;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20121015(第10期);I138-3156 * |
"面向特定领域自动问答系统的语句相似度计算";李健 等;《合肥师范学院学报》;20151120;第33卷(第06期);38-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442760A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442760B (zh) | 一种问答检索系统的同义词挖掘方法及装置 | |
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN111177365B (zh) | 一种基于图模型的无监督自动文摘提取方法 | |
AU2019263758B2 (en) | Systems and methods for generating a contextually and conversationally correct response to a query | |
CN107463607B (zh) | 结合词向量和自举学习的领域实体上下位关系获取与组织方法 | |
US20050080613A1 (en) | System and method for processing text utilizing a suite of disambiguation techniques | |
CN107895000B (zh) | 一种基于卷积神经网络的跨领域语义信息检索方法 | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索系统 | |
CN111694927B (zh) | 一种基于改进词移距离算法的文档自动评阅方法 | |
CN112000802A (zh) | 基于相似度集成的软件缺陷定位方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN112307182A (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
Kurniawan et al. | Indonesian twitter sentiment analysis using Word2Vec | |
CN115828854B (zh) | 一种基于上下文消歧的高效表格实体链接方法 | |
CN107818078B (zh) | 汉语自然语言对话的语义关联与匹配方法 | |
CN113392189B (zh) | 基于自动分词的新闻文本处理方法 | |
CN114969324A (zh) | 基于主题词特征扩展的中文新闻标题分类方法 | |
CN114996455A (zh) | 一种基于双知识图谱的新闻标题短文本分类方法 | |
CN110019814B (zh) | 一种基于数据挖掘与深度学习的新闻信息聚合方法 | |
CN113590738A (zh) | 一种基于内容与情感的网络敏感信息的检测方法 | |
CN117407511B (zh) | 一种基于Bert模型的电力安全规程智能问答方法及系统 | |
CN117291192B (zh) | 一种政务文本语义理解分析方法及系统 | |
CN111898343B (zh) | 一种基于短语结构树的相似题目识别方法和系统 | |
Bensley et al. | Unsupervised Resource Creation for Textual Inference Applications. | |
CN107577670B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310012 1st floor, building 1, 223 Yile Road, Hangzhou City, Zhejiang Province Applicant after: Yinjiang Technology Co.,Ltd. Address before: 310012 1st floor, building 1, 223 Yile Road, Hangzhou City, Zhejiang Province Applicant before: ENJOYOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |