CN105740227B - 一种求解中文分词中新词的遗传模拟退火方法 - Google Patents
一种求解中文分词中新词的遗传模拟退火方法 Download PDFInfo
- Publication number
- CN105740227B CN105740227B CN201610039870.9A CN201610039870A CN105740227B CN 105740227 B CN105740227 B CN 105740227B CN 201610039870 A CN201610039870 A CN 201610039870A CN 105740227 B CN105740227 B CN 105740227B
- Authority
- CN
- China
- Prior art keywords
- individual
- population
- algorithm
- temperature
- simulated annealing
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种求解中文分词中新词的遗传模拟退火方法,首先采用爬虫程序,对互联网信息进行了采集和智能搜索,完成数据准备;然后采用专有词库,对采集到的数据进行中文分词,即发现舆情;利用遗传算法的并行操作和全局收敛性的特性,结合模拟退火算法的局部收敛性,提出了遗传模拟退火算法,并针对舆情监测系统进行相关设计应用。本发明解决了中文信息处理领域中自动分词问题;针对随着社会和互联网发展不断出现的新词,组合遗传算法和模拟退火算法的求解策略,提高了分词的准确率,有效地解决了自动分词结果中出现的散串及分词错误问题,为观察研究分析语言现象的动态变化、规范语言文字以及提高中文自动分词的总体效果起到重要的作用。
Description
技术领域
本发明属于中文查阅和检索技术领域,尤其涉及一种求解中文分词中新词的遗传模拟退火方法。
背景技术
随着我国综合国力的提高,中文在世界舞台中占据越来越重要的地位,同时伴随着互联网技术的发展中文信息也越来越多,中文查阅和检索技术也得到了很大的发展,而如何在浩瀚如海的中文信息世界里找寻到自己所需要的信息和资料成为一个越来越重要课题。在当今信息大爆炸的时代,要处理迅猛增长的海量信息,仅仅依靠人工已经变得不太现实。因此,出现了中文自动分词技术,中文自动分词是自然语言处理(NLP)的基础,是汉语分析的第一道工序。在自然语言处理技术中,西文处理技术的成熟程度远远超过中文处理技术,许多西文中的优秀处理方法中文都不能直接采用,这是由中文特殊的语料特性决定的,因此中文必需有分词这道工序才可以与世界接轨。中文自动分词的准确性和高效性能够保证汉语分析的准确性和高效性,而汉语分析的准确性和高效性不仅能帮助人们检索、分析和管理信息,而且可以解决当今社会信息丰富而知识贫乏的现状。当前中文自动分词已经拥有了很多成熟的分词系统,但是大多数分词系统都是基于词典分词。词典的优点是不言而喻的,但是同样的词典的缺点也是很明显的,例如:词典不能对新发现的词语进行处理,而每时每刻都会出现大量的新词语例如网络词语,专有词语等不存在于词典中的词语,这些词语统称为新词,如果依靠人工来处理,则工作量是不可估量的。但是又为了保证这种情况下中文自动分词的准确性,急切的需要一种可以专门来处理这些新词的方法和策略,基于这个背景,对于新词识别的研究已经变得迫不及待。中文文献检索技术从提出到发展至今,经过了很漫长的过程。1974年首次被提出,直到20世纪80年代才取得飞速的发展,到90年代又出现了新的基于中文检索的领域即情报检索,而情报检索的出现正是中文检索高速发展的催化剂。2001年百度的成立使中文检索达到了前所未有的高度,更是为当今的四大门户网站的产生和发展打下了坚实的基础。可以说从70年代开始到现在中文检索取得了前所未有的成就。中文自动分词直观来讲就是借助计算机自动处理给中文断句,使其能够正确的表达所要表达的意思。中文不同于西文,中文中没有空格作为分隔符,同时在文章中又存在大量的近义词和同义词等。因此,如何给中文自动分词、断句将是一个非常复杂和繁琐的问题,就算人工操作也经常会免不了出现各种各样的问题。
当前分词系统中分词的算法灵活性较差,具有极强的领域性。
发明内容
本发明的目的在于提供一种求解中文分词中新词的遗传模拟退火方法,旨在解决当前分词系统中分词的算法灵活性较差,具有极强的领域性的问题。
解决当前新词不断出现,自动分词结果中易出现“散串”及准确率不高的问题。
本发明是这样实现的,一种求解中文分词中新词的遗传模拟退火方法,所述求解中文分词中新词的遗传模拟退火方法利用遗传算法的并行操作和全局收敛性的特性,结合模拟退火算法的局部收敛性,提出了遗传模拟退火算法,包括相关编码及生存策略、动态交叉和变异因子、多次升温及记忆函数控制策略,并针对舆情监测系统进行相关设计应用。
进一步,所述求解中文分词中新词的遗传模拟退火方法具体包括以下步骤:
步骤一,初始化编码串,利用随机数据补全剩余位数,生成新的字串,设置代数计数器k=0;设置最大进化代数MaxGeneration=100,根据以上定义的编码方式,将全部汉字进行编码;
步骤二,设置参数:交叉率C为0.6,交叉方式为单点交叉;变异率B为0.001执行交叉变异,交叉率系数β,变异率系数γ,初始温度T0和终止温度Te,降温系数α,总升温次数L’,初始化升温次数累计参数l=0,循环操作次数累计参数k=0;
步骤三,评价函数:根据个体适应度函数计算种群中每个个体的适应度f(i);
步骤四,选择操作:将选择算子作用于种群,从种群中选出任意两个个体作为一个对父代,形成d/2组父代;
步骤五,交叉操作:利用交叉率和交叉率系数对每一对个体交换部分染色体;
步骤六,变异操作:根据变异率和变异率系数随机的改变父代中基因位的基因值;
步骤七,生成新的种群:经过选择、交叉、变异生成了新的子代,计算子代中每个个体的适应度,根据Metropolis准则进行筛选最优解,形成新种群;
步骤八,临时最优解处理:多次降温操作种群中个体是否发生变化,如果没有发生变化则将未发生变化的个体添加至临时最优解空间中;
步骤九,降温控制:利用降温策略修改退火温度当前值T=T*α;判断T是否大于Te,如是,则执行步骤十,否则执行步骤十一;
步骤十,终止条件判断:①l=L’时候;②当种群中全部的适应度都大于0.6,并且连续标识为“1”的数量在区间(3,6)时跳出循环;跳转至步骤十二,否则跳转至步骤十一;
步骤十一:多次升温操作:进行升温操作,l=l+1,初始温度T=T0,跳转至步骤二;
步骤十二:输出优化结果;
步骤十三:将结果同临时最优解空间中的临时最优解进行比较,选择适应度高的解添加到新种群中;
步骤十四:结束编译;生成的最优解结果;
步骤十五:反编译:根据原始字串的长度,截取前11位,输出结果。
进一步,所述遗传模拟退火的算法是用退火温度T作为控制函数,首先执行遗传操作,并产生新种群,然后针对新种群利用模拟退火算法中的Metropolis准则与原种群比较并取舍,然后直到T等于最低控制温度,采用了多次升温的策略使最终解更加准确,最终形成全局最优解;
流程图的具体如下:
1、输入系统原始数据并且进行编码;
2、随机产生一定数量的个体生成满足约束条件的初始种群;
3、初始化参数,设置控制参数和过程参数值,控制参数包括初始温度T0、终止温度Te、降温系数α和总升温次数L’、种群遗传迭代次数N’、遗传迭代中交叉率C、遗传迭代中变异率B、交叉率系数β、变异率系数γ,交叉率和变异率根据当前执行的时期进行动态变化;初始化过程参数,即令升温次数累计参数l=0,循环操作次数累计参数k=0;
4、设定循环退火温度当前值T=T0;
5、是否满足终止条件,是则跳转19,否则跳转6;
6、开始while循环函数,判定函数T>Te是则继续,否则跳转17;
7、判定l是否大于等于L’,是则跳转19,否则跳转8;
8、计算每一个个体的适应度;
9、执行选择运算产生新种群,随机从种群中选取个体进行操作;
10、对新种群执行交叉运算,利用交叉率来随机控制种群个体之间的交叉基因,交叉概率的变化为C=C×β;
11、对新种群执行变异运算,根据变异率控制基因的变异,变异率的值设置的比较小,将算法分为搜索前期、中期和后期,其中变异率的变化为B=B×γ;
12、计算新种群中每个个体的适应度;
13、根据Metropolis准则进行取舍父代和子代的存在性,并组成较优新种群,完成该次循环;
14、对得到的新种群中的个体进行更新判断,即如果经过多次降温操作该个体没有任何变化,则执行终止函数,将该个体添加到记忆最优解空间中,否则执行15;
15、令k=k+1;并降低退火温度当前值T=T×α;
16、重新进入while循环判断T值是否达到终止温度Te,即判断T=Te是否成立,是则转17,否则转5;
17、修正升温次数,l=l+1,进入到多次升温操作剔除局部最优解,使算法向全局最优解靠近;
18、判断升温次数是否达到总升温次数L’,若是,则转19,否则转4;
19、输出初级优化结果;
20、将优化结果和记忆最优解空间中的解利用Metropolis准则进行比较,得到全局最优解;
21、算法结束,得到最优解。
进一步,所述编码采用二进制编码;
首先定义字串:一串汉字组成的20位的字符串,一个字串则为种群中的一个个体;字位:每个汉字所占的位置;
字串的组成方式:根据标点符号、英文字符、数字字符或别的特殊字符进行分割,生成初始字符串;对初始字符串进行处理,利用现在常用的分词系统对于初始字段进行分词,如果分词所得词语存在于词库中则将该词语包含的字位都标记为“1”,不存在的“字位”则标记为“0”,生成以“1”和“0”组成的二进制字符串;针对二进制字符串进行处理,利用字串长度20作为判断条件,如果长度不足20的则利用随机数“1”和“0”直接补齐后几位;如果长度超过了20为则按照20位的长度截取,但是在截取过程中做判断,截取的位置前后是否都为“1”,如果为“1”则截取位置向前移动,直到发现截取位置之前的不为“1”再截取,然后利用随机数“1”和“0”补齐剩余位数,否则直接截取产生字串。
进一步,所述种群选取的种群规模为40。
进一步,所述适应度函数如下:
其中L等于个体中出现连续标识为“1”的数量,P'(γki)为γk个体中第i个存在的连续标识在整个训练集中出现频率,P'(γk|N)为个体在整个训练集中出现连续标识的频率总和,N为整个训练集中出现连续标识的大小。
进一步,所述降温控制策略是利用动态的最高温度,动态的最低温度,降温系数的动态调整来控制整个算法的执行过程;具体的过程控制如下:
当算法处于执行初始阶段的时候初始温度可以相应设置的较高,终止温度设置的较低,而降温系数设置的较小,结合遗传算法进入稳定阶段;
当算法执行到一定时间以后进入稳定阶段,而稳定阶段则包含了良性循环阶段和全局或局部收敛阶段;其中良性循环阶段是指当连续多次降温后,当前最优解的更替随着降温的进行有规律的被替换;
当计算进入多次升温阶段后,根据多次升温的次数适当地降低初始温度和减小降温系数α,根据执行次数来确认降温的百分比。
进一步,所述并行计算包括:
在随机选取种群中的个体的时候;
在计算每一个个体的适应度的时候;
在进行交叉编译操作的时候;
整个退火过程用多线程控制,同时进行多个退火的过程。
进一步,所述评价函数通过Metropolis算法来生成评价函数接受新解,Metropolis筛选准则是已知父代和子代的适应度为f(i)、f(j),当f(i)≥f(j)的时候接受父代i;否则,以一定概率接受新个体,其中T为退火温度当前值;对筛选规则进行详细描述:
Metropolis筛选准则参数设置及操作步骤:设置入选种群的概率P(x),x表示当前个体,然后取出当前种群中对应的父代i和子代j,然后根据i和j的适应度值f(i)和f(j)比较竞争进入下一代的入选概率:
如果f(i)≥f(j),则个体i以概率1入选,j被淘汰;
如果f(i)<f(j),则i以概率入选,j以概率入选;
然后根据降温系数降低初始温度进入降温循环环节;
T=αT;
其中f(i)、f(j)为个体i和j的适应度,α(0<α<1)为降温系数,在每次执行完遗传算法中的三种算子后,T值乘以降温系数,以使T值下降,然后进入筛选算法,利用概率组成新种群,进入降温环节;
随着迭代次数的增加,当温度T→0时取极值,有即绝对入选概率无限接近于“1”或者“0”,这时个体i、j入选的概率为:
在种群进化的末期,最终留下来的就是最适合生存的,因此选择的概率将以百分之百入选,最终进化的个体则为最优个体;
即在温度T→0时,种群的竞争已经进入了后期,即个体i、j的竞争变为优胜劣汰的生存模式。
本发明提供的求解中文分词中新词的遗传模拟退火方法,利用遗传算法的并行操作和全局收敛性的特性,结合模拟退火算法的局部收敛性,提出了遗传模拟退火算法,包括相关编码及生存策略、动态交叉和变异因子、多次升温及记忆函数控制策略等;该算法设计求解了新词发现问题,并针对舆情监测系统进行相关设计应用;该算法用模拟退火算法解决了遗传算法中存在的“早熟”问题和进化后期收敛速度问题;用遗传算法解决了模拟退火算法缺乏全局性搜索的能力,使其在当前的解空间中可展开多处局部搜索,从而较好地搜索了整个解空间;最终算法充分发挥了遗传算法的快速全局搜索性能和模拟退火算法的局部搜索能力,既提高了搜索精度,又改善了进化后期效率,有效地解决了新词发现问题。最后通过实验分析与舆情监测系统中的实际应用,对算法的性能及效率进行有效的验证。本发明有效地结合了遗传算法与模拟退火算法;将遗传模拟退火算法应用到中文分词中的新词发现求解;提高舆情监测系统中的新词发现的效率和准确率。而本发明主要系统的研究新词发现的技术和算法及其在实际中的应用,从根本上可以大大提高新词发现的效率和正确率,为中文处理提供强有力的基础和保障。
本发明有效分析两种算法的特性,提出新的组合算法,为新词发现提供新的解决策略和方案;有效保证中文搜索时关键词的及时性、可靠性和准确性;有效提高中文文献搜索的准确性、高效性;有效保证网络舆情监测的准确性、及时性和高效性;有效促进网络言论的规范性和可控性;使计算机动态的、准确的更新词典中的词语。提高中文自动分词的效率和准确率、中文识别在自然语言自动识别中的效率和准确率、汉语语料识别和解释的准确率、汉语语义解析的准确率、中文分词的效率。本发明在算法执行过程中加入了记忆函数处理、临时最优解空间控制、动态交叉参数和变异参数、及采用二进制字符编码等,并将遗传算法嵌套在模拟退火算法中,用模拟退火算法控制全局参数,不同于以往提出的遗传模拟退火算法的流程。本发明通过引入生物学算法—遗传模拟退火算法,来解决中文分词中新词发现的问题。
本发明首次创新性的将遗传模拟退火算法应用于新词发现问题,针对新词发现设计遗传模拟退火算法。针对遗传算法的优势和模拟退火算法的优势互补,合理的解决两种算法本身存在的问题,使整个算法得到最大的优化。其中更是利用了动态降温策略和多次降温策略保证降温过程的合理化和自动化。在算法设计过程中研究了遗传模拟退火算法在别的领域中的应用,取长补短,使新词发现的效率和准确率都得到很大程度的改善。
本发明结合Metropolis生存准则,完美的将生存准则应用于新词发现中。将生物进化的随机性和必然性与新词产生的随机性和必然性结合对比,从来合理的处理新词发现问题。本发明首创的在遗传模拟退火算法中建立临时最优解空间,其中保存的数据为在概率选取中被淘汰掉的最优解和经过多次验证数据未发生变化的最优解,这样在算法结束以后再利用Metropolis生存准则验证可以避免算法中出现的欺骗问题。
本发明由于遗传模拟退火算法首次被应用于解决新词发现问题,虽然在别的领域已经取得了很大的成就,但是其在中文分词领域还有很长的路要走,后期还需要经过更多的实际应用和测试,以便使算法更加优化。本发明首先针对遗传模拟退火算法中存在的问题提出了补救意见并且做出设计,其次根据遗传模拟退火算法的优势提出优势重点突出的策略,主要用多次升温策略和实时监控的手段使整个算法的灵活性增强,并且使认为介入的因素尽可能的减少,保证算法的高智能化。其次对遗传模拟退火算法中的主要操作方法进行了设计,对算法中的几个主要基本类做了简单的论述和实现,利用伪代码来表述算法使算法的可操作性更高,根据实际的测试模拟算法对遗传模拟退火算法进行了编码并且做了测试。本发明中文信息处理领域中自动分词问题;针对随着社会和互联网发展不断出现的新词,组合遗传算法和模拟退火算法的求解策略,提高了分词的准确率,有效地解决了自动分词结果中出现的“散串”及分词错误问题,从而为观察研究分析语言现象的动态变化、规范语言文字以及提高中文自动分词的总体效果起到重要的作用。
附图说明
图1是本发明实施例提供的求解中文分词中新词的遗传模拟退火方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
中文自动分词作为中文信息处理领域的基础研究课题,它的研究对于信息提取、信息检索、机器翻译、文本分类、自动文摘、语音识别、文本语音转换、自然语言理解等的发展有着至关重要的作用。即只要跟中文理解有关的领域,中文自动分词技术都是不可或缺的。而中文自动分词的主要目的就是为了更好的解释汉语语料并且解析汉语的语义,使汉语文字可以被计算机自动识别和解析。当前中文自动分词主要依靠于人工统计产生的词典来进行处理,而仅仅依靠词典已经不能解决每天大量产生的新词语,而对于新词发现的研究一方面是为了动态的扩展词典,确保中文自动分词的高效性和准确性,另一方面则是为了提高汉语语义自动识别的高效性。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例的求解中文分词中新词的遗传模拟退火方法包括以下步骤:
S101:初始化编码串,利用随机数据补全剩余位数,生成新的字串,设置代数计数器k=0;设置最大进化代数MaxGeneration=100,根据以上定义的编码方式,将全部汉字进行编码;
S102:设置参数:交叉率C为0.6,交叉方式为单点交叉;变异率B为0.001执行交叉变异,交叉率系数β,变异率系数γ,初始温度T0和终止温度Te,降温系数α,总升温次数L’,初始化升温次数累计参数l=0,循环操作次数累计参数k=0;
S103:评价函数:根据个体适应度函数计算种群中每个个体的适应度f(i);
S104:选择操作:将选择算子作用于种群,从种群中选出任意两个个体作为一个对父代,形成d/2组父代;
S105:交叉操作:利用交叉率和交叉率系数对每一对个体交换部分染色体;
S106:变异操作:根据变异率和变异率系数随机的改变父代中基因位的基因值;
S107:生成新的种群:经过选择、交叉、变异生成了新的子代,计算子代中每个个体的适应度,根据Metropolis准则进行筛选最优解,形成新种群;
S108:临时最优解处理:多次降温操作种群中个体是否发生变化,如果没有发生变化则将未发生变化的个体添加至临时最优解空间中;
S109:降温控制:利用降温策略修改退火温度当前值T=T*α;判断T是否大于Te,如是,则执行S1010,否则执行S1011;
S1010:终止条件判断:①l=L’时候;②当种群中全部的适应度都大于0.6,并且连续标识为“1”的数量在区间(3,6)时跳出循环;跳转至S1012,否则跳转至S1011;
S1011:多次升温操作:进行升温操作,l=l+1,初始温度T=T0,跳转至S102;
S1012:输出优化结果;
S1013:将结果同临时最优解空间中的临时最优解进行比较,选择适应度高的解添加到新种群中;
S1014:结束编译;生成的最优解结果;
S1015:反编译:根据原始字串的长度,截取前11位,输出结果。
混合遗传模拟退火算法是用退火温度T作为控制函数,首先执行遗传操作,并产生新种群,然后针对新种群利用模拟退后算法中的Metropolis准则与原种群比较并取舍,然后直到T等于最低控制温度,采用了多次升温的策略使最终解更加准确,最终形成全局最优解。
流程图的具体描述如下:
1、输入系统原始数据并且进行编码;
2、随机产生一定数量的个体生成满足约束条件的初始种群;
3、初始化参数,设置控制参数和过程参数值。控制参数包括初始温度T0、终止温度Te、降温系数α和总升温次数L’、种群遗传迭代次数N’、遗传迭代中交叉率C、遗传迭代中变异率B、交叉率系数β、变异率系数γ(交叉率和变异率根据当前执行的时期进行动态变化);初始化过程参数,即令升温次数累计参数l=0,循环操作次数累计参数k=0;
4、设定循环控制退火温度当前值T=T0;
5、是否满足终止条件,是则跳转19,否则跳转6;
6、开始while循环函数,判定函数T>Te是则继续,否则跳转17;
7、判定l是否大于等于L’,是则跳转19,否则跳转8;
8、计算每一个个体的适应度;
9、执行选择运算产生新种群,随机从种群中选取个体进行操作;
10、对新种群执行交叉运算,利用交叉率来随机控制种群个体之间的交叉基因,交叉概率的变化为C=C×β;
11、对新种群执行变异运算,根据变异率控制基因的变异,一般情况下变异率的值设置的比较小,将算法分为搜索前期、中期和后期,其中变异率的变化为B=B×γ;
12、计算新种群中每个个体的适应度;
13、根据Metropolis准则进行取舍父代和子代的存在性,并组成较优新种群,完成该次循环;
14、对得到的新种群中的个体进行更新判断,即如果经过多次降温操作该个体没有任何变化,则执行终止函数,将该个体添加到记忆最优解空间中,否则执行步15。
15、令k=k+1;并降低退火温度当前值T=T×α;
16、重新进入while循环判断T值是否达到终止温度Te,即判断T=Te是否成立,是则转17,否则转5;
17、修正升温次数,l=l+1,进入到多次升温操作剔除局部最优解,使算法向全局最优解靠近;
18、判断升温次数是否达到总升温次数L’,若是,则转19,否则转4;
19、输出初级优化结果;
20、将优化结果和记忆最优解空间中的解利用Metropolis准则进行比较,得到全局最优解;
21、算法结束,得到最优解。
下面结合具体实施例对本发明的应用原理作详细的说明。
实施例1:求解新词发现的遗传模拟退火算法
1.1遗传模拟退火算法策略设计
遗传模拟退火算法被广泛应用于各个领域,从唯物辩证的角度出发,事物即具有共性又具有特性,遗传模拟退火算法也不例外,其在实际应用方面同样既具有共性又具有特性,因此在不同的领域对于算法的运用和策略具有不同的要求,要根据当前研究领域的特性来确定策略特性。将遗传模拟退火算法应用于新词发现中来,也必须具有独特的优化特性。为了满足新词发现的高效性和准确性,在实验过程中采取以下策略和方法来实现算法。
(1)、编码方式
编码方式作为整个遗传模拟退火算法的核心,也可以说是整个算法的数据整理中心,具有极强重要的地位。编码的目的是用特定的编码方式对需要解决的问题进行抽象,使其成为简单的数学模型或数据模型,以方便计算机识别和处理。传统的编码方式有很多种,经常被用到的有二进制编码和浮点型编码,本发明将采用二进制编码来解决问题。在设计编码之前首先定义两个基本概念①、字串:一串汉字组成的20位的字符串,一个字串则为种群中的一个个体;(设置每一个个体的长度为20个字位,是因为汉语中一句话超过20个汉字的不足10%,大部分汉语的长度都在20个汉字左右)②、字位:每个汉字所占的位置。
字串的组成方式:①、根据标点符号、英文字符、数字字符或别的特殊字符进行分割,生成初始字符串;②、对初始字符串进行处理,利用现在常用的分词系统对于初始字段进行分词,如果该词语存在于词库中则将该词语包含的字位都标记为“1”,不存在的“字位”则标记为“0”,生成以“1”和“0”组成的二进制字符串;③、针对二进制字符串进行处理,利用字串长度20作为判断条件,如果长度不足20的则利用随机数“1”和“0”直接补齐后几位;如果长度超过了20位则按照20位的长度截取,但是在截取过程中做判断,截取的位置前后是否都为“1”,如果为“1”则截取位置向前移动,直到发现截取位置之前的不为“1”再截取,然后利用随机数“1”和“0”补齐剩余位数,否则直接截取产生字串。
例如:文本“数值方法求解这一问题的主要手段是物质运算。一般的物质方法容易陷入局部机制的陷阱而出现"死循环"现象,使迭代物质进行。”根据标点符号和特出字符分割为“数值方法求解这一问题的主要手段是物质运算/一般的物质方法容易陷入局部机制的陷阱而出现/死循环/现象/使迭代物质进行/”;其中分割为五个大的字段,然后根据分词将以上字串进行编码则为“00110000110001101100……”;截取并且根据长度进行补齐;最终形成的20位的个体的字串组成格式为:00110000110001101100。最终就生成了以二级制编码格式的转换,为数据模型转换提供了基础数据。
(2)、种群选取
编译方式是数据准备阶段,接下来将要针对数据建立相应的遗传模型。首先要进行种群的选取,种群选取必须考虑的有以下几点:①、种群的规模:种群中个体的数量,一般情况下种群的选取是种群越大则得到的最优解的概率最高,但是种群过大就必须付出查找效率低的代价,因此选择合适的种群也是提高新词发现效率的主要方法;②、算法运行效率:算法的运行效率是整个遗传模拟退火算法的核心之一,好的效率可以保证在有效的时间中得到最优解。综上所述,经过简单的实验和初步测试当前最适合的种群规模为40,这样效率得到了保障,发现最优解的准确率也同时得到了保障。种群选取根据的是随机选取的原则,根据编码产生的二进制编码字串,随机从存储空间中将40个二进制字串放到一个容器中即组成了初始种群。
(3)、适应度函数
种群初始化以后,则需要对种群中的个体的适应度进行计算,而适应度函数的设计原则不同则计算出来的适应度不同。适应度是群体中个体生存概率选择的重要指标,适应度函数的形式直接决定着个体的优劣和种群发展的进化行为。一般来说,好的染色体字串具有比较高的适应度函数,即获得更高的生存机会和好的评价值。在种群中每个个体γk的适应度函数值f(k)称为这个个体γk的适应度。对于未登录词识别问题,遗传模拟退火算法设置一个字串中出现多个连续“1”标识的概率之和,用来计算该个体的适应度。其中每个字串中出现连续标识的概率之和根据单独成词的“独立性”之和得出的。适应度函数如下:
其中L等于个体中出现连续标识为“1”的数量,P'(γki)为γk个体中第i个存在的连续标识在整个训练集中出现频率,P'(γk|N)为个体在整个训练集中出现连续标识的频率总和,N为整个训练集中出现连续标识的大小。为了便于函数的控制和比较,每一个种群根据个体适应度对种群进行重新排序。
(4)、降温控制策略
在整个算法中主要利用模拟退火算法中的温度变量作为全局变量,因此包含了退火函数的调整,退火函数的初始函数包含有多个参数:最初的温度T0、终止温度Te、降温系数α;其中这几个参数的选择必须满足模拟退火函数的要求,即较高的初始温度、较低的终止温度和缓慢的降温速度,以保证主体搜索阶段不至于过早收敛结束,保证数据的准确性;但是由于模拟退火算法的搜索效率较低,为了保证搜索的平衡则必须对以上规则做出适当的调整,以满足遗传模拟退火算法的要求。可将遗传模拟退火算法根据解的变化情况将其分成多个执行部分:初次执行阶段、良性循环阶段、全局或局部、多次升温阶段。本发明将该策略手段称之为动态控制,动态控制主要是利用动态的最高温度,动态的最低温度,降温系数的动态调整来控制整个算法的执行过程。具体的过程控制如下:①、当算法处于执行初始阶段的时候初始温度可以相应设置的较高,终止温度设置的较低,而降温系数设置的较小,结合遗传算法进入稳定阶段。②、当算法执行到一定时间以后进入稳定阶段,而稳定阶段则包含了良性循环阶段和全局或局部收敛阶段;其中良性循环阶段是指当连续多次降温后,当前最优解的更替随着降温的进行有规律的被替换,则说明当前搜索处于良性循环阶段,此时可提高终止温度和增大降温系数(终止温度提高10%或降温系数增大10%),从而加快计算速度;另一阶段称之为过早收敛阶段,即当连续数次降温后,当前最优解随着降温进行均未发生任何变化,则说明当前搜索进入了全局收敛区域或较大的局部极小区域,此时应大幅度降低终止温度和减小降温系数(终止温度下降10%或降温系数减少10%),以提高算法“跳出”局部极小区域的能力,从而改善算法的收敛精度,同时结合收敛判据的使用,对全局收敛做出较为准确的判断。③、当计算进入多次升温阶段后,可以根据多次升温的次数适当地降低初始温度(为首轮初始温度的20%—40%)和减小降温系数α,根据执行次数来确认降温的百分比。在执行过程中加入良性循环阶段和收敛阶段的判定,并且依次对降温数据进行调整,在良性循环阶段的时候不再修改终止温度而减少初始温度和增大降温系数,在收敛阶段则大幅度提高初始温度并降低降温系数,从而缩短算法的运行时间,提高搜索最优解的概率和准确率。
(5)、多次升温策略
遗传模拟退火算法中退火部分比较难以控制,虽然设置了动态初始温度和动态控制降温系数,但是在执行过程中还是会有可能陷入局部极小区域中,而为了保证退火部分的准确性,特在遗传模拟退火算法中引入了多次升温的策略,这个策略是在算法执行过程中做多次验证和核实。经过多次升温、退火后,算法的精确度会趋一个稳定近值,可在较短时间内求得复杂问题的全局最优点。省去了重头开始的计算,这样可以大大的提高运行的效率。
(6)、并行计算
为了保证运算的效率,遗传模拟退火算法继承了遗传算法和模拟退火算法的并行计算能力,根据并行计算的定义一般分为多处理器和多线程两种,本发明利用多线程来处理数据,将数据根据运行阶段的不同划分出来。因为在整个算法中,遗传模拟退火算法的逻辑性和独立性很强,因此在以下几个地方加入多线程操作能够高效的提高整个算法的运算能力:①、在随机选取种群中的个体的时候;②、在计算每一个个体的适应度的时候;③、在进行交叉编译操作的时候;④、整个退火过程可以用多线程控制,同时进行多个退火的过程。通过以上几个部分的处理,整个运行效率得到了很大的提高,使并行计算真正的融入到遗传模拟退火算法中。
(7)、评价函数
评价函数的引入保证了后代选取的高效性,不仅仅依靠适应度的高低来进行判断,而是在适应度的前提下利用概率选择保证整个种群的多样性(指的是最优多样性,即种群中的一些个体分别代表解空间不同的局部最优所在的区域),而不至于陷入局部最优的情况。在对评价函数进行定义之前首先对生存策略进行简单的介绍。在对生存策略的主要要求做了简单的介绍主要有:(1)接受所有子代;(2)设f是群的最低适应性,仅接受适应性大于f+1%的子代;(3)仅接受其适应性大于其群最低适应性的子代;(4)仅接受其适应性大于群最低适应性的子代;(5)仅接受适应性大于其父亲的子代。并且在传统的生存策略中引入Boltzmann生存机制;本发明通过Metropolis算法来生成评价函数接受新解。Metropolis筛选准则是已知父代和子代的适应度为f(i)、f(j),当f(i)≥f(j)的时候接受父代i;否则,以一定概率接受新个体,其中T为当前的温度值。下边将对筛选规则进行详细描述:
Metropolis筛选准则参数设置及操作步骤:设置入选种群的概率P(x)(x表示当前个体),然后取出当前种群中对应的父代i和子代j,然后根据i和j的适应度值f(i)和f(j)比较竞争进入下一代的入选概率:
如果f(i)≥f(j),则个体i以概率1入选,j被淘汰;
如果f(i)<f(j),则i以概率入选,j以概率入选;
然后根据降温系数降低初始温度进入降温循环环节;
T=αT(温度随着温度系数每次减小)
其中f(i)、f(j)为个体i和j的适应度,T为当前循环到的初始温度值,α(0<α<1)为降温系数。在每次执行完遗传算法中的三种算子后,T值乘以降温系数,以使T值下降,然后进入筛选算法,利用概率组成新种群,进入降温环节。
随着迭代次数的增加,当温度T→0时取极值,有即绝对入选概率无限接近于“1”或者“0”,这时个体i、j入选的概率为:
在种群进化的末期,最终留下来的就是最适合生存的,因此选择的概率将以百分之百入选,这样最终进化的个体则为最优个体。
即在温度T→0时,种群的竞争已经进入了后期,即个体i、j的竞争变为优胜劣汰的生存模式,这种竞争模式其实就变成了父代和子代之间同族两两竞争,跟自然界中很多种族的进化方式完全吻合。
(8)、自适应的交叉率和变异率
首先介绍了遗传模拟退火算法中模拟退火算法部分的优化策略,遗传算法部分的优化也显得极为重要,在这里本发明将引入自适应的交叉率和自适应的变异率。自适应的交叉率和变异率指的是根据进化的不同阶段,交叉率和变异率根据一定的比例进行的变化,同样可以将其分为三阶段,进化初始阶段、稳定阶段、进化末期。设定参数交叉率C、变异率B、交叉变更因子β和变异变更因子γ。①、在进化初期,将交叉率和变异率设定为初始值,但是不能太高,一般的设置参数为C=0.6和B=0.001,其中变异率属于突发事件,发生的概率本来就很低,这样才可以保证进化的合理性。②、进入稳定期,将适当降低变异率根据参数表示为B=B*γ而控制交叉率不变。③、进入进化末期,因为种群已经基本接近稳定,适应度等已经接近最优解甚至已经有可能是最优解了,再次降低变异率,同时根据交叉变更因子降低交叉率即C=C*β和B=B*γ,直到整个算法结束。
自适应交叉率和自适应变异率的引入,合理的降低了种群中在后期发生突变的概率,为种群特性的稳定提供了一个动态的控制,这样不至于使种群的进化进入假象最优解,又使种群的进化效率得到了极大的改善。
(9)、增加记忆函数
遗传模拟退火算法中利用Metropolis准则来对个体进行概率判断,但是小概率事件不代表不会发生,因此为了避免搜索过程中由于执行概率接受环节而遗失当遇到的最优解,特增加记忆函数,用容器来保存之前出现的较优状态,并且根据适应度值将记忆函数一个容器中的个体进行从高到低的排序,当执行完一次降温以后再次选择出容器中的前几个较优解进行Metropolis准则判断,选择出整个全局过程的最优值。
利用记忆函数能极大的降低小概率事件发生的概率,可以极大的保证最优解被传递到下一代中去,对于整个算法的优化有极大的重要意义。
(10)、收敛条件的制定
收敛条件作为判断算法结束的重要条件,其强制性执行可以保证算法高效运行,不至于已经找到了全局最优解,但是因为算法未完成而继续执行浪费了大量的资源和时间。因此需要设置合适的目标函数作为收敛的条件,当满足目标函数的要求即立刻退出算法。目标函数的设定是保证算法正常退出的一个重要条件,可以在一定的情况下提高运行效率,当达到目标的时候算法的运行就必须结束,也就是已经找出了最优解。在未登录词识别中目标函数的主要作用就好像在TSP问题中的全部城市走一遍的路径的权值,而其就是这个权值的最小值。本发明的目标函数的确认将根据适应度和个体中连续标识为“1”的数量值来进行确认。首先适应度必须达到一个适当的高度,例如达到0.6;其次个体中连续标识的数量[4,6]区间内,必须同时满足两个条件才可以判定为达到目标函数,跳出整个循环,取得最优解;再次满足终止条件,即最优解在多次降温中都未发生任何变化则既可认为得到最优解,跳出算法得到最优解。
1.2遗传模拟退火算法操作步骤
例如,句子“中国是世界上最好的国家。”,进行切分预处理后得到的未登录词候选字段“中国/是/世/界/上/最/好/的/国家/”
1、初始化:编码串为“11000000011”,长度L=20,利用随机数据补全剩余位数,生成字串为“11000000011000111010”,设置代数计数器k=0;设置最大进化代数MaxGeneration=100,根据以上定义的编码方式,将全部汉子进行编码;
2、群体规模n=20;设置参数:交叉率C为0.6,交叉方式为单点交叉;变异率B为0.001执行交叉变异,交叉率系数β,变异率系数γ,初始温度T0和终止温度Te,降温系数α,总升温次数L’,初始化升温次数累计参数l=0,循环操作次数累计参数k=0;(其中参数为遗传算法中20位基因时最优的值,即经验值);
3、评价函数:根据个体适应度函数计算种群中每个个体的适应度f(i);
4、选择操作:将选择算子作用于种群,从种群中选出任意两个个体作为一个对父代,形成P/2组父代。
5、交叉操作:利用交叉率和交叉率系数对每一对个体交换部分染色体;
6、变异操作:根据变异率和变异率系数随机的改变父代中基因位的基因值;
7、生成新的种群:经过选择、交叉、变异生成了新的子代,计算子代中每个个体的适应度,根据Metropolis准则进行筛选最优解,形成新种群;
8、临时最优解处理:多次降温操作种群中个体是否发生变化,如果没有发生变化则将未发生变化的个体添加至临时最优解空间中;
9、降温控制:利用降温策略修改退火温度当前值T=T*α;判断T是否大于Te,否则执行第11步;
10、终止条件判断:①l=L'时候;②当种群中全部的适应度都大于0.6,并且连续标识为“1”的数量在区间(3,6)时跳出循环;跳转至第12步;
11、多次升温操作:进行升温操作,l=l+1,退火温度当前值T=T0,跳转至第2步;
12、输出优化结果;
13、将结果同临时最优解空间中的临时最优解进行比较,选择适应度高的解添加到新种群中;
14、结束编译;生成的最优解结果为:11011000011010101010;
15、反编译:根据原始字串的长度,截取前11位,输出结果为11011000011,则输出结果为中国/是/世界/上/最/好/的/国家/。(“世界为识别出来的新词”)。
1.3伪代码描述
通过伪代码的描述使整个算法的条理更加清楚,也为操作的实现提供强大的基础。伪代码作为自然语言和计算机语言之间的转换语言,是用特殊的问题和符号来描述整个算法,每一行表示一个操作,它不需要图形符号,因此书写方便、格式紧凑,更使人容易读懂,是算法向计算机程序过渡的重要过程。遗传模拟退火算法的伪代码如下:
算法名称:ProcedureHybridIntelligent();
算法过程:
下面结合具体的应用对本发明的应用原理作进一步的描述。
新词发现在舆情监测系统中的应用
1.1舆情监测系统背景
网络媒体随着互联网产业的高速发展已经成为主流的信息传播形式,已经成为人们日常生活中不可或缺的存在,例如当下最流行的微博、博客、微信、论坛等等。网络言论已经成为一把无形的刀,其活跃程度已达到前所未有,不论是国内还是国际,不论是鸡毛蒜皮的小事还是震动四方的重大事件,在网络媒体的推动下都能马上形成网络舆论,可以说,网络已经成为了思想、文化、信息的集散地,更是社会舆论的扩音器。这种通过网络来表达观点、交流文化、散布信息和传播思想产生巨大的舆论压力,已经达到任何国家、机构都无法忽视的地步。例如:美国已经实施对全国电话的进行监控。
当今社会,信息的传播空前迅捷,而网络信息和思想的表达也变得日益多元化。正确的引导和处理网络言论是当今社会面临的重要问题,尤其是针对某些热点和焦点问题,人们发表和表达的有较强影响力和倾向性的言论和观点。这种观点和言论一般被称之为网络舆情,网络舆情有正面的也有负面的,对于负面的言论如果处理不及时将对社会公共安全造成较大的危害。因此对于相关政府部门来说,如何加强对网络舆情的及时监控、正确分析、有效引导,以及对网络舆论的提前预防,对维护社会稳定、促进国家发展具有重要的现实意义,也是创建和谐社会的主要组成部分。
舆情监控系统是一款监督网络言论、管理地州事务、处理突发事件、提供应急响应为一体的多功能监控平台。系统主要针对的是省市和各地州县的政府机关,利用系统将当前网络上最新的咨询和信息推送到各地政府部门的信息中心,以提高各部门对应急事务的处理能力和反应能力。舆情监控系统可以更好的推进政府办公信息化,使政府可以第一时间发现网络上存在的问题和网络事件的发生,甚至可以从一些网络信息中推断出某些针对性事件,提高政府的预防能力,为办公自动化、信息化提供强有力的保障,为创建和谐社会做出重要的贡献。
1.2舆情监测系统架构
舆情监测系统主要分为三层结构,分别是应用服务层、数据分析处理层和网络监测与管理层,主要包括的基本功能有热点人物监测、热点话题监测、趋势分析、突发事件分析、报警系统、统计报告、网络预警等。
整个舆情监控系统的核心是对数据的操作即可以数据准备、数据处理、数据应用。其中网路监测和管理对应的是数据准备,数据分析处理对应的是数据处理,应用服务对应的是数据应用。在数据准备阶段首先利用爬虫算法从各大新闻网站、论坛、博客、微博、贴吧等网络媒体抓取到文本信息,根据点击率、查看率等对文本信息设置相应的权值,然后对数据进行过滤、提取、去重和分析。然后将文本信息建立索引、分类、聚类、查询等操作,建立起索引库、元信息库和原始信息库。当完成数据准备工作以后则进入数据处理阶段,数据处理阶段主要分为智能分词和智能处理两大块,顾名思义,智能分词就是利用现有技术根据实际将文本信息的内容划分成所需要的关键词;而智能处理则根据云南本地现状设置有舆情分类体系、地域特性分类、关键问题分类聚类、关键词提取等。最后进行数据应用,在该阶段主要的应用有热点监测、热点话题监测、热点人物监测、最新话题监测、趋势监测、网络群体监测、网站内容监测、敏感信息监测及其他信息监控和分析。
通过架构可以得出各层的基本功能和设置,具体如下:
1、应用服务层:应用服务层主要实现热点新闻的监测、热点话题的监测(例如云南省市各地州及国家重要话题)、热点人物的监测(例如云南省市及各地州领导人)、网络敏感信息的监测、趋势预测及监控、其它信息监控与分析等功能。服务层主要基于SSH框架和Oracle数据库完成开发。
2、网络数据抓取:数据主要来源于新浪、腾讯、网易、搜狐及国内各大论坛,主要分析对象为各大政府新闻网、各地州贴吧、论坛、新闻网站等等。数据抓取部分使用的是C#写的爬虫算法,将信息添加到各个xml文件中,生成备份,实时的对特定网站和随机网站进行监测和监控。将网络上的新闻经过监测、采集、过滤、去重处理后保存到数据库中,完成数据准备阶段。
3、数据分析处理:该层处于数据抓取和应用服务的中间,具有极其重要的作用,主要是对准备好的文本信息进行处理,将其中关键的词语、出现频率较高的词语、敏感型词语提取出来并根据不同的词语对文本信息进行分类,然后传递给前台,方便前台根据关键词进行提醒和搜索。综上所述,数据分析处理层主要是对新闻进行中文分词处理、关键词统计、敏感词抓取及新词的发现。
1.3舆情监测系统核心技术分析
舆情监测系统核心技术主要是数据准备阶段和数据分析阶段,舆情监测系统的核心技术主要有互联网信息采集、智能搜索、自然语言处理三大技术模块。互联网信息采集技术主要保证信息的实时更新、实时采集、全网监测和定向采集;智能搜索主要包含垂直搜索、行业搜索、企业搜索等多种搜索引擎;自然语言智能处理作为数据处理部分的核心,主要包含中文分词、自动分类、自动聚类、自动摘要、新词发现和元数据抽取等等。
舆情监控系统主要的核心就是发现舆情,而发现舆情需要收集大量数据,其次是从大量数据可以准确的分析出所需要的信息,而这部分正是中文分词重要性的体现,而舆情监测系统正是应用了这一技术才使整个舆情发现更加智能化、精确化。中文自动分词作为自然语言智能处理的数据基础,其判断的准确性决定了整个舆情监测系统的价值;新词发现更是为保证信息的实时性、高效性、准确性提供了有力的保障。
1.4数据分析处理模块介绍
在舆情监控系统中,数据分析处理模块具有极其重要的地位,主要用来进行中文分词、自动分类、自动聚类、自动摘要、新词发现和元数据抽取等功能。其中中文分词和新词发现是其它技术的基础,中文分词的效率和准确率严重影响整个系统的平衡。
1.4.1中文分词实现
1、中文分词实现环境
开发环境:Eclipse;
开发语言:Java;
引用工具:Ikanalyzer和lucene;
词库应用:Ikanalyzer默认词库、领导新建词库、地名词库、停用词词库;
2、代码结构分析
将配置文件添加进wordconfig文件夹中的wordConfig.xml,然后用ParseConfigXml类来解析配置文件。File文件中,DealFile类用来将文件整理成规范格式;DeleteDile类用来移除存在问题文件及清空调用文件夹;MoveFile类用来将操作完成的文件另存到新的目录;ReadFile类用来读取经过DealFile处理后的文本信息;WriteFile类用来将处理成功后的内容写入到新文件中去。InforFile类中书写的是根据路径来检查文件并且读取文件名称及路径。Adddic文件下,ProduceXMl类用来解析Ikanalyzer.cfg.xml文件,调用Ikanalyzer分词库的方法;WordTools类根据当前问题调用Ikanalyzer来进行分词处理。com文件下,WordsCount类用来统计词频、处理关键词、将词语分类;Participle类用来自动选择分词器进行分词操作;MainFile类则为主函数。整个过程利用了多线程进行控制,以提高分词的效率。
3、类图
整个类图的基本结构比较明确,主要关系为Participle类与WordsCount类之间的单向关联关系;还有InforFile类与ReadFile类之间的单向关联关系。而整个操作的核心为分词类Participle和对结果的统计、分类和过滤类WordsCount。
1.4.2新词发现介绍
1、新词发现实现环境
开发环境:Eclipse;
开发语言:Java;
引用工具:Ikanalyzer和lucene;
词库引用:停用词库;
2、代码结构分析
代码结构图中包含配置文件newwordConfig.xml文件;DBManager类用来管理数据库中数据的读、写、改等操作;MoveFile类将处理过后的文件转移到新的文件夹中;ReadWord类读取文件中的信息并且进行切割成20个字符的字段;newWordMove类则将处理完成的词语转移到新的库中;SearchFile类读取所配置路径下的文件并检查;HybridInterlligent类是模拟退火算法,调用ReadWord类处理后的字串进行种群选择,判断新词的产生,并且输出;NewEntry为主函数。该代码利用了多线程控制,有效的提高了运行效率。
3、类图
新词发现部门是即中文分词后的后续工作,同样应用到了Ikanalyzer的停用词库,利用停用词库来截取字段,其中各个操作函数之间都从数据库进行调用,然后HybridInterlligent类主要用来进行新词处理,其它类则均为该方法服务。为了数据的独立性,没有在类与类之间设置继承和相应的关联关系。
下面结合实验对本发明的应用效果作详细的描述。
通过实验进行算法的性能和效率分析。实验数据采用从网络新闻中用网络爬虫抓取获得,并对获得的随机数据进行清理分析,在其上运行遗传模拟退火算法,并对算法进行分析。
1.1实验数据
为了有效地分析算法的性能,需要建立相应测试文本库。由于目前没有典型范例,本发明采用了大量的随机数据进行测试。本发明设计了一个网络爬虫,该算法对当前的新闻网络数据进行了搜索。其中爬虫算法中包含有网页标签识别、特殊标签付识别、内容信息核对、新闻名称确认和网页来源记录等。通爬虫算法对新闻数据进行筛选,并建立测试文本库,文本库中的信息主要来源于网易新闻、新浪新闻等。本发明对大量文本进行了分析和统计,以一个文本数据为例,文本库中包含文本数量为6000多个,根据统一规则格式将其保存于统一目录下。由于文本库中的内容大多数来源于网络,而网页的格式中包含了大量的其它信息,初始网面内容通过对网页内容进行分析,去除无用的标签、链接和图片信息,获得其有用的文本信息。其中,每个文本中包含:表名、文件名、文章名称、文本内容、链接及其网页快照路径。然后,利用二维编码方式将文本信息进行编码,根据论文中的编码策略进行实施,具体转换结。
最后,根据编码结果,将编码结果根据种群组成原则进行分组,然后根据遗传模拟退火算法进行运算,统计出文本中新发现的词语,具体输出结果。
接下来将根据统计数据来对结果进行分析。
1.2实验数据统计与分析
近几年中文分词中新词发现的研究比较多,但是大多数研究都是以863项目的测评数据作为比较对象,而随着智能算法的引入和取得的成就,人们将更多的注意力关注到利用智能算法解决新词发现问题。本发明随机从6000多条网络信息中选取出600条真实语料,进行统计和比较。识别结果如表1。
表7.1遗传模拟退火算法识别新词发现结果
根据表1统计结果得出,根据不同词数得出运算结果,分别计算每次得出的正确词语个数、识别错误个数和未识别个数。根据统计,词语的召回率和正确率波动正常,计算其平均值即平均正确率P=88.6%,平均召回率Z=83.2%。
通过以上表1中结果的展示结合新词发现结果的统计,最终得出新词发现统计结果对比表如表2。
表7.2新词发现算法效果对比
表2中分别就当前所有的几种新词发现算法做了比较,召回率作为评价算法优劣的主要参数,可以很好的反应整个算法的优劣性。其中免疫遗传算法和遗传模拟退火算法都可以很好的解决遗传算法的“早熟”问题和局部收敛性问题,但因遗传模拟退火算法不需要在运行之前准备免疫因子库,更不依赖于因子库的变更而影响算法的准确性。从实验结果来看,准确率和召回率都有极大的改善,为智能算法解决新词发现问题提供了更有效的方案。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种求解中文分词中新词的遗传模拟退火方法,其特征在于,所述求解中文分词中新词的遗传模拟退火方法首先采用爬虫程序,对互联网信息进行了采集和智能搜索,完成数据准备;然后采用专有词库,对采集到的数据进行中文分词,即发现舆情;利用遗传算法的并行操作和全局收敛性的特性,结合模拟退火算法的局部收敛性,提出了遗传模拟退火算法,包括相关编码及生存策略、动态交叉和变异因子、多次升温及记忆函数控制策略,并针对舆情监测系统进行相关设计应用;
所述遗传模拟退火的算法具体包括:
步骤一,输入系统原始数据并且进行编码;
步骤二,随机产生一定数量的个体生成满足约束条件的初始种群;
步骤三,初始化参数,设置控制参数和过程参数值,控制参数包括初始温度T0、终止温度Te、降温系数α和总升温次数L’、种群遗传迭代次数N’、遗传迭代中交叉率C、遗传迭代中变异率B、交叉率系数β、变异率系数γ,交叉率和变异率根据当前执行的时期进行动态变化;初始化过程参数,即令升温次数累计参数l=0,循环操作次数累计参数k=0;
步骤四,设定循环退火温度当前值T=T0;
步骤五,是否满足终止条件,是则跳转步骤十九,否则跳转步骤六;
步骤六,开始while循环函数,判定函数T>Te是则继续,否则跳转步骤十七;
步骤七,判定l是否大于等于L’,是则跳转步骤十九,否则跳转步骤八;
步骤八,计算每一个个体的适应度;
步骤九,执行选择运算产生新种群,随机从种群中选取个体进行操作;
步骤十,对新种群执行交叉运算,利用交叉率来随机控制种群个体之间的交叉基因,交叉概率的变化为C=C×β;
步骤十一,对新种群执行变异运算,根据变异率控制基因的变异,变异率的值设置的比较小,将算法分为搜索前期、中期和后期,其中变异率的变化为B=B×γ;
步骤十二,计算新种群中每个个体的适应度;
步骤十三,根据Metropolis准则进行取舍父代和子代的存在性,并组成较优新种群,完成该次循环;
步骤十四,对得到的新种群中的个体进行更新判断,即如果经过多次降温操作该个体没有任何变化,则执行终止函数,将该个体添加到记忆最优解空间中,否则执行步骤十五;
步骤十五,令k=k+1;并降低退火温度当前值T=T×α;
步骤十六,重新进入while循环判断T值是否达到终止温度Te,即判断T=Te是否成立,是则转步骤十七,否则转步骤五;
步骤十七,修正升温次数,l=l+1,进入到多次升温操作剔除局部最优解,使算法向全局最优解靠近;
步骤十八,判断升温次数是否达到总升温次数L’,若是,则转步骤十九,否则转步骤四;
步骤十九,输出初级优化结果;
步骤二十,将优化结果和记忆最优解空间中的解利用Metropolis准则进行比较,得到全局最优解;
步骤二十一,算法结束,得到最优解;
所述编码采用二进制编码;首先定义字串:一串汉字组成的20位的字符串,一个字串则为种群中的一个个体;字位:每个汉字所占的位置;字串的组成方式:根据标点符号、英文字符、数字字符或别的特殊字符进行分割,生成初始字符串;对初始字符串进行处理,利用现在常用的分词系统对于初始字段进行分词,如果分词所得词语存在于词库中则将该词语包含的字位都标记为“1”,不存在的“字位”则标记为“0”,生成以“1”和“0”组成的二进制字符串;针对二进制字符串进行处理,利用字串长度20作为判断条件,如果长度不足20的则利用随机数“1”和“0”直接补齐后几位;如果长度超过了20为则按照20位的长度截取,但是在截取过程中做判断,截取的位置前后是否都为“1”,如果为“1”则截取位置向前移动,直到发现截取位置之前的不为“1”再截取,然后利用随机数“1”和“0”补齐剩余位数,否则直接截取产生字串;
所述种群选取的种群规模为40。
2.如权利要求1所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述求解中文分词中新词的遗传模拟退火方法具体包括以下步骤:
步骤一,初始化编码串,利用随机数据补全剩余位数,生成新的字串,设置代数计数器k=0;设置最大进化代数MaxGeneration=100,根据以上定义的编码方式,将全部汉字进行编码;
步骤二,设置参数:交叉率C为0.6,交叉方式为单点交叉;变异率B为0.001执行交叉变异,交叉率系数β,变异率系数γ,初始温度T0和终止温度Te,降温系数α,总升温次数L’,初始化升温次数累计参数l=0,循环操作次数累计参数k=0;
步骤三,评价函数:根据个体适应度函数计算种群中每个个体的适应度f(i);
步骤四,选择操作:将选择算子作用于种群,从种群中选出任意两个个体作为一个对父代,形成d/2组父代;
步骤五,交叉操作:利用交叉率和交叉率系数对每一对个体交换部分染色体;
步骤六,变异操作:根据变异率和变异率系数随机的改变父代中基因位的基因值;
步骤七,生成新的种群:经过选择、交叉、变异生成了新的子代,计算子代中每个个体的适应度,根据Metropolis准则进行筛选最优解,形成新种群;
步骤八,临时最优解处理:多次降温操作种群中个体是否发生变化,如果没有发生变化则将未发生变化的个体添加至临时最优解空间中;
步骤九,降温控制:利用降温策略修改退火温度当前值T=T*α;判断T是否大于Te,如是,则执行步骤十,否则执行步骤十一;
步骤十,终止条件判断:①l=L’时候;②当种群中全部的适应度都大于0.6,并且连续标识为“1”的数量在区间(3,6)时跳出循环;跳转至步骤十二,否则跳转至步骤十一;
步骤十一:多次升温操作:进行升温操作,l=l+1,初始温度T=T0,跳转至步骤二;
步骤十二:输出优化结果;
步骤十三:将结果同临时最优解空间中的临时最优解进行比较,选择适应度高的解添加到新种群中;
步骤十四:结束编译;生成的最优解结果;
步骤十五:反编译:根据原始字串的长度,截取前11位,输出结果。
3.如权利要求1所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述遗传模拟退火的算法是用退火温度T作为控制函数,首先执行遗传操作,并产生新种群,然后针对新种群利用模拟退后算法中的Metropolis准则与原种群比较并取舍,然后直到T等于最低控制温度,采用多次升温的策略使最终解更加准确,最终形成全局最优解。
4.如权利要求1所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述适应度函数如下:
其中L等于个体中出现连续标识为“1”的数量,P'(γki)为γk个体中第i个存在的连续标识在整个训练集中出现频率,P'(γk|N)为个体在整个训练集中出现连续标识的频率总和,N为整个训练集中出现连续标识的大小。
5.如权利要求1所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述降温控制策略是利用动态的最高温度,动态的最低温度,降温系数的动态调整来控制整个算法的执行过程;具体的过程控制如下:
当算法处于执行初始阶段的时候初始温度可以相应设置的较高,终止温度设置的较低,而降温系数设置的较小,结合遗传算法进入稳定阶段;
当算法执行到一定时间以后进入稳定阶段,而稳定阶段则包含了良性循环阶段和全局或局部收敛阶段;其中良性循环阶段是指当连续多次降温后,当前最优解的更替随着降温的进行有规律的被替换;
当计算进入多次升温阶段后,根据多次升温的次数适当地降低初始温度和减小降温系数α,根据执行次数来确认降温的百分比。
6.如权利要求1所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述并行操作包括:
在随机选取种群中的个体的时候;
在计算每一个个体的适应度的时候;
在进行交叉编译操作的时候;
整个退火过程用多线程控制,同时进行多个退火的过程。
7.如权利要求2所述的求解中文分词中新词的遗传模拟退火方法,其特征在于,所述评价函数通过Metropolis算法来生成评价函数接受新解,Metropolis筛选准则是已知父代和子代的适应度为f(i)、f(j),当f(i)≥f(j)的时候接受父代i;否则,以一定概率接受新个体,其中T为退火温度当前值;对筛选规则进行详细描述:
Metropolis筛选准则参数设置及操作步骤:设置入选种群的概率P(x),x表示当前个体,然后取出当前种群中对应的父代i和子代j,然后根据i和j的适应度值f(i)和f(j)比较竞争进入下一代的入选概率:
如果f(i)≥f(j),则个体i以概率1入选,j被淘汰;
如果f(i)<f(j),则i以概率入选,j以概率入选;
然后根据降温系数降低初始温度进入降温循环环节;
T=αT;
其中f(i)、f(j)为个体i和j的适应度,α为降温系数,0<α<1,在每次执行完遗传算法中的三种算子后,T值乘以降温系数,以使T值下降,然后进入筛选算法,利用概率组成新种群,进入降温环节;
随着迭代次数的增加,当温度T→0时取极值,有,即绝对入选概率无限接近于“1”或者“0”,这时个体i、j入选的概率为:
在种群进化的末期,最终留下来的就是最适合生存的,因此选择的概率将以百分之百入选,最终进化的个体则为最优个体;
即在温度T→0时,种群的竞争已经进入了后期,即个体i、j的竞争变为优胜劣汰的生存模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610039870.9A CN105740227B (zh) | 2016-01-21 | 2016-01-21 | 一种求解中文分词中新词的遗传模拟退火方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610039870.9A CN105740227B (zh) | 2016-01-21 | 2016-01-21 | 一种求解中文分词中新词的遗传模拟退火方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740227A CN105740227A (zh) | 2016-07-06 |
CN105740227B true CN105740227B (zh) | 2019-05-07 |
Family
ID=56246389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610039870.9A Expired - Fee Related CN105740227B (zh) | 2016-01-21 | 2016-01-21 | 一种求解中文分词中新词的遗传模拟退火方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740227B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874257A (zh) * | 2017-01-25 | 2017-06-20 | 东南大学 | 一种基于启发式算法的模糊英文长句分词方法 |
CN108172047B (zh) * | 2018-01-19 | 2019-11-01 | 上海理工大学 | 一种网络在线学习资源个性化实时推荐方法 |
CN109661059B (zh) * | 2018-11-27 | 2020-12-29 | 温州大学 | 一种led调光调色方法及系统 |
CN109977227B (zh) * | 2019-03-19 | 2021-06-22 | 中国科学院自动化研究所 | 基于特征编码的文本特征提取方法、系统、装置 |
CN112068801B (zh) * | 2019-06-11 | 2022-09-09 | 云南大学 | 一种乘法群上的最优带符号二进制快速计算方法及模幂运算 |
CN111048192B (zh) * | 2019-12-10 | 2023-11-07 | 上海明品医学数据科技有限公司 | 一种基于移动终端的用于医联体内的产学研管理方法 |
WO2020098827A2 (en) * | 2020-01-07 | 2020-05-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Named entity recognition and extraction using genetic programming |
CN111758098B (zh) | 2020-04-24 | 2024-03-26 | 支付宝(杭州)信息技术有限公司 | 利用遗传编程的命名实体识别和提取 |
CN112014645A (zh) * | 2020-08-31 | 2020-12-01 | 长春工程学院 | 一种基于混合模拟退火算法的接地电阻测量方法 |
CN113705813B (zh) * | 2021-09-01 | 2024-05-28 | 中国工商银行股份有限公司 | 基于遗传算法的变异规则补充方法及装置 |
CN115858622B (zh) * | 2022-12-12 | 2023-08-04 | 浙江大学 | 一种业务数据核对脚本的自动化生成方法 |
-
2016
- 2016-01-21 CN CN201610039870.9A patent/CN105740227B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105740227A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740227B (zh) | 一种求解中文分词中新词的遗传模拟退火方法 | |
Przybyla | Capturing the style of fake news | |
Potash et al. | Here's my point: Joint pointer architecture for argument mining | |
CN104951548B (zh) | 一种负面舆情指数的计算方法及系统 | |
JP6403382B2 (ja) | フレーズペア収集装置、及びそのためのコンピュータプログラム | |
CN111143576A (zh) | 一种面向事件的动态知识图谱构建方法和装置 | |
CN112507699B (zh) | 一种基于图卷积网络的远程监督关系抽取方法 | |
JP2015121897A (ja) | シナリオ生成装置、及びそのためのコンピュータプログラム | |
CN107239529A (zh) | 一种基于深度学习的舆情热点类别划分方法 | |
CN106202514A (zh) | 基于Agent的突发事件跨媒体信息的检索方法及系统 | |
JP5907393B2 (ja) | 複雑述語テンプレート収集装置、及びそのためのコンピュータプログラム | |
CN109299271A (zh) | 训练样本生成、文本数据、舆情事件分类方法及相关设备 | |
CN105608200A (zh) | 一种网络舆论趋势预测分析方法 | |
CN110222171A (zh) | 一种分类模型应用、分类模型训练方法及装置 | |
CN110111083A (zh) | 一种基于深度学习构建职业规划的系统 | |
Arasteh et al. | ARAZ: A software modules clustering method using the combination of particle swarm optimization and genetic algorithms | |
CN107679135A (zh) | 面向网络文本大数据的话题检测与跟踪方法、装置 | |
CN110008309A (zh) | 一种短语挖掘方法及装置 | |
CN108920446A (zh) | 一种工程文本的处理方法 | |
CN115033668B (zh) | 故事脉络构建方法、装置、电子设备和存储介质 | |
CN108984514A (zh) | 词语的获取方法及装置、存储介质、处理器 | |
Nguyen et al. | An ensemble of shallow and deep learning algorithms for Vietnamese sentiment analysis | |
Fernandes et al. | Automated disaster news collection classification and geoparsing | |
CN110377706A (zh) | 基于深度学习的搜索语句挖掘方法及设备 | |
Huda et al. | Aspect-based sentiment analysis in tourism industry for tourism recommender system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190507 Termination date: 20200121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |