たつをの ChangeLog

11 件 見つかりました。

1 2 3 [ 次へ ]

形態素解析器 MeCab の WebAPI である MECAPI
その MECAPI を Linux や macOS などのターミナルから使うためのコマンドを用意しました。
Perl で書いた超簡単なやつです。


使い方は API に準拠 (ref. http://maapi.net/apis/mecapi)。
response, filter, format, dic はオプションで指定。
sentense (解析対象文) は標準入力で。

実行例:
% echo 'ここは六本木ヒルズです' | mecapi.pl -format json -dic neologd | jq .
[
  {
    "feature": "名詞,代名詞,一般,*,*,*,ここ,ココ,ココ",
    "surface": "ここ"
  },
  {
    "feature": "助詞,係助詞,*,*,*,*,は,ハ,ワ",
    "surface": "は"
  },
  {
    "feature": "名詞,固有名詞,一般,*,*,*,六本木ヒルズ,ロッポンギヒルズ,ロッポンギヒルズ",
    "surface": "六本木ヒルズ"
  },
  {
    "feature": "助動詞,*,*,*,特殊・デス,基本形,です,デス,デス",
    "surface": "です"
  }
]
(JSON を扱うには jq がすごく便利!)

エラーが出る場合、中で使っている Perl モジュール "LWP::Simple" で https へのアクセスができないことが原因かも。
そのときは、 "LWP::Protocol::https" を入れて見てください。
"perl lwp::simple https" などでネット検索!

それができない、とか、それでもダメといった場合は代わりに mecapi-curl.pl をご利用ください。
こちらは最小構成の perl と curl が入っていれば動きます。
単なる curl のラッパーです。

以上です。
ぜひ、MECAPI をお楽しみください!

追記191212: 一文ずつ渡すだけならば普通に curl だけOKです!
curl https://maapi.net/apis/mecapi -s --data format=json --data-urlencode sentence=六本木ヒルズです

関連記事


MECAPI という形態素解析 API を運営しているのですが、ここしばらくはレンタルサーバの負荷がきついので実質まったく動いていない状態でした(というか停止していた)。

「これじゃいけない!」ということで、AWS 上で MECAPI を運用していくことにしました。
クラウドな MECAPI です。

URLも新しくなりました。
説明ページ(トップページ)も作りました。
どうぞご利用ください。

mecapi 仮ロゴ
  • 形態素解析API「MECAPI」
    MECAPIとは、 日本語形態素解析器 MeCab の Web Service (API) です。
    API を無償で提供しております。
    後述の注意点をお読みいただいた上で、ご自由にお使いください。

1週間くらい前から真面目にAWSをいじり始めたのですが、かなり良いですね(今更)。
練習でウェブサーバを立ち上げたりしてましたが、手順は多いけど難しくはないです。
なんだかんだで最後までできてしまいます。
やはり時代はクラウドだなあ。

MECAPI での形態素解析処理(MeCab とその Perl Module)は当面はインスタンス1つだけでまかなうつもり。
ロードバランサーの設定もしたので、負荷がきつくなったらインスタンスを追加すれば大丈夫なはず(今はLBにインスタンスが一つだけぶらさがっている状態)。
そこらへんは追々に。

AWS の料金ですが、私が運営しているKindleセール情報サイト「キンセリ」の収入の一部を使っていくつもりです。
まずは、月10万円くらい($1,000)が上限(アラート設定済み)。
どれくらいかかるかはやってみなくちゃわからないけど。
運用状況については今後定期的に報告していく所存です。

過去記事

この記事に言及しているこのブログ内の記事

このブログでは過去にさくらの500円サーバに MeCab をインストールする話を書いてたりしましたが、実はさくらの500円サーバには MeCab の Perl モジュールが最初から入ってるんですね。いつからなのかなあ。

下記ブログ記事で知りました。

- さくらインターネットにPerl版のMeCab(形態素解析)を導入する
http://crowd-logic.com/blog/archives/16132
さくらのサーバーには既に、mecab本体、mecab-perl、ipa辞書が入っています。

さて、最近のサーバのアップデートにより、自分で入れた MeCab の perl モジュールが動かなくなっていました。この際、最初から入っている MeCab.pm を使うことにしました。

私の環境では /usr/bin/perl ではなく、 /usr/local/bin/perl5.14.4 でなければ使えないみたい。

以下、テストコードと実行例。

■ソース(mecab.pl):
use strict;
use warnings;
use MeCab;
my $m = new MeCab::Tagger ("");
while (<>) {
    chomp;
    my $n = $m->parseToNode($_);
    while ($n = $n->{next}) {
        print "$n->{surface} $n->{feature} $n->{cost}\n";
    }
}

■実行例:
% echo "美しい豚を食べた" | nkf -e | perl5.14.4 mecab.pl | nkf -w
美しい 形容詞,自立,*,*,形容詞・イ段,基本形,美しい,ウツクシイ,ウツクシイ 3862
豚 名詞,一般,*,*,*,*,豚,ブタ,ブタ 9952
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 9142
食べ 動詞,自立,*,*,一段,連用形,食べる,タベ,タベ 13197
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ 10798
 BOS/EOS,*,*,*,*,*,*,*,* 9688

MECAPI も動かなくなっていたのですが、これで復旧しました。

追記191208: MECAPI リニューアルしました→ https://maapi.net/


ドメインの関係でしばらくアクセスできなかったMECAPI[2006-09-18-1]ですが、URLを下記に変更しました。よろしくお願いします(APIたたきすぎは勘弁なっ!)。

ttp://yapi.ta2o.net/apis/mecapi.cgi
追記180618: 負荷が厳しいため何年か前から停止中)
追記191208: MECAPI リニューアルしました→ https://maapi.net/

