同义词发现方法及装置、数据处理方法及装置与流程

文档序号:11864650阅读:255来源:国知局
同义词发现方法及装置、数据处理方法及装置与流程

本发明涉及数据处理领域,特别是涉及一种同义词发现方法及装置、数据处理方法及装置。



背景技术:

同义关系是非常重要的语义关系,经常被应用于信息检索、文本分类等自然语言处理任务中。具体而言,在进行信息检索或文本分类等处理任务之前,需要进行同义词的获取和同义词的识别。例如,在信息检索的应用场景中,可以将属于同义词的多个词归为一类,当输入文本中存在有同义词的关键字时,可将同义词代替原关键字进行搜索,从而可以使检索系统提供给用户更多的待确认文本。

在中文书面和日常表达中经常出现有固有名称的简写形式,这些简写形式的词语被称为固有名称的缩略词,缩略词为原固有名称的一部分,缩略词也是同义词的一种。例如,“全国人大”是“全国人民代表大会”的缩略词,“中国”是“中华人民共和国”的缩略词,“皇家马德里”为“皇马”的缩略词等等。

然而,现有技术中的同义词发现方法无法较好地识别缩略词,从而使得语义理解的准确性较低。



技术实现要素:

本发明解决的技术问题是提供一种同义词发现方法及装置,提高发现缩略词的准确性。

为解决上述技术问题,本发明实施例提供一种同义词发现方法,所述方法包括:获取待处理的词组集合,所述词组集合包括多个词;对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对;其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。

可选地,所述方法还包括:分别计算所述待处理词与所述词组集合中其余每个词的语义相似度,并从中选择语义相似度值大于相似度阈值的词或语义相似度值较高的前N个词作为候选词;

所述目标词通过以下方式确定:分别计算所述待处理词与每个所述候选词的最小编辑距离,将与所述待处理词的最小编辑距离小于预设阈值的候选词作为目标词。

可选地,分别计算所述待处理词与所述词组集合中其余每个词的语义相似度,包括:

对所述词组集合中的每个词进行向量化;基于向量化的结果,计算所述待处理词与其余每个词的余弦相似度,所述余弦相似度作为所述语义相似度。

可选地,对所述词组集合中的每个词进行向量化,包括:

采用word2vec方法对所述词组集合中的各个词进行向量化。

可选地,所述获取待发现同义词的词组集合,包括:

对输入语料进行分词,以得到所述词组集合。

可选地,利用分词词典对所述输入语料进行分词,所述分词词典通过以下方式获得:

对所述输入语料进行预处理,以得到文本数据;对所述文本数据进行分行处理,得到语句数据;依照基础词典中包含的单独词对所述语句数据进行分词处理,以得到分词后的词语数据;对相邻的所述分词后的词语数据进行组合处理,以生成候选数据串;对所述候选数据串进行判断处理,以发现新词;将所述新词加入所述分词词典。

可选地,所述其余操作包括插入操作和替换操作,单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。

本发明实施例还提供一种数据处理方法,所述数据处理方法包括上述同义词发现方法。

本发明实施例还提供一种同义词发现装置,所述装置包括:

获取单元,适于获取待处理的词组集合,所述词组集合包括多个词;

同义词确定单元,适于对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对;

其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。

可选地,所述同义词发现装置还包括:

候选词选取单元,适于分别计算所述待处理词与所述词组集合中其余每个词的语义相似度,并从中选择语义相似度值大于相似度阈值的词或语义相似度值较高的前N个词作为候选词;

目标词确定单元,适于分别计算所述待处理词与每个所述候选词的最小编辑距离,将与所述待处理词的最小编辑距离小于预设阈值的候选词作为目标词。

可选地,所述候选词选取单元包括:

向量化子单元,适于对所述词组集合中的每个词进行向量化;

余弦相似度计算子单元,适于基于向量化的结果,计算所述待处理词与其余每个词的余弦相似度,所述余弦相似度作为所述语义相似度。

可选地,所述向量化子单元采用word2vec方法对所述词组集合中的各个词进行向量化。

可选地,所述获取单元包括:

分词子单元,适于对输入语料进行分词,以得到所述词组集合。

可选地,所述分词子单元利用分词词典对所述输入语料进行分词,所述分词词典通过分词词典获取单元获得,所述分词词典获取单元适于:

