美國真是財大氣粗
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號