首页 / 专利库 / 人工智能 / 自然语言文本 / 同义词挖掘方法、同义词挖掘装置及存储介质

同义词挖掘方法、同义词挖掘装置及存储介质

阅读:50发布:2020-05-14

专利汇可以提供同义词挖掘方法、同义词挖掘装置及存储介质专利检索,专利查询,专利分析的服务。并且一种同义词挖掘方法、同义词挖掘装置及存储介质。该同义词挖掘方法包括:对输入的语料数据进行识别处理,以得到至少一个类别的 命名实体 集合;对每个类别的命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合;以及,基于词形相似度和上下文相似度,对每个类别对应的同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。该同义词挖掘方法可以基于词形相似度和上下文相似度,对聚类处理得到的同义词候选集合进行过滤处理,从而可以提升得到的同义词集合的纯度,进一步地,基于挖掘的同义词集合可以构建同义词词典,将其应用于 自然语言处理 领域时,可以提高知识点过滤、关键词提取、 文本分类 、语义聚类等任务的准确性。,下面是同义词挖掘方法、同义词挖掘装置及存储介质专利的具体信息内容。

1.一种同义词挖掘方法,包括:
对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合;
对每个类别的所述命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合;以及
基于词形相似度和上下文相似度,对每个类别对应的所述同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。
2.根据权利要求1所述的同义词挖掘方法,其中,所述同义词候选集合包括多个同义词候选簇,每个所述同义词候选簇包括多个命名实体;
对所述同义词候选集合进行所述过滤处理,包括:
对每个所述同义词候选簇中的所述多个命名实体进行所述过滤处理。
3.根据权利要求2所述的同义词挖掘方法,其中,对每个所述同义词候选簇中的所述多个命名实体进行所述过滤处理,包括:
对所述同义词候选簇中的所述多个命名实体进行随机排序,得到排序后的候选簇集合{ei},其中,ei表示第i个命名实体,i为整数且1≤i≤K,K为所述同义词候选簇中的所述命名实体的数量;
将第1个命名实体e1作为第1个子簇;以及
判断第m个命名实体em能否加入现有的n个子簇之一,若所述第m个命名实体em能够加入某一现有的子簇,则将所述第m个命名实体em加入该现有的子簇,若所述第m个命名实体em不能加入任一现有的子簇,则将所述第m个命名实体em作为1个新的子簇,
其中,m依次取值2,3,…,K,n为判断所述第m个命名实体之时现有的子簇的数量。
4.根据权利要求3所述的同义词挖掘方法,其中,判断所述第m个命名实体em能否加入所述现有的n个子簇之一,包括:
判断所述第m个命名实体em能否加入现有的第j个子簇,其中,j依次取值1,2,…,n;
判断所述第m个命名实体em能否加入所述现有的第j个子簇,包括:
计算所述第m个命名实体em与所述现有的第j个子簇中的各个命名实体的词形相似度和上下文相似度,若所述现有的第j个子簇中与所述第m个命名实体em的词形相似度和上下文相似度满足预定关系的命名实体的占比达到预定比例阈值,则所述第m个命名实体em能够加入所述第j个子簇,否则,所述第m个命名实体em不能加入所述第j个子簇。
5.根据权利要求4所述的同义词挖掘方法,其中,所述预定关系表示为:
(S1(ea,eb))2+(S2(ea,eb))2≥1
其中,S1(ea,eb)表示任意两个命名实体ea和eb的词形相似度,S2(ea,eb)表示所述任意两个命名实体ea和eb的上下文相似度。
6.根据权利要求5所述的同义词挖掘方法,其中,所述任意两个命名实体ea和eb的词形相似度表示为:
其中,S1(ea,eb)表示所述词形相似度,dis(ea,eb)表示所述两个命名实体ea和eb之间的最小编辑距离,len(ea)表示所述命名实体ea的字长,len(eb)表示所述命名实体ea的字长,max(len(ea),len(eb))表示len(ea)和len(eb)中的较大者。
7.根据权利要求6所述的同义词挖掘方法,其中,所述任意两个命名实体ea和eb的上下文相似度表示为:
其中,S2(ea,eb)表示所述上下文相似度,p(eb|ea)表示由所述命名实体ea生成所述命名实体eb的概率,p(ea|eb)表示由所述命名实体eb生成所述命名实体ea的概率。
8.根据权利要求7所述的同义词挖掘方法,其中,所述命名实体ea生成所述命名实体eb的概率p(eb|ea)和所述命名实体eb生成所述命名实体ea的概率p(ea|eb)分别表示为:
其中C(ea)表示所述命名实体ea的上下文信息集合,u表示C(ea)中的词元素,p(u|ea)表示由所述命名实体ea生成所述词元素u的概率,p(eb|u)表示由所述词元素u生成所述命名实体eb的概率,C(eb)表示所述命名实体eb的上下文信息集合,v表示C(eb)中的词元素,p(v|eb)表示由所述命名实体eb生成所述词元素v的概率,p(ea|v)表示由所述词元素v生成所述命名实体ea的概率。
9.根据权利要求8所述的同义词挖掘方法,其中,所述命名实体ea生成所述词元素u的概率p(u|ea)、所述词元素u生成所述命名实体eb的概率p(eb|u)、所述命名实体eb生成所述词元素v的概率p(v|eb)和所述词元素v生成所述命名实体ea的概率p(ea|v)分别表示为:
其中,count(ea)表示所述语料数据中包括所述命名实体ea的语句的数量,count(eb)表示所述语料数据中包括所述命名实体eb的语句的数量,count(u)表示所述语料数据中包括所述词元素u的语句的数量,count(v)表示所述语料数据中包括所述词元素v的语句的数量,count(u,ea)表示所述语料数据中同时包括所述词元素u和所述命名实体ea的语句的数量,count(eb,u)表示所述语料数据中同时包括所述命名实体eb和所述词元素u的语句的数量,count(v,eb)表示所述语料数据中同时包括所述词元素v和所述命名实体eb的语句的数量,count(ea,v)表示所述语料数据中同时包括所述命名实体ea和所述词元素v的语句的数量。
10.根据权利要求1-9任一项所述的同义词挖掘方法,其中,对每个类别的所述命名实体集合进行所述聚类处理,包括:
基于所述命名实体集合中的全部命名实体,对所述语料数据进行分词并去除停用词,以收集得到每个所述命名实体的上下文信息集合;
对所述命名实体集合中的全部所述命名实体的上下文信息集合进行合并,以得到所述命名实体集合的整体上下文信息集合;
基于所述命名实体集合的整体上下文信息集合,将所述命名实体集合中的各个所述命名实体表示成整体上下文信息向量;以及
基于所述命名实体集合中的各个所述命名实体的所述整体上下文信息向量,对所述命名实体集合中的全部所述命名实体进行聚类处理。
11.根据权利要求10所述的同义词挖掘方法,其中,所述命名实体集合的整体上下文信息集合表示为{xt},其中,xt表示所述命名实体集合的整体上下文信息集合中的第t个词元素,t为整数且1≤t≤T,T为所述命名实体集合的整体上下文信息集合中的所述词元素的数量;
基于所述命名实体集合的整体上下文信息集合,将所述命名实体集合中的各个所述命名实体表示成所述整体上下文信息向量,包括:
计算所述整体上下文信息集合{xt}中的第t个词元素xt相对于各个命名实体的权重yt,其中,t依次取值1,2,…,T;
得到各个所述命名实体的整体上下文信息向量(y1,y2,…,yT)。
12.根据权利要求11所述的同义词挖掘方法,其中,所述第t个词元素xt相对于各个命名实体的权重yt的计算公式表示为:
其中,E表示任意一个所述命名实体,count(xt)表示所述语料数据中包括所述第t个词元素xt的语句的数量,count(E,xt)表示所述语料数据中同时包括该所述命名实体E和所述第t个词元素xt的语句的数量。
13.根据权利要求11或12所述的同义词挖掘方法,其中,基于所述命名实体集合中的各个所述命名实体的所述整体上下文信息向量,对所述命名实体集合中的全部所述命名实体进行所述聚类处理,包括:
将所述命名实体集合中的每个所述命名实体分别作为一个候选簇,并将每个所述命名实体的整体上下文信息向量作为对应的候选簇的中心向量;以及
对当前的全部候选簇进行所述聚类处理,直到当前的全部候选簇无法继续进行聚类为止;
其中,对当前的全部候选簇进行所述聚类处理,包括:
计算当前的全部候选簇两两之间的实体相似度;
判断所述实体相似度的最大值是否达到预定阈值;
若所述实体相似度的最大值达到所述预定阈值,则将所述实体相似度的最大值对应的两个候选簇聚类为一个新的候选簇,并将该新的候选簇中的全部所述命名实体的整体上下文信息向量的平均值作为该新的候选簇的中心向量,将该新的候选簇与剩下的候选簇作为当前的全部候选簇,继续对其进行所述聚类处理;
若所述实体相似度的最大值未达到所述预定阈值,则确定当前的全部候选簇无法继续进行聚类。
14.根据权利要求13所述的同义词挖掘方法,其中,任意两个候选簇的实体相似度的计算公式表示为:
其中,V(F1)、V(F2)分别表示所述两个候选簇的中心向量,V(F1)·V(F2)表示所述两个候选簇的中心向量V(F1)、V(F2)的点积,|V(F1)|、|V(F2)|分别表示所述两个候选簇的中心向量的模。
15.根据权利要求1-9任一项所述的同义词挖掘方法,还包括:
基于全部类别对应的所述同义词集合,构建同义词词典。
16.一种同义词挖掘装置,包括:
识别处理模,被配置为对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合;
聚类处理模块,被配置为对每个类别的所述命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合;以及
过滤处理模块,被配置为基于词形相似度和上下文相似度,对每个类别对应的所述同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。
17.根据权利要求16所述的同义词挖掘装置,还包括:
词典构建模块,被配置为基于全部类别对应的所述同义词集合,构建同义词词典。
18.一种同义词挖掘装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时执行根据权利要求1-15任一项所述的同义词挖掘方法。
19.一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时可以执行根据权利要求1-15任一项所述的同义词挖掘方法的指令。