对所述输入语料进行预处理,以得到文本数据;对所述文本数据进行分行处理,得到语句数据;依照基础词典中包含的单独词对所述语句数据进行分词处理,以得到分词后的词语数据;对相邻的所述分词后的词语数据进行组合处理,以生成候选数据串;对所述候选数据串进行判断处理,以发现新词;将所述新词加入所述分词词典。

可选地,所述其余操作包括插入操作和替换操作,单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。

本发明实施例还提供一种数据处理装置,所述数据处理装置包括上述同义词发现装置。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

本发明实施例获取待处理的词组集合;对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对;其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。上述方案一方面通过限定编辑距离方法中删除操作的编辑距离小于其余操作的编辑距离,使得最小编辑距离是通过优先采用删除操作而获得;另一方面,计算最小编辑距离过程中的删除操作对应的编辑距离小于预设阈值,同时单次其余操作对应的编辑距离大于或等于预设阈值时,由此,当待处理词到目标词的最小编辑距离小于预设阈值时,对应的目标词是由待处理词仅通过删除操作得到,从而确保通过编辑距离方法获得的同义词为待处理词文字表达的一部分,进而使得获得的缩略词更加准确,提高缩略词发现的准确率。

进一步地,通过计算待处理词与所述词组集合中其余词的语义相似度,选出多个候选词,进而可从多个候选词形成的更小范围中确定目标词,由于多个候选词为待处理的词组集合的一个子集,所以从多个候选词中确定目标词可提高确定同义词对的效率,同时通过将语义相似度作为另一项同义词考核指标,进一步提高了发现同义词对的准确性,也就提高了发现缩略词的准确性。

附图说明

图1是本发明实施例中的一种同义词发现方法的流程图;

图2是本发明实施例中的一种获取分词词典的方法的流程图;

图3是本发明实施例中的另一种同义词发现方法的流程图;

图4是本发明实施例中的一种同义词发现装置的结构示意图;

图5是本发明实施例中的另一种同义词发现装置的结构示意图。

具体实施方式

在中文书面和日常表达中经常出现有固有名称的简写形式,这些简写形式的词语被称为固有名称的缩略词,缩略词为原固有名称的一部分,缩略词也是同义词的一种。例如,“全国人大”是“全国人民代表大会”的缩略词,“中国”是“中华人民共和国”的缩略词,“皇家马德里”为“皇马”的缩略词等等。然而,现有技术中的同义词发现方法不能较好地识别缩略词,从而使得语义理解的准确性较低。

本发明实施例获取待处理的词组集合;对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对;其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。上述方案一方面通过限定编辑距离方法中删除操作的编辑距离小于其余操作的编辑距离,使得最小编辑距离是通过优先采用删除操作而获得;另一方面,计算最小编辑距离过程中的删除操作对应的编辑距离小于预设阈值,同时单次其余操作对应的编辑距离大于或等于预设阈值时,由此,当待处理词到目标词的最小编辑距离小于预设阈值时,对应的目标词是由待处理词仅通过删除操作得到,从而确保通过编辑距离方法获得的同义词为待处理词文字表达的一部分,进而使得获得的缩略词更加准确,提高缩略词发现的准确率。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例中的一种同义词发现方法的流程图。下面结合图1所示的步骤进行说明。

步骤S101:获取待处理的词组集合,所述词组集合包括多个词。

所述待处理的词组集合为待从中发现同义词对的词组集合。

在具体实施中,所述待处理的词组集合通过对输入语料进行分词而获得。所述输入语料的数据形式可以是语音数据等非文本数据,也可以是文本数据。当输入语料为非文本数据时,需要将其先转换为文本数据,即后续处理的对象都是文本数据。所述输入语料可以通过获取问答系统与用户的会话记录而获得,也可以来自于人工整理的知识点数据。

在具体实施中,上述输入语料可能来自于一特定领域,因此可以理解的是,待处理的词组集合中的词是有关该特定领域的语义的表达,其中可能包含有具有相同语义但表达形式不同的词,即同义词。所述特定领域可以是银行领域、教育领域、体育领域等等。

