1
wc0517 2015-03-19 13:27:26 +08:00
用到一定数量的新词以后别的就无所谓了,除非一些新出来的名词。
|
3
Daniel65536 2015-03-19 14:44:10 +08:00 via iPad
@anguslg 这就是选择rime必须的结果啊。
想要新词,就离不开各种云服务,自己破解输入法大厂的新词api这种邪路可不推荐。 |
4
lonelygo 2015-03-19 15:10:33 +08:00
用Rime就要走自力更生维护词库的这条路啊。
或者 定期搞定各厂商词库,深蓝一下。 |
5
zhouzm 2015-03-19 15:53:49 +08:00
不是能智能自动造词的吗
|
6
lotem 2015-03-19 16:08:12 +08:00 1
許不許歪樓。
如果有個插件,實現聯網的協同輸入,或叫做衆包造網絡詞庫。會有用戶願意參加嘛。 大意是:大家都往一個網上詞庫裏敲詞(有准入條件地),你聯入這個網絡,敲一個新詞的時候,也許能直接命中。 前提:一通過一定技術手段保證只上傳大家都在用的新詞;二能有效防止作弊和破壞網絡詞庫的行爲。 |
8
anguslg OP @lotem 大部分使用鼠须管的用户,也都是因为之前爆出来的的搜狗收集隐私问题吧。如果有这个插件,如何保证别人能相信你?这个问题才是关键
|
9
lotem 2015-03-19 16:28:14 +08:00
@anguslg 如果開源這個插件的代碼,應該會有幫助吧。
思路是:本地用戶新詞生成摘要上傳、服務器下發已挖到的新詞;服務器用摘要作統計,挖到有熱度的新詞後,再從用戶那裏索取原文。懂行的朋友說說這個思路可行否。 |
12
dofine 2015-03-19 16:47:51 +08:00
关注一下~ 作者本尊现身了 O(∩_∩)O
|
14
lonelygo 2015-03-19 17:06:49 +08:00
@lotem 隐私问题,代码是开源的,应该问题可以解决。需要考虑的是:
P2P“众筹”的方式组织词库,那么肯定有些辞汇是不愿意上传的,如何处理哪些辞汇愿意共享,哪些不愿意的问题; |
15
lotem 2015-03-19 17:45:45 +08:00
@lonelygo 所以這個計劃有兩個要點:一是保證共享出去的新詞摘要無法解碼爲原文;二是嚴格在足已證明新詞已廣泛使用時「解密」其原文。
|
16
Daniel65536 2015-03-19 18:16:56 +08:00 via iPad 1
@lotem 一个简单的算法是这样的:
目标词汇:“密码” 我们公开这个词的md5:A8105204604A0B11E916F3879AAE3B0B……数值A 我们再重新另外计算这个词的utf8编码:\u5BC6\u7801 十六进制转化为二进制:0100 1110 1111 0110 0111 1000 0000 0001……数值X 把这个数值和一个随机的二进制数进行与运算:比如1111 1111 1111 1111 0000 0000 0000 0000 这样,我们就获得了0100 1110 1111 0110 0000 0000 0000 0000……数值B 把这个数据也公布出去。 现在,服务器收集所有A值是A8105204604A0B11E916F3879AAE3B0B的B,并且对这些B1、B2、B3进行或运算。当我们收集到足够的B之后,它们进行或运算就能获得最初的数值X,这个X所对应的“密码”一词的md5正好是A。 这样,我们就可以把“密码”这个词公开了。 |
17
lotem 2015-03-19 18:20:06 +08:00
舉一個例子(P2P):
某用戶甲有: --- 我好帥 => 44a53c6 我好衰 => d1cfd7f 經過一段時間: --- 44a53c6 × 100 users .... d1cfd7f × 1 user .... 於是認爲 44a53c6 是個可以的解密的新詞的摘要。 44a53c6 × 100 users 這條信息在用戶乙同步時下發了,用戶乙的輸入法會發現用戶詞典裏有某個詞的摘要是 44a53c6,遂解密該詞(的一部分bits,以求保險,防止摘要衝突)。這時分享出去的是: --- 戈女𠂤* 44a53c6 × 101 讚 .... d1cfd7f × 1 讚 .... 許久遇不到新用戶的 d1cfd7f,可以考慮在某個時機捨去。 最終流傳下去的是: --- 我最帥 × N 多讚 .... |
18
Daniel65536 2015-03-19 18:23:35 +08:00 via iPad
@lotem
一:我们公布了md5和部分的utf8码,这些数据是无法反过来快速推算原文字的。 二:只有收集某个特定词汇的足够数量的utf8碎片,我们才能推算出这个utf8码到底是什么。 唯一的问题是我们没有办法防御恶意spam,恶意用户可以大量提交随意生成的B值,导致其他用户再多也不能推算出正确的X值来。 另外,真正的算法中需要用sha256来当hash,也许要用utf16来代替utf8。 |
19
lotem 2015-03-19 18:29:43 +08:00
|
20
Daniel65536 2015-03-19 18:59:59 +08:00 via iPad
@lotem 用户可以自己设定自己的分享百分比,也就是一次会分享出去百分之多少的bit到服务器上,如果使用云词库,最少需要分享3.125%。
“密码”有32个bits,假设用户分享3个bits(10%),运气最好的情况下8个用户分享特定位置的8*3=24个bits就能够解密了,也就是说至少8个用户都输入了一个字典中不存在的新词“密码”时,这个词才会被当成新词被发布。 |
21
zhouzm 2015-03-19 20:27:26 +08:00
不需要考虑解密的问题,只要判定某个md5或sha256达到热词标准,加入云端可上传列表,哪个用户优先更新到这个sha256,同时本机又存在这个热词,自动上传即可,当然也可以设一个开关,让用户决定上不上传。
|
22
shyangs 2015-03-20 01:07:26 +08:00
@lotem
讚數 方法有漏洞。 要識別 100不同使用者,避免刷讚分,那每個使用者都要有獨立的ID. 因為如果沒有獨立ID的話,我愛刷幾個讚就直接定一個大數字發佈就是。如果ID是隨機生成 而非計算硬體資訊綁定的話,我就一直安裝反安裝刷隨機ID. 既然有固定ID,這樣我就加入這個P2P網路,每天就在網路中收集 己解密的新詞、未解密的新詞hash、和使用者id. 過一天,收集到新的解密的新詞,計算新詞的hash, 對比前一天和hash綁定的使用者id, 那我不就知道這新詞哪些使用者id會打。 -------- 而 Daniel65536 與運算、或運算的算法,可以不記錄使用者id,但也無法防禦惡意spam. |
23
dearrrfish 2015-03-20 02:30:47 +08:00
@shyangs
与硬件绑定的UID如何进行配置云同步? |
24
shyangs 2015-03-20 11:39:44 +08:00
@lotem
Rime 的用戶數就有雲詞庫,也會被吐槽不如搜狗好用吧。 應該加強靈活性、配置性 這些 Rime 的固有強項,比如提供插件系統。讓第三方開發者編寫插件。 比如,羨慕搜狗/百度/QQ的詞庫,就編寫插件,插件每天連網下載,下載完自動編譯固態詞典,掛到指定的方案上。 也不是只能連輸入法大廠,插件開發者也可以架一個Server,寫爬蟲每天爬微博熱搜榜,讓插件連這個Server下載新的微博熱詞,自動編譯自動掛載。 Rime 官方想提供雲詞庫,一樣可以透過插件。有人不想上傳的詞彙(比如:自己和朋友的姓名),可以直接修改插件,弄一個黑名單。 為降低插件編寫門檻,可以考慮編寫語言使用流行廣的腳本語言。 |
25
lotem 2015-03-20 12:16:21 +08:00 2
@shyangs 事實上,我有一個寫了一半的項目 lotem/rimekit ,是一個分發 Rime 配置的工具,把輸入方案、配色方案、各項設定用 JavaScript/Coffeescript 腳本寫成「配方」,在 rimekit 裏列表顯示,用戶勾選即可完成配置。這功能不需要在輸入過程中即時調用,所以不必做成插件,以保持輸入法本身簡單可靠。
|
26
anguslg OP |
27
jprovim 2015-03-23 04:47:25 +08:00
|
28
leopku 2018-11-21 22:06:58 +08:00
🂡🂢🂣
|