说明书全文

同义词挖掘方法、同义词挖掘装置及存储介质

技术领域

[0001] 本公开的实施例涉及一种同义词挖掘方法、同义词挖掘装置及存储介质。

背景技术

[0002] 自然语言处理(Natural Language Processing,NLP)领域是计算机科学、人工智能和信息工程的交叉领域,涉及统计学、语言学等的知识,其目标是让计算机处理或“理解”自然语言,以执行文本分类、语言翻译和问题回答等任务。词语作为自然语言的基础元素,在自然语言处理中起着关键作用。发明内容
[0003] 本公开至少一个实施例提供一种同义词挖掘方法,包括:对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合;对每个类别的所述命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合;以及,基于词形相似度和上下文相似度,对每个类别对应的所述同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。
[0004] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述同义词候选集合包括多个同义词候选簇,每个所述同义词候选簇包括多个命名实体;对所述同义词候选集合进行所述过滤处理,包括:对每个所述同义词候选簇中的所述多个命名实体进行所述过滤处理。
[0005] 例如,在本公开一些实施例提供的同义词挖掘方法中,对每个所述同义词候选簇中的所述多个命名实体进行所述过滤处理,包括:对所述同义词候选簇中的所述多个命名实体进行随机排序,得到排序后的候选簇集合{ei},其中,ei表示第i个命名实体,i为整数且1≤i≤K,K为所述同义词候选簇中的所述命名实体的数量;将第1个命名实体e1作为第1个子簇;以及,判断第m个命名实体em能否加入现有的n个子簇之一,若所述第m个命名实体em能够加入某一现有的子簇,则将所述第m个命名实体em加入该现有的子簇,若所述第m个命名实体em不能加入任一现有的子簇,则将所述第m个命名实体em作为1个新的子簇,其中,m依次取值2,3,…,K,n为判断所述第m个命名实体之时现有的子簇的数量。
[0006] 例如,在本公开一些实施例提供的同义词挖掘方法中,判断所述第m个命名实体em能否加入所述现有的n个子簇之一,包括:判断所述第m个命名实体em能否加入现有的第j个子簇,其中,j依次取值1,2,…,n;判断所述第m个命名实体em能否加入所述现有的第j个子簇,包括:计算所述第m个命名实体em与所述现有的第j个子簇中的各个命名实体的词形相似度和上下文相似度,若所述现有的第j个子簇中与所述第m个命名实体em的词形相似度和上下文相似度满足预定关系的命名实体的占比达到预定比例阈值,则所述第m个命名实体em能够加入所述第j个子簇,否则,所述第m个命名实体em不能加入所述第j个子簇。
[0007] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述预定关系表示为:
[0008] (S1(ea,eb))2+(S2(ea,eb))2≥1
[0009] 其中,S1(ea,eb)表示任意两个命名实体ea和eb的词形相似度,S2(ea,eb)表示所述任意两个命名实体ea和eb的上下文相似度。
[0010] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述任意两个命名实体ea和eb的词形相似度表示为:
[0011]
[0012] 其中,S1(ea,eb)表示所述词形相似度,dis(ea,eb)表示所述两个命名实体ea和eb之间的最小编辑距离,len(ea)表示所述命名实体ea的字长,len(eb)表示所述命名实体ea的字长,max(len(ea),len(eb))表示len(ea)和len(eb)中的较大者。
[0013] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述任意两个命名实体ea和eb的上下文相似度表示为:
[0014]
[0015] 其中,S2(ea,eb)表示所述上下文相似度,p(eb|ea)表示由所述命名实体ea生成所述命名实体eb的概率,p(ea|eb)表示由所述命名实体eb生成所述命名实体ea的概率。
[0016] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述命名实体ea生成所述命名实体eb的概率p(eb|ea)和所述命名实体eb生成所述命名实体ea的概率p(ea|eb)分别表示为:
[0017]
[0018]
[0019] 其中C(ea)表示所述命名实体ea的上下文信息集合,u表示C(ea)中的词元素,p(u|ea)表示由所述命名实体ea生成所述词元素u的概率,p(eb|u)表示由所述词元素u生成所述命名实体eb的概率,C(eb)表示所述命名实体eb的上下文信息集合,v表示C(eb)中的词元素,p(v|eb)表示由所述命名实体eb生成所述词元素v的概率,p(ea|v)表示由所述词元素v生成所述命名实体ea的概率。
[0020] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述命名实体ea生成所述词元素u的概率p(u|ea)、所述词元素u生成所述命名实体eb的概率p(eb|u)、所述命名实体eb生成所述词元素v的概率p(v|eb)和所述词元素v生成所述命名实体ea的概率p(ea|v)分别表示为:
[0021]
[0022]
[0023]
[0024]
[0025] 其中,C(ea)表示所述命名实体ea的上下文信息集合,C(eb)表示所述命名实体eb的上下文信息集合,u表示C(ea)中的词元素,v表示C(eb)中的词元素,count(ea)表示所述语料数据中包括所述命名实体ea的语句的数量,count(eb)表示所述语料数据中包括所述命名实体eb的语句的数量,count(u)表示所述语料数据中包括所述词元素u的语句的数量,count(v)表示所述语料数据中包括所述词元素v的语句的数量,count(u,ea)表示所述语料数据中同时包括所述词元素u和所述命名实体ea的语句的数量,count(eb,u)表示所述语料数据中同时包括所述命名实体eb和所述词元素u的语句的数量,count(v,eb)表示所述语料数据中同时包括所述词元素v和所述命名实体eb的语句的数量,count(ea,v)表示所述语料数据中同时包括所述命名实体ea和所述词元素v的语句的数量。
[0026] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述预定比例阈值为70%~90%。
[0027] 例如,在本公开一些实施例提供的同义词挖掘方法中,在对输入的所述语料数据进行所述识别处理之前,所述同义词挖掘方法还包括:对所述语料数据进行断句处理,以将所述语料数据划分为多个语句。
[0028] 例如,在本公开一些实施例提供的同义词挖掘方法中,对输入的所述语料数据进行所述识别处理,包括:基于所述多个语句,采用条件随机场模型和最大熵尔科夫模型之一进行所述识别处理。
[0029] 例如,在本公开一些实施例提供的同义词挖掘方法中,在对输入的所述语料数据进行所述识别处理之前,所述同义词挖掘方法还包括:对所述语料数据进行错别字纠正处理,以纠正所述语料数据中的错别字。
[0030] 例如,在本公开一些实施例提供的同义词挖掘方法中,对每个类别的所述命名实体集合进行所述聚类处理,包括:基于所述命名实体集合中的全部命名实体,对所述语料数据进行分词并去除停用词,以收集得到每个所述命名实体的上下文信息集合;对所述命名实体集合中的全部所述命名实体的上下文信息集合进行合并,以得到所述命名实体集合的整体上下文信息集合;基于所述命名实体集合的整体上下文信息集合,将所述命名实体集合中的各个所述命名实体表示成整体上下文信息向量;以及基于所述命名实体集合中的各个所述命名实体的所述整体上下文信息向量,对所述命名实体集合中的全部所述命名实体进行聚类处理。
[0031] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述命名实体集合的整体上下文信息集合表示为{xt},其中,xt表示所述命名实体集合的整体上下文信息集合中的第t个词元素,t为整数且1≤t≤T,T为所述命名实体集合的整体上下文信息集合中的所述词元素的数量;基于所述命名实体集合的整体上下文信息集合,将所述命名实体集合中的各个所述命名实体表示成所述整体上下文信息向量,包括:计算所述整体上下文信息集合{xt}中的第t个词元素xt相对于各个命名实体的权重yt,其中,t依次取值1,2,…,T;得到各个所述命名实体的整体上下文信息向量(y1,y2,…,yn)。
[0032] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述第t个词元素xt相对于各个命名实体的权重yt的计算公式表示为:
[0033]
[0034] 其中,E表示任意一个所述命名实体,count(xt)表示所述语料数据中包括所述第t个词元素xt的语句的数量,count(E,xt)表示所述语料数据中同时包括该所述命名实体E和所述第t个词元素xt的语句的数量。
[0035] 例如,在本公开一些实施例提供的同义词挖掘方法中,基于所述命名实体集合中的各个所述命名实体的所述整体上下文信息向量,对所述命名实体集合中的全部所述命名实体进行所述聚类处理,包括:将所述命名实体集合中的每个所述命名实体分别作为一个候选簇,并将每个所述命名实体的整体上下文信息向量作为对应的候选簇的中心向量;以及,对当前的全部候选簇进行所述聚类处理,直到当前的全部候选簇无法继续进行聚类为止;其中,对当前的全部候选簇进行所述聚类处理,包括:计算当前的全部候选簇两两之间的实体相似度;判断所述实体相似度的最大值是否达到预定阈值;若所述实体相似度的最大值达到所述预定阈值,则将所述实体相似度的最大值对应的两个候选簇聚类为一个新的候选簇,并将该新的候选簇中的全部所述命名实体的整体上下文信息向量的平均值作为该新的候选簇的中心向量,将该新的候选簇与剩下的候选簇作为当前的全部候选簇,继续对其进行所述聚类处理;若所述实体相似度的最大值未达到所述预定阈值,则确定当前的全部候选簇无法继续进行聚类。
[0036] 例如,在本公开一些实施例提供的同义词挖掘方法中,任意两个候选簇的实体相似度的计算公式表示为:
[0037]
[0038] 其中,V(F1)、V(F2)分别表示所述两个候选簇的中心向量,V(F1)·V(F2)表示所述两个候选簇的中心向量V(F1)、V(F2)的点积,|V(F1)|、|V(F2)|分别表示所述两个候选簇的中心向量的模。
[0039] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述预定阈值为0.7~0.9。
[0040] 例如,本公开一些实施例提供的同义词挖掘方法,还包括:基于全部类别对应的所述同义词集合,构建同义词词典。
[0041] 例如,在本公开一些实施例提供的同义词挖掘方法中,所述语料数据包括医疗文本数据。
[0042] 本公开至少一实施例还提供一种同义词挖掘装置,包括:识别处理模,被配置为对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合;聚类处理模块,被配置为对每个类别的所述命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合;以及过滤处理模块,被配置为基于词形相似度和上下文相似度,对每个类别对应的所述同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。
[0043] 例如,本公开一些实施例提供的同义词挖掘装置,还包括:词典构建模块,被配置为基于全部类别对应的所述同义词集合,构建同义词词典。
[0044] 本公开至少一实施例还提供一种同义词挖掘装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行计算机可读指令,其中,所述计算机可读指令被所述处理器运行时执行本公开任一实施例提供的同义词挖掘方法。
[0045] 本公开至少一实施例还提供一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时可以执行本公开任一实施例提供的同义词挖掘方法的指令。附图说明
[0046] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0047] 图1为本公开至少一实施例提供的一种同义词挖掘方法的流程图
[0048] 图2为本公开至少一实施例提供的一种对应于图1中所示的步骤S200的示例性流程图;
[0049] 图3为本公开至少一实施例提供的一种聚类处理方法的流程图;
[0050] 图4为本公开至少一实施例提供的一种过滤处理方法的流程图;
[0051] 图5A为本公开至少一实施例提供的一种同义词挖掘装置的示意性框图
[0052] 图5B为本公开至少一实施例提供的另一种同义词挖掘装置的示意性框图;以及
[0053] 图6为本公开至少一实施例提供的一种存储介质的示意图。

