一种基于无监督学习的领域词发现方法
技术领域
本发明涉及一种基于无监督学习的领域词发现方法,属于计算机文本信息处理技术领域。
背景技术
词语是展开自然语言处理的基础,而中文句子的词与词之间不像英文那样有空格区分,所以中文自然语言处理需要先分词,再进行处理。由于领域文本中含有大量专业词汇,使得现有的中文分词工具难以正确切分领域文本,进而影响了其他下游任务。因此获取领域词汇,对于后续开展领域文本理解和挖掘具有重要的意义。
由于缺乏昂贵的人工标注的领域语料,本发明拟采用无监督的方法进行领域词识别。主流无监督方法是基于信息论,利用点间互信息PMI、左右熵等统计量的得分阈值来判定字符串是否是一个词语,然后结合规则过滤垃圾词串获得词汇。领域文本中的句子是由通用词汇和领域词汇相互组合构成的,统计量结合过滤规则的词语识别方法无法区分通用词和领域词,且由于不同领域文本具有不同程度的稀疏性和特殊性,识别效果较差,统计量的得分阈值也较难确定。为了区分领域词和普通词,一些领域词典构建方案人工选取某领域的词作为种子词,基于词向量利用语义相似度对初始领域种子词典进行扩展,这种方法具有较大的偏差性,需要领域专家人工选取较为全面的种子词,属于半监督筛选范畴。
发明内容
针对现有领域词识别方法应用到某些特定领域文本上识别效果差,较难识别出特定专业名的问题,本发明提供一种基于无监督学习的领域词发现方法。将句子视为来自词语的采样,利用通用词库和领域词库进行相互竞争,选取采样概率较大者计算句子切分组合得分,通过迭代学习,将领域候选词库中的通用词逐步转移到通用候选词库中,使得模型可以区分句子中的通用词和领域词,提高了正确领域词的采样概率,进而可以获取更准确的领域词汇,且无需人工干预,有助于提升领域文本后续开展其他自然语言处理任务的性能。
本发明的技术方案如下:
一种基于无监督学习的领域词发现方法,输入通用语料文本和领域语料文本便可得到领域词,包括步骤如下:
1、把通用语料文本和领域语料文本切分,获得通用候选词库和领域候选词库,两种词库的处理方式相同,此时的领域候选词库中包含一部分通用候选词;
2、获取了通用候选词库和领域候选词库,对领域文本进行无监督学习,将两个词库中的词频转换为对应的概率,对领域文本中未分割句子任意切分,计算每一种切分方式的标准化概率得分,统计得分靠前的句子切分组合中的词语,收集领域词汇,把领域候选词库中的通用词转移到通用候选词库中,并保存获得领域词汇。
优选的,步骤1中,初始候选词库的获取包括步骤如下:
1-1、清洗文本,文本为通用语料文本或领域语料文本,删除文本中的垃圾字符,包括去除文本中的非打印字符、表情符号及标识号,并将全角连接号替换成半角,中文繁体字转成简体字,保留标点符号;由于领域的特殊性,如武器、法律和演习等特殊名称中含有标点符号,在清洗文本时要注意保留名称中的标点符号;
1-2、对文本分句并保存领域的语料文本待用,保存格式是一句文本占一行;
1-3、n-gram切分句子,统计词频;
1-4、过滤垃圾字串;由于军事文本中的实体名称中含有标点符号,如“战斧”巡航导弹、‘太平洋之鹰-2007’联合军演、巨型钻地弹模型(MOP)、C-130H运输机,当词频小于2或n-gram切分字串中的标点明显不符合领域的命名规则的时候,视为垃圾词,给予过滤;
所述标点明显不符合领域的命名规则的情况包括:①:双引号、单引号、书名号、括号不成对;②:连接号、着重号、代替号出现在字符串头尾;
1-5、获得初始候选词库,此处获得的初始候选词库为通用候选词库或领域候选词库;词库中词语的保存格式是:字串\t词频,\t代表是tab键,一个词语(即字串)占一行。
进一步优选的,步骤1-3中,在进行n-gram切分时,n的取值范围是1~10,大多数武器名较长,在进行n-gram切分时,n的取值范围是1~10,一边切分一边统计词频;对于其他领域,n的普遍取值范围是1~7,此范围可根据各自领域词的长短做相应收缩。
优选的,步骤2中,无监督学习的步骤包括如下:
2-1、加载步骤1获得的通用候选词库和领域候选词库,加载前面已经分过句的领域文本语句,把通用候选词库和领域候选词库的词频转换为词语的采样概率,转换方法如公式(1):
式中nw为词库中某个词w的频次,nx为词库中的任意一词x的频次,C为通用候选词库,D为领域候选词库,用语料中某个词出现的次数除以语料中的总词数;
2-2、对领域文本中未分割的句子进行任意切分;
2-3、以候选词库中的词频作为词语采样概率计算每一种切分方式的标准化概率得分:
一个句子由M个字符串组成,即则这组字符串构成句子的概率为P(Si),/>为第i个句子切分组合中字串/>的采样概率,m代表某个字串,M为一个句子切分组合中的字符串总个数。一个句子可能会有多个切分组合,用T来代表句子的切分组合的集合,Sj为集合T中第i个切分组合。
词语采样概率来自具有最大采样概率的词库,此处的最大采样概率是指选择通用候选词库与领域候选词库两者对同一词的概率的比较,二选一,选择概率大的那个为最大采样概率。
2-4、选取得分前K名的句子切分组合进行统计,统计得分前K名的句子切分组合中的词语,得分高的切分方式切出来的字符串最接近真实的词语,把只单独出现在领域候选词库中的字符串收集起来作为本次迭代筛选出来的领域词结果,同时出现在通用候选词库和领域候选词库中的字符串逐步转移到通用候选词库中去,在领域候选词库中减少该词的频次,在通用候选词库中增加该词的频次,这里的增加、减少,均是数值上+1、-1;
2-5、返回步骤2-1,重新计算通用候选词库和领域候选词库的词语采样概率,开始下一次迭代,直到迭代结束,完成领域词汇的收集。
进一步优选的,步骤2-2中,考虑到复杂度,只处理长度在23以内的句子。
进一步优选的,步骤2-4中,K的取值范围是3~6。
进一步优选的,步骤2-5中,迭代次数为2-4次。随着迭代次数的增加,词语的采样概率改变的越来越小,为节省时间,迭代次数选择2~4次最佳。
基于无监督学习的领域词发现方法原理如下
文本由句子组成,句子由词语构成,可以把句子看成是来自词语的采样。假设长度为L的句子S={c1,c2,c3,…cL}由M个字符串组成,即则这组字符串构成句子的概率为:
当这组字符串越接近真实的词语,P(Si)的概率越大。换句话说,当P(Si)的概率越大,句子切分成正确词语的可能性越大。
领域文本中的句子是由通用词汇和领域词汇相互掺杂在一起组成的,如图1所示,是以军事领域文本为例,加粗的词语为军事领域词汇。
我们分别对通用语料和领域语料进行n-gram切分后,统计每个候选词的频次,获得原始的通用候选词库和领域候选词库,此时的领域候选词库中包含一部分通用候选词。
给定一个未切分的句子,对其进行任意n-gram切分,以候选词汇库中的词频作为词语采样概率计算每一种切分方式的概率,其中采样概率来自具有较大采样概率的词库。然后对所有切分组合概率标准化后,以概率值降序排序,选取前五个概率得分最高的句子切分组合进行统计切分出来的字符串。记录下来只在领域候选词库出现的字符串作为领域词,若字符串同时在两个词库中,说明此字符串为通用词汇,则在领域候选词库中减少该词的频次,在通用候选词库中增加该词的频次。随着送入的句子越来越多,领域候选词库中通用词会逐渐转移到通用候选词库中,领域词在领域候选词库中的占比会来越高,每迭代一次,重新计算相应词库的采样概率,领域词的准确度会逐步提高。
本发明的有益效果在于:
本发明提出了基于一种无监督学习的领域词发现方法,然后以军事领域文本为例,进行实施例演示,又将该处理流程应用到金融新闻领域,同样可以在无需人工参与的情况下识别出领域词。本方法扩大了领域词典的词汇量,解决了因分词工具对领域词切分错误而导致后续一系列自然语言处理任务性能不佳问题。与现有技术相比,本发明的优点在于:无需人工标注语料;使用通用候选词库与领域候选词库相互竞争,使得模型得以区分领域词和通用词;提高了含有标点符号的实体名称识别率。
实用范围包括领域词典构建、文本挖掘、领域本体构建、机器翻译等领域。无需人工标注的无监督领域词发现降低了人工获取领域词的难度和成本,提高了文本处理基础任务的分词准确率,进而提高了下游诸多自然语言处理处理任务的性能,应用前景十分广泛。
附图说明
图1为军事领域句子中的通用词和领域词示意图;
图2为获取初始候选词库流程图;
图3为无监督学习获取领域词流程图。
具体实施方式
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
实施例1:
一种基于无监督学习的领域词发现方法,输入通用语料文本和领域语料文本便可得到领域词,包括步骤如下:
1、把通用语料文本和领域语料文本切分,获得通用候选词库和领域候选词库,两种领域词库的处理方式相同,此时的领域候选词库中包含一部分通用候选词;
2、获取了通用候选词库和领域候选词库,对领域文本进行无监督学习,将两个词库中的词频转换为对应的概率,对领域文本中的未分割句子任意切分,计算每一种切分方式的标准化概率得分,统计得分靠前的句子切分组合中的词语,收集领域词汇,把领域候选词库中的通用词转移到通用候选词库中,并保存获得领域词汇。
实施例2:
一种基于无监督学习的领域词发现方法,其步骤如实施例1所述,所不同的是,步骤1中,初始候选词库的获取包括步骤如下:获取初始候选词库的流程图如图2所示;
1-1、清洗文本,文本为通用语料文本或领域语料文本,删除文本中的垃圾字符,包括去除文本中的非打印字符、表情符号及标识号,并将全角连接号替换成半角,中文繁体字转成简体字,保留标点符号;由于领域的特殊性,如武器、法律和演习等特殊名称中含有标点符号,在清洗文本时要注意保留名称中的标点符号;
1-2、对文本分句并保存领域的语料文本待用,保存格式是一句文本占一行;
1-3、n-gram切分句子,统计词频;n的取值范围是1-10;
1-4、过滤垃圾字串;由于军事文本中的实体名称中含有标点符号,如“战斧”巡航导弹、‘太平洋之鹰-2007’联合军演、巨型钻地弹模型(MOP)、C-130H运输机,当词频小于2或n-gram切分字串中的标点明显不符合领域的命名规则的时候,视为垃圾词,给予过滤;
所述标点明显不符合领域的命名规则的情况包括:①:双引号、单引号、书名号、括号不成对;②:连接号、着重号、代替号出现在字符串头尾;
1-5、获得初始候选词库,此处获得的初始候选词库为通用候选词库或领域候选词库;词库中词语的保存格式是:字串\t词频,\t代表是tab键,一个词语(即字串)占一行。
步骤2中,无监督学习的步骤包括如下,如图3所示:
2-1、加载步骤1获得的通用候选词库和领域候选词库,加载前面已经分过句的领域文本语句,把通用候选词库和领域候选词库的词频转换为词语的采样概率,转换方法如公式(1):
式中nw为词库中某个词w的频次,nx为词库中的任意一词x的频次,C为通用候选词库,D为领域候选词库,用语料中某个词出现的次数除以语料中的总词数;
2-2、对未分割的句子进行任意切分;考虑到复杂度,只处理长度在23以内的句子。
2-3、以候选词库中的词频作为词语采样概率计算每一种切分方式的标准化概率得分
一个句子由M个字符串组成,即则这组字符串构成句子的概率为P(Si),/>为第i个句子切分组合中字串/>的采样概率,m代表某个字串,M为一个句子切分组合中的字符串总个数。一个句子可能会有多个切分组合,用T来代表句子的切分组合的集合,Sj为集合T中第j个切分组合。
词语采样概率来自具有最大采样概率的词库,此处的最大采样概率是指选择通用候选词库与领域候选词库两者对同一词的概率的比较,二选一,选择概率大的那个为最大采样概率;
2-4、选取得分前5名的句子切分组合进行统计,统计得分前5名的句子切分组合中的词语,得分高的切分方式切出来的字符串最接近真实的词语,把只单独出现在领域候选词库中的字符串收集起来作为本次迭代筛选出来的领域词结果,同时出现在通用候选词库和领域候选词库中的字符串逐步转移到通用候选词库中去,在领域候选词库中减少该词的频次,在通用候选词库中增加该词的频次,这里的增加、减少,均是数值上+1、-1;
2-5、返回步骤2-1,重新计算通用候选词库和领域候选词库的词语采样概率,因为一些词的频次已经改变,相应的概率也变了,所以需要重新计算,开始下一次迭代,迭代3次,直到迭代结束,完成领域词汇的收集。
实施例3:
一种基于无监督学习的领域词发现方法,其步骤如实施例2所述,所不同的是,步骤1-3中,在进行n-gram切分时,n的取值范围是1-7,此范围可根据各自领域词的长短做相应收缩。
实施例4:
一种基于无监督学习的领域词发现方法,其步骤如实施例2所述,所不同的是,步骤2-4中,K的取值是3。
实施例5:
一种基于无监督学习的领域词发现方法,其步骤如实施例2所述,所不同的是,步骤2-4中,K的取值是6。
实施例6:
一种基于无监督学习的领域词发现方法,其步骤如实施例2所述,所不同的是,步骤2-5中,迭代次数为2次。
实施例7:
一种基于无监督学习的领域词发现方法,其步骤如实施例2所述,所不同的是,步骤2-5中,迭代次数为4次。