Tech Blog

Information Technology / Machine Learning / Data Analysis / Big Data / System Integration

2013-01-01から1年間の記事一覧

Rのデータ構造

R

Rのデータ構造が紛らわしいのでまとめておく。 データ構造 次元 制約 ベクトル 1次元 全要素は型が統一されている必要がある。 リスト 1次元 異なる型を保持できる。 順序なし因子 1次元 順序のないカテゴリを要素とする。 順序つき因子 1次元 順序のあるカ…

sed 備忘録

sedとは sedとは、Linux上のファイルに対して文字列の置換・挿入・削除を行うコマンド。 awkと比べて自由度は少ないが、置換・挿入・削除に関しては高速に処理できる。 sedを操作するために知っておくべき7のこと sedを操作するために知っておくべき7のこと…

awk 備忘録

awkとは awkは、Linux上のファイルに対して、"行ごとに"何らかの処理を行うためのプログラミング言語。 "行ごとに"処理を行うため、行指向プログラミングと呼ばれる。 csvファイルを扱うときによく使われる。 awkを操作するために知っておくべき10のこと awk…

HueでHadoopをWeb UIから使う

Hue とは Hadoopは基本的にコマンドラインやJavaから操作する。そのため、初心者にはハードルが少々高い。実は、オープンソースのWeb UIがApacheで開発されている。Web UIを用いることで、操作が単純になり、学習コストも低減される。今回は、そのHueをイン…

デザインパターンのエッセンス

デザインパターン一覧 デザインパターンの記事を書き終えたので、まとめておきます。各々のデザインパターンの詳細は、下記のページをご覧ください。 生成に関するパターン 構造に関するパターン 振る舞いに関するパターン デザインパターンが重要なワケ ど…

デザインパターンのエッセンス~振る舞いパターン~

デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!というわけで、UML1枚のみでシンプルに説明するシリーズ第3弾(最終回)。 生成に関するパターンと構造に関するパターンに引き続き、今回は振る舞いに関する11個のパターン。 13. Ch…

デザインパターンのエッセンス~構造パターン~

デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!というわけで、UML1枚のみでシンプルに説明するシリーズ第2弾。 今回は、構造に関する7つのパターン。生成に関するパターンはこちら。 6. Adapter すでに提供されているものと必要…

デザインパターンのエッセンス~生成パターン~

デザインパターンの解説は数多あるけれど、そもそも例が複雑で分かりにくい!そこで、デザインパターンのエッセンスのみを抽出し、Javaのソースコードを併記することで、UML1枚ずつでシンプルに説明する。 デザインパターンには、生成に関するパターン・構造…

EclipseでMahout環境を構築する

目的 Mahoutは、Hadoop上で動くスケーラブルなオープンソース機械学習ライブラリである。今回は、Mahoutをソースコードレビューするために、Eclipseに取り込む。実行環境ではないので悪しからず。OSはWindowsを使用している。 方法 1.以下のサイトにアクセ…

How to Run Kdd2013AuthorPaperIdentification Benchmark

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のインストール

PostgreSQLのインストールにつまづいたので、ポイントを書いておきます。 環境 Windows7 PostgreSQL 9.2.4 ポイント1: .exeでインストールしてもPATHが通らない .exeの標準設定でインストールして、ログインしようとすると、以下のようなエラーが出た。 C:\>…

Twitter4Jでtwitterのキーワード検索データを収集する

目的 Twitterでコーパスを収集する。ここでは、キーワードでtweetを検索し、その結果をファイルに保存する。 手法 Twitter APIのJavaラッパーであるTwitter4Jを用いる。OAuth認証を使ってアクセスする。 http://twitter4j.org/ja/index.html http://www.atma…

Mr.Childrenの歌詞分析(7): どの曲をどんなときに聴くべきか

目的 Mr.Childrenの楽曲は、2013年2月現在で200曲近くあります。恋愛関係の歌、社会問題をテーマにしたもの、己を奮い立たせる歌、失意の曲など、その内容は多種多様です。一方で、楽曲が多いだけに、すべての曲を把握することは難しく、今の気分に合った曲…

Rで複数の文書をキーワードごとに分類する ~smdcパッケージの使い方~

目的 文書をキーワードごとに分類する。概略図を以下に示す。 文書ファイルとキーワードファイルの類似度を算出し、類似度に基づいて分類を行っている。 類似度の算出方法は以下のとおり。 ①N-gramによる類似度算出 ②形態素解析による類似度算出 ③センチメン…

