Kuromoji FST

Coming soon to the master branch. Many thanks to people who helped me either through Twitter or face-to-face.http://www.slideshare.net/yoshinarifujinuma/kuromoji-fstLink to Hatena Blog ver.

【雑記】学び方について

最近時間ができて学びを促進させようと考えているのですが、どのように機械学習、自然言語処理、情報検索に関連する技術や研究動向を学ぶかについて考えていました。結論を先に言ってしまいますと、よく聞く「自分で疑問を持ち、自分で答えられるようにする…

Atilika体験記

自分がいた会社(Atilika)が新しいインターンを探している、ということですのでステマしてみます。自分はもう去りますので、自分のためのドキュメンテーションとしても兼用しているつもりです。 Atilikaの概要: Atilikaの創業者はFast Search & Transferと…

ハッカーという言葉の意味

ハッカーと画家を読んで「ハッカー」という言葉の意味を今まで異なる解釈を持っていたことを実感しました。今まで自分はハッカー=優れたプログラマ=優れたエンジニア、という認識を持っていました。昔@mamorukさんのハッカーを育てるを読んだ時は「ふーん…

Lisbon Machine Learning Summer School (LxMLS)に参加してきました

半分自分用の備忘録として残しておきます。好き勝手書いていますので一個人の感想として受け取ってください。Lisbon Machine Learning Summer School (LxMLS)に参加してきました。参加した動機としては: 1.国際会議を聴講しても自分の少し専門外になると…

言語モデル入門

言語モデルの入門と言語モデル周り研究動向の浅い部分をすくったスライド。 言語モデル入門 from Yoshinari Fujinuma

CRFの目的関数が凹関数(concave function)であるかの証明

先日tkngさんより「CRFの目的関数は凹関数なので局所最適解は存在しない」とご指摘を受けたのですが、「あれ、凹関数であることをどうやって示せばいいのかな?」と考え、調べた結果をまとめます。大学1年生レベルの内容ですが復習がてらです。 Claim: CRF…

Kuromojiは何で研究にあまり使われないのか?

今回は(現在の所は)日本語形態素解析器であるKuromojiについて気になったことに関しまして少し独り言みたいに考察します。Kuromojiは中の人を知っているので少し贔屓目に見ている部分もあると思いますが、一応ステマではないつもりです。今回ふと思った疑…

【論文紹介】A joint source-channel model for machine transliteration, ACL 2004

前にスペル修正、翻字(Transliteration)周りのサーベイを書いた時に、DOMという手法をあまり詳しく調べなかったので、今回調べた結果面白そうな手法でしたので少し紹介します。ちなみに紹介する論文は中国語と英語間の手法として提案しています。これはカタ…

Conditional Random Fields(CRF)入門その3 -CRFの新しい論文とViterbiアルゴリズムについて-

Conditional Random Fields(CRF)入門その2 -ブログ資料と勾配について-の続きです。少し手抜きになっていますがご了承ください。 感動の最終章です。間違っている場合は訂正して頂けますと助かります。Viterbiアルゴリズムは動的計画法です。直前の状態か…

スペル修正、翻字(Transliteration)周りのサーベイ

最近自分の分野と比較的近い、スペル修正、翻字(Transliteration)の分野の論文を読んでいます。カタカナーローマ字間の翻字はストーリーがあると思いましたので、テキトー紹介したく思います。かなりざっくりしていますのでご了承ください。主に検索クエリ…

プログラミングスキルを向上させる上での心がけに関する資料メモ

CRF入門は少しお休みして、表題の件で自分が他の方々から見聞きした話、そして体験を元にまとめてみます。名著は星の数ほどある、と個人的に思っているのでリストはできるだけ絞っています。1.Teach Yourself Programming in Ten Years Googleの研究開発ト…

Conditional Random Fields(CRF)入門その2 -ブログ資料と勾配について-

CRFが未だに実装かつフルに理解できていないです。CRFは一筋縄ではいかないことがブログ資料の多さからもわかります。ただ(一部の?)構造予測問題においては今流行りの多層Neural NetworkよりF1値が高いことが伺えますので、未だに重要な手法の一つなので…

Conditional Random Fields(CRF)入門その1 -主な参考資料と目的関数-

Conditional Random Fields(CRF)がわかりません。何それおいしいの?状態ですが、ここから学習をはじめています。前向きアルゴリズム?後ろ向きアルゴリズム?Viterbiアルゴリズム?どこで使うのそれ?状態ですね。その状態を脱出するため日々奮闘中です。…

「僕、C言語が使えます」に対する短い考察

