Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました Tweet [NLP] 日本語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。 IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困ります。困らない人もいますけど、僕は困ります。 その課題に対処するために、日本全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に元データとして使われることが多いのは Wikipedia 日本語版やはてなキーワードなどです。 困ったことに、新語辞書を生成
突然ですが,mecabの辞書 (mecab-ipadic) をデフォルトのまま使って,mecab意外と使えねぇとか文句言ってる悪い子はおらんかね? mecab-ipadic は比較的お行儀のよい日本語をベースに作られているので,そのままでは web上の口語文体のテキストはうまく扱えないことがあります。本来は教師データを用意し,学習させるといった手法を使うのが正攻法だと思いますが,とりあえず名詞を充実させるだけでも実用度はだいぶ上がるでしょう。 人間の話す言語には,動詞の語幹や名詞には日々新しく語彙が増えるけど,助詞や活用のルールは簡単には変化しない,という特性があります。特に「いま最もつぶやかれている単語ランキング」といった集計をするような場合は,名詞の範囲の切り出しさえ間違えなければそれなりの結果を出せることも多いのです。 ただ,辞書への単語追加はここにある通り簡単にできるのですが,単語
情報検索の分野でよく使われるアルゴリズムで「TF/IDF」というものがあります。 ドキュメントの中から「特徴語」を抽出する、といったような用途でよく使われています。 TF/IDFアルゴリズムのくわしい解説はこことかここを見てください。 今回はこのTF/IDFの計算を「簡単」に実現するためのperlモジュールをCPANに上げましたので、ご紹介します。なまえはLingua::JA::TFIDFといいます。 Lingua::JA::TFIDF - TF/IDF calculator based on MeCab. http://search.cpan.org/~miki/Lingua-JA-TFIDF TF/IDF実装の困りどころ TF/IDFの実装を試みた方であればわかると思うのですが、実際にやろうとすると、TF(Term Frequency)の計算はなんら難しくありませんが、IDF(Inve
x86_64環境でText::MeCabがビルド出来ない、ってネタはググるとわりと出てくるんだけど、そうでない状況に出くわしたので記録として。 MeCab本体は最新版の0.98、Text::MeCabはCPANにある0.20007でテスト。OSはCentOS5.4(x86_64)です。 まず、Makefile.PLは以下のように変更を加える。 #LIBS => [ split(/\s+/, $config->{libs}) ], LIBS => `mecab-config --libs`, LD => `mecab-config --cxx`, INC => `mecab-config --cflags`, これでmake && make testすると、 # Failed test 'MECAB_NOR_NODE ok' # at t/01-sanity.t line 11. # Fai
-r --rcfile 使用するリソースファイルを指定する リソースファイルとは、辞書ディレクトリに入っている「dicrc」ファイルを指します。 試しにシステム辞書の「dicrc」ファイルをコピーして、「dicrc2」というファイルを作り、その中の「; simple」の「EOS」を「eos」に書き換えます。するとこんな風になります。 // リソースを指定せずに実行 $ echo テスト | mecab -O simple テスト 名詞-サ変接続 EOS // リソースを改変したdic2に指定して実行 $ echo テスト | mecab -r dicrc2 -O simple -d /usr/local/lib/mecab/dic/naist-jdic テスト 名詞-サ変接続 eos 我が家の環境では、システム辞書ディレクトリをカレントディレクトリとした状態にするか、「-d」でシステム辞書
次のような感じで MeCab をインストールすると、デフォルトでは EUC-JP の文字コードで辞書がインストールされます。 aptitude install mecab UTF-8 な環境で作業する場合には、いろいろと都合が悪かったりするので、MeCab の辞書を UTF-8 に変換して使う場合のメモを書いておきます。なお、詳しく検証とかはしていないので、参考にする方は自己責任でお願いします。 ネット上を探すと IPA の辞書を使っている例が多かったのですが、デフォルトだと juman 辞書が入るみたいなので、これを UTF-8 化してみます。ちなみに、IPA 辞書は non-free みたいです。 mecab コマンドを実行する際に参照される辞書は /var/lib/mecab/dic/debian みたいですが、実際の辞書の場所は /usr/share/mecab/dic/juman
MeCabは形態素解析のためのソフトウェアです。日本語を分かち書きするために使われるものとしては最も人気の高いものだと思われますが、チャットや掲示板に書き込まれるような崩した日本語や、正しく書かれた日本語でも新語を期待した通りに分かち書きしてくれないことがあります。これはMeCabの内部で使われている辞書が一般的な言葉を情報源としているわけではないことに関係があります。MeCabというか、より一般的な話ですが以下のような認識が一般的かと思われます。 というのも、一番広く使われているであろう自然言語処理技術は形態素解析(単語分かち書き、と言ったほうがいいのかもしれない)であろうが、これは現在99%くらいの精度になっていて、すでに人間がやるより遙かに高精度で行えるのだが、これだけ高い精度が出せるのは新聞記事を相手にしたときだけであって、それは新聞記事をコーパスとして用いる機械学習により形態素解
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
突然ですが、穴埋めクイズです。下線部に入る単語はなんでしょう? グーグルで_____ おそらく、「検索」「調べる」「探す」といった単語を思いつくのではないでしょうか? 実際に、Webにあるドキュメントをくまなく調べ、「グーグルで」の後にくる単語を調べると、「検索」が1位であるとがわかります。 一般に、直前の(N-1)個の単語を見て、次の単語を予測するモデルをN-gram言語モデルといいます。さきほどは、「グーグル」 と 「で」の2単語から次を予想しているので、3-gram言語モデルの例となります。現時点の単語が、直前の(N-1)個のみに影響を受けるという仮説は、一見現実離れしているようですが、実際には非常に有効な場合も多く、かな漢字変換、OCRのエラー訂正、機械翻訳、音声認識などに広く用いられています。たとえば、音声認識の場合、ノイズ等で現時点の単語をシステムが聞き取れなくても、言語モデル
2007/11/01 グーグルは11月1日、大規模日本語コーパスのN-gramデータを公開した。N-gramは自然言語処理の領域で、単語同士の結びつきを統計的に処理する計算モデル。「グーグルで検索」「グーグルで調べる」「グーグルで探す」のように特定の単語(例では“グーグル”)と、他の単語の結びつきを予測できる。 N-gramは特定の位置にある単語が何であるかを、その直前の単語、さらに前の単語……、とN個分さかのぼって推測できるという仮説に基づいている。かな漢字変換、OCRのエラー訂正、機械翻訳、音声認識などに使われている。 公開したのはグーグルがWebサイトから抽出した約200億文(約2550億単語)の日本語データから作成したN-gramデータ(1~7gram)。データは特定非営利活動法人 言語資源協会を通じて配布しており、団体・個人の区別なく利用できる。これまで米グーグルは英語について同
2007.07.28 SQLite の全文検索を Python から使ってみる (3) (1) テーマ:プログラミング言語 Python を使う(336) カテゴリ:Python とりあえず、SQLite で FTS2 を使うことはできるようになった。次は Python から FTS2 を使えるようにしたいということでやってみる。 #179 Implement virtual table support や #180 Implement loadable extensions を見ると pysqlite では、まだ FTS2 が使えないようだ。enable_load_extension-r296.patch があるのだな。 しかし、考えてみたらモジュールを組み込んでコンパイルしてしまったので、もしかして行けるかな?と試してみる。VIRTUAL TABLE で引っかかるかなと思ったら使えてし
2007.07.28 SQLite の全文検索を Python から使ってみる (2) テーマ:プログラミング言語 Python を使う(336) カテゴリ:Python SQLite の全文検索を Python から使ってみる (1) では、とりあえず使ったところを書いたが、設定の仕方は次のようにした。 Windows で FTS2 を使う SQLite Download Page の "Precompiled Binaries For Windows から sqlite-3_4_1.zip、sqlitedll-3_4_1.zip、fts2dll-3_4_1.zip をダウンロード、解凍して、同じディレクトリに配置。sqlite3.exe を実行。 MinGW用のSQLite3 (3.4.0) を作っている方がいらっしゃるようなので MinGW を使ってコンパイルしたいときには、参考にな
2007.07.27 SQLite の全文検索を Python から使ってみる (1) テーマ:プログラミング言語 Python を使う(336) カテゴリ:Python SQLite の全文検索 FTS2 をちょっと試してみた。だが、結論から言えば、Python から FTS2 を使うのはまだちょっと辛い。というか、FTS2 で日本語を使うのはまだ辛いところがある。けれど、まったく使えないということはないのでやってみる。 Full-text Search for SQLite は FTS1 と FTS2 の 2つのバージョンがある。どちらも SQLite の外部モジュールとして開発されている。FTS1 のパフォーマンスを改善しているのが FTS2。FTS1 と FTS2 は互換性がないので、後々のことを考えると今から FTS2 を使っておいた方がよいようだ。表面上の使い方は FTS1 を
MeCabで形態素解析器を作りたい場合は以下の二つの言語リソースが必要です。 1. 辞書 (単語と品詞のペアの集合) 2. 入力文と、それに対応する正解出力ペア(正解データ) 現在公開している mecab-ipadic は、ipadicとRWCPコーパスという正解データを使っています。 ここから分かるとおり、少なくともMeCabを使う場合は、コスト値を丹念にチューニング するといった職人芸は要りません。形態素解析への入力文とそれに対応する(理想)出力 があればコスト値を機械学習的なアプローチで構築することができます。 さらに、正解データを人手で作る必要は必ずしもありません。 すなわち、Yahoo!の形態素解析器の出力結果を「擬似正解」とみなして MeCabの学習プログラムを走らせれば、Yahoo!の出力を高い精度で再現できる MeCab用辞書を作成することが原理的に可能です。 ふだんはあま
はじめに テキストデータから、専門用語を取り出すためのPerlモジュール"TermExtract"を解 説します。 日本語の文章中から単語を切り出す定番のソフトとして、「茶筅」や「案山子」があ りますが、そのまま専門用語の抽出に使うには次の2つの問題があります。 ひとつは、複合語に対応していないことです。専門用語の多くは単語を組み合わせて、 複雑な概念を表すことが多くなります。特に「茶筅」の場合は単語を品詞単位で細かく 分割するため、そのまま使うには難があります。 もうひとつは、どの用語が重要であるか判断する仕組みを持たないことです。 その問題点を解決したソフトに東京大学・中川裕志教授、横浜国立大学・ 森辰則助教授が作成した「専門用語自動抽出システム」があります。 それは、1)「茶筅」の形態素解析結果を複合語に組み立て、2)その複合語(単語の場 合もある)を重要度の高い順に返すものです。
_ Perl - Text::MeCab を使ってみた [perl][nlp] MoSQL をインストールしたついでに,MeCab を Perl から使えるようにし てみました.MeCab は日本語の形態素解析を行うツールで,文章を単語に 区切り,品詞名を推定してくれます.たとえば,文章から固有名詞を抜き 出したり,読み仮名をふるときに使えます. MeCab と Text::MeCab というふたつのモジュールがありますが,インタ フェースと速度の面で Text::MeCab が優れているようです. Text::MeCab を使って,わかち書きと品詞推定をやってみました.品詞情 報をハッシュキーで指定できるように,ちょっと工夫してあります (ex. $word->{'品詞'} で品詞名,$word->{'読み'} で読み方を得られる). MeCab のインストールについては "MoSQL
日々ネットに溢れ出る情報を収集し、フィルタリングし、振り分けて情報を摂取し続けるジャンキー達。そんな我々のための興味深いツールとしてInfolustを紹介した。InfolustはWikipediaを活用したサービスで、指定したページのコンテンツを要約して表示するWebサービスだ。Wikipediaを知識ベースとして自動的に処理をおこなうという、さながらオート編集者というべきものだ。 今回はinfonyを紹介したい。5日に公開されたサービスで、指定したページを解析してキーワードごとに解析結果を表示するというもの。Infolustを日本向けにカスタマイズして開発したようなサービスだ。 テキストの形態素解析には、京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所共同研究ユニットプロジェクトにおいて開発された形態素解析エンジンである和布蕪(MeCab: Yet Anoth
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く