Hatena::ブログ(Diary)

t_daichoの日記

2008-11-04

ATOKダイレクト Social IME変換プラグイン公開

| 23:56 |  ATOKダイレクト Social IME変換プラグイン公開を含むブックマーク  ATOKダイレクト Social IME変換プラグイン公開のブックマークコメント

1日にSocial IMEプラグインスクリーンショットだけ公開したら、id:nokunoさんからトラックバックが。


API仕様書を公開しました - nokunoの日記

とのことですが、公開していただいてOKです。というか私も使ってみたいので、是非公開して下さい(笑)。


なんてこった、適当に作っただけだからお蔵入りの予定だったのにこれじゃ逃げられないじゃないですか(笑)

と言うわけで公開することにしました。ついでに計算プラグインも公開します。


公開先:SkyDrive

http://cid-8200fae396e53ba8.skydrive.live.com/browse.aspx/ATOKDirectPlugin

2009/03/26 公開先をATOKダイレクトグループに変えました。

http://atokdirect.g.hatena.ne.jp/t_daicho/20090326/1238066816


2008/11/05 2:42 追記:一言付け加え忘れました。公開しているプラグインはCtrl + Shift + Insでプラグインを選択しないと出ないようにセットアップツールで設定しています(only_individual_runがtrue)。変えたい場合はセットアップ後に設定するなり、セットアップ前にfalseに変えるなりしてください。

2008/11/20 13:21 追記2:RubyのプラグインなのでRuby実行環境が必要です。

動作環境などはこちらを確認してください。

http://www.atok.com/useful/developer/api/


以下はSocial IMEプラグインソースコード

module Atok_plugin
  def run_process( a_request_data )
    result_data = Hash.new

    require 'uri'
    query = '/api/?string=' + URI.escape(a_request_data['composition_string'])

    require 'net/http'
    http = Net::HTTP.get 'www.social-ime.com', query

    candidate_array = Array.new

    require 'kconv'
    http.kconv(Kconv::UTF8,  Kconv::EUC).split(/\n/).each do | tangoArray |
      tangoArray.split(/\t/).each do | tango |
        candidate_array.push( { 'hyoki' => tango , 
                                'comment=> "Social IME 変換"})
      end
    end
    result_data[ 'candidate' ] = candidate_array
    result_data
  end
end

ATOKからもらった読みをSocial IMEAPIに投げて、結果のタブ区切り文字列を順に候補として出しているだけです。

Social IME APIの出力は仕様書にもある通り、文節区切りごとにその文節の候補がタブ区切りで送られてきますが、ATOKダイレクトで文節移動させて候補を確定なんてできないので、このプラグインは単語変換と割り切って複数の文節に切られたときのことは一切無視しています。

1単語として登録されていない「きょうはいいてんきですね」なんて打つと、「きょうはい」「い」「てんきですね」の候補が一列に並ぶことになります。


id:atzyさんがATOKダイレクトの出力を入力にする方法を公開しているし、うまくやれば文節移動もできるかもしれません。

ATOKダイレクトプラグインを連鎖させる(ファイル絶対パス選択プラグイン) - Atzy->getLog()

わたわたわたわた 2008/11/19 20:58 はじめまして。
Social IMEプラグインが窓の杜で紹介されていて、興味があったのでさっそくインストールしようと試みました。
しかし何度やっても『セットアップ要件を満たすプラグインが存在しないため、セットアップを実行できません』と表示されて進みません。窓の杜の記事では編集部のVistaで確認したって書いてありますが、ウチのXPではダメなのかしら。
もうちょっとがんばってみます。

humhum 2008/11/19 22:18 便利そうなので使ってみようとさっそくダウンロードしてみました。
ところが、アーカイバのExplzh 5.37で書庫の正当性検査をすると UNZIP32.DLL 5.42.0.2が「書庫ファイルのヘッダ異常」と言ってきます
ダウンロードに失敗したかと思い、ダウンロードし直したりブラウザをFirefoxからOperaに換えて試したりしましたが結果は変わりませんでした...
なぜだ〜orz

たけたけ 2008/11/19 22:26 上でわたわたさんが書かれてるのと同じエラーが出て、インストール出来ません。
使用するアーカイバの種類によっては、humさんが書かれてるのと同じエラーが出ました。
DLL未使用のLhaplusでは出ませんでした。

t_daichot_daicho 2008/11/19 23:25 > 「書庫ファイルのヘッダ異常」
こりゃすみません。IZArcってソフトで固めてたんですが、こいつが悪さしたのかもしれません。
WindowsのZip圧縮に差し替えてみました。

humhum 2008/11/19 23:56 SocialIMEPlugin_setuptool.zip
 → 書庫の正当性OK
 → Vista x64 + ATOK 2008 インストールOK

でした。
オンラインウィルスチェックもしてみました。結果ページのURL載せときます。画面下に細かいファイルサイズやMD5、SHAのダイジェストがあるのでファイルの同一性が気になる方は参考にしてみてください
http://www.virustotal.com/jp/analisis/629b38565905087b9eaf14f1a2f11e1c

これから使うの楽しみっす

t_daichot_daicho 2008/11/20 00:38 humさん確認ありがとうございます!
わたわたさん、たけさんもこれで使えるでしょうか?

fokfok 2008/11/20 11:51 こんにちは。面白そうなプラグインということで寄らせていただきました。
さて、「セットアップ要件を満たすプラグインが存在しないため、セットアップを実行できません」のエラーですが、これはPerl/Rubyがインストールされていないと表示されます。
一般の方が使われる場合、Perl/Rubyを入れていないケースは充分考えられますので、プラグイン配布側でも注意書きは必要かもしれませんね。

fokfok 2008/11/20 12:22 補足です。
こちらのATOK2008本体のアップデートモジュールがインストールされていない場合にも同様のエラーが出るようです。
http://support.justsystems.com/faq/1032/app/servlet/qadoc?QID=043053
これを入れた上で、perl.exeとruby.exeにパスが通った状態を構築したら無事インストールできました。

t_daichot_daicho 2008/11/20 13:55 fokさん、ありがとうございます。一応記事にも補足しておきました。
窓の杜にもRuby環境が必要って書いておいてくれればよかったんですけどね。

わたわたわたわた 2008/11/23 01:41 ご報告が遅くなりましたが、こちらでも無事インストールすることができました。ありがとうございます。
実際使ってみた感想ですが、記載されているとおり単語変換でしか効果を発揮しないというのが、使い方を限定してしまうのでなかなかムズカシイですね。それより、そもそもATOKダイレクトそのものの操作性というか、普通の変換候補にもなるような融合にならないのかしら、と思ったり。
ともあれ、ありがとうございました。

t_daichot_daicho 2008/11/23 17:55 > 普通の変換候補にもなるような融合にならないのかしら、
一応、ダイレクトのメニューに自動検索ってボタンがありますが、ジャスト提供のはてなとかgooとかのやつしか引けませんね。セキュリティ的に考えても至極真っ当な判断だと思いますけど。
結果を学習するようになれば一時的に単語を探しに行く辞書的な使い方もできるんですが、現状はそうはなっていませんからね。
本家で紹介していたURLエンコードみたいに、憶えられても困る物もあるから学習しないようにしてるんでしょう。