何を作ったか? こんなものを作りました。 http://tkdmah.com/word2cordinates どんなものか? word2vecを用いて単語を2次元にマッピングします。 word2vecは、単語を200次元ベクトルに変換するモデルです。 ベクトルは単位ベクトルなので、200次元球面に配…
Linuxのシステム管理に関する基本的なコマンドを網羅的にまとめておく。 ユーザ管理 ユーザの作成 # ログインシェルを指定してユーザ作成 useradd -s /bin/bash tkdmah # ホームディレクトリと合わせてユーザ作成 useradd -m tkdmah # 所属グループを指定し…
分類問題の精度評価についてまとめておきます。 代表的な評価指標にはどのようなものがあるのか、その中でどれを使えばいいのか、回帰分析の精度は使えるか、について順に書いていきます。今回は、下記の混合行列で表されるような疾病検査を例にとって説明し…
Rのデータ構造が紛らわしいのでまとめておく。 データ構造 次元 制約 ベクトル 1次元 全要素は型が統一されている必要がある。 リスト 1次元 異なる型を保持できる。 順序なし因子 1次元 順序のないカテゴリを要素とする。 順序つき因子 1次元 順序のあるカ…
sedとは sedとは、Linux上のファイルに対して文字列の置換・挿入・削除を行うコマンド。 awkと比べて自由度は少ないが、置換・挿入・削除に関しては高速に処理できる。 sedを操作するために知っておくべき7のこと sedを操作するために知っておくべき7のこと…
awkとは awkは、Linux上のファイルに対して、"行ごとに"何らかの処理を行うためのプログラミング言語。 "行ごとに"処理を行うため、行指向プログラミングと呼ばれる。 csvファイルを扱うときによく使われる。 awkを操作するために知っておくべき10のこと awk…
Hue とは Hadoopは基本的にコマンドラインやJavaから操作する。そのため、初心者にはハードルが少々高い。実は、オープンソースのWeb UIがApacheで開発されている。Web UIを用いることで、操作が単純になり、学習コストも低減される。今回は、そのHueをイン…
デザインパターン一覧 デザインパターンの記事を書き終えたので、まとめておきます。各々のデザインパターンの詳細は、下記のページをご覧ください。 生成に関するパターン 構造に関するパターン 振る舞いに関するパターン デザインパターンが重要なワケ ど…
デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!というわけで、UML1枚のみでシンプルに説明するシリーズ第3弾(最終回)。 生成に関するパターンと構造に関するパターンに引き続き、今回は振る舞いに関する11個のパターン。 13. Ch…
デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!というわけで、UML1枚のみでシンプルに説明するシリーズ第2弾。 今回は、構造に関する7つのパターン。生成に関するパターンはこちら。 6. Adapter すでに提供されているものと必要…
デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!そこで、デザインパターンのエッセンスのみを抽出し、Javaのソースコードを併記することで、UML1枚ずつでシンプルに説明する。 デザインパターンには、生成に関するパターン・構造…
目的 Mahoutは、Hadoop上で動くスケーラブルなオープンソース機械学習ライブラリである。今回は、Mahoutをソースコードレビューするために、Eclipseに取り込む。実行環境ではないので悪しからず。OSはWindowsを使用している。 方法 1.以下のサイトにアクセ…
What is Kdd2013AuthorPaperIdentification? KDD Cup is the well-known data mining competition of the annual ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. KDD Cup 2013 -> https://www.kaggle.com/c/kdd-cup-2013-aut…
PostgreSQLのインストールにつまづいたので、ポイントを書いておきます。 環境 Windows7 PostgreSQL 9.2.4 ポイント1: .exeでインストールしてもPATHが通らない .exeの標準設定でインストールして、ログインしようとすると、以下のようなエラーが出た。 C:\>…
目的 Twitterでコーパスを収集する。ここでは、キーワードでtweetを検索し、その結果をファイルに保存する。 手法 Twitter APIのJavaラッパーであるTwitter4Jを用いる。OAuth認証を使ってアクセスする。 http://twitter4j.org/ja/index.html http://www.atma…
目的 Mr.Childrenの楽曲は、2013年2月現在で200曲近くあります。恋愛関係の歌、社会問題をテーマにしたもの、己を奮い立たせる歌、失意の曲など、その内容は多種多様です。一方で、楽曲が多いだけに、すべての曲を把握することは難しく、今の気分に合った曲…
目的 文書をキーワードごとに分類する。概略図を以下に示す。 文書ファイルとキーワードファイルの類似度を算出し、類似度に基づいて分類を行っている。 類似度の算出方法は以下のとおり。 ①N-gramによる類似度算出 ②形態素解析による類似度算出 ③センチメン…
目的 せっかくRで汎用的な関数を作ったので、他の人にも使ってもらいたい。CRAN(The Comprehensive R Archive Network)には、2013/2/16現在4338個ものRパッケージが公開されている。CRANにアップロードすると、 install.package('パッケージ名') で気軽にイ…
急にRMeCabのdocMatrix()が使えなくなった。 テキストの中身が空で読み込めないと言っているようだが…文字コードをいろいろ変えて実行してみたけど変わらず。 そもそも以前は同じスクリプト・同じデータでちゃんと動いていたはずなので、明らかにおかしい。…
目的 「Mr.Childrenの歌詞分析(4): 単語の意味を考慮した、シングル曲のクラスタリング」では、文書の距離を計測するのに、同一語や同一概念の出現頻度を用いていた。この場合、"似ている"単語は考慮されておらず、クラスタリングの精度もいまひとつであった…
主結果 Mr.Childrenの歌詞の感情(センチメント)に基づいて、横軸に感情の平均値、縦軸に感情のばらつきをとって、楽曲をプロットしました。 考察 全曲だと曲数が多すぎるので、分かりやすいようにシングル曲のグラフを見てみます。センチメントが低いクラ…
目的 テキストファイルから読み取れるセンチメント(感情)を測定したい。そのために、テキストに現れる各単語のセンチメントを出現順に計測し、時系列データとみてグラフを描く。また、その平均・標準偏差・歪度・尖度などを算出する。 手法 感情辞書 単語…
目的 複数のテキストファイルの関係性をコンパクトに表現し、可視化したい。 手法 自己組織化マップ(SOM) 自己組織化マップは、視覚野のニューラルネットのモデルを元にした学習アルゴリズムであり、高次元データを低次元に非線形射影して表示できる。 http:…
主結果 Mr.Childrenのシングル曲を、歌詞のフレーズに着目してクラスタリングしました。頻出フレーズを書き加えています。 考察 N-gramでの解析では、フレーズがそのまま残るので、結果を見て解釈しやすいですね。全体として、Mr.Childrenの大きなテーマは「…
主結果 Mr.Childrenのシングル曲を、歌詞を元にクラスタリングしてみました。 1.単語ベースのクラスタリング 2.概念ベースのクラスタリング 考察 評価 共通する単語や概念を赤字で書いてみました。単語ベースでは、「時代」「社会」や「幸せ」についてき…
主結果 Mr.Childrenの歌詞分析(1): よく出てくるワードランキング30 Mr.Childrenの歌詞分析(2): 多くの楽曲に含まれるワードランキング30 Mr.Childrenの歌詞分析(3): シングル曲のクラスタリング Mr.Childrenの歌詞分析(4): 単語の意味を考慮した、シングル…
目的 「RとRMeCabでテキストファイルをクラスタリングする」 では、各テキストから単語を抽出し、各単語の出現頻度を元に、各テキストの特徴ベクトルを生成した。このとき、例えば"愛"と"あい"という単語は同一のものとして扱われたが、"愛"と"恋"という単語…
主結果 Mr.Childrenのシングル曲の歌詞をクラスタリングしてみると、このようになりました。(アルバム曲を含めてクラスタリングすると図が煩雑になってしまうため、今回はシングル曲のみで実行しました。) 妥当性の検証 この結果って、どうなんでしょう。…
目的 今回は、複数のテキストファイルを類似したテキスト同士で分類する。 手法 Rの階層的クラスタリングは、各行がクラスタリング対象の特徴ベクトルからなる行列に対して、各行をクラスタに分ける。そこで、RMeCabでtf*idf行列を作成し、Rで階層的クラスタ…
主結果 前回書いた「Mr.Childrenの歌詞分析(1): よく出てくるワードランキング30」の記事ですが、同一楽曲に何度も同じワードが出てきたとき、それを逐一カウントしていました。今回は、各ワードが全楽曲中の何曲に含まれるかをカウントしてみました。すると…