タグ

NLPに関するhtktyoのブックマーク (59)

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

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

    MeCabの辞書にはてなキーワードを追加しよう - 不可視点
    htktyo
    htktyo 2009/05/31
  • 日本語 WordNet (wn-ja)

    語 WordNet リリース * 画像 * ダウンロード * 今後の予定 * 参考文献 * リンク * English プロジェクトでは、 Princeton WordNet や Global WordNet Gridに 着想をえて、日語のワードネットを構築し、オープンで公開します。 独立行政法人情報通信研究機構(NICT)では、自然言語処理研究をサポー ト する一環として、2006年に日語ワードネットの開発を開始しました。最初の 版、version 0.9は、2009年2月にリリースされました。このversion 0.9は、 Princeton WordNetのsynsetに対応して日語をつけています。もちろん、 Princeton WordNetにはない日語synsetを付与する必要があり、また、 Princeton WordNetにみられるsynsetの階層構造に、

    htktyo
    htktyo 2009/03/29
    これは
  • 人工知能基本問題研究会(SIG-FPAI)での岡野原さんの発表のときに取ったメモ - yasuhisa's blog

    hillbig.cocolog-nifty.com ということで僕が取ったメモも出してみようと思う。内容としては大体3つで オンライン学習 L1正則化 索引を用いた効率化, 全ての部分文字列を利用した文書分類 という感じだったんだけど、最後の索引の付近はid:syou6162の勉強不足によりよく分からなかった。が、最初の二つはなんとか付いていけたので、出してみます。主に自分用のメモですが。 オンライン学習自然言語処理のデータは3つの特徴がある。 高次元 疎 冗長 で、あとはデータがばかでかいので、いわゆるバッチ処理だとメモリに乗り切らなかったりとかということがある。それでオンライン学習というのが今よく使われているようだ。オンライン学習の方法には下のような方法がある。簡単なものから難しいものへ。 perceptron 自然言語処理と相性がよい 色んなもののベースになる 線形分離できるときには

    人工知能基本問題研究会(SIG-FPAI)での岡野原さんの発表のときに取ったメモ - yasuhisa's blog
    htktyo
    htktyo 2009/03/14
  • 大規模データを基にした自然言語処理 - DO++

    人工知能問題研究会 (SIG-FPAI)でタイトルの題目で一時間ほど話してきました。 発表資料 [pptx] [pdf] 話した内容は - 自然言語処理における特徴ベクトルの作り方と、性質 - オンライン学習, Perceptron, Passive Agressive (PA), Confidence Weighted Learning (CW) 確率的勾配降下法 (SGD) - L1正則化, FOLOS - 索引を用いた効率化, 全ての部分文字列を利用した文書分類 で、スライドで70枚ぐらい。今までの発表とかぶっていないのはPA CW SGD FOLOSあたりでしょうか オンライン学習、L1正則化の話がメインになっていて、その両方の最終形の 確率的勾配降下法 + FOLOSの組み合わせは任意の損失関数に対してL1/L2正則化をかけながらオンライン学習をとても簡単にできるという一昔前

    大規模データを基にした自然言語処理 - DO++
    htktyo
    htktyo 2009/03/14
  • Latent Semantic Indexing - naoyaのはてなダイアリー

    情報検索におけるベクトル空間モデルでは、文書をベクトルとみなして線形空間でそれを扱います。この文書ベクトルは、文書に含まれる単語の出現頻度などを成分に取ります。結果、以下のような単語文書行列 (term document matrix) が得られます。 d1 d2 d3 d4 Apple 3 0 0 0 Linux 0 1 0 1 MacOSX 2 0 0 0 Perl 0 1 0 0 Ruby 0 1 0 3 この単語文書行列に対して内積による類似度などの計算を行って、情報要求に適合する文書を探すのがベクトル空間モデルによる検索モデルです。 見ての通り、単語文書行列の次元数は索引語の総数です。文書が増えれば増えるほど次元は増加する傾向にあります。例えば索引語が100万語あって検索対象の文書が 1,000万件あると、100万次元 * 1,000万という大きさの行列を扱うことになりますが、単

    Latent Semantic Indexing - naoyaのはてなダイアリー
    htktyo
    htktyo 2009/02/12
  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
    htktyo
    htktyo 2008/12/19
  • しかしSVMも最近は速いらしい - 射撃しつつ前転 改

    Complement Naive BayesがSVMより速いよーと主張していたので、SVMもなんか最近は速くなってるらしいよ、という事を紹介してみたい。近年はSVMなどの学習を高速に行うという提案が行われており、実装が公開されているものもある。その中の一つにliblinearという機械学習ライブラリがある。ライブラリ名から推測できる通り、liblinearではカーネルを使うことが出来ない。しかし、その分速度が速く、大規模データに適用できるという利点がある。 liblinearを作っているのはlibsvmと同じ研究グループで、Chih-Jen Linがプロジェクトリーダーであるようだ。libsvmはかなり有名なライブラリで、liblinearにはそういった意味で安心感がある。(liblinearの方は公開されてしばらくは割とバグがあったらしいけど。) liblinearにはL1-SVM, L

    しかしSVMも最近は速いらしい - 射撃しつつ前転 改
    htktyo
    htktyo 2008/12/17
  • はてなブックマーク全文検索機能の裏側

    そろそろ落ち着いて来たころ合いなので、はてなブックマーク全文検索機能の裏側について書いてみることにします。 PFI側は、8月ぐらいからバイトに来てもらっているid:nobu-qと、id:kzkの2人がメインになって進めました(参考: 制作スタッフ)。数学的な所は他のメンバーに色々と助言をしてもらいました。 はてな側は主にid:naoyaさんを中心に、こちらの希望や要求を聞いて頂きました。開発期間は大体1〜2か月ぐらいで、9月の上旬に一度id:naoyaさんにオフィスに来て頂いて合宿をしました。その他の開発はSkypeのチャットで連絡を取りながら進めてました。インフラ面ではid:stanakaさん、契約面ではid:jkondoさん、id:kossyさんにお世話になりました。 全文検索エンジンSedue 今回の検索エンジンはSedue(セデュー)という製品をベースにして構築しています。Sedu

    はてなブックマーク全文検索機能の裏側
    htktyo
    htktyo 2008/12/16
  • 日本語形態素解析APIとマッシュアップ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog テキスト解析API企画担当のS・Kです。 当ブログにおいて一般の開発者の皆様にYahoo! JAPANの高度な日語処理技術をマッシュアップにお役立ていただけるよう、なじみの薄い日語処理用語の解説や一般的なご利用方法をお伝えしていきたいと思います。 先日、弊社も協力企業として参加しましたMashup Award4において、Technology賞を受賞され注目を集めました「Newsgraphy」様にも日形態素解析APIをご利用いただいております。 そもそも、形態素解析とは、、 言語として意味を成す最小単位の文字列のことを「形態素」と呼び、ある文章をその形態素に分けていく解析のことを「形態素解析」と呼びます。 うーん、なんだか難

    日本語形態素解析APIとマッシュアップ
    htktyo
    htktyo 2008/12/12
  • ヤフーの日本語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」

    ヤフーの日語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」 2008-08-21-1 [WebTool][NLP][Programming][Algorithm] Yahoo!デベロッパーネットワーク(YDN)に 「日語係り受け解析Webサービス」が登場しました。 Yahoo!デベロッパーネットワーク - テキスト解析 - 日語係り受け解析 http://developer.yahoo.co.jp/jlp/DAService/V1/parse.html 「係り受けってなに?」という方もいると思うので、 以下、まったくもって厳密ではない、適当な解説を試みます。 (1) 日語をコンピューターで処理するには、 まず形態素解析というのをやって、 文を形態素(≒単語)単位に分割します。 YDN の「日形態素解析Webサービス」[2007-06-18-1] で試すことができ

    ヤフーの日本語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」
    htktyo
    htktyo 2008/08/21
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

    htktyo
    htktyo 2008/05/14
    あとで
  • 日本語テキストの難易度推定ツール『帯 1.x (obi-one)』

    語テキストの難易度推定ツール『帯 1.x (obi-one)』 2008-04-30-4 [NLP][WebTool] 名古屋大学の佐藤理史教授のところから、 日語テキストの難易度を推定するツール『帯 1.x (obi-one)』 が公開されました。 日語テキストの難易度を測る http://kotoba.nuee.nagoya-u.ac.jp/sc/readability/ (ことば不思議箱 http://kotoba.nuee.nagoya-u.ac.jp/) (1) フォームにテキストを入れます。 (2) 結果が出てきます。 13段階の難易度が出力されます。 難易度は学年に対応しているそうです。 1 - 6小学(1年 - 6年)7 - 9中学(1年 - 3年)10 - 12高校(1年 - 3年)13大学 自分のブログの文章を判定してみると面白いかと思います。

    日本語テキストの難易度推定ツール『帯 1.x (obi-one)』
    htktyo
    htktyo 2008/05/01
  • Class N-gramモデルとHMM、もしくはどこが隠れてるねん - 射撃しつつ前転 改

    Class N-gramモデルというのは、各単語はあるクラスに所属するものとし、クラスの連なりによって次の単語の確率分布を予測する言語モデルである。各単語がどのクラスに所属するかは、コーパスの対数尤度を最大化するように決定される。 このモデルはHMMと非常に似ている。HMMとの違いは、HMMでは単語があるクラスへと所属する確率が存在するのに対し、Class N-gramモデルでは単語はあるクラスへと確実に所属するところだ。つまり、クラスAに所属する単語は、クラスBやCには絶対に所属しない。(HMMだと、クラスAへの所属確率0.8, クラスBへの所属確率0.1、みたいになる。)比べてみるとつまり、HMMの方がちょっと柔らかい印象を受ける。 今、ちょっと嘘を書いた。もしかするとClass N-gramモデルという言葉で、各単語のクラスへの所属確率をイメージする人もいるかもしれない。ただ、この日

    Class N-gramモデルとHMM、もしくはどこが隠れてるねん - 射撃しつつ前転 改
    htktyo
    htktyo 2008/04/26
  • 大規模テキスト処理を支える形態素解析技術(工藤拓氏・Google) - Cafe Babe

    第80回知識ベースシステム研究会を開催したが,二日間で58名の方々に参加して頂き,積極的に議論に加わって頂いた.この場を借りて,参加してくれた方々に感謝したい.大変遅くなった(爆)が,Googleの工藤拓氏による招待講演「大規模テキスト処理を支える形態素解析技術」の概要を,このブログで報告しておきたい.工藤氏の専門分野は統計的自然言語処理と機械学習であるが,日形態素解析エンジンMeCabの開発者であり,他にも自然言語処理関連の有益なツールや,Webベースの日本語入力を可能にするAjax IMEのようなユニークなサービスを提供しているなど,時代をリードする研究開発者の一人である.彼の活動に興味があれば,彼のブログ「きまぐれ日記」は必見だろう. なお,当日は弊社側の不手際で,予定していた工藤氏の重要なデモをおこなうことができなかった.弊社はネットワーク会社であるにもかかわらず,ネットワーク

    大規模テキスト処理を支える形態素解析技術(工藤拓氏・Google) - Cafe Babe
    htktyo
    htktyo 2008/02/15
  • 汎用連想計算エンジン GETA ファミリー

    汎用連想計算エンジンGETA ファミリー   公開 Siteこのページでは, 汎用連想計算エンジンGETA を紹介しています. GETA の実装はいくつかありますが, そのうち公開されているものは現在 2 つあります. 汎用連想計算エンジンGETA ファミリー   公開HP初代 GETA はこちらから配布されています. 最新版は GETA3.2u です.GETAssocGETAssoc は, もうひとつの GETA の実装です. Last Modified Tue Jul 21 14:12 JST 2009

    htktyo
    htktyo 2008/02/11
  • GETAによるファイル全文検索

    GETAによるファイルの全文検索 Up$Date: 2003/01/05 10:05:20 $ $Revision: 1.1 $ (UnixMagazineに 記事を書きましたので こちらも参照下さい - 2003/4/29) 情報学研究所の高野氏/ 日立の西岡氏らによる GETA というライブラリを使うことにより ファイルの全文検索を行なうことができる。 GETAの使い方 チュートリアルが 用意されているが、いまひとつわかりやすいとはいえないので、 忘れないように書いておく。 GETAプログラムは標準で /usr/local/geta にインストールされる その下の sbin/mkw を使って、単語出現マトリックス WAM (Word-Article Matrix)を作成することにより tf/idf法などによる検索を高速に実行することができる。 WAMは疎行列を効率的に表現するデータ構造

    htktyo
    htktyo 2008/02/11
    疎行列を解く
  • 検索における適合率 (Precision) と再現率 (Recall)

    検索における適合率 (Precision) と再現率 (Recall) 2008-01-17-1 [IIR] 「Introduction to Information Retrieval」[1] の輪講の第一回[2008-01-12-1]でちらっと話しましたが、第一章の 1.1 に Precision と Recall の説明があります(第八章でも出てきます)。 若干混乱しやすくややこしい話なので、ここで改めて解説します。 § Precision (適合率) とは、 全検索結果に対しての、 検索要求 (information need) を満たす検索結果の割合です。 例えば、 「MacBook Air の重量を知りたい」という検索要求を満たすために検索キー「MacBook Air 重さ」でウェブ検索した結果100件のうち、検索要求を満たす(重さが分かる)のが85件だとすると、 Precis

    検索における適合率 (Precision) と再現率 (Recall)
    htktyo
    htktyo 2008/01/17
  • livedoor Developers Blog:String::Trigram でテキストの類似度を測る - livedoor Blog(ブログ)

    こんにちは。検索グループ解析チームの nabokov7 です。 今回は、livedoor キーワードでの事例より、テキストの類似度を測るのに便利な手法を紹介します。 livedoor キーワードは、livedoor ブログでその日その日で話題になった語をランキング表示するサービスです。 当初、はてなキーワードやWikipediaを足して2で割ったようなサービスを作れといった開き直った指示のもとで開発が開始されたともいう、分社化前の芸風の名残で、キーワードの検索結果にはユーザが自由に解説を書き込める Wikipedia 的スペースもついています。 で、この解説部分に、さまざまなサイトから文章をまる写ししちゃう人がとても多いのですね。 特に多いウィキペディア日語版からの剽窃を防止するために、livedoor キーワードでは以下のような対策を講じることにしました。 ウィキペディア日語版の解説

    htktyo
    htktyo 2007/10/17
    おぉー trigram
  • gr.jp

    This domain may be for sale!

    htktyo
    htktyo 2007/05/28
  • 検索エンジンの意味解析能力を考える | Moz - SEOとインバウンドマーケティングの実践情報

    ロボットと怖そうな機械グモだけど、よく頑張っていると思わない? それで知りたいのは、SEOやコンテンツの立案やウェブサイトの構築といった作業に、これがどのように関係してくるかということだよね? ここまでのことを踏まえて、いかに最適化すればいいのか僕なりに仮説を立てたので、それを挙げていこう。 サイトの構成は意味的に整理されたものに 検索エンジンが、どの語とどの語が互いに関連するというデータを活用しているのだから、サイト内のコンテンツの見取り図を作る際は、できる限り論理的に分類しておいて損はない。普通は、常識にしたがってやればうまくいくのだけど、いざというときはいつだって3つ目の図にある共起計算を利用できる。たとえば、このチキンストックのレシピは果たして「フランス料理」なのか「アメリカの伝統料理」なのか、なんてときには、すかさず共起計算をやってみよう。 関連する語/フレーズを使ったコンテンツ

    検索エンジンの意味解析能力を考える | Moz - SEOとインバウンドマーケティングの実践情報