nomuran's diary

野村直之のはてな日記(後継ブログ)です

Mextractrと組合せたいWebAPIをapi-match.comで発見

nomuran72008-07-02


Mextractr メタデータ自動抽出API を使った公開マッシュアップは6末時点でまだ現れていないようです。(微笑)

となれば、自分で作れや、というのが言いだしっぺ原則であり、"2.0"的なやり方かと思います。弊社のようにマッシュアップ開発者からWebAPI提供者になる、という事例は結構多いですし、WebAPI提供者は、当然(冷汗)、サンプルマッシュアップを提供することが期待されるわけです。
※実用Webサービス、有償ポータルサイト、Webアプリとの本格的な連携については、ある出力値の追加が決め手となりますので、、しばしお待ちを、となります。

現時点で、素直に、抽出された5W1HのvalueString すなわち日本語文字列(一般には漢字列)を受け取って意味のある加工、変換、検索などにつなげることも、もちろんできます。

ここで、「日本語」限定がちょっとさびしいかな、でも現時点では仕方ないかな、と思っていたのですが、「そうだ、日英翻訳にでもかければいいじゃん!」と今朝思いつきました。

し・か・し、です。
抽出結果の多くは固有名詞的な情報となります。
したがって、機械翻訳の辞書には登録されていない可能性が高い。
そこで、最終的にローマ字に変換してやれれば、それを海外のイベントカレンダーに登録する、などのアプリケーションを組むことができます。

ローマ字翻訳した結果をWebAPI化すれば、海外の人たちに、日本語の見知らぬ文章の要点を、 などを手がかりに、つかんでいただくことができるじゃないか!

こうなれば、あとは、ローマ字化が、殆どWebAPIのみでできてくれるかどうか。すなわち、数時間〜せいぜい1日半位でマッシュアップ出来るか、です。

こんなときは、WebAPI比較・マッチングサービスhttp://www.api-match.comの出番です。

シンプルに「変換」で検索。
今日時点で、44件のヒット。

※ちなみに、日本語が苦手な方は、"conversion" で検索してください。日本語モードでも英語モードでも、同じ結果が出ます。

文字を変換してくれそうなWebAPIをいくつか開いたり閉じたりします。以前はこのとき、Drag&Dropが準必須だったのですが(以前から左側詳細画面にはWebAPI名をダブルクリックで表示できましたが)、緑の左右斜め下方に向いた矢印ボタンを前回のリリースで付加した結果、1クリックで楽々、詳細画面が表示できるようになりました。

いくつか開いた後で、「検索結果」の隣にある「閲覧履歴」の耳タブをクリックします。
閲覧したAPI一覧に半ダースほど表示されたのをざっと見たら、「お!これとこれで十分じゃん!」となりました。

Mextractrももちろん「変換」系のWebAPIですので一緒にヒットしました。クリックしたので、入ってます。
で、今回は入り口ですから、左端のチェックボックスを最初にクリックします。

次は、漢字をカナに変換してくれる(逆ではありません;逆はATOKの仕事)YOMIが続きます。

実はさきほど気楽に、「あSumibiがあったから十分、十分」と思っていたのですが、この閲覧履歴タブから緑の右斜め下方向矢印ボタンを押してみたら、、

あらら、逆だった。「ローマ字を日本語に変換します。」ですって。
しかもSOAPだしなぁ。。

そこで、YOMI のページを読んでみたら、「MeCabを使っている」とわかりました。

なるほど。それじゃぁ、何らかの形態素解析で使っているIPAdicの かな読み部分を、あらかじめスクリプトでローマ字化しておき、ダイレクトに変換すりゃいいじゃん、となります。そんな方法も1つにはある、と。

し・か・し、YOMIのWebAPI提供者にその作業をお願いすることもできません。
MeCapiのWebAPIも同様。

どうしようかな、と考えて、なんだ「かなローマ字変換程度ならJavascriptでも十分書けるじゃん。軽いし。」と思い立って検索。

みつかりました:
http://hb2.seikyou.ne.jp/home/masa15/hp/pd-m7/roumaji.htm

意外に奥が深いようです。誤変換の例が面白いです:

・「ン」は「nn」と表示されます。
・「ッ」は単独で使用される場合がないのですが、「ltu」に変換されます。
 このケースも手修正をしてください。
 例:
 ・ハットリ ハンゾウ 変換後は haltutori hannzou 手修正で hattori hanzou に。
 ・ホッタ ジンザエモン  →   holtuta shinnzaemonn  →  hotta shinzaemon に。
 ・ニッタ ジロウ   →   niltuta jirou     →  nitta jirou に。
 これらを変換しようとするとdataが3倍ほど必要になりますので、現状では対応して
 おりません。手修正でお願いします。

海外の人にそれらしく読めれば良いという程度なら、修正スクリプトも簡単に書けそう。

ということで、とりあえず、
mextractr -> YOMI とつないだ複合APIJavascriptライブラリ
という形で解決策が1つみつかりました。

一応企画書生成ボタンを押して追記、確認しておきましょう。

マッシュアップ企画「Mextractr出力をローマ字に変換」 2008-07-02
ひとことで言うと 海外の開発者が日本語文章の5W1Hを手がかりに自分のサービスと連携させる機能 を提供するアプリケーション

想定ユーザは、日本語は読めないけれど日本語で書かれた不定形テキスト情報に関心ある人

このアプリを使う利点は、日本語テキストのエッセンスを目視でトレースできたりトレンドつかんだり自国語のイベントカレンダーに自動登録したりできる。

API活用方針
↓ REST
  API入力:「日本語プレーンテキスト」

API-1:"Mextractr API": メタデータ自動抽出API 単一イベント版
 
API入力URL:http://api.emetadata.net/mextractr
提供者URL:http://api.emetadata.net/mextractr?
   
XML (Atom,GDATA)
  API出力:「5W1Hが漢字仮名混じり文混じりで埋め込まれたAtom
|  

  アプリの処理:
↓ REST
  API入力:「 同上 」
API-2:"YOMI - 読みを抽出": 漢字からカタカナ変換
 
API入力URL:http://yomi.endeworks.jp/rest/yomi/get
提供者URL:http://yomi.endeworks.jp/
   
JSON

http://hb2.seikyou.ne.jp/home/masa15/hp/pd-m7/roumaji.htm
からDLしたJavascriptベースのWebサービスに組込み。


入出力のデータ形式プロトコルとも、自然に、容易につながります。


自画自賛で恐縮ですが、最近は、
http://www.api-match.com 無しではマッシュアップを考える気が到底しないほど、しっかりこのサービスに依存しています。


上記に出てくるMeCapiだの、翻訳だの、単語だの、についてもぜひ http://www.api-match.com で調べてみてください。面白い素材を素早く発見することができますので。