Issue 226 in vimim: 第五朵彩云全新问世

43 views
Skip to first unread message

vi...@googlecode.com

unread,
Aug 21, 2012, 2:45:58 AM8/21/12
to vi...@googlegroups.com
Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 226 by suxp...@gmail.com: 第五朵彩云全新问世
http://code.google.com/p/vimim/issues/detail?id=226

就在前两天,微软亚洲研究院放出了全新的拼音输入法“英库
”(http://pinyin.engkoo.com/),也挤进了云输入的大家庭。

既是微软的产品,自然水平应该是不错的,尽管不知道会不会跟腾讯一样不靠谱
http://www.cnblogs.com/birdshome/archive/2010/11/11/qq_ime.html)。

英库桌面版试用结果,长句识别率还是比较高的,跟搜狗输入法一样,第二候选会请求
云端的结果,如果跟第一候选一致则第二候选变成灰色,显示一个指向第一候选的云
朵。云输入的链接速度还行,不知是不是本地网络的原因,偶尔会出现较长的停顿。

然而英库没有提供网页版本的云输入接口,于是只好祭出大杀器——wireshark。无奈
WinPcap 不兼容 win8,但在 Microsoft Network Monitor 的帮助下,至少得到了下面
这个例子:

xi'anmeimeidepi'aosuifengpiao:
GET:
/http/v2/3e37e87a262e4b34a25bf7f74e0df0d0/?q=xi'anmeimeidepi'ao&s=*_*_*&rmf=2128897&oc=1&tc=%E8%A5%BF%E5%AE%89%E5%A6%B9%E5%A6%B9%E7%9A%84%E7%9A%AE%E8%A2%84&l=zh-CN&cnt=&cc=&ver=1.0.333.04
/http/v2/3e37e87a262e4b34a25bf7f74e0df0d0/?q=xi%27anmeimeidepi%27ao&s=*_*_*&rmf=2128897&oc=1&tc=%E8%A5%BF%E5%AE%89%E5%A6%B9%E5%A6%B9%E7%9A%84%E7%9A%AE%E8%A2%84&l=zh-CN&cnt=&cc=&ver=1.0.333.04
HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Pragma: no-cache
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64;
Trident/6.0)
Host: s.p.msra.cn

在浏览器中直接使用
http://s.p.msra.cn/http/v2/....(上面 GET 的东东,不再重复)
能够返回如下内容(xml):
<R xmlns="http://microsoft.com/ime/response/v1"><V>2</V><E
id="_TEXT_"><C><S>西安美美的皮奥</S><P>xi an mei mei de pi
ao</P><Y>87189</Y><T>西安美美的皮奧
</T></C></E><R><Q>xi&amp;amp;apos;anmeimeidepi&amp;amp;apos;ao</Q></R></R>

其中有些选项不太清楚是什么意思,但至少看上去这朵彩云也能返回一个整句匹配的结
果来。

相关说明:
tc=... 参数的值是输入法的第一候选词,【可能】是用于收集信息用的?不太清楚。
去掉 tc 参数返回结果似乎没有变化;
oc=[NUMBER] 参数的值,看上去是这样的:0,中文简体;1. 中文简体+中文繁
体;2. 中文简体+某个不知道什么意思的返回值;3. 中文简体+中文繁体+那个值,其
他值貌似没有效果。直接去掉参数也能返回,相当于 0;
l=zh_CN 似乎是个没有意义的参数,可以去掉;
ver=.. 是英库输入法的版本号,去掉不影响返回值;
cnt, cc 两个没有赋值的参数似乎也不影响,可以去掉;
q 当然就是拼音串了,支持音节分隔符;
rmf= 的数字不知道是什么作用,去掉貌似不影响返回结果;
s 参数【不可以】去掉,但具体的取值不知道是什么规则;

最后,v2/.../? 之间的十六进制字符串应该是 session ID 之类的东东。

于是,一个合法的英库云(微软云)请求最短应该是这个样子:
http://s.p.msra.cn/http/v2/xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX/?q=pinyin&s=*_*_*

Thats all.

尽管从这些结果看来,只能返回一个结果,但毕竟是大名鼎鼎的微软亚洲研究院出品的
云输入法,况且很多时候云输入法主要也只在乎最前面的那个结果。

有必要添加到 VimIM 的云大家庭中不?

PS:微软的云竟然会有这么个神奇的结果:刚刚的输入在英库输入法中返回“西安妹妹
的皮袄”,而云的结果前面您已经看到了……难道这是朵乌云?

PPS 英库本地的长句识别结果还是相当帅气的。

vi...@googlecode.com

unread,
Aug 21, 2012, 2:48:19 AM8/21/12
to vi...@googlegroups.com

Comment #1 on issue 226 by suxp...@gmail.com: 第五朵彩云全新问世
http://code.google.com/p/vimim/issues/detail?id=226

哎哟,一不小心点到最短请求的 URL 上,竟然也出结果……那个十六位 SID 竟然不是十
六进制!

BTW 上面的好多 URL 识别错了。发的时候忘了加空格……

vi...@googlecode.com

unread,
Aug 21, 2012, 2:54:54 AM8/21/12
to vi...@googlegroups.com

