sing1ee/dict_build

total 与freq的计算问题

xv44586 opened this issue · 4 comments

1.PMI=log(P(x,y)/(p(x)p(y)), p(x,y)=freq/N, p(x)=freq_x/N => PMI=log(freqN/(freq_xfreq*y)),而total=word_frag_count,这里感觉应该是取错了,应该是语料内所以的“字”的数量;
2.freq用的是右侧前缀树的总和,这样会少记录当词右侧没有内容的情况,如词出现在句子末尾(吧/呢)直接统计word的freq是不是会更好?

@xv44586 非常希望你能做一个实验,如果效果更好,欢迎PR

2.freq用的是右侧前缀树的总和,这样会少记录当词右侧没有内容的情况,如词出现在句子末尾(吧/呢)直接统计word的freq是不是会更好?

@xv44586 作者在每个ngram后面都补充了一个$: sen = "$" + sen + "$";,这样每个结尾的ngram都有一个右邻字$,所以可以统计到结尾的ngram。