libgooglepinyin-0.1.2/data里:rawdict_utf16_65105_freq.txt和rawdict_utf16_65105_freq.be.txt,be是big endian的缩写。
欧美国家 141.29744947 0 ou mei guo jia
ou mei guo jia 每个字符都占两个字节。UTF-8转UTF-16不用查表。
sunpiyin的源码里有数据lm_sc.3gm.arpa, Language Model Simplified Chinese 3 Gram ARPA
䁖 0.00000000869200001 1.00000000000000000
联合国教科文组织 颁发 的 0.85944473743438721
这个文件是UTF-8编码的,虽然汉字要占3个字节,字母/数字只占1个字节。
1. 00000 00000 00000 00,这是什么精度啊?
- float占用4字节,提供约6-7位十进制有效数字
- double占用8字节,提供约15-16位十进制有效数字
- long double,精度至少与double相同,80位或128位,我机器上16个字节;写个华容道还担心memset(a, 0, 20)慢呢。
小数点后17个0,比double多且仅多一位?1算不算?
还有,字段之间用两个而不是一个空格分隔,程序里:
char* delim = strstr(buf, " ");
一个空格就说:
Unknown format in: .
cerr << lineno << " Unknown format in: " << buf << "." << endl; // 我加的行号
Sunpinyin是Sun公司开发的,文件开头先来34行版权大帽子。作者里一位孙先生/女士都没有。
词的tri-gram,我认为不如字的实用,比如:
国家质量监督检验检疫总局 颁发 0.06332822144031525 1.00000000000000000
我得先输入 国家质量监督检验检疫总局,再输入ban,这条概率才有用吧?(这条是bi-gram)。
局-颁,XX局 ban,都能起作用啊。
dict.utf8-20131214.tar.bz2 解压后1.8M, 84,069行(有字有词,词57,397个)
lm_sc.3gm.arpa-20140820.tar.bz2 解压后173M, 3,571,764行
\0-gram\1
\1-gram\71759
\2-gram\2500000
\3-gram\1000000 # 数字为个数
几天前让sunpinyin把谷歌的系统词库当用户词库用,今天折腾sunpyin搞了个3-gram\1版,数据文件减少8M,然后再搞,slmthread就过不去了。
把sunpinyin的系统词库加入谷歌的系统词库?“欧美国家 141.29744947 0 ou mei guo jia”,那个0不能乱填。
Advanced Research Projects Agency (ARPA)是美国国防部下属机构,成立于1958年,是互联网前身ARPANET的发起者。
那么多字符可用,它非要用\
浙公网安备 33010602011771号