Comment #2 on issue 226 by suxp...@gmail.com: 第五朵彩云全新问世
http://code.google.com/p/vimim/issues/detail?id=226

上面那个 GET 方法下面重复了,只出现了一次,下面那个是复制网址出来的所以音节
分隔符用 % 表示了。

vi...@googlecode.com

unread,
Aug 26, 2012, 11:12:34 AM8/26/12
to vi...@googlegroups.com

Comment #3 on issue 226 by pan.shi...@gmail.com: 第五朵彩云全新问世
http://code.google.com/p/vimim/issues/detail?id=226

如果只能返回一个选项,似乎意义不大。

当然要搞也是可以的,不过你会发现这个输入法在纯云模式下没有实用价值。除非是结
合本地词库。

vi...@googlecode.com

unread,
Feb 5, 2013, 9:56:28 AM2/5/13
to vi...@googlegroups.com

Comment #4 on issue 226 by suxp...@gmail.com: 第五朵彩云全新问世
http://code.google.com/p/vimim/issues/detail?id=226

时隔这么长的时间,溜上来更新下~~ ^_^

关于微软英库:这货 beta 了这么久,目前仍然还是 beta 状,但它的云已经开始在必
应主页上提供搜索建议来用了,——也就是说,我们算是有了一个网页版本的 API 可以
用。

firefox 到 bing.com 上开 web console,抓到如下 URL:
http://bj1.api.bing.com/qsonhs.aspx?FORM=ASAPIH&mkt=zh-CN&type=cb&cb=sa_inst.apiCB&q=xianmeimeidepiao&cp=10&o=a+h+p
然而不幸的是,这个东东仍然只能返回一个候选词,而且不支持音节分隔符。

好吧微软的攻城狮可能也没怎么在意过这么低端的东西……

这个不痛不痒的消息说完了之后呢,还有个天大的好消息要报告一下,——Google 云更
新啦!!(其实已经更新一段时间了)功能更加强大更加体贴,演示地
址:translate.google.com

到此为止,我们见到了 Google 真正的云输入法,货真价实童叟无欺如假包换假一赔十
……的云输入法,而且华丽丽的支持简繁体中文拼音、五笔、注音输入法

https://www.google.com/inputtools/request?text=xi%27anmeimeidepi%27aosuifengpiao&ime=zh-t-i0-pinyin&num=10&cp=0&cs=0&ie=utf-8&oe=utf-8&app=translate&uv=xi%27anmeimeidepi%27aosuifengpi%3B0%3B0&cb=_callbacks_._12hcsz7awu
后面的回调似乎每次都会变,但至少一直到 oe=utf-8 保留下来,其余删掉的测试结果
是能够返回的。该云输入法的处理方法是,首次请求十个结果,第三页(因为每页五个
)时再请求50个结果。

繁体中文只需要把 `ime=` 的参数换成 `zh-hant-t-i0-pinyin`(简体拼音是
zh-t-i0-pinyin)
https://www.google.com/inputtools/request?text=xi%27anmeimeidepi%27aosuifengpiao&ime=zh-hant-t-i0-pinyin&num=10&cp=0&cs=0&ie=utf-8&oe=utf-8

相应的,五笔是 zh-t-i0-wubi-1986,of cause 猜了下竟然猜对了,还有
zh-t-i0-wubi-1998:
https://www.google.com/inputtools/request?text=ssss&ime=zh-t-i0-wubi-1986&num=10&cp=0&cs=0&ie=utf-8&oe=utf-8
这样的话,我们除了之前的“转换为拼音”的五笔支持方案外,有了两朵原生的五笔云
^_^

注音输入法是 zh-hant-t-i0:
https://www.google.com/inputtools/request?text=mp6gj%3Dbj4z83&ime=zh-hant-t-i0&num=10&cp=0&cs=0&ie=utf-8&oe=utf-8

当然,给力的 Google 必然会支持各种语言:霓虹语:ja-t-ja-hira-i0
https://www.google.com/inputtools/request?text=%E3%81%AA%E3%81%A4%E3%82%84%E3%81%99%E3%81%BF%7C%7Ct%3A1&ime=ja-t-ja-hira-i0&num=10&cp=0&cs=0&ie=utf-8&oe=utf-8
只是它的假名仍然要先由 JS 转换出来再提交给云,跟之前一样;CJK 的另一家,朝鲜
语/韩语由于属于拼音文字的原因?JS 端自己搞定,没云的事(而且是用软键盘输入的
)。

在以下页面中,应该能找到官方给出的相关说明或文档:
http://www.google.com/inputtools
按照列表,能够支持的语言相当多,但提供云支持的具体还有谁就不知道了,不过作为
汉语使用者,中文下面四款输入法已经很不错了,不知道是否还存在像 `98 版` 那样
的其他隐藏输入法没有,虽然 inputtools 里面只提到了前述五种 IME。

BTW,经测试,上述 https 链接可以换为 http 而效果不变,对于拼音等而言,输入编
码输出编码的参数 ie/oe 似乎也没多大影响;而 cp cs 的作用不明。

Reply all
Reply to author
Forward
0 new messages