经过原子分词后,源字符串成了一个个独立的最小语素单位。下面的初次切分,就是把原子之间所有可能的组合都先找出来。算法是用两个循环来实现,第一层遍历整个原子单位,第二层是当找到一个原子时,不断把后面相邻的原子和该原子组合到一起,访问词典库看它能否构成一个有意义有词组。
用数学方法可以做如下描述:
有一个原子序列:A(n)(0<=n<m)(其中m为原子序列A的长度)。当I=n时,判断AnAn+1..Ap是否为一个词组,其中n<p<m.
用伪码表示:
for(int I=0;I<m;I++){
String s=A[I];
for(int j=I+1;j<m;j++){
s+=A[j];
if(s是一个词组){
把s加入到初次切分的列表中;
记录该词组的词性;

本文详细介绍了ICTCLAS分词系统中的初次切分过程,通过两个循环遍历原子序列,寻找可能的词组,并利用词典库判断其有效性。初次切分后的数据结构以链表形式呈现,后续处理则通过二维表进一步优化。文章还提供了关键源代码段,展示了如何计算相邻词之间的平滑值,以确定词组的耦合程度。
最低0.47元/天 解锁文章
1468

被折叠的 条评论
为什么被折叠?



