こんにちは、買物情報事業部の荒引 (@a_bicky) です。 前回、「検索結果の疑問を解消するための検索の基礎」で単語単位でインデキシングする前提で説明しましたが、今回は文などを単語単位で分割するために使う技術である形態素解析について触れます。形態素解析器には色々ありますが、中でもメジャーと思われる MeCab の仕組みについて説明します。 MeCab の解析精度を上げるために辞書に単語を追加したことのある方もいると思いますが、動作原理を理解することで単語を追加する際に適切な生起コストを設定できるようになったり、学習の際に適切なパラメータを設定できるようになったりするはずです。 なお、MeCab は汎用テキスト変換ツールとしても使用できます が、簡単のため MeCab +IPA 辞書のデフォルト設定前提で説明します。 アジェンダ形態素解析とは MeCab における最適な解析結果の推

顔文字を形態素解析? テキストコミュニケーションにおける「身振り手振り言語」とも言われる顔文字は、目・鼻・口などの顔のパーツから構成されています。ところで顔文字をパーツごとに分割し、パーツの種類(品詞)を推定するというタスクは、形態素解析と同じ問題に帰着します。そこで今回私は、形態素解析器として使われているMeCabを用いて、顔文字を形態素解析してみました。 デモ まずはデモを試してみてください。 http://www.haroperi.info/cgi-bin/emoticon.cgi 実行結果 未知語処理が苦手なようで、なかなか正確な形態素解析は行えませんが、教師データを解析してみると、以下のように綺麗に分割・品詞付与されます。 詳細 詳細はhttp://www.haroperi.info/emoticon/mecab.htmlに書きました。これ以上はどこにも書いていません。 今後、M
<自分メモ> 例えば、こういう状況の時に役立ちます。 とある文章の中で、もっともよく使われている単語(キーワード)は何か、どれくらい重複しているかという数字と共に知りたい。 そんな時は、こちらの方法で重複した単語を抜き出して、数字と共に表示することができます。 ・生の文章(テキスト)を、このサイトで形態素解析かける http://www.oasob.com/tools/mecab/ ・結果が表示されたら、ページのソースの中から該当する部分をひとつのファイルにコピペ ・そのファイルをデスクトップへ置く ・ターミナル開く ・コマンド打ってデスクトップへ cd Desktop/ ・下記の「filename」のとこに対象のファイル名を書いて、ターミナルにコピペ。Enter押す。 cat filename |perl -e 'my %pat;while(<>){next if m/^\s/;my @
4月からPFIで働いてます。海野です。 今日は単語の話をします。読み物的な話なので軽く読んでください。 テキストデータなどの自然文を機械処理するときには、まず最初に単語に分割するということをよく行います。一般的にはMeCabやChasenといった形態素解析エンジンに投げて行います。形態素と単語の区別という話もあるのですが、ここでは大雑把に「連続した文字列の単位」くらいの意味で話します。 検索という文脈ですと形態素インデックスという言葉がありますが、これは検索の最小単位を文字単位ではなくて形態素の単位にするということです。例えば「東京都」は「東京」「都」に分かれるため、「京都」というクエリに対して見つかるのを防ぐなど、精度を上げる効果があります。反面、深刻な検索漏れを引き起こす可能性があるため嫌われることが多いです。こうした漏れは検索に限らず、テキストマイニングなどの文脈でも問題となることが
突然ですが,mecabの辞書 (mecab-ipadic) をデフォルトのまま使って,mecab意外と使えねぇとか文句言ってる悪い子はおらんかね? mecab-ipadic は比較的お行儀のよい日本語をベースに作られているので,そのままでは web上の口語文体のテキストはうまく扱えないことがあります。本来は教師データを用意し,学習させるといった手法を使うのが正攻法だと思いますが,とりあえず名詞を充実させるだけでも実用度はだいぶ上がるでしょう。 人間の話す言語には,動詞の語幹や名詞には日々新しく語彙が増えるけど,助詞や活用のルールは簡単には変化しない,という特性があります。特に「いま最もつぶやかれている単語ランキング」といった集計をするような場合は,名詞の範囲の切り出しさえ間違えなければそれなりの結果を出せることも多いのです。 ただ,辞書への単語追加はここにある通り簡単にできるのですが,単語
Igo GAEはGoogle App Engine/Javaを使って形態素解析エンジンのIgoを動作させる。 [/s2If] Igo GAEはJava製/Google App Engine用のフリーウェア(ソースコードは公開されている)。日本語を解析するのに使われているのがいわゆる「形態素解析」だ。名詞や形容詞などに分割することによって、システムとの連携をしたり文書の意味を解析できるようになる。 メイン画面 方法は幾つか存在する。ローカルで行うならMeCabやKAKASI、ChaSenが有名だ。そしてWebサービスとして提供されているのがYahoo! Japanの日本語形態素解析Webサービスになる。Yahoo!同様、Webベースで独自のシステムを使いたいならばIgo GAEを使ってみよう。 Igo GAEはJava製の形態素解析エンジンであるIgoをGoogle App Engine上に
統計的自然言語処理エンジンStaKK を開発しました。nokuno’s stakk at master -GitHub 以下、READMEからの引用です。 現在の機能 かな漢字変換 予測変換 または サジェスト スペル訂正形態素解析 HTTPによるAPIサーバ Trieの直接操作現在は、StaKK は辞書として Mozc (Google日本語入力のOSS版)のデータを使っています。 リバースモードについてStaKK はノーマルモードとリバースモードの2つのモードを持っています。 ノーマルモードでは、かなを入力し、単語(主に漢字)を出力します。 リバースモードでは、単語を入力し、読みや品詞を出力します。これらの2つのモードの応用例をまとめると、次の表のようになります。 機能 ノーマルモード リバースモード Convert かな漢字変換形態素解析 Predict 予測変換 検索ワードのサ
今回はこの言葉の解析をMeCab+NAIST辞書にお願いして、結果を分析することで、MeCabが行っているコスト計算について勉強してみたいと思います。 とりあえず実行してみる さっそくMeCabに「日本テレビ東京」を解析してもらいましょう。 $ echo 日本テレビ東京 | mecab 日本 名詞,固有名詞,地域,国,*,*,日本,ニッポン,ニッポン,,テレビ東京 名詞,固有名詞,組織,*,*,*,テレビ東京,テレビトウキョウ,テレビトーキョー,, EOS 「日本 |テレビ東京」と分けていますね。視聴率的には負けていますが、NAIST辞書的には日本テレビよりもテレビ東京が優先されたようです。 ちなみに「フジテレビ東京」ではどうなるでしょうか。 $ echo フジテレビ東京 | mecab フジテレビ 名詞,固有名詞,組織,*,*,*,フジテレビ,フジテレビ,フジテレビ,, 東京 名詞,
「KOIL FACTORY PRO」で新たな視点でつくる「衣食住遊」の体験型フェス「ほにゃらら+らDAY」が10月29日と30日に開催

MeCabを使って自動抽出しているので、時々妙な読みを返しますが、ご了承ください。 漢字が含まれる単語の読みを抽出します。 それ以外の文字列は全て処理前に削除されます。 ひらがな、カタカナだけの文字列も無視されます。 送られてくる文字列は全てUTF-8で指定する必要があります。 <form id="f"> <input type="text" name="q" size="16"> <input type="submit" value="読み!" onclick="getYomi('f'); return false"> </form> function getYomi(form) { new Ajax.Request( '/rest/yomi/get', { method: 'get', parameters: Form.serialize('f'), onComplete: funct
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く