タグ

checkitout_researchとnlpに関するrawwellのブックマーク (15)

  • MeCabの辞書にはてなキーワードを追加しよう - 不可視点

    MeCabは形態素解析のためのソフトウェアです。日語を分かち書きするために使われるものとしては最も人気の高いものだと思われますが、チャットや掲示板に書き込まれるような崩した日語や、正しく書かれた日語でも新語を期待した通りに分かち書きしてくれないことがあります。これはMeCabの内部で使われている辞書が一般的な言葉を情報源としているわけではないことに関係があります。MeCabというか、より一般的な話ですが以下のような認識が一般的かと思われます。 というのも、一番広く使われているであろう自然言語処理技術形態素解析(単語分かち書き、と言ったほうがいいのかもしれない)であろうが、これは現在99%くらいの精度になっていて、すでに人間がやるより遙かに高精度で行えるのだが、これだけ高い精度が出せるのは新聞記事を相手にしたときだけであって、それは新聞記事をコーパスとして用いる機械学習により形態素解

    MeCabの辞書にはてなキーワードを追加しよう - 不可視点
    rawwell
    rawwell 2009/06/01
    "MeCabはユーザーが辞書を更新することが出来ます。MeCab: 単語の追加方法を参考にはてなキーワードを追加します。"
  • 貪欲な変数選択による最適化 - DO++

    最適化問題において、最適化対象の変数を最初は空に初期化して、関数値にもっとも効きそうな変数から順に最適化対象にGreedyに加えていく方法は変数の数が非常に多い場合(全ての部分文字列に特徴が対応するなど、そもそも列挙できないくらい多い場合など)に有効です。 詳細な中身は違いますが、grafting, column generation, cutting planeとかがこの枠組みに当てはまルと思います。 ここでのポイントは「効きそうな変数」を効率的に求めることができたら、圧倒的に速く最適化できるようになることです。別分野でデータマイニングの手法だとか、上限/下限だとかデータ構造とか何か技を持っている人は、ぜひチャレンジしてみてください。 で、私もやってます。という宣伝 ・特徴(変数)が文書中の全ての部分文字列に対応する場合 "Text Categorization with All Sub

    貪欲な変数選択による最適化 - DO++
    rawwell
    rawwell 2009/05/27
    "・特徴(変数)が文書中の全ての部分文字列に対応する場合 "Text Categorization with All Substring Features", SDM 2009, D. Okanohara, J. Tsujii [poster(ppt)] ・特徴が基本素性の全ての組み合わせの場合 "Learning Combination Features with L1 Regularization", N
  • 教師なし単語分割の最前線。ベイズ meets 言語モデル - 武蔵野日記

    今日は daiti-m さんの教師なし単語分割話と id:nokuno さんの Social IME 話を聞きに行くため、仕事を午前中で終えて一路郷へ。第190回自然言語処理研究会(通称 NL 研、えぬえるけんと発音する)。六木から大江戸線で麻布十番、南北線に乗り換えて東大前で降りたのだが、ちょっと失敗して10分以上 Social IME の話を聞き逃してしまう。残念。 というわけで最初の発表については nokuno さん自身による発表スライドおよびshimpei-m くんのコメントを見てくれたほうがいいと思うが、個人的に思うのは(直接も言ったけど)研究発表とするならポイントを絞ったほうがいいんじゃないかなと。 研究の背景と目的 従来手法の問題点を指摘 それらを解決できる手法を提案(3つ) までは非常にいいのだが、そこから先がそのうちの1つしか説明・評価していないので、ちょっと述べてい

    教師なし単語分割の最前線。ベイズ meets 言語モデル - 武蔵野日記
    rawwell
    rawwell 2009/05/20
    "あとでみんなで話したところ、そもそも現状の検索エンジンについての認識が間違っているということで意見が一致。エンタープライズ検索・デスクトップ検索が Web 検索とは多少違っているというのはその通りだと思うし
  • Aho–Corasick algorithm - Wikipedia

    In computer science, the Aho—Corasick algorithm is a string-searching algorithm invented by Alfred V. Aho and Margaret J. Corasick in 1975.[1] It is a kind of dictionary-matching algorithm that locates elements of a finite set of strings (the "dictionary") within an input text. It matches all strings simultaneously. The complexity of the algorithm is linear in the length of the strings plus the le

    Aho–Corasick algorithm - Wikipedia
    rawwell
    rawwell 2009/05/18
    "The Aho-Corasick algorithm is a string searching algorithm created by Alfred V. Aho and Margaret J. Corasick. It is a kind of dictionary-matching algorithm that locates elements of a finite set of strings (the "dictionary") within an input text. It matches all patterns "at once", so the complexity
  • 鳥取の言語処理学会のまとめ - 武蔵野日記

    遅ればせながら先日の学会のフォローアップ。 Yahoo! 検索スタッフブログにshimpei-m くんがブログを書いている。あまり詳細は書いていないので参考にはならないかもしれないが、鳥取の雰囲気は伝わるかな…… あとは名大の萩原さんのブログ。 文字ベースの自然言語処理がアツい クエリ書き換えについて発表してきました 「論文を引用したら著者に見せる」メソッドが良い感じ おもしろかった論文とか研究とかさまざま紹介されていて、非常に参考になる。金曜日 O 野原くんにもこの一番下のエントリでも取り上げられている柴田さんの「超大規模ウェブコーパスを用いた分布類似度計算」の話を聞いて、なぜか自分は聞き逃していたので、要チェック!と思ったり。id:emiko-y さんの「専門用語の内部構造解析」は萩原さん的最優秀発表賞だそうだ :-) 自分だったら悩みつつ鍛治さんの「文脈にもとづく未知語獲得における識

    鳥取の言語処理学会のまとめ - 武蔵野日記
    rawwell
    rawwell 2009/05/12
    自分だったら悩みつつ鍛治さんの「文脈にもとづく未知語獲得における識別モデルの適用」かなぁ~
  • Webstemmer(クローラーツール)

    語サイトでは、具体的な性能は測定していませんが、 以下のようなサイトで正しく動くことがわかっています: アサヒ・コム Nikkei NET Mainichi INTERACTIVE Yomiuri On-line IT media 東京新聞 日刊スポーツ 信濃毎日新聞 livedoor ニュース 使いかた Webstemmer をつかったテキスト抽出は以下のようなステップになります: まず、特定のニュースサイトから種となる HTML ページを多数取得する。 取得したページのレイアウトを学習する。 別の日に、同一のニュースサイトから新しい HTML ページを取得する。 2. で学習した結果をつかって、新しい HTML ページから文を抽出する。 1. および 2. のステップが必要なのは最初の 1回だけです。 ひとたびサイトのレイアウトを学習してしまえば、 あとはレイアウトが大きく変更さ

    rawwell
    rawwell 2009/05/12
    1. まず、特定のニュースサイトから種となる HTML ページを多数取得する。 2. 取得したページのレイアウトを学習する。 3. 別の日に、同一のニュースサイトから新しい HTML ページを取得する。 4. 2. で学習した結果
  • CaboCha の Python バインディングのインストールでエラーになったら試してみる価値のあること - Solr, Python, MacBook Air in Shinagawa Seaside

    CaboCha の Python バインディングのインストールで下のエラーが出たときの対応法です。 python setup.py build running build running build_py running build_ext building '_CaboCha' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include -I/usr/local/include/python2.5 -c CaboCha_wrap.cxx -o build/temp.linux-x86_64-2.5/CaboCha_wrap.o cc1plus: 警告: command line option "-Wstric

    CaboCha の Python バインディングのインストールでエラーになったら試してみる価値のあること - Solr, Python, MacBook Air in Shinagawa Seaside
  • ChaSen をインストールしてみた。 - Solr, Python, MacBook Air in Shinagawa Seaside

    今朝、家から銀座のサーバーにログインしてコーディングしていたら ターミナルに「熱くてやばいっす」的なメッセージがガンガン出まくったので 慌ててサーバをシャットダウンしました。 おそらく何らかの理由でサーバルームの空調が止まったのだと思います。以前にもあったので。 仕方ないので開発環境を普段プライベートで使っている さくらインターネットに作ることにしました。 ラッキーなことに うひゃ検索 の開発である程度環境はできているので 足りないのは Chasen と CaboCha ぐらいです。 以下は、さくらインターネットに ChaSen をインストールした履歴です。 root 権限のないレンタルサーバなのでインストールはすべてホームディレクトリにの下に行います。 通常 /usr/local にインストールされるものを /home/ユーザ名/local にインストールしています。 辞書の文字コードを

    ChaSen をインストールしてみた。 - Solr, Python, MacBook Air in Shinagawa Seaside
  • LuceneとGoSen - Vox

    私もGosenに入れ替えようとしたのですが、、、うまく動きません。 クラスもいろいろと書き換えられていて整合性がとれませんし、変わったAPIのどれを使えばよいかもわかりません。 わかるようでしたらどうやって動いたのか書いてくれると助かります。 TokenのgetPosとか、、、。 変更は、StreamTaggerのコンストラクタの引数を、 input, configFileから、 SenFactory.getStringTagger(configFile), inputに tokenがnet.java.sen.Tokenなのを、 net.java.sen.dictionary.Tokenに org.apache.lucene.analysis.Tokenのコンストラクタを final Morpheme m = token.getMorpheme(); return new T

  • 日本語形態素解析器Senを導入する その1 Senのインストール - Solr, Python, MacBook Air in Shinagawa Seaside

    Senとは Sen はJAVAで書かれた日形態素解析器です。 辞書を使って日語の文章をトークナイズします。 下は「Sen はJAVAで書かれた日形態素解析器です」をSenでトークナイズした例です。 Solrに組み込むことで、日語文章を意味のある単語単位にトークナイズして検索・インデキシングができるようになります。 これにによってNグラム方式よりも精度の高い( ノイズの少ない )検索結果を得ることができます。ただし、再現率はNグラム方式より劣ります。この辺の話はちょっとややこしいので改めて。 Sen を Solr に組み込むためには別途 lucene-ja も必要になります。lucene-jaはSen のラッパーとして動いて、Sen と Solr の間の橋渡しをするものです。 lucene-ja のインストールは次の記事で書く予定です。 ここでは文字コードをutf-8で統一してい

    日本語形態素解析器Senを導入する その1 Senのインストール - Solr, Python, MacBook Air in Shinagawa Seaside
  • オンラインEMアルゴリズム - DO++

    EMアルゴリズム(Expectation Maximizationアルゴリズム、期待値最大化法、以下EMと呼ぶ)は、データに観測できない隠れ変数(潜在変数)がある場合のパラメータ推定を行う時に有用な手法である。 EMは何それという人のために簡単な説明を下の方に書いたので読んでみてください。 EMのきちんとした説明なら持橋さんによる解説「自然言語処理のための変分ベイズ法」や「計算統計 I―確率計算の新しい手法 統計科学のフロンティア 11」が丁寧でわかりやすい。 EMは教師無学習では中心的な手法であり、何か観測できない変数を含めた確率モデルを作ってその確率モデルの尤度を最大化するという枠組みで、観測できなかった変数はなんだったのかを推定する場合に用いられる。 例えば自然言語処理に限っていえば文書や単語クラスタリングから、文法推定、形態素解析、機械翻訳における単語アライメントなどで使われる。

    オンラインEMアルゴリズム - DO++
  • PythonからYahoo!形態素解析APIを使う - 人工知能に関する断創録

    集合知プログラミングのp.349を参考にYahoo!が提供する形態素解析WebサービスPythonから使ってみた。形態素解析Webサービスでやるなんて遅くて使い物にならなくね?ChaSenかMeCab使うよ!って使う前は思ってたのだがやってみたら驚くほど快適。かなり高速に結果を返してくれる。しかも、Yahoo!が作った特別な辞書を使っているらしく、IPAの辞書に比べて固有名詞の抽出精度がかなり高い印象を受けた。使う上での壁は、 Yahoo!デベロッパーネットワークに登録してアプリケーションIDを登録しなくちゃいけない 1日で1つのIPアドレスにつき50000万リクエストまで 1回のリクエストは100KBまで くらいか?Yahoo!のIDを持っていれば、アプリケーションIDの登録はWeb上で簡単にでき、審査もない。 Pythonで使う場合は、HTMLを解析するBeautifulSoup

    PythonからYahoo!形態素解析APIを使う - 人工知能に関する断創録
  • Aho Corasick 法 - naoyaのはてなダイアリー

    適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析Wikipediaはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと

    Aho Corasick 法 - naoyaのはてなダイアリー
  • MeCabとRMeCabをインストールして、ちょっと遊んでみる - yasuhisa's blog

    某バイトというか勉強させてもらっているところ*1でRとMeCabでほげほげするようなのでインストールするよ!!Macです。 mecabと辞書のインストールMeCab - Browse Files at SourceForge.netよりmecabとmecab-ipadicをダウンロード。win用以外のは辞書が含まれていないらしいので、辞書もダウンロードしてくる。 両方ともディレクトリに移動して以下を実行すればおk。 ./configure --with-charset=utf-8 make chmod 700 install-sh sudo make install こんな感じで結果が返ってくればインストールできてるっぽい。 /Users/yasuhisa/Downloads/mecab-ipadic-2.7.0-20070801% echo 'install log' | mecab i

    MeCabとRMeCabをインストールして、ちょっと遊んでみる - yasuhisa's blog
  • Pythonでのキーワード抽出実装

    初出: 2007/6/27 更新: 2007/7/1 文章からキーワードを抽出するスクリプトをPythonモジュールとして実装しました。 分かち書きした上に、適切に複合語をつくり、さらに重要そうなものかどうかのスコアをつけます。 アルゴリズムは、以下のサイトを参考にしました。 http://gensen.dl.itc.u-tokyo.ac.jp/ ここで紹介されている論文 * 中川裕志、森辰則、湯紘彰: "出現頻度と連接頻度に基づく専門用語抽出",自然言語処理、Vol.10 No.1, pp. 27 - 45, 2003年1月 http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/academic-res/jnlp10-1.pdf に掲載されているFLR法のみを実装しています。 実行結果サンプル たとえば、こんなページの文をテキストフ

    rawwell
    rawwell 2008/10/19
    "文章からキーワードを抽出するスクリプトをPythonモジュールとして実装しました。 分かち書きした上に、適切に複合語をつくり、さらに重要そうなものかどうかのスコアをつけます。"
  • 1