最近僕は「所属する組織」に基づく評価を受けることが多くあり、これはある種正しい傾向を得られるにしても、それでその人自身を全て評価するのは早急すぎる、と考えていた。「人を評価することはすごい難しいことである」とこの頃実感している。(別に実際…

Patricia Trieの実装する上での基礎事項

※Javaコードの実装が追いついていないので、実装でき次第追記しておきます。Trieは辞書を参照する等で非常に便利なデータ構造なので、ちょっとメモしておく。今回はこのTrieの一種であるPatiricia Trieのお話。基数木とも呼ばれているが、僕は基本的にPatric…

僕が便利だと思うgitコマンド

いやー暑いですねー。ということで、最近まで主に使っていたgitコマンドを紹介します。 gitコマンドに関しては短縮するaliasを書いておいた方が、生産性が向上します。おすすめです(とこれも人から教わった知識ですが)。こことかを参考にしながらやるのが…

検索インデックス周り(主に接尾辞配列周り)に関する基礎の話

資料リンク集みたいなものですね。不完全なので、徐々に詳しく書いていきたい記事です。 接尾辞配列がなぜ巷で「痺れる、憧れるぅ!」状態なのかを理解した。 検索速度、スケーラビリティ、網羅性の観点から優れているみたいだ。 Lucene(Solr)を扱う際は、…

情報理論の定義の話

この資料を参考につらつらと書いてみます。 Lecture 6; Using Entropy for Evaluating and Comparing Probability Distributions今までに「エントロピーは未知の値を定式化」とか他にも色々言われたけど結局よくわかりませんでした。式を見ても、よくわかな…

LOUDSの基本事項

LOUDSとは木を表現する簡潔データ構造の一つである。 以下のリンクの練習問題を全て解いたらLOUDSについての理解が進んだので、それについて簡単にメモしておく。 情報系修士にもわかるLOUDS※ノード番号とは、木を根から(左の子優先の)BFSで辿った順番であ…

最近点対問題について語ってみる

2013年6月29日追記: 先に証明した補題の方では実装上遅くなってしまうことが、考えていてわかったので修正しました。内容は表題の通り。非常に初歩的な内容なのだが、某所で説明した際に、一部の「なぜ?」という疑問に答えられなかったので、その鬱憤を晴…

自分が感動した人生、NLP、機械学習に関連したプレゼンテーションとブログ記事

自分の一年と少しという短い研究期間で最も気に入っているプレゼンテーションやブログ記事を何点か挙げる。全部技術的な発表や記事ではなく、自分の心に深い部分に何かを語りかけたモノを挙げていく。 1.パターン認識と機械学習入門 パターン認識と機械学…

Viterbiアルゴリズムによる単語分割を実装してみた

例によってNLPチュートリアル資料に沿って、Viterbi(ビタビ)アルゴリズムを実装してみた。 参考:単語分割に関するチュートリアル一言で言うと「分割しうる全ての部分文字列について、その単語分割らしい確率を計算する」アルゴリズムである。 Pythonで実装…

パーセプトロンを実装してみた

実装力を磨くためと学習器への理解を深めるために、パーセプトロンを実装してみた。3時間ぐらいかかった。今のレベルはSVMの赤本に行く前ぐらいのレベル。コードは以下にある。以下で参考にしたチュートリアルの擬似コードをそのまま実装した。 https://gith…

日本語入力を支える技術がすごい分かり易い

p196, 5.5節あたりの話である。 何で条件付き確率を定義する時に指数関数を使っているのか? PRMLの4章を読んでいた際に謎として残っていたのが、「何故、確率を定義する時に指数関数(softmax function)を使っているのか?」である。うろ覚えの人工知能論の…

マイクロブログ、ソーシャルメディア上の崩れた表記の現在

Twitterのマイニング技術については東工大の奥村先生が2012年1月に発表された「マイクロブログマイニングの現在」という原稿が非常にわかりやすかった。 マイクロブログマイニングの現在自分が今関心がある分野の1つとして「崩れた表記」がある。 崩れた表記…

全文検索について

NLP関連の分野を勉強してきて、検索について人に説明できなかったので、ネットサーフィンした結果を書く。以下転置インデックス - Wikipedia参考にして書いた。 索引(転置インデックス)について grepは索引を作らずに、毎回文字列検索アルゴリズム(ボイヤ…

Kaggle: Detecting Insulting in Social Commentary

I have competed in the following competition (till the milestone) http://www.kaggle.com/c/detecting-insults-in-social-commentaryI was focusing on another competition called Jubatus Challenge, so I did not compete for the final result.By th…

編集距離を忘れてた

Jurafsky and Martin著のSpeech and Language Processing p.73〜 chapter 3.1に良い解説がある。 下記のサイトもおすすめ。 http://d.hatena.ne.jp/naoya/20090329/1238307757実装するにはより深い理解が必要

Virtual BoxにCentOSを入れてみた

CentOSのネットインストール http://www005.upp.so-net.ne.jp/develop-tom/centos/centos-netinstall.htmlVirutualBoxのゲストOSの解像度変更に関して http://marigold.sakura.ne.jp/linux/vbox_guest_additions/index.html二時間くらいかな? サーバとして…