Kanru’s 探險日誌

當發現美好的事物時,所要做的第一件事,就是把它分享給所有人

tsi.src 與 SQLite 的一些實驗

leave comments »

來灌水一下,這是之前 #osxchat 上關於 tsi.src 與 SQLite 的一些有趣實驗 其中似乎有一些點子,可以拿來參考:

2月 20 12:27:30 lukhnos! 2月 20 12:29:38 acer :) 2月 20 12:32:43 orcas: 剛剛的 tsi.db 是沒加 index 的, 針對注音編 index, 查起來就爆快, 連詞都編 index, 就可以 反查了. 2月 20 12:36:18 orcas: 然後也許我們多加一個欄位, 叫 tone, 在 import 時把音和調給分開 (e.g. 事實 -> ㄕ ㄕ, 4 2), 這樣就可以做無調query了 (然後針對漢語拼音嘿嘿嘿) 2月 20 12:44:24 黑嘿嘿 2月 20 12:46:02 lukhnos: that is a good idea 2月 20 12:53:14 lukhnos: 我還不是很清楚在 chewing 用的時候是要查那些資料 2月 20 12:54:03 要把那些常用的 call 變成有效的 query 2月 20 13:29:17 吼, irregularies in tsi.src, darn 2月 20 13:29:25 irregularities 2月 20 13:29:45 lukhnos: 變成 sql 就 regular 了 2月 20 13:30:04 * orcas flee 2月 20 13:30:21 playing tsi.src ? 2月 20 13:30:24 orcas: 像是 “一” 這個 entry 就沒有照標準標破音字… darn 2月 20 13:30:39 2月 20 13:30:39 gugod: yes http://openvanilla.org/~lukhnos/tsi-sqlite3.zip 2月 20 13:30:59 lukhnos: 我覺得不同的發音,就用不同的 row 2月 20 13:30:59 gugod: any help? 2月 20 13:31:09 所以我說要精練 tsi.src … :p 2月 20 13:31:35 e.g. 一 一 0 一行 2月 20 13:31:52 對酷音來說,裡面的五字詞好像都是不必要的 2月 20 13:31:57 一 一4 另外一行 2月 20 13:32:08 orcas: 我就是這樣做的. 現在問題是 tsi.src 在單字標音上有問題. 明明規格上, 破音字要用中括號, 例如 一 181207 [ㄧ,ㄧ2,ㄧ4] 但是 tsi.src 裡面卻是 ㄧ 181207 ㄧ ㄧ2 ㄧ4 2月 20 13:32:20 gugod: 那「一字詞」(?)也可以省囉? 2月 20 13:32:49 lukhnos: 不見得 2月 20 13:33:07 lukhnos: 那只好多寫幾行 perl v處理特例了 2月 20 13:33:19 orcas: 那個 .pl 已經作這件事了. 因此多生的entry不超過4000個˙. 2月 20 13:33:29 lukhnos: 中高頻率的一字詞有「打樁」的作用 2月 20 13:33:37 lukhnos: 像「的」 2月 20 13:33:50 lukhnos: 幾乎一定是斷詞點 2月 20 13:34:05 似乎只有一字詞有 irregularities 2月 20 13:40:40 多字詞也這樣寫就會有 ambiguity 2月 20 13:41:03 就不知道注音跟字怎麼對應 2月 20 13:46:35 嗯…. 還是用 regex 解決了這個問題 2月 20 13:46:37 tsi.src– :p 2月 20 13:47:50 debug 真苦 2月 20 13:48:11 5 個 index 的 expression… 2月 20 13:48:50 5 個 index? 2月 20 13:49:15 lukhnos: complicated bio system 2月 20 13:49:35 一長串 SQL ? 2月 20 13:49:45 orcas: 先不要把 model 放在心上吧 2月 20 13:49:51 專心實驗比較重要 2月 20 13:51:32 mjhsieh: 我也是這樣想,但在家??沒得做 2月 20 13:54:28 orcas: new version http://openvanilla.org/~lukhnos/tsi-sqlite3.zip 2月 20 13:55:04 try: select * from tsi where syllable=”g g” and tone=”2 4″; 2月 20 13:55:20 我把注音符號代換成標準排列的字母, 然後把音調分離了 2月 20 13:55:53 然後可以做一些有趣的統計 :p 2月 20 13:56:16 拿來做聯想詞好像很方便 2月 20 13:56:19 哈,bioinfo 很多也不過如此 2月 20 13:56:56 gugod: 是啊, 可以做 where phrase like “首字%”; 2月 20 13:57:06 orcas: uso… 2月 20 13:57:44 –> amao (~inertia@203.73.138.70) has joined #osxchat 2月 20 13:58:15 sqlite3 好像快得有點離譜 2月 20 13:58:27 — amao is now known as inertia 2月 20 13:58:55 lukhnos: 會比 perl 或 python 的 hash 快嗎? 2月 20 13:59:27 理論上不會吧 2月 20 13:59:41 可是你想要 @tsi= 嗎? XD 2月 20 13:59:49 –> tseching (~tseching@61.66.130.113) has joined #osxchat 2月 20 14:00:07 可能可以 2月 20 14:00:22 可能會花掉 512M 2月 20 14:00:27 的 memory 2月 20 14:00:29 剛試了一下 perl -e ‘@tsi=’ 好像也蠻快的 2月 20 14:00:50 1.021 sec 內完成 2月 20 14:01:28 我知道 python 的 read+hash 比 mysql 快 2月 20 14:02:11 把 club 8 跟 belle & sabastian 混著聽真是不錯 2月 20 14:02:34 突然發現有了 tsi.db 後押韻字典就誕生了 2月 20 14:03:09 哈 2月 20 14:03:13 賀 2月 20 14:03:24 應該說馬上變出一堆奇奇怪怪的應用出來 2月 20 14:03:28 select 後就搞定了 2月 20 14:03:33 沒錯 2月 20 14:03:37 邪惡的 SQL 2月 20 14:03:40 muwahahahaha 2月 20 14:04:01 所以要 sqlite 了嗎 2月 20 14:04:05 lukhnos: 為甚麼 ‘ 2月 20 14:04:17 時 是 “g” 2月 20 14:04:31 g = ㄕ 2月 20 14:04:33 orcas: 因為標準鍵盤排列的 ㄕ 在 g 2月 20 14:04:42 lukhnos: soga 2月 20 14:04:47 mjhsieh: 那要改寫 chewing engine 了? 2月 20 14:05:10 尋找所有至少三字詞尾韻押ㄨ韻的: select * from tsi where syllable like “% % %j” limit 20; 2月 20 14:05:24 發現東西還真不少˙ :p 2月 20 14:05:37 lukhnos: I think it is the way to go.. 因為 sqlite 要 extent 容易多了 2月 20 14:05:42 yup 2月 20 14:05:54 馬上拿來做個中文字詞應用吧 2月 20 14:05:56 lukhnos: 這好像是要在 libchewing 小組提? 2月 20 14:06:08 要加詞/修正詞頻好像也會因此容易得多 2月 20 14:06:17 * lukhnos 指指 gugod 2月 20 14:06:46 我不反對, 不過一步一步來吧 :p 2月 20 14:07:02 一本書|2359|u 1p gj|4 3 0 2月 20 14:07:11 為甚麼有 1p gj? 2月 20 14:07:32 1p=ㄅㄣ; gj=ㄕㄨ 2月 20 14:08:54 lukhnos: 是我白目 orz 2月 20 14:09:02 orcas 的鍵盤沒有注音的話,大概很辛苦 :P 2月 20 14:09:18 orcas 又用許氏鍵盤… :p 2月 20 14:09:20 嗚, 我羨慕鍵盤上沒有注音的人 2月 20 14:09:28 gugod: 我的是純英文鍵盤 2月 20 14:09:29 耶! # orcas 用許氏?! 2月 20 14:09:39 lukhnos: yes 2月 20 14:09:47 * ed_blade SpaceSaver US 版 2月 20 14:10:15 嗚嗚嗚 2月 20 14:10:28 lukhnos: 很早當 chewingosx 還不能 runtime 切 keyboard layout 時, orcas 都是自己 patch + build 一份 2月 20 14:10:46 這-這麼苦 2月 20 14:11:05 想想也已經是一整年前的事了 2月 20 14:11:12 不過顯見 orcas 這麼早以前就是酷音支持者了 2月 20 14:11:20 gugod: 歲月如梭 2月 20 14:11:36 * acer 沒有ㄅㄆㄇ 2月 20 14:11:36 孩子都大了 (?) 2月 20 14:11:53 * autrijus 還在鞎苦地養小狗 2月 20 14:11:55 lukhnos: 你應該跟我媽換鍵盤 2月 20 14:11:57 gugod: 其實為了打中文剛換到 osx 的時候還學了漢語拼音 2月 20 14:12:13 「校長與高n敘舊──昔別君未婚, 兒女忽成行」 2月 20 14:12:15 lukhnos: 你 algorithm 書後來有看嗎? 2月 20 14:12:23 acer~~~~~~~~~ 2月 20 14:12:31 orcas: 太苦了吧 2月 20 14:12:33 autrijus: 看得很慢, 我見到 hcc 時直接把書 pass 給他好了 2月 20 14:12:35 inertia: hola! 2月 20 14:12:40 ok 2月 20 14:12:47 autrijus: 換鍵盤還要錢 :~ 2月 20 14:12:57 ouch, 給錯對象 2月 20 14:13:01 XD 2月 20 14:13:03 acer: 直到被西螺高拯救 2月 20 14:13:19 clkao++ 2月 20 14:13:31 orcas: 那…等酷音的漢語拼音介面寫完了可以麻煩你測測看嗎 ^^”[ 2月 20 14:13:47 gugod: 好像已經忘光了 2月 20 14:13:51 撲 2月 20 14:13:52 XD 2月 20 14:13:57 autrijus: 巴哥這樣難養? #autrijus 還在鞎苦地養小狗 2月 20 14:14:07 gugod: 可以試看看吧 2月 20 14:14:24 isis: 食量太大了 2月 20 14:14:31 acer: 其實本來有大學同學想跟我換keyboard的. :p 2月 20 14:14:43 * gugod 結果發現一整個早上都在做 ports + 聊天 2月 20 14:15:00 * lukhnos 從睡醒就一直在搞 importtsi.pl + tsi.db 2月 20 14:15:06 lukhnos: 英換中? 2月 20 14:15:12 * gugod 趕快 send-pr 2月 20 14:15:14 orcas: yup, 互換. 2月 20 14:15:19 autrijus: 沒遵守七分節制定律? 2月 20 14:15:41 lukhnos: 你要英文 only 的? 2月 20 14:15:43 orcas: 不過後來沒換, 一方面是要錢, 再來沒warranty, 然後她的電腦已經敲了一年多, 我那時是新的 2月 20 14:15:49 orcas: 如果有的話啦... 2月 20 14:16:05 台灣買 laptop 有只有英文的鍵盤嗎? 2月 20 14:16:14 lukhnos: 換鍵盤容易 2月 20 14:16:16 是的. 全世界好像只有台灣有刷字的樣子. 2月 20 14:16:29 orcas: oh, 應該說 no, 台灣買不到只有英文的鍵盤. 2月 20 14:16:31 不會有甚麼大問題? 2月 20 14:16:38 lukhnos: 真苦 2月 20 14:16:54 唉, 我需要鍵盤保固是有原因的. 2月 20 14:17:02 * lukhnos 換過三次 ThinkPad 560 鍵盤 2月 20 14:17:20 lukhnos: 強打者 2月 20 14:17:39 這樣其實蠻苦的 :~ 2月 20 14:17:44 lukhnos 打字跟打算盤一樣 2月 20 14:17:47 lukhnos: ebay 標看看吧 2月 20 14:18:18 hmmm 2月 20 14:18:45 其實 Apple 的中文鍵盤還可以忍受啦 2月 20 14:18:55 至少倉頡跟注音字根都跟英文鍵刷同一色 2月 20 14:19:06 哪像 IBM... 刷得紅紅綠綠白白... +_+ 2月 20 14:19:13 就聽到「切切切切」的聲音,選字窗好像沒有出現過一樣 2月 20 14:19:27 (又說了一遍) 2月 20 14:19:45 lukhnos: 00:56 反正重點是終於有人把這種東西寫到 paper 裡了 2月 20 14:19:52 lukhnos: 00:56 我印象中從來沒有看過 2月 20 14:19:57 lukhnos: 我喜歡單純的 keyboard 所以許氏鍵盤很好用 2月 20 14:19:58 lukhnos: 00:57 大概是因為這種東西課本裡都有,所以好像沒什麼人寫 2月 20 14:20:26 lukhnos: 小驚訝只是這樣子。 2月 20 14:20:27 * gugod 使用許氏的速度已經追上以前用標準鍵盤的速度了 2月 20 14:20:32 orcas: yup, 當年很多人用倚天排列也是因為這樣不要拿貼紙貼鍵盤 2月 20 14:20:34 gugod: 賀! 2月 20 14:20:39 gugod: 賀 2月 20 14:20:49 s/不要/不用/ 2月 20 14:21:10 * gugod 反而不會用標準排列了 2月 20 14:21:15 真糟糕 2月 20 14:21:17 unlearn 得真快 2月 20 14:21:28 lukhnos: 當年當兵就就是不會打標準鍵盤,就不用當電腦兵 2月 20 14:21:36 啊?那這樣是好事還是壞事 2月 20 14:21:52 lukhnos: 對我算好事吧 2月 20 14:21:53 lukhnos: 我本來以為是會同時記住兩種 2月 20 14:22:25 結果沒辦法 2月 20 14:23:01 好像是 re-wire 腦裡面的幾條東西的那種感覺 2月 20 14:23:05 還有人收集這種東西 http://www.geocities.co.jp/SiliconValley-Oakland/3186/collection.html 2月 20 14:23:08 lukhnos's URL: [ ] 2月 20 14:23:12 lukhnos: 後來占了一個破冬後就很好混的缺 2月 20 14:23:19 orcas: which is… ? 2月 20 14:23:34 lukhnos: 酷音當然是可以用 SQLite 2月 20 14:23:56 lukhnos: 通信二級補給兼管制 2月 20 14:24:01 sqlite 的 overhead 多大? 500k ? 2月 20 14:24:12 lukhnos: 只是如果要享受 SQL statement 的好處,red-black tree 好像就沒必要留著了 2月 20 14:24:51 993420 Feb 8 22:52 /usr/local/lib/libsqlite3.0.8.6.dylib 2月 20 14:24:58 1184064 Feb 8 22:52 /usr/local/lib/libsqlite3.a 2月 20 14:24:59 orcas: 那個沒遇到裝檢應該很涼吧 2月 20 14:25:50 orcas: 如果通通從 source 自己 build, 好像只要 500k 2月 20 14:25:57 (印象沒錯的話) 2月 20 14:26:01 lukhnos: 其實是不合法的,因為管制要管補給,但我不會自己給自己找麻煩 2月 20 14:26:12 多出那麼多主要是 library symbol table 大 2月 20 14:26:30 用 sqlite 可能會有的爭議,一是大小, 二是,現在現在酷音也不慢,換了之後也不會明顯變快 2月 20 14:26:38 orcas: 通補我就不瞭解了, 我做的是被你們補的那種 2月 20 14:26:45 lukhnos: 其實我遇到裝檢也還好,不是弄車的問題很少 2月 20 14:26:47 此補非彼捕 2月 20 14:26:52 所以好像很可以換 2月 20 14:26:55 lukhnos: 一級? 2月 20 14:27:01 orcas: 我在電台 2月 20 14:27:06 好處 >> 爭議 2月 20 14:27:16 lukhnos: 了解 2月 20 14:27:32 如果用了 SQLite 之後能方便地支援更多種輸入法,那也許值得。 2月 20 14:27:46 b6s: 例如說可以做酷倉頡或酷行列… 2月 20 14:27:49 喔,還有一個爭議,就是會不會使得 chewing 比較難 build 2月 20 14:28:05 lukhnos: yes~ 2月 20 14:28:17 考慮到 chewing-anywhere的難度 :p 2月 20 14:28:19 gugod: sqlite 滿好 build 的 2月 20 14:28:22 gugod: 於是到最後就變成重寫 2月 20 14:28:23 gugod: 理論上不會, 因為 sqlite3 最快的 build 方法, 就是 gcc -o *.c 2月 20 14:28:24 * b6s flee 2月 20 14:28:35 even on very limited environment ? 2月 20 14:28:44 like, PalmOS XD 2月 20 14:28:48 SQLite 大概不支援 embedded system? 2月 20 14:28:48 gugod: it is self-contained 2月 20 14:28:55 hmmm… 如果塞得下 500k 就應該沒問題吧? 2月 20 14:29:01 sqlite is also meant for embedded env? 2月 20 14:29:10 我指的是好不好 compile 2月 20 14:29:15 * gugod look at iiimf-sdk 2月 20 14:29:23 * gugod (茶) 2月 20 14:29:23 compile 是一定好 compile 2月 20 14:29:27 哈 2月 20 14:30:32 gugod: 其實在 palmOS 一般的注音還滿好用的,用 stylus 和鍵盤有些不同 2月 20 14:31:23 $ du -hs /usr/lib/libsqlite3.so.0.8.6 2月 20 14:31:23 296K /usr/lib/libsqlite3.so.0.8.6 2月 20 14:31:33 $ du -hs /usr/lib/libsqlite3.a 2月 20 14:31:33 380K /usr/lib/libsqlite3.a 2月 20 14:31:35 x86 版的比較小? 2月 20 14:32:29 strip 過 2月 20 14:33:23 tsi.db 比現在用的結構小 :P 2月 20 14:33:25 BTW 有人要 cdict 的 sqlite db 檔玩玩嗎? 2月 20 14:33:26 –> penk (~lamppix@140.120.229.161) has joined #osxchat 2月 20 14:33:35 (手) 2月 20 14:33:53 再叫 zonble 去砍砍教育部國語字典… 2月 20 14:34:04 也許可以先試試 zaurus 上的 embedded linux 2月 20 14:34:15 那就要指指 Autrijus 了 2月 20 14:34:41 要先改成酷易他才有動機 XD 2月 20 14:34:49 大易不用酷啦 2月 20 14:34:58 上面的倚天26我到現在還用不順 2月 20 14:35:20 * isis 遜 2月 20 14:35:38 在 palm 上面就是要用手寫輸入啊~ 2月 20 14:36:01 大易如果加上 HKSCS 會不會和倉頡一樣重碼率爆增? 2月 20 14:36:07 哇 !! 難得碰到也是用倚天 26 的人 !! 2月 20 14:36:16 注音 -> 酷音, 倉頡 -> 酷倉, 追音 -> 酷刑? # flees 2月 20 14:36:23 XD 2月 20 14:36:37 ij1iao: 呵呵 2月 20 14:36:40 倉頡 -> 酷姐 2月 20 14:36:59 酷姐! 2月 20 14:37:02 入力娘! 2月 20 14:37:18 娘! 2月 20 14:37:54 [酷刑|半形] 2月 20 14:38:08 想起來就很讚 2月 20 14:38:20 既然 gugod 把酷(拼)音改出來了,那就真的可以改酷刑了 2月 20 14:38:21 aye.. 為甚麼我的 upload bandwidth 這麼小 2月 20 14:38:33 非常適合法庭上做為交叉詢問用(酷刑) 2月 20 14:38:40 … 2月 20 14:38:49 可是酷刑沒有 win32 版 XD 2月 20 14:38:50 lukhnos++ 2月 20 14:40:02 [苦力強|半形] 2月 20 14:41:34 其實只要給 gugod 一個對照表大概就好了 2月 20 14:42:06 酷刑輸入法是用拼音? 2月 20 14:42:14 注音 2月 20 14:42:17 b6s: 注音是 2月 20 14:42:56 用某些規則將鍵碼限制永遠要三個的注音,然後排列有些地方像許氏 2月 20 14:43:02 有些地方像倚天 2月 20 14:43:49 何苦呢 XD 2月 20 14:43:49 blah 2月 20 14:43:57 haha 2月 20 14:45:23 有些字要用 poj 打,有些要用拼音打,有些要用英文拼 2月 20 14:48:24 打小灌木出現 bush , 打 evil 出現 a company of your choice 2月 20 14:54:35 每打一次還會變換規則 :P 2月 20 15:02:27 …

Written by Kanru Chen

March 29th, 2005 at 10:55 pm

Posted in Chewing

Leave a Reply