Rパッケージを作ってCRANで公開する

目的 せっかくRで汎用的な関数を作ったので、他の人にも使ってもらいたい。CRAN(The Comprehensive R Archive Network)には、2013/2/16現在4338個ものRパッケージが公開されている。CRANにアップロードすると、 install.package('パッケージ名') で気軽にイ…

RMeCabでつまづくの巻

急にRMeCabのdocMatrix()が使えなくなった。 テキストの中身が空で読み込めないと言っているようだが…文字コードをいろいろ変えて実行してみたけど変わらず。 そもそも以前は同じスクリプト・同じデータでちゃんと動いていたはずなので、明らかにおかしい。…

Pythonで日本語WordNetと英語WordNetを利用して、単語間の類似度を測る

目的 「Mr.Childrenの歌詞分析(4): 単語の意味を考慮した、シングル曲のクラスタリング」では、文書の距離を計測するのに、同一語や同一概念の出現頻度を用いていた。この場合、"似ている"単語は考慮されておらず、クラスタリングの精度もいまひとつであった…

Mr.Childrenの歌詞分析(6): 感情に基づくマッピング

主結果 Mr.Childrenの歌詞の感情(センチメント)に基づいて、横軸に感情の平均値、縦軸に感情のばらつきをとって、楽曲をプロットしました。 考察 全曲だと曲数が多すぎるので、分かりやすいようにシングル曲のグラフを見てみます。センチメントが低いクラ…

Rでテキストファイルをセンチメントの時系列データに変換する

目的 テキストファイルから読み取れるセンチメント(感情)を測定したい。そのために、テキストに現れる各単語のセンチメントを出現順に計測し、時系列データとみてグラフを描く。また、その平均・標準偏差・歪度・尖度などを算出する。 手法 感情辞書 単語…

Rで複数のテキストファイルを二次元にマッピングして可視化する

目的 複数のテキストファイルの関係性をコンパクトに表現し、可視化したい。 手法 自己組織化マップ(SOM) 自己組織化マップは、視覚野のニューラルネットのモデルを元にした学習アルゴリズムであり、高次元データを低次元に非線形射影して表示できる。 http:…

Mr.Childrenの歌詞分析(5): フレーズに着目した、シングル曲のクラスタリング

主結果 Mr.Childrenのシングル曲を、歌詞のフレーズに着目してクラスタリングしました。頻出フレーズを書き加えています。 考察 N-gramでの解析では、フレーズがそのまま残るので、結果を見て解釈しやすいですね。全体として、Mr.Childrenの大きなテーマは「…

Mr.Childrenの歌詞分析(4): 単語の意味を考慮した、シングル曲のクラスタリング

主結果 Mr.Childrenのシングル曲を、歌詞を元にクラスタリングしてみました。 1.単語ベースのクラスタリング 2.概念ベースのクラスタリング 考察 評価 共通する単語や概念を赤字で書いてみました。単語ベースでは、「時代」「社会」や「幸せ」についてき…

Mr.Childrenの歌詞分析: ここまでのまとめ

主結果 Mr.Childrenの歌詞分析(1): よく出てくるワードランキング30 Mr.Childrenの歌詞分析(2): 多くの楽曲に含まれるワードランキング30 Mr.Childrenの歌詞分析(3): シングル曲のクラスタリング Mr.Childrenの歌詞分析(4): 単語の意味を考慮した、シングル…

PythonでWordNetを利用して、テキストの特徴行列を単語ベース→概念ベースに変換する

目的 「RとRMeCabでテキストファイルをクラスタリングする」 では、各テキストから単語を抽出し、各単語の出現頻度を元に、各テキストの特徴ベクトルを生成した。このとき、例えば"愛"と"あい"という単語は同一のものとして扱われたが、"愛"と"恋"という単語…

Mr.Childrenの歌詞分析(3): シングル曲のクラスタリング

主結果 Mr.Childrenのシングル曲の歌詞をクラスタリングしてみると、このようになりました。(アルバム曲を含めてクラスタリングすると図が煩雑になってしまうため、今回はシングル曲のみで実行しました。) 妥当性の検証 この結果って、どうなんでしょう。…

RとRMeCabでテキストファイルをクラスタリングする

目的 今回は、複数のテキストファイルを類似したテキスト同士で分類する。 手法 Rの階層的クラスタリングは、各行がクラスタリング対象の特徴ベクトルからなる行列に対して、各行をクラスタに分ける。そこで、RMeCabでtf*idf行列を作成し、Rで階層的クラスタ…