ついでに「笑い顔顔文字API」[2009-04-12-2]のURLも下記に変更。使ってる人いないと思うけど。

https://yapi.ta2o.net/apis/warosuapi.cgi

Yahoo!デベロッパーネットワークに「テキスト解析」が登場しました。
第一弾は日本語形態素解析APIです。
ヤフーのいろんなところに使われている WebMA という
形態素解析エンジンのAPIです。

- Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析
  http://developer.yahoo.co.jp/jlp/MAService/V1/parse.html

MECAPI の仕様に似ていますが、まあそういうものです。
(MECAPI https://maapi.net/)

で、先日 MECAPI で作った「文で検索」[2007-04-03-1]
WebMA 版を作ってみました。「文で検索2」です。「2(ツー)」ですよ!

- 文で検索2 ttp://chalow.net/misc/bunsearch2.php
  http://yapi.ta2o.net/bundekensaku/
  (ソースはこちら: ttp://chalow.net/misc/bunsearch2.txt
    http://yapi.ta2o.net/bundekensaku/bunsearch2.txt

ちなみに MECAPI 版は ttp://chalow.net/misc/bunsearch.php
http://yapi.ta2o.net/bundekensaku/ で「MECAPI」を選択。
(ソースはこちら: ttp://chalow.net/misc/bunsearch.txt
  http://yapi.ta2o.net/bundekensaku/bunsearch.txt

ソースを見比べてみると分かると思いますが、
変更箇所は、MecapiWrods() の代わりに WebmaWords() を呼んでるところ
くらい。この二つの関数を違いを見てみて!(ま、ほぼ同じだけどね)

さて、MECAPI(MeCab) と WebMA の違いですが、なんといっても後者は
語彙が豊富です。ウェブに現れる語彙をじゃんじゃん追加しているので、
特に固有名詞なんかには強いです。

どちらかというとマイナーな苗字「小飼(こがい)」で比べてみましょう。
どちらも名詞だけ取り出しています。

- 文で検索 MECAPI版:小飼弾です
- 文で検索 WebMA版:小飼弾です

前者だと、「飼弾」という謎な語が取り出されてしまいます。
後者には、ちゃんと「小飼」という固有名詞が登録されていることが
分かります。


■関連記事:

- ヤフー、文章を解析できるAPI「日本語形態素解析Webサービス」を公開:
  ニュース - CNET Japan
  http://japan.cnet.com/news/media/story/0,2000056023,20351038,00.htm
ヤフーの日本語処理技術部がYahoo! JAPAN研究所と共同で開発を進めてき
た形態素解析エンジン「Web MA」を社外の開発者向けにAPIとして公開す
るもの。

- CodeZine:Yahoo!、異質なWeb API「日本語形態素解析Webサービス」を
  公開(Webサービス)
  http://codezine.jp/a/article/aid/1461.aspx
日本語文を形態素に分割し、品詞、読みがなの付与や、「文章内である
単語が何回使われたのか」といった統計情報を取ることができるWeb API。

1 2 3 [ 次へ ]

たつをの ChangeLog
Powered by chalow