tsi.src 與 SQLite 的一些實驗
來灌水一下,這是之前 #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 ...