編集距離で遊ぶ

はじめに 簡単な例としてよく出てくる「編集距離」を使って、英単語の修正を試してみる。(編集距離が小さいものを列挙するまで) dpができなすぎるので、「dpやるだけ」って言えるようになりたい。 編集距離とは ある文字列sからある文字列tへ、文字の削除、…

単語の数学的表現メモ

はじめに 単語をベクトルや確率分布などの数学的表現で扱いたい場合があったりする。 しかし、「どのようなベクトル・確率分布にすべきか?」などはタスクに依存したりして、自明じゃない。 たくさんあって、派生や新しいものもどんどんでていると思うので、…

日猫/猫日翻訳を試す

はじめに 先日北海道で行われたNLP2014(Neko Language Processing 2014)で最優秀賞だった「ビットペア法を用いた日本語-猫語翻訳アルゴリズム」を試してみました。ネコ氏の鳴き声を分析したところ特徴的なパターンが見られ、日本語とネコ語間の変換ルールを…

ナップサック問題として複数文書要約を解くを試す

はじめに 複数文書要約をナップサック問題として解く、という話を聴いて、簡単に試せそうなのでやってみる。 手法 西川ら「冗長性制約付きナップサック問題に基づく複数文書要約モデル」 https://www.jstage.jst.go.jp/article/jnlp/20/4/20_585/_pdf上記の…

EntityLinkingメモ

はじめに WSDM2014(WWW2013,YSS2013,SIGIR2013)のチュートリアルで「EntityLinking」といタスクが紹介されていたので、ちょっと調べてメモしておく。 次元圧縮! Entity Linkingとは テキストに出てくるエンティティ(実体)を識別・決定するタスク 固有名詞抽…

Counting Bloom Filterを試す

はじめに 悩み多き年頃なので、進捗ダメです。 KVS見てるときに出てきた、次元圧縮っぽさがあるBloom Filterを試してみる。 Bloom Filterとは 「ある要素が集合に含まれるか否か?」を扱えるデータ構造 要素をそのまま保存せず、ハッシュ値にしたものを配列…

Matrix Factorizationで遊ぶ

はじめに 次元削減せずにはいられない。 0の扱いがいまいちピンとこなかったので、ちょっと調べて試してみた。 Matrix Factorizationとは Netflix Prizeという推薦システム・協調フィルタリングのコンテストで良い結果を残した手法 行列Mを、2つの行列P,Qの…

大野の語彙法則を試す