例如,所述输入语料来自于银行领域,其中有的语句可能使用“招商银行”表达这一银行名称,有的语句则可能使用“招行”来表达,“招商银行”与“招行”为一个同义词对;类似地,表达中存在“工商银行”和“工行”这对同义词。上述两组同义词对中“招行”是“招商银行”的缩略词,“工行”是“工商银行”的缩略词。当然,表达中可能还存在其他非缩略词的同义词,例如“汇款”和“汇钱”是同义词,但两者之间不存在缩略词的关系。而本实施例是要通过步骤S101至步骤S102发现缩略词。

在具体实施中,对输入语料进行分词是通过分词词典实现的,为了使得输入语料进行分词的结果中包含缩略词,换句话说,为了要将缩略词从一个语句中分词得到,所述分词词典中需要包含缩略词,而缩略词可能作为一种新词在一般的基础词典中并不存在,所以需要通过新词发现更新基础词典,使得缩略词作为其中一种新词被加入更新的基础词典,从而使用更新的基础词典作为分词词典对输入语料分词。

为了使所述分词词典中包括缩略词,所述分词词典通过以下方式获得,请参见图2所示步骤。

S11:对输入语料进行预处理,以得到文本数据。

所述输入语料中格式类型可能较多,为便于对输入语料进行后续处理,需对输入语料进行预处理,得到文本数据。

在具体实施中,所述预处理可以将输入语料的格式统一为文本格式,并过滤脏词、敏感词和停用词中的一种或多种。在将输入语料的格式统一为文本格式时,可以将当前技术暂不能转换为文本格式的内容过滤掉。

S12:对所述文本数据进行分行处理,得到语句数据。

分行处理可以是对输入语料按照标点分行,例如在出现句号、逗号、叹号、问号等标点处分行。此处得到语句数据是对语料的初步分割,以便于确定后续分词处理的范围。

S13,依照基础词典中包含的单独词对所述语句数据进行分词处理,以得到分词后的词语数据。

所述基础词典是为区分分词词典而言,所述基础词典中可能不含有缩略词。所述基础词典包含多个单独词,不同单独词的长度可以不同。在具体实施中,基于基础词典进行分词处理的过程可以利用字典双向最大匹配法、HMM方法和CRF方法中的一种或多种。

所述分词处理是对同一行的语句数据进行分词处理,所述词语数据都是包括在基础词典中的单独词。

S14,对相邻的所述分词后的词语数据进行组合处理,以生成候选数据串。

分词处理依据基础词典进行,可能会出现将在某个领域内本应作为一个词的词语数据分成多个词语数据的情况,故需要新词发现。后续可设定条件从候选数据串中进行筛选,将筛选出的候选数据串作为新词。生成候选数据串作为上述筛选过程的前提,可以采用多种方式完成。

在具体实施中,可以利用Bigram模型将同一行的语句数据中相邻两个词语作为候选数据串。

假设一个语句S可以表示为一个序列S=w1w2…wn,语言模型就是要求语句S的概率p(S):

p(S)=p(w1,w2,w3,w4,w5,…,wn)

=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1) (1)

公式(1)中概率统计基于Ngram模型,概率的计算量太大,无法应用于实际应用中。基于马尔科夫假设(Markov Assumption):下一个词的出现仅依赖于它前面的一个或几个词。假设下一个词的出现依赖它前面的一个词,则有:

p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1)

=p(w1)p(w2|w1)p(w3|w2)...p(wn|wn-1) (2)

假设下一个词的出现依赖它前面的两个词,则有:

p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1)

=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|wn-1,wn-2) (3)

公式(2)为Bigram概率的计算公式,公式(3)为trigram概率的计算公式。通过设置更大的n值,可以设置对下一个词出现的更多的约束信息,具有更大的辨别力;通过设置更小的n值,在新词发现中候选数据串出现的次数更多,可以提供更可靠的统计信息,具有更高的可靠性。

理论上,n值越大,可靠性越高,在现有处理方法中,Trigram用的最多;但Bigram的计算量更小,系统效率更高。

S15:判断所述候选数据串是否为特定候选数据串,所述特定候选数据串包括基础名词,且位于所述基础名词的特定相对位置的词语为名词或形容词。

据发明人研究发现,若一个基础名词的特定相对位置上若是名词或形容词,则该基础名词极有可能需要被作为新词。例如基础名词“卡”,“卡”的左侧为名词,可以组成“龙卡”、“名校卡”、“白金卡”、“商务卡”等。故判断候选数据串是否为特定候选数据串,可以判断候选数据串是否满足包含基础名词,并且该基础名词的特定相对位置的词语是否为名词或者形容词。

基础名词的特定相对位置可以根据不同的基础名词和语料进行设定,例如,当语料中包含多种“卡”,并且需要将各种卡的名称均作为新词时,可以设定基础名词的左侧为名词或形容词。

在具体实施中,特定相对位置可以是左侧和右侧中的任一种或两种,可以根据需要进行设置。

在具体实施中,可以参照频次确定所述基础名词。由于基础名词在语料中会反复出现,故可以参照频次确定基础名词。可以理解的是,基础名词也可以通过人工阅读进行选择和设定。

S16:对所述候选数据串进行判断处理,以发现新词;所述判断处理包括:

当所述候选数据串为非特定候选数据串时,计算所述候选数据串中各词语与其内侧词语的信息熵,并去除所述信息熵在预设范围外的候选数据串;

当所述候选数据串为特定候选数据串时,仅计算所述特定候选数据串之外的词语与其内侧词语的信息熵,去除所述信息熵在预设范围外的候选数据串。

由于候选数据串包括两个词语数据,在对候选数据串进行判断处理时,需要分别对两个词语数据的内侧信息熵进行判断,信息熵是对随机变量不确定性的量度,计算公式如下:

H(X)=-∑p(xi)logp(xi)

信息熵越大,表示变量的不确定性越大,即每个可能的取值发生的概率越平均。如果变量某个取值发生的概率为1,则熵为0。表明变量只有当前一种取值发生,是一个必然事件。

计算词语W的左侧信息熵和右侧信息熵的公式如下:

