字频信息存储

从汉字内码到数组下标的转换:

id= (c1-176) * 94 + (c2 - 161)
c1= id / 94 + 176       c2 = id % 94 + 161

二维数组向一维数组的转化

n =a * k + b

b< k

a =n / k  的整数部分

b =n % k  n k 的值在 0 - k-1之间)

10  = a * 3 + b   

a=3,b=1        a=0,b=10      a=1,b=7      a=2,b=4

Tokenization算法的一般过程

1)对一个待分析的字符串(S),从左到右进行扫描,读入当前字符(char)到候选词数组(W[ i ]),并将指针(pointer)前移,i=i+1

2)看char是否为词分隔符(事先可以预定义空格以及一般标点均为词分隔符);

3)如果char是词分隔符,并且W不是空格,将W中从起始位置到i-1位置的字符作为一个词汇单位输出,同时将S中的W部分删去,然后清空W,转入(1),如果char是词分隔符,且W是空格,将S中的W部分删去,清空W,转入(1);

4)如果不是词分隔符,看指针是否已经指到字符流尾部;

5)如果指针已经指到字符流尾部,将当前W从起始位置到i-1位置的字符作为一个词汇单位输出,结束。

6)如果不是字符流尾部,转入(1);

Lemmatization算法的一般过程

1)初始化:待分析的词形=Wd=W的字符数,i=1,设输出串R=""

2)到Dict中查找W,如果找到,R=W,转入(8);

3)如果i     (d/2),执行(4)到(7)步,否则转入(8);

4)从W中取出i个尾字字符,W成为两部分W1+ W2W2为取出的尾字符串);

5)到SuffixList中查找W2,如果查到,调用规则,对W1进行处理,得到W1'

6)到Dict中查找W1',如果找到,R=W1'+ "  " + W2,转入(8);

7)如果没有找到,i=i+1,转入(3);

8)输出R,结束;

 

分词的基本方法
最大匹配法 (Maximum Match based approach)
概率方法 (Probabilityapproach to Word Segmentation)
分词歧义的类型
交集型歧义

    如果ABBC都是词典中的词,那么如果待切分字串中包含ABC这个子串,就必然会造成两种可能的切分:AB/ C/ A/ BC/ 。这种类型的歧义就是交集型歧义。比如网球场就可能造成交集型歧义(网球球场/)。

组合型歧义

    如果ABAB都是词典中的词,那么如果待切分字串中包含"AB"这个子串,就必然会造成两种可能的切分:"AB/" "A/  B/ "。这种类型的歧义就是组合型歧义。比如"个人"就可能造成组合型歧义( (我) 个人/    :   (三) 个/ )。

 

对于某些交集型歧义,可以通过增加回溯机制来改进最大匹配法的分词结果。

例如:“学历史知识”

         顺向扫描的结果是:“学历/ /知识/

通过查词典知道“史”不在词典中,于是进行回溯,将“学历”的尾字“历”取出与后面的“史”组成“历史”,再查词典,看“学”,“历史”是否在词典中,如果在,就将分词结果调整为:“学历史知识/

最大概率法分词

提高计算效率

最佳左邻词

最大概率法分词的问题

并不能解决所有的交集型歧义问题

  “这事的确定不下来”
W1= /  的确/   /  /   下来/
W2= 
/   /  确定/   /  下来/

P(W1)<P(W2)

无法解决组合型歧义问题
做完作业才能看电视
W1= /   作业 /   才能 /   /   电视 /
W2=
/   作业 /   /   /   /   电视 /  

P(W1)>P(W2)

最短路径分词方法
 
半词法分词
大多数单字在语境里如果能组成合适的词就不倾向于单独使用。
半词:如果一个字不单独作为词使用,就是半词。半词既包含了成词语素,也包含了不成词语素,后者肯定是半词,比如 ,前者则要看它作为语素的使用频度高,还是作为单字词的使用频度高,比如
整词:如果一个字更倾向于自己成词而不倾向于和别的字组成词,这类 单字词 就称之为 整词 。这类词就是一般说的单字高频成词语素,比如 人、说、我 等。
基本思路:充分利用半词和整词的差别,尽量选择没有半词落单的分词方案。
 
 
在词图中引入罚分机制
罚分规则:
1 每个词对应的边罚 1 分。
2 每个半词对应的边加罚 1 分。
3 一个分词方案的评分为它所对应的路径上所有
  
边的罚分之和。
4 罚分越低,越可能是正确的分词

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值