基于词性对齐的文本相似度计算方法与流程

文档序号:23133824发布日期:2020-12-01 13:08阅读:375来源:国知局
基于词性对齐的文本相似度计算方法与流程

本发明涉及自然语言处理技术领域,具体为基于词性对齐的文本相似度计算方法。



背景技术:

影响智能问答系统准确度的核心算法是文本相似度算法。现有的文本相似度算法有:编辑距离、jaccard集合相似度、tfidf、bm25、wmd算法等,这些都是传统的文本相似度算法,具有快速、稳定性高的特点。

随着深度学习技术的发展,出现了如averageembedding、tfidfembedding、sif等非监督的基于词向量线性加权的文本相似度算法以及infersent、esim、bert等监督的基于深度学习的文本相似度算法,非监督的基于词向量模型的相似度算法总体效果略优于传统算法,但由于词向量模型所需内存较大(中文常达到7-8g),部署成本也相应增加,且与深度学习算法相比,精度较差。基于深度学习的文本相似度算法在固定场景下能够获得传统方法无法达到的效果。但是这类算法的跨场景迁移能力很差,同时需要大量数据样本训练,对系统配置要求高。



技术实现要素:

本发明意在提供基于词性对齐的文本相似度计算方法,能够解决现有的文本相似度算法存在的需要大数据训练、计算复杂以及准确率低的问题。

本申请提供如下技术方案:

基于词性对齐的文本相似度计算方法,包括:

s100:对待计算的第一语句和第二语句进行分词;

s200:对第一语句和第二语句的分词进行词性标注;

s300:计算第一语句的分词和第二语句的分词之间的同义词关系,得到同义词矩阵;

s400:依次以第一语句和第二语句中出现的每一种词性为当前词性并执行步骤s401至步骤s404:

s401:从第一语句中提取当前词性对应的分词,得到第一分词序列;

s402:从第二语句中提取当前词性对应的分词,得到第二分词序列;

s403:根据同义词矩阵判断第一分词序列的各个分词与第二分词序列的各个分词之间的对应关系,根据对应关系得到当前词性下第一语句和第二语句的对齐结果;

s404:根据对齐结果统计当前词性的对齐特征;

s500:根据统计的对齐特征,按照预设公式计算文本相似度。

本发明技术方案中,通过语句之间分词的对齐结果来计算统计对齐特征,进而基于统计特征计算文本相似度,该方法是一种非监督文本相似度算法,相比目前非监督算法,准确率有明显的提高,逼近于采用了大数据训练的基于深度神经网络算法,相比于深度神经网络算法,本方案计算过程简单,不需要大数据训练,跨场景稳定性高。

进一步,所述对齐特征包括:词性为空、对齐总数、对齐程度以及词性权重。

词性为空表示当前词性是否为空,为空则在后续文本相似度计算时予以排除,避免产生误差,对齐总数表示第一语句和第二语句的同词性下分词的对应的总数量占比;对齐程度用于反应第一语句与第二语句同词性下分词的对齐程度;词性权重则用于反应当前词性在计算文本相似度时所占的权重大小。

进一步,所述预设公式为:

k=1,(pi[in]≥0)

k=pi[in],(pi[in]<0)

其中,s代表相似度,n为不为空的词性个数,pi[t]表示第i个词性的对齐总数,pi[r]表示第i个词性的词性权重,pi[in]表示第i个词性的对齐程度。

进一步,所述s300中,仅对同词性的分词进行同义词的计算。

进一步,所述s403具体包括:

s4031:依次判断第一分词序列的每个分词是否在第二分词序列中有对应的同义词,若是,则判定相应的分词已对齐,若否,则判定相应的分词未对齐;

s4032:依次判断第二分词序列的每个分词是否在第一分词序列中有对应的同义词,若是,则判定相应的分词已对齐,若否,则判定相应的分词未对齐。

进一步,s404具体包括:

s4041:统计第一分词序列和第二分词序列中已对齐的分词个数以及未对齐的分词的个数;

s4042:计算已对齐的分词个数占总分词个数的比例作为对齐总数。

进一步,所述s404还包括:

s4043:判断是否存在未对齐分词,若是,则执行s4044,若否,则令对齐程度为1;

s4044:判断是否第一分词序列和第二分词序列中均存在未对齐分词,若是,则执行s4045;若否,则令对齐程度为0;

s4045:计算第一分词序列中已对齐分词个数所占比例与第二分词序列中已对齐分词个数所占比例的乘积,以乘积乘以-1的结果作为对齐程度。

进一步,所述s404还包括:

s4046:将当前词性下第一分词序列和第二分词序列中分词的数量占第一语句和第二语句总的分词数量的比例作为当前词性权重。

进一步,还包括:

s600:根据文本相似度判断第一语句和第二语句是否相似。基于文本相似度,最终得到两个文本是否相似的结果。

附图说明

图1为本申请基于词性对齐的文本相似度计算方法实施例中的流程图;

图2为本申请基于词性对齐的文本相似度计算方法实施例中的对比实验结果图;

图3为本申请基于词性对齐的文本相似度计算方法实施例中另一对比实验结果图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

如图1所示,本实施例的基于词性对齐的文本相似度计算方法,包括以下内容:

s100:对待计算的第一语句和第二语句进行分词。

s200:对第一语句和第二语句的分词进行词性标注。

s300:计算第一语句的分词和第二语句的分词之间的同义词关系,得到同义词矩阵。本实施例中,仅对同词性的分词进行同义词的计算。

s400:依次以第一语句和第二语句中出现的每一种词性为当前词性并执行步骤s401至步骤s404。

s401:从第一语句中提取当前词性对应的分词,得到第一分词序列。

s402:从第二语句中提取当前词性对应的分词,得到第二分词序列。

s403:根据同义词矩阵判断第一分词序列的各个分词与第二分词序列的各个分词之间的对应关系,根据对应关系得到当前词性下第一语句和第二语句的对齐结果。

s403具体包括:

s4031:依次判断第一分词序列的每个分词是否在第二分词序列中有对应的同义词,若是,则判定相应的分词已对齐,若否,则判定相应的分词未对齐;

s4032:依次判断第二分词序列的每个分词是否在第一分词序列中有对应的同义词,若是,则判定相应的分词已对齐,若否,则判定相应的分词未对齐。

s404:根据对齐结果统计当前词性的对齐特征;对齐特征包括:词性为空、对齐总数、对齐程度以及词性权重。词性为空表示当前词性是否为空,为空则在后续文本相似度计算时予以排除,避免产生误差,对齐总数表示第一语句和第二语句的同词性下分词的对应的总数量占比;对齐程度用于反应第一语句与第二语句同词性下分词的对齐程度;词性权重则用于反应当前词性在计算文本相似度时所占的权重大小。

s404具体包括:

s4041:统计第一分词序列和第二分词序列中已对齐的分词个数以及未对齐的分词的个数;

s4042:计算已对齐的分词个数占总分词个数的比例作为对齐总数。

s4043:判断是否存在未对齐分词,若是,则执行s4044,若否,则令对齐程度为1;

s4044:判断是否第一分词序列和第二分词序列中均存在未对齐分词,若是,则执行s4045;若否,则令对齐程度为0;

s4045:计算第一分词序列中已对齐分词个数所占比例与第二分词序列中已对齐分词个数所占比例的乘积,以乘积乘以-1的结果作为对齐程度。

s4046:将当前词性下第一分词序列和第二分词序列中分词的数量占第一语句和第二语句总的分词数量的比例作为当前词性权重。

s500:根据统计的对齐特征,按照预设公式计算文本相似度。本实施中,预设公式为:

k=1,(pi[in]≥0)

k=pi[in],(pi[in]<0)

其中,s代表相似度,n为不为空的词性个数,pi[t]表示第i个词性的对齐总数,pi[r]表示第i个词性的词性权重,pi[in]表示第i个词性的对齐程度。

s600:根据文本相似度判断第一语句和第二语句是否相似。

本实施中,采用了共30万对相似问句(包含了正负样本)进行实验,每个句子长度约为5-20字。采用了ltp分词,得到对应的共29个词性,以所有数据的一半来训练,另一半测试。本申请的算法模型与百度ai开放平台cnn、bow、grnn的测试结果如图2所示。与wmd相关算法、jasscard算法、意图相似度算法、编辑距离算法、bm25算法、sif算法对比的auc结果如图3所示,其中,inter_union_score为jasscard算法,intent为意图相似度算法,edit为编辑距离算法,es为bm25算法,ctr是对齐特征fm的融合。可以看出,本实施例的对齐特征应用效果良好,加入到xgb或者fm中效果提升较明显(大约2%)。本实施例的文本相似度算法的auc为0.725,在现有的非监督算法中分数最高,优于wmd和sif等非监督方法,本实施例的文本相似度算法计算简单,不需要大数据训练,跨场景稳定性高,是目前所有发现的文本相似度非监督算法中准确率最高的,逼近于采用大数据训练的基于深度神经网络算法。

以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1