H1(W)=∑x∈X(#XW>0)P(x|W)log P(x|W),其中X为出现在W左边的所有词语数据集合,H1(W)为词语数据W的左侧信息熵。

H2(W)=∑x∈Y(#WY>0)P(y|W)log P(y|W),其中Y为出现在W右边的所有词语数据集合,H2(W)为词语数据W的右侧信息熵。

内侧信息熵是对候选数据串依次固定每个单独词语数据,计算在该词语数据出现情况下另一个词语出现的信息熵。如果候选数据串为(W1W2),则计算词语数据W1的右侧信息熵和词语数据W2的左侧信息熵。

计算候选数据串中词语数据与其内侧的词语数据的熵值体现该词语数据内侧词语数据的混乱程度。例如,通过计算候选数据串W1W2中左侧词语数据W1的右侧信息熵以及右侧词语数据W2的左侧信息熵,可以判断词语数据W1和W2内侧的混乱程度,从而可以通过设定预设范围进行筛选,排除各词语与其内侧词语构成新词的概率特征值在预设范围外的候选数据串。

特定候选数据串中,基础名词的内侧信息熵也许会因在预设范围外,导致本应作为新词的特定候选数据串被排除,例如,特定候选数据串为“白金卡”、“名校卡”、“龙卡”等包含基础名词“卡”的候选数据串时,词语“白金”、“名”、“龙”的右侧信息熵在预设范围内,但由于词语“卡”的左侧词语较混乱,其左侧信息熵可能在预设范围外,从而可能导致候选数据串“白金卡”、“名校卡”、“龙卡”等候选数据串被错误的排除。

故当所述候选数据串为特定候选数据串时,仅计算所述特定候选数据串之外的词语与其内侧词语的信息熵,去除所述信息熵在预设范围外的候选数据串,不再对基础名词的内侧信息熵进行计算,避免因基础名词的内侧信息熵在预设范围外而导致的错误排除。

S17:将所述新词加入所述分词词典。

由于缩略词也是一种新词,则从输入语料中获取的新词集合也包括了缩略词,从而将新词加入分词词典也就实现了分词词典中包含缩略词,进而可以用分词词典对所述输入语料进行分词得到本实施例中的所述词组集合。

下面继续对得到待处理的词组集合后的步骤进行说明。

步骤S102:对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对。

其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。

在具体实施中,所述其余操作可以包括替换操作和插入操作。本实施例所指的编辑距离是将一个词采取编辑操作以转换成另一个词所需的编辑成本,也就是操作次数与每一步操作所需成本的乘积。而最小编辑距离,则是指编辑成本最小的编辑距离。每步操作仅仅针对其中一个词。

下面以“工商银行”转换至“工行”为例说明编辑距离和最小编辑距离。将“工商银行”转换至“工行”可以采取不同的编辑操作组合方式获得。假设单步替换操作的编辑距离为1000,单步删除操作的编辑距离为1,单步插入操作的编辑距离为1000。

将“工商银行”转换至“工行”的第一种转换方式为:分3次删除操作将“工商银行”的“工”、“商”和“银”删除,再进行一次插入操作插入“工”得到“工行”,则“工商银行”到“工行”的编辑距离是1003;

将“工商银行”转换至“工行”的第二种转换方式为:分2次删除操作将“工商银行”的“工”和“商”删除,再进行一次替换操作将“银”替换为“工”得到“工行”,则“工商银行”到“工行”的编辑距离是1002;

将“工商银行”转换至“工行”的第三种转换方式为:分2次删除操作将“工商银行”的“商”和“银”删除,得到“工行”,则“工商银行”到“工行”的编辑距离是2。

需要说明的是,将待处理词“工商银行”转换至“工行”的转换方式不限于上述列举的操作组合,不同的转换方式对应的编辑距离不同。然而,在多种转换方式中,最小编辑距离是唯一的。不难理解,上述将“工商银行”转换至“工行”的最小编辑距离应为2,即通过上述第三种转换方式得到。

因此,对于所述词组集合中的任一待处理词,其到另一词的最小编辑距离是确定的。通过计算所述词组集合中任一待处理词与其它词的最小编辑距离,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对。例如,词组集合为L(A、B、C、D、E、F、G和H),对于待处理词A,假设目标词来自于子集M(B、C、D、E、F、G和H),当(B、C、D、E、F、G和H)中存在一个词B,使得待处理词A到该词B的最小编辑距离小于预设阈值时,则A和B为同义词对。

本实施例中为了保证寻找到的同义词对中的目标词是待处理词的缩略词,即缩略词必然是待处理词的一部分,在所述编辑距离方法中,限定单次其余操作对应的编辑距离大于或等于预设阈值,且限定删除操作对应的编辑距离小于其余操作对应的编辑距离,且不仅单次所述删除操作对应的编辑距离小于预设阈值,而且多次(所述多次可以根据全称词到缩略词之间最大删除的字数确定,如:最大删除5个字,则此时即为5次)所述删除操作对应的编辑距离也小于预设阈值。

在具体实施中,通过上述方法找到的缩略词可以是一个也可以是多个,需要说明的是,通过本实施例的方法找到的与待处理词组成同义词对的词之间不一定是缩略词关系。例如,词组集合L中,实施本实施例的方法得到待处理词A的其中一个缩略词为词B,并且找到待处理词A的另一个缩略词为词C,即待处理词A到词B的最小编辑距离和待处理词A到词C的最小编辑距离均小于预设阈值,但词B和词C之间不一定是缩略词关系,即不能保证词B为词C的缩略词或者词C为词B的缩略词,但词B和词C之间为同义词关系。

同样需要说明的是,通过本实施例的方法,得到的同一个缩略词对应的多个待处理词之间不一定为同义词关系。例如,词组集合L中,实施本实施例的方法得到待处理词A的缩略词为B,同样得到待处理词D的缩略词为B,但词A和词D之间不一定为同义词关系。

本实施例中由于限定删除操作对应的编辑距离小于其余操作对应的编辑距离,使得在使用编辑距离方法计算最小编辑距离时,待处理词转换至另一词的编辑操作中优先采用删除操作,另一方面,计算最小编辑距离过程中的删除操作对应的编辑距离小于预设阈值,同时单次其余操作对应的编辑距离大于或等于预设阈值时,由此,当待处理词到目标词的最小编辑距离小于预设阈值时,对应的目标词是由待处理词仅通过删除操作得到,从而确保通过编辑距离方法获得的同义词为待处理词文字表达的一部分,进而使得获得的缩略词更加准确,提高缩略词发现的准确率。

图3是本发明实施例中的一种同义词发现方法的流程图。下面结合图3所示步骤进行说明。

步骤S301:获取待处理的词组集合,所述词组集合包括多个词。

本步骤的实施可对应参照图1所示的步骤S101,在此不再赘述。

步骤S302:对于所述词组集合中的任一待处理词,分别计算所述待处理词与所述词组集合中其余每个词的语义相似度,并从中选择语义相似度值大于相似度阈值的词或语义相似度值较高的前N个词作为候选词。

在一具体实现中,可以通过比较其余词语与待处理词的语义相似度值和相似度阈值的大小,将语义相似度值大于相似度阈值的词作为候选词。需要说明的是,所述相似度阈值可进行不同的预设,并不做任何限定,此时候选词的个数随相似度阈值的变化而变化。

在另一具体实现中,可以通过限定候选词的个数N来获得语义相似度值较高的候选词。具体而言,将语义相似度值按从高至低的顺序进行排序,取语义相似度值较高的前N个词作为候选词。

本步骤从所述词组集合中选出候选词是为了后续从候选词中确定目标词。这样,一方面,缩小了确定与所述待处理词构成同义词对的目标词的范围,从而可以减少计算的复杂度,提高发现缩略词的效率。另一方面,通过将语义相似度作为另一项判断是否为同义词的考核指标,进一步提高了发现同义词对的准确性,也即提高了发现缩略词的准确性。

在具体实施中,计算所述待处理词与所述词组集合中其余每个词的语义相似度时可以通过以下步骤:

首先,对所述词组集合中的每个词进行向量化;

其次,基于向量化的结果,计算所述待处理词与其余每个词的余弦相似度,所述余弦相似度作为所述语义相似度。可以理解的是,计算余弦相似度后,可以从中选择余弦相似度值大于相似度阈值的词或余弦相似度值较高的前N个词作为候选词。

在具体实施中,可以采用word2vec方法对所述词组集合中的各个词进行向量化。需要指出的是,还可以采用其他现有的方法对所述词组集合中的各个词进行向量化。

步骤S303:当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对。

其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值。

所述目标词通过以下方式确定:分别计算所述待处理词与每个所述候选词的最小编辑距离,将与所述待处理词的最小编辑距离小于预设阈值的候选词作为所述目标词。

在本实施例中,所述其余操作包括插入操作和替换操作。单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。

下面以一实例说明步骤S301至步骤S303的实施,其中每一步骤以一具体实现作为示例,不应作为本发明的限制。

实施步骤S301,获取待处理的词组集合为Q(A、B、C和D),其中A、B、C和D均可为待处理词,假设A具体为“招商银行”,B为“工行”、C为“招行”,D为“工商银行”。

以下步骤以待处理词为A“招商银行”示例。

实施步骤S302,采用word2vec方法对于词组集合Q中的每个词(A、B、C和D)进行向量化,基于向量化的结果,计算待处理词A与其余每个词B、C和D的余弦相似度,得到余弦相似度值从高至低的顺序为D、C和B,从中选择余弦相似度值较高的前2个词作为候选词,即选择词D“工商银行”和词C“招行”作为候选词。

实施步骤S303,对于待处理词A“招商银行”,分别使用编辑距离方法计算待处理词A“招商银行”与候选词D“工商银行”的最小编辑距离,以及待处理词A“招商银行”与候选词C“招行”的最小编辑距离。

在本例的编辑距离方法中,删除操作对应的编辑距离小于插入操作和替换操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。假设单次删除操作对应的编辑距离为1,单次插入操作对应的编辑距离为1000,单次替换操作对应的编辑距离为1000,预设阈值为10,那么:

在待处理词“招商银行”转换为候选词D“工商银行”的所有编辑操作组合中,通过1步替换操作得到的编辑距离最小,具体将“招”替换为“工”,所以最小编辑距离为1000;

在待处理词“招商银行”转换为候选词C“招行”的所有编辑操作组合中,通过2步删除操作得到的编辑距离最小,具体分别删除“商”和“银”,所以最小编辑距离为2;

上述计算得到的最小编辑距离中,小于预设阈值10的最小编辑距离为2,因此对应的目标词为候选词C“招行”,确定待处理词A“招商银行”与候选词C“招行”为同义词对,“招行”为“招商银行”的缩略词。

又如,假设待处理的词组集合为P(“招商银行”、“工行”和“工商银行”),对于待处理词“招商银行”,分别计算“招商银行”与“工行”,以及“招商银行”与“工商银行”的语义相似度,得到“招商银行”和“工行”的语义相似度以及“招商银行”和“工商银行”的语义相似度值均大于相似度阈值。接着计算最小编辑距离,计算中由于删除操作的编辑距离小于替换操作的编辑距离,因此每一步优先采用删除操作:

“招商银行”转换至“工行”最少可通过采取2步删除操作和1步替换操作转换得到。具体地,最少的操作可通过删除“招”和“商”,并替换“银”为“工”得到。而删除操作的单步编辑距离为1,替换操作的单步编辑距离为1000,因此计算出“招商银行”到“工行”最小编辑距离为1002;

类似地,“招商银行”转换至“工商银行”最少可通过1步替换操作得到,具体地,替换“招”为“工”,而替换操作的单步编辑距离为1000,因此计算出“招商银行”转换至“工商银行”的最小编辑距离为1000。

可以看出,“招商银行”转换至“工行”的最小编辑距离,以及“招商银行”转换至“工商银行”的最小编辑距离均大于预设阈值10,所以候选词“工商银行”和候选词“工行”均不是所述目标词,也就是说待处理的词组集合中不存在与待处理词“招商银行”组成同一词对的词。

本实施例中由于限定删除操作对应的编辑距离小于其余操作对应的编辑距离,使得在编辑距离方法中要计算最小编辑距离时,待处理词转换至其他词的编辑操作中优先采用删除操作。在此基础上,

计算最小编辑距离过程中的删除操作对应的编辑距离小于预设阈值,同时单次其余操作对应的编辑距离大于或等于预设阈值时,由此,当待处理词到目标词的最小编辑距离小于预设阈值时,对应的目标词是由待处理词仅通过删除操作得到,从而确保通过编辑距离方法获得的同义词为待处理词文字表达的一部分,进而使得获得的缩略词更加准确,提高缩略词发现的准确率。

进一步地,本实施例通过计算待处理词与所述词组集合中其余词的语义相似度,选出多个候选词,进而可从多个候选词形成的更小范围中确定目标词,由于多个候选词为待处理的词组集合的一个子集,所以从多个候选词中确定目标词可提高确定同义词对的效率,同时通过将语义相似度作为另一项判断是否为同义词的考核指标,进一步提高了发现同义词对的准确性。

本发明实施例还提供了一种基于上述同义词发现方法的数据处理方法。所述数据处理方法中通过同义词库来进行同义词的判断,而同义词库中包括了采用上述同义词发现方法获得的缩略词。下面对所述数据处理方法进行举例说明。

所述数据处理方法包括:获取知识点,所述知识点包括问句和对应的答案;对所述问句进行分词后的任一关键词,根据同义词库判断所述关键词是否存在同义词;当所述关键词存在同义词时,将找到的同义词替换对应的关键词;存储替换后得到的问句,并将替换后得到的问句加入该知识点。

例如,通过上述同义词发现方法,得到“招行”为“招商银行”的缩略词,两者为同义词库中的一组同义词对。下面实施所述数据处理方法:

获取一知识点,其中,问句为“招商银行信用卡如何开通”,对应答案为S;

对问句“招商银行信用卡如何开通”进行分词得到的其中一个关键词“招商银行”,根据同义词库判断分词得到的关键词“招商银行”是否存在同义词;由于存在“招商银行”的同义词为其缩略词“招行”,那么将“招行”替换问句“招商银行信用卡如何开通”中的关键词“招商银行”,存储替换后的问句“招行信用卡如何开通”,并将替换后的问句“招行信用卡如何开通”加入知识点。那么原知识点被扩充为:问句有“招商银行信用卡如何开通”和“招行信用卡如何开通”,对应的答案S。其中的同义词“招行”采用上述同义词发现方法获得,不再赘述。

由此可以看出,上述同义词发现方法可以用于扩充知识点中的问句,进而达到扩充知识库的效果,从而可以在使用缩略词进行不同问句的表达时,仍然可以回复相应的答案,进而提高智能问答系统的语义理解能力和回复答案的准确率。需要说明的是,上述同义词发现方法不仅可应用于扩充知识库,还可以用于信息搜索。应用于信息搜索时,不仅可以搜索得到关键字有关的信息,还可以搜索得到关键字的缩略词或全称词有关的信息。

图4是本发明实施例中的一种同义词发现装置的结构示意图。所述同义词发现装置可以包括:获取单元401和同义词确定单元402;

所述获取单元401,适于获取待处理的词组集合,所述词组集合包括多个词;

所述同义词确定单元402,适于对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对;

其中,所述最小编辑距离是通过编辑距离方法计算获得的,所述编辑距离方法包括删除操作,所述删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。

在具体实施中,所述其余操作包括插入操作和替换操作,单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。

在具体实施中,所述获取单元401包括分词子单元,适于对输入语料进行分词,以得到所述词组集合。在具体实施中,所述分词子单元利用分词词典对所述输入语料进行分词,所述分词词典通过分词词典获取单元获得,所述分词词典获取单元适于:

对所述输入语料进行预处理,以得到文本数据;对所述文本数据进行分行处理,得到语句数据;依照基础词典中包含的单独词对所述语句数据进行分词处理,以得到分词后的词语数据;对相邻的所述分词后的词语数据进行组合处理,以生成候选数据串;对所述候选数据串进行判断处理,以发现新词;将所述新词加入所述分词词典。

有关本实施例中所述的同义词发现装置的结构和有益效果的说明可对应参照图1的同义词发现方法的步骤和有益效果的说明,不再赘述。

图5是本发明实施例中的一种同义词发现装置的结构示意图。如图5所示的同义词发现装置可以包括:获取单元501、候选词选取单元502、目标词确定单元503和同义词确定单元504。

所述获取单元501,适于获取待处理的词组集合,所述词组集合包括多个词。

所述同义词确定单元504,适于对于所述词组集合中的任一待处理词,当所述词组集合中存在一个或多个目标词,使得所述待处理词到所述目标词的最小编辑距离小于预设阈值时,所述待处理词与对应的一所述目标词确定为同义词对。其中,所述最小编辑距离是通过编辑距离方法计算获得的,在所述编辑距离方法中,删除操作对应的编辑距离小于其余操作对应的编辑距离,所述删除操作对应的编辑距离小于预设阈值,单次所述其余操作对应的编辑距离大于或等于预设阈值。

在具体实施中,所述其余操作包括插入操作和替换操作,单次所述插入操作对应的编辑距离大于或等于预设阈值,单次所述替换操作对应的编辑距离大于或等于预设阈值。

在具体实施中,所述获取单元501包括分词子单元5011,适于对输入语料进行分词,以得到所述词组集合。

在具体实施中,所述分词子单元5011利用分词词典对所述输入语料进行分词,所述分词词典通过分词词典获取单元获得,所述分词词典获取单元适于:

对所述输入语料进行预处理,以得到文本数据;对所述文本数据进行分行处理,得到语句数据;依照基础词典中包含的单独词对所述语句数据进行分词处理,以得到分词后的词语数据;对相邻的所述分词后的词语数据进行组合处理,以生成候选数据串;对所述候选数据串进行判断处理,以发现新词;将所述新词加入所述分词词典。

在具体实施中,所述同义词发现装置还可以包括:

候选词选取单元502,适于分别计算所述待处理词与所述词组集合中其余每个词的语义相似度,并从中选择语义相似度值大于相似度阈值的词或语义相似度值较高的前N个词作为候选词;

目标词确定单元503,适于分别计算所述待处理词与每个所述候选词的最小编辑距离,将与所述待处理词的最小编辑距离小于预设阈值的候选词作为目标词。

在具体实施中,所述候选词选取单元502可以包括:

向量化子单元5021,适于对所述词组集合中的每个词进行向量化;

余弦相似度计算子单元5022,适于基于向量化的结果,计算所述待处理词与其余每个词的余弦相似度,所述余弦相似度作为所述语义相似度。

在具体实施中,可以采用word2vec方法对所述词组集合中的各个词进行向量化。

有关本实施例中所述的同义词发现装置的结构和有益效果的说明可对应参照图3的同义词发现方法的步骤和有益效果的说明,不再赘述。

本发明实施例还提供一种数据处理装置,所述数据处理装置采用图4或图5所示的同义词发现装置,所述数据处理装置可以包括:

知识点获取单元,适于获取知识点,所述知识点包括问句和对应的答案;

同义词查找单元,适于对所述问句进行分词后的任一关键词,根据同义词库判断所述关键词是否存在同义词;

替换单元,适于当所述关键词存在同义词时,将找到的同义词替换对应的关键词;

知识点扩充单元,适于存储替换后得到的问句,并将替换后得到的问句加入该知识点。

所述数据处理装置的结构和有益效果可参照上述数据处理方法的说明,不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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