顯示廣告
隱藏 ✕
※ 本文為 layzer 轉寄自 ptt.cc 更新時間: 2014-09-29 07:11:36
看板 iPhone
作者 IMPOSSIBLEr (高級外勞)
標題 Re: [心得] iOS8 中文輸入法真的很聰明
時間 Mon Sep 29 07:08:49 2014


: 推 ishuen: 但是apple說輸入法沒用到網路 這些資料都在手機裡嗎?      09/29 01:00
: → KANO1931: 需要龐大資源的部分是在計算階段 應用的部分是結果 不一  09/29 01:05
: → KANO1931: 定佔很大空間 但如果要動態更新常用詞就需要了           09/29 01:09
: 推 pm2001: 沒用到網路我覺得不可能 這資料量非常大                   09/29 01:18

小弟非專業發言,大家看看就好

個人覺得像這種切進時事的聯想字,應該都是需要網路的

如同KANO大所說,需要大量運算資源的是計算階段,實作階段所需資源並不大

我舉一個我最近為蝦米鍵盤實作簡易聯想詞的方法為例

蝦米鍵盤的聯想詞功能目前實作流程如下

1. 下載Google ngrams dataset簡中版本(因為沒有繁中...)
上文所述需要大量運算資源的就是這部份,如何產生ngrams
而google已經幫我們作好了(佛心


Google ngrams dataset資料格式看起來像這樣

<中文詞> <某西元年> <該西元年中發現此詞彙數量> <該西元年中在多少著作中發現該詞>

我下載下來的dataset總共大小約1.3gb(只取2 gram)

2. 使用程式語言parse下載下來的dataset,輸出成frequency list, 格式如下

<中文詞> <總發生數量>

存成純文字檔,目前我跑出來的這個檔大小為500kb左右,40000左右中文詞
像這第二步,需要讀入1.3gb的原始資料,在手機上會耗時良久
但讀入500kb的資料,目前蝦米鍵盤的速度還算可以(iPhone 5)

3. 在鍵盤初始化時parse第二步產生的frequency list存進記憶體。
這部份的資料結構可採用簡單的hash map或是高級一點(比較難實作)的trie
不過如果詞的長度不是很長,例如我的第二步出來的檔,裡面最長的詞只有4字
那使用hash map應該整體來說效能會好一點,當然這是個人感覺

基本上有了這個backend data structure,再寫一個function,輸入為字串,
然後到這個data structure中查詢,輸出為一個字串陣列,然後就可以輸出到
鍵盤畫面上給使用者選擇。


由上可知,如果想要動態產生聯想詞例如結合時事,或是使用最近的報章blog文章
當作ngrams的corpus,那麼網路是必須的。

不專業分享,請勿筆戰~~

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.5.179.190
※ 文章網址: http://www.ptt.cc/bbs/iPhone/M.1411945732.A.D3D.html

--
※ 看板: layzer 文章推薦值: 0 目前人氣: 0 累積人氣: 717 
作者 IMPOSSIBLEr 的最新發文:
  • +21 [討論] 柯P有人參與驗票嗎? - HatePolitics 板
    作者: 67.160.193.120 (美國) 2018-11-28 13:17:53
    我記得之前剛選完時有政論討論說若要驗票 雙方(柯和丁)都得出人參與驗票 畢竟你總不希望驗票現場只有某方陣營的人 那節目說各方得出500人,且是律師 柯P有這種資源出人嗎? 如果向市民徵人徵得齊嗎?Q_ …
    36F 21推
  • +29 Re: [討論] 來聊聊 - HatePolitics 板
    作者: 67.160.193.120 (美國) 2018-11-19 02:42:00
    政黑首PO 小的是台北人,目前美漂不會回台投票 已成功說服家中偏藍老媽老妹投柯P, 議員跟她們建議王致雅,完全只是希望把-11拉下來 當然小的一個台北人針對高雄發言大概也不太有公信力 當作賺文章數吧 …
    60F 30推 1噓
  • +21 [自動轉寄] [問題] 宇宙人抱枕組合 - WomenTalk 板
    作者: 119.14.80.67 (台灣) 2015-02-20 07:56:57
    各位女版朋友新年快樂 羊羊得意 小弟老婆今年因為某些原因沒法 和我一起回臺北過年 看她一個人在和我們的愛貓BEBE在家 吃飯配康熙覺得有點過意不去 先配張美酒,她沒上PTT看不到沒關係XD 所以想買個 …
    24F 21推
  • Re: [心得] iOS8 中文輸入法真的很聰明 - iPhone 板
    作者: 24.5.179.190 (美國) 2014-09-29 07:08:49
    小弟非專業發言,大家看看就好 個人覺得像這種切進時事的聯想字,應該都是需要網路的 如同KANO大所說,需要大量運算資源的是計算階段,實作階段所需資源並不大 我舉一個我最近為蝦米鍵盤實作簡易聯想詞的方法 …
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