はじめに 読んでた本に出てきた法則が気になったので、試してみた。 大野の語彙法則 任意の3作品A,B,Cについて、品詞ごとの構成比を計算しておく 名詞の構成比をX_0, x, X_1とし、任意の品詞の構成比をY_0, y, Y_1とする 次の関係式が近似的に成り立つ (y-Y_…

SdAで遊ぶ

はじめに Deepな話で、簡単に試せそうだったStacked Denoising AutoEncoderを試しに遊んでみる。 あんまり詳しく調べていないので、お遊びレベルという感じで・・・注意:下記では「特徴抽出器」として利用する方法を試しています。通常は事前学習として行い…

格メモ

はじめに 少しずつ曖昧な理解の部分をなくしていきたい。 「格」についてちょっとメモ。 格(case) おおざっぱに言うと、文法的または意味的役割のこと 格の種類を見れば、役割を判断できるような感じ 別の定義では、語と語(名詞と述語)の間に成り立つ意味関…

助詞メモ

はじめに 日に日に日本語がわからなくなっていっているので、助詞についてメモしておく。 細かい部分は各文法・体系や、使うときの都合によると思うので、ここでは大雑把に。 助詞とは 品詞の一つ 単語の文法的な性質による分類が「品詞」 助詞は、述語につ…

やる夫が(インライン)アセンブラを使って競技プログラミングに挑戦するようです

この記事はCompetitive Programming Advent Calendar Div2013の9日目の記事です。今年も、競技プログラミングでほとんど役に立たないネタをお送りします。 1:名無しのターゲットさん:2013/12/9(月) 00:25:07 id:jetbead ! | !l |! ! | ! | ! l | ! l |! | …

ランダムフォレストで遊ぶ

はじめに 簡単だけど性能がよく、様々な実装が公開されていてマジでパナいと噂の、ランダムフォレストで遊んでみる。 ランダムフォレストとは Breimanによって発展改良された、複数の相関の低い決定木を組み合わせる集団学習の一つ 詳細な紹介や内容は「参考…

ロジスティック回帰で分類を試す

はじめに そういえばliblinearよく使うのにロジスティック回帰自分で書いた事ないなぁと思ったので、ちょっと書いてみた。 詳しい解説記事 とてもいい感じの連載がされている。 http://gihyo.jp/dev/serial/01/machine-learning L1/L2正則化については以下も…

文書分類メモ

はじめに 文書分類マスターを目指して修行の旅に出るために必要そうな知識を、ざっとメモしておく。(かなり雑だけど・・・) 文書分類とは テキスト分類、Text Classification あらかじめ決められたカテゴリ集合に基づき、与えられた文書に適切なカテゴリを付…

疎行列の格納方式メモ

はじめに 巨大だけどほとんどの要素がゼロであるような疎行列は、そのまま保持するより、要素がゼロじゃないところだけをうまく保持する事でメモリや計算量を減らせたりする。 扱う行列のタイプによって、効率のよい形式がいくつかあるようなので代表的なも…

liblinearモデルファイルのフォーマットを確認

はじめに ちょっと気になったので、liblinearで扱われているモデルのフォーマットについて確認する。 言語処理などで高次元なものを扱う場合、線形カーネル(ただの内積)を扱った方が精度がよい場合が結構あるので、自力でモデルファイルをパースできるように…

AutoEncoderで遊ぶ

はじめに 次元圧縮がマイブーム化しているので、最近はやりのAutoEncoderで遊んでみる。 べ、別に深い何かのためにやろうとしてるわけじゃn AutoEncoderとは 入力と出力が近くなるように学習するニューラルネットワーク (枠組みをさすだけでニューラルネット…

逐次確率比検定を試す

はじめに あらかじめ標本サイズを決めるのではなく、十分と判断されるまでダイナミックに判断を繰り返す逐次確率比検定を参考に、 チョコボールの銀のエンジェルの出現確率について判断するとどうなるか試してみる。 逐次確率比検定とは ベイズ統計学の枠組…

標本抽出メモ

はじめに 大量(または無限)のデータがあっても、人が確認するだとか、1つのデータあたりのなんらかのコストが高い場合、少量のデータを選んで利用する事が多い。(大量に収集されたログデータの分析をするとか、あるプログラムのパフォーマンスを見るために速…

Mann-WhitneyのU検定メモ

はじめに ROC曲線のAUCとも関係のあるらしいマン・ホイットニーのU検定についてメモ。 マン・ホイットニーのU検定とは Mann-Whitney's U test ウィルコクソンの順序和検定も同等のため、マン・ホイットニー・ウィルコクソン(MWW)検定とも ノンパラメトリック…

ROC曲線メモ

はじめに 複数の分類器の性能を比較したりするときに利用されるROC曲線ついて、ちょっとメモ。 ROC曲線とは Receiver Operating Characteristic Curve 受信者操作特性曲線 もとはレーダー技術で雑音の中から敵機の存在を検出するための方法として開発 分類で…

語義曖昧性解消メモ

はじめに 意味を捉えた解析を行うためには、曖昧性のある語の意味を明確にする必要がある。 語義曖昧性解消周りをちょっと調べたので、メモ。 語義曖昧性解消(Word Sense Disambiguation)とは 複数の意味を持つ語(例えば、plantは「植物」「工場」など)が存…

Random Projectionを試す

はじめに 言語処理を行う場合、単語数を考えると高次元スパースなベクトルを扱うことが多い。 次元削減を行える手法の一つである、Random Projectionを試してみる。 Random Projectionとは 乱数を要素に持ち、各列ベクトルの大きさが1である行列Rを用意して…

Label Propagationを試す

はじめに 前から気になっていた、label propagationを試してみる。 マルチエージェントとかの合意問題っぽい感じ? Learning fron Labeled and Unlabeled Data with Label Propagation http://lvk.cs.msu.su/~bruzz/articles/classification/zhu02learning.p…

DSIRNLP#4で発表させていただきました&他の発表者の方の資料メモ

9/1にVOYAGE GROUPさんで行われたDSIRNLP#4勉強会で発表させていただきました 聴いていただいた方、ありがとうございました 勉強会のページ http://partake.in/events/76854228-ba38-4f6e-87b9-f79e30add75c 発表資料 http://www.slideshare.net/phyllo/weig…

liblinearで文書分類を試す

はじめに データ整形やスケール調整、パラメータの探索を行うことでどれだけ変わるか気になったので、liblinearを使って文書分類を試してみる。 liblinear http://www.csie.ntu.edu.tw/~cjlin/liblinear/ version 1.93を利用 使用するデータ http://www.csie…

n列目まででdiff

はじめに タブ区切りなどのファイルで、n列目までを考慮したdiffなどを取りたいけど、出力はその行のすべてを表示してほしい。 コマンドの組み合わせだけでやりたいけど、いい方法が思いつかない。。 コード とりあえず1列目だけでdiff。 #!/usr/bin/perl # …

TWCNB分類器を試す

はじめに テキスト分類でよく使われるNaive Bayesにはいくつかの厳しい仮定や条件があり、それによって性能が落ちてしまっている。 経験則をいれたりして性能を向上させたTWCNB分類器を試してみる。 多項モデルによるNaiveBayes l_MNB(d) = argmax_c{ log P(…

読みメモ

はじめに 音声合成とかに興味が出てきたい気がするので、日本語文の「読み」について簡単にメモ。でてこいやるき。 「読み」とは 日本語文は、ひらがな、カタカナ、漢字、アルファベット、数字、記号、、など様々な文字で構成される 特に「漢字」は、「音読…