具体实施方式

[0054] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0055] 除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0056] 下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同或类似的参考标号表示。
[0057] 随着电子健康数据的几何式增长,如何利用这些医学大数据构建智慧医疗系统已成为人们关注的问题。由于自然语言的复杂性,多词同义和一词多义等现象在自然语言中广泛存在,同时,由于在形成医疗文本数据的过程中没有统一的用词规范可以遵循,因此,在海量的医疗文本数据(例如电子病历、医学文献等)中,经常出现同一医疗实体(医疗实体例如包括疾病实体、药物实体、医疗手段实体等)对应着不同名称的叫法。例如,阿奇霉素在有些文献中被称为希舒美,而在其他文献中被称为阿奇霉素、阿奇红霉素以及叠氮红霉素等。这种同一医疗实体具有多种表达方式的现象,对于医疗领域的文本自动理解和分析构成一个巨大的障碍。因此,将具有多种名称的医疗实体归一化,形成医疗同义词词典,对于分析医疗数据和理解医疗文本而言至关重要。
[0058] 本公开至少一实施例提供一种同义词挖掘方法包括:对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合;对命名实体集合进行聚类处理,以得到同义词候选集合;以及,基于词形相似度和上下文相似度,对同义词候选集合进行过滤处理,以得到同义词集合。
[0059] 本公开的一些实施例还提供对应于上述同义词挖掘方法的同义词挖掘装置及存储介质。
[0060] 本公开至少一实施例提供的同义词挖掘方法可以基于词形相似度和上下文相似度,对聚类处理得到的同义词候选集合进行过滤处理,从而可以提升得到的同义词集合的纯度,进一步地,基于挖掘的同义词集合可以构建同义词词典,将该同义词词典应用于自然语言处理领域时,可以提高知识点过滤任务、关键词提取任务、文本分类任务、语义聚类任务等的准确性。
[0061] 下面结合附图对本公开的一些实施例及其示例进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
[0062] 图1为本公开至少一实施例提供的一种同义词挖掘方法的流程图。例如,如图1所示,该同义词挖掘方法包括步骤S100至步骤S400。
[0063] 步骤S100:对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合。
[0064] 例如,在步骤S100中,输入的语料数据可以是面向特定领域的语料数据,例如面向医学领域的医疗文本数据、面向生物学领域的生物学文本数据等;当然,输入的语料数据也可以是面向通用领域或多种领域的语料数据,例如新闻语料数据(包括大量的规范用语)、社交语料数据(包括大量的非规范用语)等;本公开的实施例对此不作限制。
[0065] 例如,上述语料数据可以来源于第三方公开的语料数据库,或者来源于自行收集(例如,从互联网上爬取)或者自己拥有的语料数据库,又或者兼而有之;本公开的实施例对此亦不作限制。需要说明的是,虽然本公开主要以语料数据为医疗文本数据为例对本公开的实施例提供的同义词挖掘方法进行说明,但不应视作对本公开的限制。例如,医疗文本数据可以包括电子病历、医学文献等。
[0066] 例如,在一些示例中,在步骤S100之前,上述同义词挖掘方法还可以包括:对语料数据进行预处理。例如,通过预处理对语料数据进行清洗和处理,可以使语料数据达到较为纯净且便于进一步处理的状态,从而有利于提高同义词挖掘方法的效率和准确率。
[0067] 例如,在一些示例中,预处理可以包括:对语料数据进行错别字纠正处理,以纠正语料数据中的错别字。例如,在医疗文本数据中,可能存在由于录入失误导致的各种错别字情况,例如“感帽”(感冒)、“呕土”(呕吐)等(上述括号中为对应的正确文本)。例如,可以通过某些搜索平台提供的文本纠错模块对语料数据进行错别字纠正处理,也可以通过某些文本处理软件内置的文本纠错工具包对语料数据进行错别字纠正处理,还可以通过人工对语料数据进行错别字纠正处理,本公开的实施例对此不作限制。
[0068] 例如,在一些示例中,预处理还可以包括:对语料数据进行断句处理,以将语料数据划分为多个语句。例如,在一些示例中,可以按照特定标点符号将语料数据划分为多个语句,该特定标点符号包括但不限于句号、分号、问号和感叹号等。
[0069] 需要说明的是,在一些示例中,预处理还可以包括去除乱码、去除禁用词、去除格式无效的数据、将语料数据统一为文本格式、去除领域外数据(例如,医疗文本数据中误录入的与医学领域完全无关的其他领域的语料数据)等处理过程至少之一。例如,上述处理过程的方法和细节可以参考常见的数据预处理或数据清洗中相应的技术,在此不再重复赘述。
[0070] 例如,在一些示例中,可以基于上述断句处理得到的多个语句,采用条件随机场(Conditional Random Field,CRF)模型和最大熵马尔科夫模型(Maximum Entropy Markov Model,MEMM)等基于统计的机器学习算法之一进行识别处理,以得到至少一个类别的命名实体集合。需要说明的是,本公开的实施例对命名实体识别(Named Entity Recognition,NER)的方法不作限制,也就是说,可以不限于以上列举的方法。例如,在另一些示例中,可以采用长短期记忆网络(Long-Short Term Memory,LSTM)模型或者双向长短期记忆网络(Bi-directional Long-Short Term Memory,Bi-LSTM)模型等深度学习算法(也属于基于统计的机器学习算法)进行识别处理。例如,在再一些示例中,还可以结合使用上述方法(例如结合CRF模型和Bi-LSTM模型等)进行识别处理。本公开的实施例对此不作限制。
[0071] 例如,在一些示例中,对输入的语料数据进行识别处理,可以得到多个类别的命名实体集合。例如,在一些命名实体识别方法(例如,条件随机场模型)中,可以根据语料数据中的预先设定的词性标签识别不同的命名实体,并将识别得到的命名实体归入该词性标签对应的类别。例如,对医疗文本数据进行识别处理,可以得到疾病、药物、医疗手段等类别的命名实体集合。例如,对于句子“阿奇霉素可用于治疗支气管炎”,可以识别出属于药物类别的药物实体“阿奇霉素”以及属于疾病类别的疾病实体“支气管炎”。
[0072] 例如,在一些示例中,每个类别的命名实体集合包括多个命名实体。以药物类别的命名实体集合为例,其可以包括“阿奇霉素”、“希舒美”、“青霉素”、“阿奇红霉素”、“叠氮红霉素”、“清开灵”、“维C翘片”等药物实体。由于存在同一实体对应多种表达方式(即存在同义词)的现象,例如在上述药物类别的命名实体集合中,“阿奇霉素”、“希舒美”、“阿奇红霉素”和“叠氮红霉素”等指代同一种药物,为了便于对语料数据的自动理解和分析,通常需要将同一实体对应的多种表达方式归一化(即将语义相同的命名实体归集整理至同一簇),以形成同义词词典。
[0073] 步骤S200:对每个类别的命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合。
[0074] 例如,在步骤S200中,可以对由步骤S100得到的至少一个类别的命名实体集合进行聚类处理,从而根据每个类别的命名实体集合得到一个或多个同义词候选簇;每个同义词候选簇包括多个命名实体,该多个命名实体具有较大的概率(例如,大于0.5等)互为同义词。
[0075] 图2为本公开至少一实施例提供的一种对应于图1中所示的步骤S200的示例性流程图。例如,如图2所示,对每个类别的命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合,即步骤S200,包括步骤S210至步骤S240。
[0076] 步骤S210:基于命名实体集合中的全部命名实体,对语料数据进行分词并去除停用词,以收集得到每个命名实体的上下文信息集合。
[0077] 例如,在一些示例中,可以先对语料数据进行前述预处理(具体地,例如,断句处理)得到多个语句,然后对得到的多个语句分别进行分词并去除停用词。
[0078] 例如,在一些示例中,可以采用基于词典的分词算法进行分词,例如基于词典的分词算法包括但不限于正向最大匹配法、逆向最大匹配法和双向匹配分词法等。例如,在另一些示例中,可以采用基于统计的机器学习算法进行分词,例如基于统计的机器学习算法包括但不限于隐马尔科夫模型(Hidden Markov Model,HMM)、MEMM、CRF、支持向量机(Support Vector Machine,SVM)、深度学习(包括LSTM和Bi-LSTM等)等。例如,在再一些示例中,还可以将基于词典的分词算法和基于统计的机器学习算法结合使用(例如结合CRF模型和Bi-LSTM模型等),以进行分词。本公开的实施例对此不作限制。需要说明的是,由于命名实体识别和分词本质上都是序列标注,两者具有较高的共通性,因此,在很多情况下,二者可以通过基本相同的方法实现。例如,在一些示例中,可以在前述步骤S100的识别处理过程中,同时进行步骤S210的分词处理。本公开的实施例对此亦不作限制。
[0079] 例如,停用词(stop words)主要是指在自然语言文本中,普遍存在却通常没有特定含义的功能词,这些功能词对自然语言处理基本起不到任何的帮助,反而会占据大量的存储空间,因此通常需要去掉停用词。例如,示例性地,英文文本中的停用词通常包括但不限于“the”、“a”、“an”、“that”等,中文文本中的停用词通常包括但不限于“的”、“在”、“和”、“接着”、“诸如”、“上述”等。例如,在一些示例中,可以根据第三方公开的停用词表、或者自定义的停用词表、又或者二者的结合,去除分词处理得到的词语中的停用词,本公开的实施例对此不作限制。
[0080] 例如,在一些示例中,对命名实体所在的语句进行分词并去除停用词之后,可以将位于命名实体之前的部分(例如,1-3个词语等)或全部词语作为该命名实体的上文信息,以及将位于命名实体之后的部分(例如,1-3个词语等)或全部词语作为该命名实体的下文信息,进而得到该命名实体的上下文信息。需要说明的是,在一些语句中,命名实体可能缺省上文信息或下文信息,本公开的实施例允许这种情况的存在。例如,在一些示例中,将命名实体之前之后的各3个词语作为该命名实体的上下文信息;在一些情况下,对该命名实体所在的某一语句进行分词和去除停用词之后,示例性地,若没有词语位于该命名实体之前,同时有2个词语位于该命名实体之后,则将位于该命名实体之后的2个词语作为该命名实体的上下文信息。
[0081] 以句子“阿奇红霉素为半合成的十五元环大环内酯类抗生素”和“阿奇霉素是唯一的十五元环大环内酯类抗生素”为例,通过步骤S100可以分别识别出药物实体“阿奇红霉素”和“阿奇霉素”;然后,通过步骤S210对这两个语句进行分词并去除停用词,可以收集得到“阿奇红霉素”的上下文信息集合{半合成,十五元环大环内酯类,抗生素}以及“阿奇霉素”的上下文信息集合{唯一,十五元环大环内酯类,抗生素}。
[0082] 需要说明的是,在本公开的实施例中,一个命名实体往往存在于若干个语句中,在此情况下,需要针对该若干个语句,收集该命名实体的上下文信息,并将全部的上下文信息合并为该命名实体的上下文信息集合。需要说明的是,在合并形成命名实体的上下文信息集合的过程中,可以尽量保持词语的顺序不变,由此可以提高后续处理的精度。应当理解的是,命名实体的上下文信息集合中的各个词语互不相同(与数学中的集合不包括相同的元素类似),也就是说,任一词语只有第一次出现在某一命名实体的上下文信息中时,才将该词语并入该命名实体的上下文信息集合,当该词语再次出现时,将不再重复并入。
[0083] 步骤S220:对命名实体集合中的全部命名实体的上下文信息集合进行合并,以得到命名实体集合的整体上下文信息集合;
[0084] 例如,在步骤S220的合并形成命名实体集合的整体上下文信息集合的过程中,也可以尽量保持词语的顺序不变。例如,在一些示例中,可以对命名实体集合中的全部命名实体进行随机排序,然后按照一定的顺序(例如,各命名实体在步骤S100中被识别出的顺序或者对各命名实体进行随机排序后的顺序等)依次将各命名实体的上下文信息集合进行合并,在合并过程中,任一词语只有第一次出现在某一命名实体的上下文信息集合中时,才将该词语并入该命名实体集合的整体上下文信息集合,当该词语再次出现在另一命名实体的上下文信息集合中时,将不再重复并入该命名实体集合的整体上下文信息集合。
[0085] 例如,通过步骤S220,可以得到至少一个类别的命名实体集合的整体上下文信息集合。例如,任一命名实体集合的整体上下文信息集合可以表示为{xt},其中,xt表示该命名实体集合的整体上下文信息集合中的第t个词元素(一个词元素即为一个词语),t为整数且1≤t≤T,T为命名实体集合的整体上下文信息集合中的词元素的数量。
[0086] 步骤S230:基于命名实体集合的整体上下文信息集合,将命名实体集合中的各个命名实体表示成整体上下文信息向量。
[0087] 例如,在一些示例中,可以基于步骤S220得到的命名实体集合的整体上下文信息集合{xt},计算集合{xt}中的第t个词元素xt相对于各个命名实体的权重yt,其中,t依次取值1,2,…,T;从而,可以得到各个命名实体的整体上下文信息向量(y1,y2,…,yT)。
[0088] 例如,第t个词元素xt相对于各个命名实体的权重yt的计算公式表示为:
[0089]
[0090] 其中,E表示任意一个命名实体,count(xt)表示语料数据中包括第t个词元素xt的语句的数量,count(E,xt)表示语料数据中同时包括命名实体E和第t个词元素xt的语句的数量。
[0091] 应当理解的是,第t个词元素xt的权重yt的取值范围为[0,1],其中,t依次取值1,2,…,T。
[0092] 步骤S240:基于命名实体集合中的各个命名实体的整体上下文信息向量,对命名实体集合中的全部命名实体进行聚类处理。
[0093] 例如,在一些示例中,步骤S240可以包括:将命名实体集合中每个命名实体分别作为一个候选簇,并将每个命名实体的整体上下文信息向量作为对应的候选簇的中心向量;以及,对当前的全部候选簇进行聚类处理,直到当前的全部候选簇无法继续进行聚类为止。
[0094] 图3为本公开至少一实施例提供的一种聚类处理方法的流程图。如图3所示,对当前的全部候选簇进行聚类处理,可以包括步骤S241至步骤S244。
[0095] 步骤S241:计算当前的全部候选簇两两之间的实体相似度;
[0096] 步骤S242:判断实体相似度的最大值是否达到预定阈值,若实体相似度的最大值达到预定阈值,则执行下述步骤S243,若实体相似度的最大值未达到预定阈值,则执行下述步骤S244;
[0097] 步骤S243:将实体相似度的最大值对应的两个候选簇聚类为一个新的候选簇,并将该新的候选簇中的全部命名实体的整体上下文信息向量的平均值作为该新的候选簇的中心向量,将该新的候选簇与剩下的候选簇作为当前的全部候选簇,继续对其进行聚类处理;
[0098] 步骤S244:确定当前的全部候选簇无法继续进行聚类,停止进行聚类。
[0099] 例如,在一些示例中,在步骤S241中,可以基于任意两个候选簇的中心向量,计算任意两个候选簇的实体相似度。例如,任意两个候选簇的实体相似度的计算公式可以表示为:
[0100]
[0101] 其中,V(F1)、V(F2)分别表示两个候选簇的中心向量,V(F1)·V(F2)表示两个候选簇的中心向量V(F1)、V(F2)的点积,|V(F1)|、|V(F2)|分别表示两个候选簇的中心向量的模。
[0102] 应当理解的是,任意两个候选簇的实体相似度的取值范围为[0,1]。例如,实体相似度越趋近于1,则表明该两个候选簇中的命名实体所适用的语境(即上下文)差异越小,从而,该两个候选簇中的命名实体是同义词的可能性越大;反之,实体相似度越趋近于0,则表明该两个候选簇中的命名实体所适用的语境(即上下文)差异越大,从而,该两个候选簇中的命名实体不是同义词的可能性越大。
[0103] 例如,在一些示例中,在步骤S242中,可以先根据步骤S241中得到的(多个)实体相似度确定该(多个)实体相似度中的最大值,然后根据该最大值与预定阈值的大小比较关系,确定后续执行步骤S243还是执行步骤S244。
[0104] 例如,在本公开的实施例中,预定阈值可以根据需要进行合理设定。例如,若设定的预定阈值较大,则最终聚类到同一个候选簇中的各命名实体是同义词的可能性较大,但是,需要注意的是,在此情况下,也很有可能将原本应该聚类到该同一个候选簇中的命名实体(属于该候选簇的同义词)排除在外,即存在聚类不全的问题;又例如,若设定的预定阈值较小,则可以在很大程度上避免聚类不全的问题,但是,又需要注意的是,在此情况下,却很有可能将原本不属于该同一个候选簇中的命名实体(即噪音)聚类到该同一个候选簇中,即存在聚类不准的问题。例如,在一些示例中,为了兼顾聚类问题的这两个方面(即聚类不全的问题和聚类不准的问题),预定阈值可以设置为0.7~0.9,例如0.7,0.75,0.8,0.85,0.9等,本公开的实施例对此不作限制。
[0105] 例如,在一些示例中,在执行完步骤S243后得到的当前的(多个)候选簇中,可能还存在某些候选簇中的命名实体互为同义词的情况,因此,需要继续对其进行聚类处理,即重复前述步骤S241和步骤S242的处理。
[0106] 例如,在一些示例中,在进行若干次聚类处理之后,步骤S242中得到的实体相似度的最大值未达到预定阈值,则表明根据设定的判断标准(即预定阈值)而言,当前的候选簇中已经不存在任意两个候选簇中的命名实体互为同义词的情况,因此,可以停止进行聚类处理。
[0107] 应当理解的是,在上述步骤S240的说明中,将命名实体集合中每个命名实体分别作为一个候选簇,并将每个命名实体的整体上下文信息向量作为对应的候选簇的中心向量,是为了便于说明步骤S241至步骤S244的聚类处理方法。本领域技术人员应当理解,上述操作起到的是辅助说明的作用,而不应将其视作对本公开的限制。
[0108] 例如,经过步骤S200的聚类处理后,对于每个类别的命名实体集合,通常可以得到多个同义词候选簇(例如,可以将执行完步骤S244得到的候选簇定义为同义词候选簇),该多个同义词候选簇构成对应的同义词候选集合。需要说明的是,上述同义词候选簇中仍然可能存在噪音,也就是说,一个同义词候选簇中的多个命名实体中可能存在一个或若干个与剩下的命名实体语义不同的命名实体。因此,通常需要对同义词候选集合中的各同义词候选簇进行噪音过滤,以去除可能存在的噪音,提高各同义词候选簇的纯度。
[0109] 步骤S300:基于词形相似度和上下文相似度,对每个类别对应的同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。
[0110] 例如,在步骤S300中,可以基于词形相似度和上下文相似度,对每个同义词候选簇中的多个命名实体进行过滤处理,以去除可能存在的噪音,提高各同义词候选簇的纯度。
[0111] 图4为本公开至少一实施例提供的一种过滤处理方法的流程图。如图4所示,对每个同义词候选簇中的多个命名实体进行过滤处理,可以包括步骤S310至步骤S330。
[0112] 步骤S310:对同义词候选簇中的多个命名实体进行随机排序,得到排序后的候选簇集合{ei},其中,ei表示第i个命名实体,i为整数且1≤i≤K,K为同义词候选簇中的命名实体的数量;
[0113] 步骤S320:将第1个命名实体e1作为第1个子簇;
[0114] 步骤S330:判断第m个命名实体em能否加入现有的n个子簇之一,若第m个命名实体em能够加入某一现有的子簇,则将第m个命名实体em加入该现有的子簇,若第m个命名实体em不能加入任一现有的子簇,则将第m个命名实体em作为1个新的子簇,其中,m依次取值2,3,…,K,n为判断第m个命名实体之时现有的子簇的数量。
[0115] 应当理解的是,对每个同义词候选簇中的多个命名实体进行过滤处理,实际上要解决的仍然是聚类问题,即对同义词候选簇中的多个命名实体进行聚类,以将真实的同义词和噪音区分开来。通常,经过上述过滤处理,由一个同义词候选簇可以得到一个或多个大子簇(例如,大子簇包括两个或两个以上数量的命名实体)以及一个或多个小子簇(例如,小子簇仅包括一个命名实体,对应噪音)。例如,一个同义词候选簇通常对应一个大子簇,本公开的实施例包括但不限于此。例如,每个类别的命名实体集合中的各个同义词候选簇对应的大子簇可以构成该类别的命名实体集合对应的同义词集合。
[0116] 例如,在一些示例中,在步骤S330中,判断第m个命名实体em能否加入现有的n个子簇之一,可以包括:判断第m个命名实体em能否加入现有的第j个子簇,其中,j依次取值1,2,…,n。例如,在一些示例中,具体地,判断第m个命名实体em能否加入现有的第j个子簇,可以包括:计算第m个命名实体em与现有的第j个子簇中的各个命名实体的词形相似度和上下文相似度,若现有的第j个子簇中与第m个命名实体em的词形相似度和上下文相似度满足预定关系的命名实体的占比达到预定比例阈值,则第m个命名实体em能够加入第j个子簇,否则,第m个命名实体em不能加入第j个子簇。
[0117] 例如,在一些示例中,可以基于最小编辑距离,计算任意两个命名实体ea和eb的词形相似度。例如,最小编辑距离是指对于两个字符串,由其中一个转换为其中另一个所需的最少编辑操作次数。例如,许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符等。例如,在本公开的实施例中,可以定义对一个字符串进行一次编辑操作所对应的编辑距离值为1,当由一个字符串转换为另一个字符串时,计算所有编辑操作的编辑距离值的和值,该和值即为两个字符串之间的最小编辑距离。例如,在本公开的实施例中,每个命名实体对应一个字符串,命名实体中的每个字(例如,一个字可以是中文字或英文字母等)对应一个字符。例如,示例性地,“阿奇霉素”和“阿奇红霉素”之间的最小编辑距离是1,因为只需将“阿奇红霉素”中的“红”字删除就可以得到“阿奇霉素”,而“阿奇霉素”和“希舒美”之间的最小编辑距离为4。
[0118] 例如,任意两个命名实体ea和eb的词形相似度可以根据以下公式进行计算:
[0119]
[0120] 其中,S1(ea,eb)表示词形相似度,dis(ea,eb)表示两个命名实体ea和eb之间的最小编辑距离,len(ea)表示命名实体ea的字长,len(eb)表示命名实体eb的字长,max(len(ea),len(eb))表示len(ea)和len(eb)中的较大者。
[0121] 应当理解的是,上述词形相似度的取值范围为[0,1]。
[0122] 应当理解的是,使用词形相似度作为判断依据有利于找到词形差异较小的同义词,例如上述列举的“阿奇霉素”和“阿奇红霉素”(词形相似度为4/5),而不利于找到词形差异较大的同义词,例如上述列举的“阿奇霉素”和“希舒美”(词形相似度为0)。因此,在本公开的实施例中,除词形相似度之外,还同时引入上下文相似度来作为上述过滤处理中的判断依据。
[0123] 例如,在一些示例中,任意两个命名实体ea和eb的上下文相似度可以根据以下公式进行计算:
[0124]
[0125] 其中,S2(ea,eb)表示上下文相似度,p(eb|ea)表示由命名实体ea生成命名实体eb的概率,p(ea|eb)表示由命名实体eb生成命名实体ea的概率。
[0126] 例如,在一些示例中,p(eb|ea)和p(ea|eb)可以分别根据以下公式进行计算:
[0127]
[0128]
[0129] 其中,C(ea)表示命名实体ea的上下文信息集合,u表示C(ea)中的词元素,p(u|ea)表示由命名实体ea生成词元素u的概率,p(eb|u)表示由词元素u生成命名实体eb的概率;C(eb)表示命名实体eb的上下文信息集合,v表示C(eb)中的词元素,p(v|eb)表示由命名实体eb生成词元素v的概率,p(ea|v)表示由词元素v生成命名实体ea的概率。
[0130] 例如,可以采用极大似然方法计算p(u|ea)、p(eb|u)、p(v|eb)和p(ea|v),例如计算公式如下所示:
[0131]
[0132]
[0133]
[0134]
[0135] 其中,count(ea)表示语料数据中包括命名实体ea的语句的数量,count(eb)表示语料数据中包括命名实体eb的语句的数量,count(u)表示语料数据中包括词元素u的语句的数量,count(v)表示语料数据中包括词元素v的语句的数量,count(u,ea)表示语料数据中同时包括词元素u和命名实体ea的语句的数量,count(eb,u)表示语料数据中同时包括命名实体eb和词元素u的语句的数量,count(v,eb)表示语料数据中同时包括词元素v和命名实体eb的语句的数量,count(ea,v)表示语料数据中同时包括命名实体ea和词元素v的语句的数量。
[0136] 应当理解的是,上述上下文相似度的取值范围为[0,1]。应当理解的是,使用上下文相似度作为判断依据有利于找到词形差异较大同时使用语境差异较小的同义词,例如上述列举的“阿奇霉素”和“希舒美”,其词形相似度为0,但是由于其指代同一种药物,因此其使用语境差异较小,从而使用上下文相似度作为判断依据时,通常可以确定“阿奇霉素”和“希舒美”互为同义词。
[0137] 例如,在计算得到任意两个命名实体ea和eb的词形相似度和上下文相似度后,可以判断其是否满足以下预定关系:
[0138] (S1(ea,eb))2+(S2(ea,eb))2≥1
[0139] 其中,S1(ea,eb)表示任意两个命名实体ea和eb的词形相似度,S2(ea,eb)表示任意两个命名实体ea和eb的上下文相似度。例如,如果满足上述预定关系(即上述不等式成立),则命名实体ea和eb是同义词;反之,则命名实体ea和eb不是同义词。
[0140] 例如,在本公开的实施例中,预定比例阈值可以根据需要进行合理设定。例如,若设定的预定比例阈值较大,则可能存在过滤过度的问题,即将真实的同义词过滤掉的问题;又例如,若设定的预定比例阈值较小,则可能存在过滤不足的问题,即未将噪音过滤掉的问题。例如,预定比例阈值可以设置为70%~90%,例如70%,75%,80%,85%,90%等。
[0141] 例如,在本公开的实施例中,过滤处理中的同义词的判断依据综合了词形相似度和上下文相似度,因此,有利于提高同义词挖掘的准确率和精度。
[0142] 例如,经过步骤S300的过滤处理后,由于去除了至少部分噪音,因此,得到的同义词集合可以具有较高的纯度。同时,该同义词集合中的每一簇表示一组同义词(两个或两个以上)。
[0143] 步骤S400:基于全部类别对应的同义词集合,构建同义词词典。
[0144] 例如,在一些示例中,可以基于步骤S300得到的各个类别的命名实体集合对应的(多个)同义词集合,构建同义词词典。例如,可以按照便于检索的方式构建同义词词典;例如,在一些示例中,可以根据各同义词集合的使用频率的高低顺序来排列各同义词集合,同时,还可以根据各同义词集合中的命名实体的使用频率的高低顺序来排列各命名实体等,本公开的实施例对此不作限制。
[0145] 例如,构建的同义词集合可以存储在计算机可读存储介质上,从而可以经由计算机可读存储介质进行复制和传送等。又例如,构建的同义词集合可以存储在(包括公有云或私有云)存储空间中,从而可以经由互联网进行复制和传送等。本公开的实施例对此不作限制。
[0146] 例如,在一些示例中,通过前述步骤S100至步骤S400,可以基于医疗文本数据,构建医疗同义词词典,该医疗同义词词典可以用于医学文本自动分析和理解以及检索等任务中。
[0147] 需要说明的是,在本公开的实施例中,前述各步骤的操作等均可以采用软件、硬件固件或其任意组合等方式执行,从而可以分别实现相应的处理过程。
[0148] 需要说明的是,本公开的实施例中,上述同义词挖掘方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的同义词挖掘方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的同义词挖掘方法可以执行一次,也可以按照预定条件执行多次。
[0149] 本公开的实施例提供的同义词挖掘方法,可以基于词形相似度和上下文相似度,对聚类处理得到的同义词候选集合进行过滤处理,从而可以提升得到的同义词集合的纯度,进一步地,基于挖掘的同义词集合可以构建同义词词典,将该同义词词典应用于自然语言处理领域时,可以提高知识点过滤任务、关键词提取任务、文本分类任务、语义聚类任务等的准确性。
[0150] 本公开至少一实施例还提供一种同义词挖掘装置。图5A为本公开至少一实施例提供的一种同义词挖掘装置的示意性框图。例如,如图5A所示,该同义词挖掘装置450包括识别处理模块460、聚类处理模块470和过滤处理模块480。
[0151] 例如,识别处理模块460被配置为对输入的语料数据进行识别处理,以得到至少一个类别的命名实体集合。也就是说,识别处理模块460可以用于执行前述同义词挖掘方法中的步骤S100。例如,识别处理模块460进行识别处理的过程和细节可以参考前述步骤S100的相关描述,在此不再重复赘述。
[0152] 例如,聚类处理模块470被配置为对每个类别的命名实体集合进行聚类处理,以得到每个类别对应的同义词候选集合。也就是说,聚类处理模块470可以用于执行前述同义词挖掘方法中的步骤S200。例如,聚类处理模块470进行聚类处理的过程和细节可以参考前述步骤S200的相关描述,在此不再重复赘述。
[0153] 例如,过滤处理模块480被配置为基于词形相似度和上下文相似度,对每个类别对应的同义词候选集合进行过滤处理,以得到每个类别对应的同义词集合。也就是说,过滤处理模块480可以用于执行前述同义词挖掘方法中的步骤S300。例如,过滤处理模块480进行过滤处理的过程和细节可以参考前述步骤S300的相关描述,在此不再重复赘述。
[0154] 例如,在一些实施例中,如图5A所示,该同义词挖掘装置450还可以包括词典构建模块490。例如,词典构建模块490被配置为基于全部类别对应的同义词集合,构建同义词词典。也就是说,词典构建模块490可以用于执行前述同义词挖掘方法中的步骤S400。例如词典构建模块490进行词典构建处理的过程和细节可以参考前述步骤S400的相关描述,在此不再重复赘述。
[0155] 需要说明的是,同义词挖掘装置450中的识别处理模块460、聚类处理模块470、过滤处理模块480和词典构建模块490等均可以被实现为硬件、软件、固件或其任意组合。应当理解的是,同义词挖掘装置450可以用于执行本公开任一实施例提供的同义词挖掘方法。
[0156] 图5B为本公开至少一实施例提供的另一种同义词挖掘装置的示意性框图。例如,如图5B所示,该同义词挖掘装置500包括存储器510和处理器520。例如,存储器510用于非暂时性存储计算机可读指令,处理器520用于运行该计算机可读指令,该计算机可读指令被处理器520运行时执行本公开任一实施例提供的同义词挖掘方法。
[0157] 例如,存储器510和处理器520之间可以直接或间接地互相通信。例如,在一些示例中,如图5B所示,该同义词挖掘装置500还可以包括系统总线530,存储器510和处理器520之间可以通过系统总线530互相通信,例如,处理器520可以通过系统总线1006访问存储器510。例如,在另一些示例中,存储器510和处理器520等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
[0158] 例如,处理器520可以控制同义词挖掘装置中的其它组件以执行期望的功能。处理器520可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有同义词挖掘能和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
[0159] 例如,存储器510可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。
[0160] 例如,在存储器510上可以存储一个或多个计算机指令,处理器520可以运行所述计算机指令,以实现各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如各个命名实体的整体上下文信息向量、词形相似度和上下文相似度以及应用程序使用和/或产生的各种数据等。
[0161] 例如,存储器510存储的一些计算机指令被处理器520执行时可以执行根据上文所述的同义词挖掘方法中的一个或多个步骤。又例如,存储器510存储的另一些计算机指令被处理器520执行时可以使用上述同义词挖掘方法得到的同义词词典执行知识点过滤任务、关键词提取任务、文本分类任务、语义聚类任务等自然语言处理领域的任一任务。
[0162] 例如,如图5B所示,同义词挖掘装置500还可以包括允许外部设备与同义词挖掘装置500进行通信的输入接口540。例如,输入接口540可被用于从外部计算机设备、从用户等处接收指令。同义词挖掘装置500还可以包括使同义词挖掘装置500和一个或多个外部设备相互连接的输出接口550。例如,同义词挖掘装置500可以通过输出接口550显示图像等。通过输入接口1010和输出接口1012与同义词挖掘装置500通信的外部设备可被包括在提供任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘鼠标、遥控器等之类的(诸)输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然用户界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与同义词挖掘装置500交互。相反,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。
[0163] 另外,同义词挖掘装置500尽管在图5B中被示出为单个系统,但可以理解,同义词挖掘装置500也可以是分布式系统,还可以布置为云设施(包括公有云或私有云)。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由同义词挖掘装置500执行的任务。
[0164] 例如,关于同义词挖掘方法的处理过程的详细说明可以参考上述同义词挖掘方法的实施例中的相关描述,重复之处不再赘述。
[0165] 需要说明的是,本公开的实施例提供的同义词挖掘装置是示例性的,而非限制性的,根据实际应用需要,该同义词挖掘装置还可以包括其他常规部件或结构,例如,为实现同义词挖掘装置的必要功能,本领域技术人员可以根据具体应用场景设置其他的常规部件或结构,本公开的实施例对此不作限制。
[0166] 本公开的实施例提供的同义词挖掘装置的技术效果可以参考上述实施例中关于同义词挖掘方法的相应描述,在此不再赘述。
[0167] 本公开至少一实施例还提供一种存储介质。图6为本公开一实施例提供的一种存储介质的示意图。例如,如图6所示,该存储介质600非暂时性地存储计算机可读指令601,当非暂时性计算机可读指令601由计算机(包括处理器)执行时可以执行本公开任一实施例提供的同义词挖掘方法的指令。
[0168] 例如,在存储介质600上可以存储一个或多个计算机指令。存储介质600上存储的一些计算机指令可以是例如用于实现上述同义词挖掘方法中的一个或多个步骤的指令。
[0169] 例如,存储介质可以包括平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
[0170] 本公开的实施例提供的存储介质的技术效果可以参考上述实施例中关于同义词挖掘方法的相应描述,在此不再赘述。
[0171] 对于本公开,有以下几点需要说明:
[0172] (1)本公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0173] (2)在不冲突的情况下,本公开同一实施例及不同实施例中的特征可以相互组合。
[0174] 以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