もともと
DaReCo
や
DaReCo Wikipedia
を構築するのに使っていた、
- Wikipedia内のワードを連想計算するエンジン
- Wikipediaのワードを辞書として利用しているMeCabの形態素解析
を、知人が使ってみたいというので、REST化し、ウエブAPIとしてみました.
■ MeCabによる形態素解析(Wikipediaを利用) ■
フレーズ(文字列)を入力とし、MeCabで形態素解析した結果を、フレーズ内での頻度とあわせて、JSON文字列で返します.
(詳細な出力形式はAPIのドキュメントをご参照ください)
MeCabの辞書にはIPA辞書などが利用できますが、(開発当時は)せいぜい数万語です.当然、最新のワードは入っていませんでしたので、Wikipediaのワードを追加辞書として利用しました.
これによって、100万語以上をカバーしています.
MeCabによる形態素解析APIデモ
このデモはGETメソッドで取得できていますが、これはブラウザから出力を確認できるようにしたためです.実際はPOSTメソッドのみを受け付けます.またこのデモは「mecabで形態素解析する」というクエリーのみを受け付けます.
利用したい方はapi_keyを取得してください.
現在MA11用にapi_keyを「ma11」としてAPIを開放しています.
(ただし、AWSのmicro.t1をproxyサーバーとして利用していますので、レスポンスは激しく遅いです.ご了承ください)
以下MeCabの直接の出力
その2
■ 入力ワードの連想ワードを計算(Wikipediaを利用) ■
Wikipediaの記事タイトルと、その記事に含まれるワードを利用して、あるワード群に関する連想ワードを計算し結果を返すエンジンです.
具体的には
{
'艦これ': {'cnt': 1}, ---- ①
}
こういった形式のJSON文字列を入力し、これらから関連する連想ワードを重みつきで返します.(JSON形式の文字列)
{
'艦これ': {'cnt': 3.21},
'角川ゲームス': {'cnt': 1.23},
'DMM.com': {'cnt': 1.45},
'大日本帝国海軍': {'cnt': 0.34},
...
}
(この出力はサンプルです)
上記入力の例では入力するワードは1個しか指定していませんが、複数指定できます.
①の入力にはそのまま形態素解析の結果が使えます.
日本語Wikipediaの情報を利用していますので、およそ
100万記事 × 100万ワード(以上)
の、マトリックスで連想計算を行っています.
これらの計算ロジックを利用したのがDaReCo Wikipediaです.検索窓に入力されたフレーズを形態素解析し、それらから連想ワードを表示しています.
連想計算デモ
このデモはGETメソッドで取得できていますが、これはブラウザから出力を確認できるようにしたためです.実際はPOSTメソッドのみを受け付けます.またこのデモは以下のクエリーのみを受け付けます.
{'形態素解析': {'cnt': 1}}
この連想計算の英語版もあり、これはDaReCo Wikipedia (英語版)で利用しています.こちらは1000万×1000万以上のマトリックスとなっています.(英語版連想計算は今回APIでは提供していません)
ご利用になってみたいという方や、質問などは
yuno@yunopon.sakura.ne.jp
まで、ご連絡ください.