タグ

ブックマーク / tech.preferred.jp (13)

  • 最近のtrieの話(xbwなど) - Preferred Networks Research & Development

    ブログの更新がとまっていましたが、また少しずつ更新してきたいと思います。 今回はtrie(トライ)の最近の話をしたいと思います。 trieはキー集合を扱うためのデータ構造の一種です。例えば、単語集合からなる辞書であったり、クロールしたURL情報を扱ったり、最近だと、KVS(Key Value Store)のようにキーを介してデータを保存、読み込みをしたりと様々な場面で利用されます。 同じようにキー集合を格納するデータ構造としてハッシュを利用する方法があります。キーからハッシュ値を計算し、その場所に文字列へのポインタを格納しておくデータ構造です。ハッシュを利用した場合とtrieを利用した場合の一番の大きな違いは、trieの場合だと、ある文字列から始まるキーを全て列挙する、いわゆる接頭辞探索ができることです。例えば”te”で始まる文字列を網羅的に調べることができます。木をたどって、”te”の下

    最近のtrieの話(xbwなど) - Preferred Networks Research & Development
  • 異常検知の世界へようこそ - Preferred Networks Research & Development

    比戸です。 先週Jubatusの最新0.4.0がリリースされましたが、外れ値検知機能の追加が目玉の一つとなっています(jubaanomaly)。昨年PFIへ入社して初めて手がけた仕事が公開されたということで感慨ひとしおですが、便乗してあまり語られることのない異常検知の世界について書きたいと思います。以下の資料は昨年のFIT2012で使ったものです。 異常検知とは簡単にいえば、「他に比べて変なデータを見つけ出す」タスクです。お正月にテレビで繰り返し流れた、おすぎとピーコのCM(*1)がわかりやすいイメージですね。機械学習の枠組みで言えば”教師無し学習”に属します。分類や回帰、クラスタリングなど応用も多く人気も研究熱も高いタスクに比べると、マイナーです。SVMとか、Random Forestとか、Boostingとか、最近だとDeep Neural Networkとか、有名な必殺技アルゴリズム

    異常検知の世界へようこそ - Preferred Networks Research & Development
  • ウェーブレット木の世界 - Preferred Networks Research & Development

    岡野原です。ウェーブレット木の解説を統数研チャンネルにて行いました。 統数研チャンネル(プレミアム会員ならしばらくタイムシフト視聴可能)。 ウェーブレット木は万能のデータ構造であり、系列データ、全文検索、グラフ、二次元情報、フィンガープリントなど様々なデータに対して多くの操作をサポートします。 解説では大規模データの背景、ウェーブレット木の作り方、使い方、様々なデータへの適用、最前線(ウェーブレット行列)などを紹介しています。解説は拙著「高速文字列解析の世界」とあわせてみていただけたらと思います。

    ウェーブレット木の世界 - Preferred Networks Research & Development
  • 機械学習と自然言語処理とビッグデータ - Preferred Networks Research & Development

    岡野原です。 情報処理学会主催の連続セミナー「ビッグデータとスマートな社会」での機械学習の回、自然言語処理の回での講演資料を公開しました。 今年はビッグデータという言葉が広まったということで、このテーマで話す機会が多かったです。今はビッグデータというとそれを支えるインフラ、クラウド、DBなどがまず注目されていますが、我々としては実際それを使って何をするのか、何が実現できるのかというところを注目しています。 PFIは元々こうしたデータを分析して価値を提供する(検索エンジンとかもその範疇に入ると思います)ことをずっと続けてきたわけですが、ビッグデータという言葉が広まってくれたおかげでこの考えがより受け入れられ様々な業界の方と随分と話がしやすくなったと思います。 以下の講演資料では、今ビッグデータの中でも機械学習と自然言語処理の分野において我々がどこに注目しているのかを話をしました。

    機械学習と自然言語処理とビッグデータ - Preferred Networks Research & Development
  • 大規模データ時代に求められる自然言語処理 - Preferred Networks Research & Development

    話の内容は、自然言語処理が実世界で具体的にどのように応用されているのか、またその時に感じた課題についてです。 後半の「何が必要とされているか」、あたりの話からは私や会社が特に重点的に取り組んでいる事そのものの話もなります。

    大規模データ時代に求められる自然言語処理 - Preferred Networks Research & Development
  • Tree Edit Distanceと自然言語処理への応用 - Preferred Networks Research & Development

    海野です。ちょっと時間があいてしまいましたが、昨年の12月に開催されたNTCIR-9という会議のRecognizing Inference in TExt (RITE)というタスクに、前職の方々と共著で出場しました。 Syntactic Difference Based Approach for NTCIR-9 RITE Task. Yuta Tsuboi, Hiroshi Kanayama, Masaki Ohno and Yuya Unno. NTCIR-9, 2011. [pdf] 含意関係認識といわれるこのタスクは、大雑把に言うと与えられた2つの文が同じ意味のことを言っているかどうか判定しなさいというタスクです(厳密には一方からもう一方が帰結できるかの判定です)。今日は、その中で使ったTree Edit Distance (TED) について解説します。 TEDは2つの順序付き木が

    kitanow
    kitanow 2012/02/15
    木構造の編集距離とか聞くとFくんの研究を思い出してしまふ
  • 専門知識の仕入れ方 - Preferred Networks Research & Development

    今日は,普段どのようにして専門知識を仕入れているかについて書いてみようと思います.特に自分が得意でない分野を知りたいと思った時に,どうするかに注目したいと思います.自分の専門の場合は,いくらでも時間を注ぐことが出来るので,世界中のリソースを全て探し当てて勉強すれば良いのですが,ちょっと興味が有るぐらいではそこまでやる時間は取れません.なので出来るだけ効率的に分かった気になるのが目標です. まず,論文を直接読むのはあまり効率的では無いと思います.論文は広い分野の中の或る問題に対して一つの解決方法を書いているだけで,分野全体を俯瞰することは目指していません.論文だけ読んで分野全体を理解するには,最低50ぐらい読む必要が有ると思います.

    専門知識の仕入れ方 - Preferred Networks Research & Development
  • モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development

    日社内向けのTechTalkにて、並列・並行プログラミングに関する話を行いました。 昨今、プログラムの並列化はなくてはならないものとなっています。しかし、そのプログラミング環境は依然としてロックを用いたものが主流です。今回の発表の主張を端的に申し上げますと、 “Locks must go!” ということになります。並列プログラミングに銀の弾丸はありません。しかし、ロックは別の何らかの安全性を確保したプログラミングモデルで置き換えられなければいけません。そうでなければ、再現しにくいバグに苦しめられ、終電を逃す日々と決別することはできないでしょう。また、ロックによるプログラミングの抱える質的問題にも言及しています。 この界隈の最新の動向として、去年OOPSLA’10にて発表されたConcurrent Revisionsについての解説も行なっております。また、弊社研究開発において、先日Con

    モダン並列・並行プログラミング ~ Concurrent Revisions による実装と現実 ~ - Preferred Networks Research & Development
  • Jubatusを公開しました - Preferred Networks Research & Development

    先日、NTTと共同研究開発したJubatusを公開しました。 OSSで公開されてますので、興味がある方は使ってみるなり、ソースコードを眺めるなり、できればプロジェクトに参加していただけたらと思います。 Jubatus(ユバタス)は、大規模分散上でリアルタイムで機械学習を行うためのフレームワークです。 このプロジェクトは元々、機械学習やデータ解析が好きなPFIと、ネットワークやシステム運用実績が豊富で技術力があるNTT情報流通プラットフォーム研究所と組んで何かできないかということで始めました。 「大規模分散」+「リアルタイム」+「深い解析」という三つの特徴を持った上でデータを分析するためにどのようなアーキテクチャが考えられて、その上でどのような解析ができるのかというのを日々試行錯誤して作っています。 今回はリリース第1段ということで、手法としては分類(教師有学習の多クラス分類)に絞ってOSS

    Jubatusを公開しました - Preferred Networks Research & Development
  • 機械学習の数学記号に慣れる ー初めの一歩で躓かないためにー - Preferred Networks Research & Development

    初めまして,大野と申します.今回から自分もリサーチブログを書く事になりました.これを期に定期的に投稿が出来ればと思っています. 自己紹介をしますと,私は学部から修士課程まで数学を専攻していました.入社したのは今年の4月ですが,PFIにはそれ以前から関わっており,昨年の夏にインターンに参加していました. インターンは今年も行っており,今年も皆さん奮闘しています.9月30日の13:00から15:00でUstream配信される予定ですので,是非ご覧になってください. さて,今回社内で「言語処理のための機械学習入門」(コロナ社)というを用いて勉強会を開く事になりました.私自身専攻していた分野はいわゆる純粋数学で,機械学習の分野はあまり詳しくはないので楽しみにしています. この勉強会では紙と鉛筆を用いて自分で計算過程を追いながら読もうとしています.そこで,その準備として第0回チュートリアルを行いま

    機械学習の数学記号に慣れる ー初めの一歩で躓かないためにー - Preferred Networks Research & Development
  • 研究・企業・生き方について - 情報科学若手の会2011 - Preferred Networks Research & Development

    岡野原です。 2011/9/17〜2011/9/19に熱海で行われた情報科学若手の会2011に参加し、講演をしてきました。 テーマを決めるに当たって、参加者の年齢、興味分野、スキルの幅が非常に広いということもあり、若手の会参加者のみなさんから質問を前もって聞いておき、それについて回答するという形にしました。 自由に質問を集めたのですが、それらは研究・企業・生き方のテーマにまとめられそうだったので、それらのテーマに沿って講演をしました。 研究 : 自然言語処理、機械学習、それらの今後 企業:起業の話、PreferredInfrastructureの話、 研究をビジネスに適用する際の話 生き方:学生、社会人の心境、アドバイス、 モチベーションの話など 何か一つのメッセージを伝えるというよりは様々な考えや体験談、tipsなどを関係なく並べたものになっています。 皆様にとって何か参考になれば幸いで

    研究・企業・生き方について - 情報科学若手の会2011 - Preferred Networks Research & Development
  • twitterで自然言語処理 - Preferred Networks Research & Development

    勢い余ってスイカを買ったら、毎日べるハメになってしまいました。海野です。 どんな業界もそうだと思いますが、世の中の流行りものの論文が増えるという面が自然言語処理界隈にもあります。Web、blog、と来て、最近のトレンドはやはりtwitterに代表されるmicro blogでしょうか。今年の言語処理学会の年次大会でtwitterセッションは大盛況でしたが、国際会議でもtwitterを題材として発表が増えています。 数えてみたら、重要国際会議であるACLで6件、EMNLPでも3件、twitterをタイトルに含む発表が今年ありました。ちなみに2010年の会議では1件もありませんでした。そんなわけで、私も今日はそんな流行りに乗っかって、twitter言語処理関連の論文を3つ紹介します。 Cooooooooooooooollllllllllllll!!!!!!!!!!!!!! UsingWord

    twitterで自然言語処理 - Preferred Networks Research & Development
  • dag_vector: ランダムアクセス可能な圧縮配列 - Preferred Networks Research & Development

    こんにちは、この夏はシルキードライで乗り切りたい岡野原です。 今日は最近公開したC++のオープンソースであるdag vectorについて紹介します。 github: dag_vector ライセンスは修正BSDライセンスです。 dag vector (direct accessible gamma code vector) は値を圧縮して格納したまま任意の場所の値を高速に参照可能な配列ライブラリです。しかもデータ末尾への追記が可能です。 dag vectorはstd::vectorのように利用できます。下にいくつか例を見ていきましょう。 dag_vectorの例 #include "dag_vector.hpp" // dag_vectorは0以上の正整数の配列を扱う配列。 dag_vector dv; // 値はいつでも追加可能。追加された値は圧縮して格納される // 正整数xは2lg(

    dag_vector: ランダムアクセス可能な圧縮配列 - Preferred Networks Research & Development
  • 1