北野坂備忘録

主にインストールやプログラミングのメモを載せています。

言語処理100本ノック 2015年版 第9章再訪(2)

(再)85. 主成分分析による次元圧縮 84で得られた単語文脈行列に対して,主成分分析を適用し,単語の意味ベクトルを300次元に圧縮せよ. で、こちらを分散処理基盤で処理していこうと思いました。 岩波データサイエンスvol.2ではどうやって主成分分析してるの…

言語処理100本ノック 2015年版 第9章再訪(1)

84. 単語文脈行列の作成(再) 83の出力を利用し,単語文脈行列Xを作成せよ.ただし,行列Xの各要素X_tcは次のように定義する. f(t,c)≥10ならば,X_tc=PPMI(t,c)=max{log( (N×f(t,c)) / (f(t,∗)×f(∗,c) ) ),0} f(t,c)ここで,PPMI(t,c)はPositive Pointwise…

言語処理100本ノック 2015年版 (90)と手戻り

第10章: ベクトル空間法 (II) 第10章では,前章に引き続き単語ベクトルの学習に取り組む. 90. word2vecによる学習 81で作成したコーパスに対してword2vecを適用し,単語ベクトルを学習せよ.さらに,学習した単語ベクトルの形式を変換し,86-89のプログラム…

言語処理100本ノック 2015年版 (85-89)

(追記)このあたり見事にしくじってますが、後日リベンジしております。 kenichia.hatenablog.com 85. 主成分分析による次元圧縮 84で得られた単語文脈行列に対して,主成分分析を適用し,単語の意味ベクトルを300次元に圧縮せよ. 単語の意味ベクトルを300…

言語処理100本ノック 2015年版 (83,84)

83. 単語/文脈の頻度の計測 82の出力を利用し,以下の出現分布,および定数を求めよ. f(t,c): 単語tと文脈語cの共起回数 f(t,∗): 単語tの出現回数 f(∗,c): 文脈語cの出現回数 N: 単語と文脈語のペアの総出現回数 単語tと文脈語cの共起回数は、ソートをすれ…

言語処理100本ノック 2015年版 (80~82)

第9章: ベクトル空間法 (I) enwiki-20150112-400-r10-105752.txt.bz2は,2015年1月12日時点の英語のWikipedia記事のうち,約400語以上で構成される記事の中から,ランダムに1/10サンプリングした105,752記事のテキストをbzip2形式で圧縮したものである.この…

言語処理100本ノック 2015年版 (78,79)

78. 5分割交差検定 76-77の実験では,学習に用いた事例を評価にも用いたため,正当な評価とは言えない.すなわち,分類器が訓練事例を丸暗記する際の性能を評価しており,モデルの汎化性能を測定していない.そこで,5分割交差検定により,極性分類の正解率…

言語処理100本ノック 2015年版 (74~77)

74. 予測 73で学習したロジスティック回帰モデルを用い,与えられた文の極性ラベル(正例なら"+1",負例なら"-1")と,その予測確率を計算するプログラムを実装せよ. 今度は重みベクトルを使って文の極性ラベルを計算していきます。 与えられた文は74test.t…

言語処理100本ノック 2015年版 (73)

今日は73番だけでいきます。 73. 学習 72で抽出した素性を用いて,ロジスティック回帰モデルを学習せよ. ロジスティック回帰モデルとは、「確率化された分類モデル」の一種です。「確率化された分類モデル」は全体の確率を0から1までの間に押し込まないと…

言語処理100本ノック 2015年版 (70~72)

第8章: 機械学習 本章では,Bo Pang氏とLillian Lee氏が公開しているMovie Review Dataのsentence polarity dataset v1.0を用い,文を肯定的(ポジティブ)もしくは否定的(ネガティブ)に分類するタスク(極性分析)に取り組む. このあたりからついてこれ…

「言語処理100本ノック 第8章:機械学習」対策本

そろそろ自然言語処理に関する何の知識もなしにプログラミングしていくのは難しいと思うので、第8章を迎えるにあたり一冊だけ本を紹介したいと思います。 言語処理のための機械学習入門 (自然言語処理シリーズ) わりと薄いけれども必要な情報がみっちり詰ま…

本日の発音

status は「ステータス」ではなくて「スタータス」(カナダ人)

言語処理100本ノック 2015年版 (64~69)

第7章の後半はMongoDBを使っていきます。 64. MongoDBの構築 アーティスト情報(artist.json.gz)をデータベースに登録せよ.さらに,次のフィールドでインデックスを作成せよ: name, aliases.name, tags.value, rating.value CentOSではMongoDBは簡単にイン…

言語処理100本ノック 2015年版 (60~63)

第7章: データベース artist.json.gzは,オープンな音楽データベースMusicBrainzの中で,アーティストに関するものをJSON形式に変換し,gzip形式で圧縮したファイルである.このファイルには,1アーティストに関する情報が1行にJSON形式で格納されている.JS…

言語処理100本ノック 2015年版 (55~59)

55. 固有表現抽出 入力文中の人名をすべて抜き出せ. Named Entity Recognition は直訳すると「名前符号認識」ですが、現在は一般的に「固有表現抽出」と呼ばれています。 今回はこのNERタグを用います。 #!/usr/bin/env python import codecs import copy i…

言語処理100本ノック 2015年版 (50~54)

第6章: 英語テキストの処理 英語のテキスト(nlp.txt)に対して,以下の処理を実行せよ. 50. 文区切り (. or ; or : or ? or !) → 空白文字 → 英大文字というパターンを文の区切りと見なし,入力された文書を1行1文の形式で出力せよ. 上記の条件を正規表現…

本日の聞き間違い

オーストラリア人に、「cottage cheese(カッテージチーズ)はどこですか?」と聞かれたので怪訝そうな顔をしていたら、「cartridge(カートリッジ)はどこですか?」 だった。

言語処理100本ノック 2015年版 (46~49)

5章後編に突入。 46. 動詞の格フレーム情報の抽出 45のプログラムを改変し,述語と格パターンに続けて項(述語に係っている文節そのもの)をタブ区切り形式で出力せよ.45の仕様に加えて,以下の仕様を満たすようにせよ. 項は述語に係っている文節の単語列…

言語処理100本ノック 2015年版 (40~45)

プログラムの量が多くなってきたので2回に分ける。 CaboChaのインストールで一苦労。 さて、何の指示もされていないがCaboChaはテキストをそのまま放り込むとツリー表示になる。このままでは役に立たない。 本問では「係り受け解析結果」を使用するので、-f1…

CentOS で Tensorflow を使うために python2.7 をインストール

Tensorflowを使うためにpython2.7を使うためにVirtualEnvをインストール。まずは python2.7 を /opt/local にインストールする。 curl -O https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz tar zxf Python-2.7.6.tgz cd Python-2.7.6 ./configure …

CaboChaのインストール

CentOSにCaboChaをインストールするうえでしくじり2点。 morph.cpp(108) [charset() == decode_charset(dinfo->charset)] Incompatible charset: MeCab charset is UTF-8, Your charset is EUC-JP-MS こちらはネット上に解決方法がゴロゴロ転がっているので…

言語処理100本ノック 2015年版 (30~39)

第4章は形態素解析。しかし、どちらかというと matplotlibが問題、それも操作ではなくてインストールとの闘いだと思われます。 30. 形態素解析結果の読み込み 形態素解析結果(neko.txt.mecab)を読み込むプログラムを実装せよ.ただし,各形態素は表層形(s…

言語処理100本ノック 2015年版 (20~29)

第3章は正規表現 20. JSONデータの読み込み Wikipedia記事のJSONファイルを読み込み,「イギリス」に関する記事本文を表示せよ.問題21-29では,ここで抽出した記事本文に対して実行せよ. #!/usr/bin/env python import codecs import json fin = codecs.op…

VMWare Toolsインストール時に「入力/出力エラー」

CentOS6.7 に VMWare Toolsをインストールしようとするがうまくいかない。 >> mkdir /mnt/cdrom >> mount /dev/cdrom /mnt/cdrom >> cd /mnt/cdrom >> ls ls: reading directory .: 入力/出力エラーです必死に理由を探していると、 >> df Filesystem 1K-bloc…

俺の彼女がビキニーソなわけがない

paizaから問題追加の連絡があって行ったら杏ちゃんがビキニーソ(ビキニ&黒ニーソ)になっていた。 ……バグだと信じたい。 ※いまさらですがPythonで解いています。 眼帯 よくわかんなーい。 よくわかんないのは最初の巻数Nの意味。いるのかコレ? 使わない…

プログラミングで彼女を作ってみた

paizaの悪質な罠に引っかかる。paiza.jp恋愛SLG: プログラミングで彼女をつくる|paizaオンラインハッカソン7raw_input()の仕様を理解するまでかなり試行錯誤をした。 ショートカット x = int(raw_input())+int(raw_input()) print x ロングヘア yes = 0 no…

言語処理100本ノック 2015年版 (10~19)

とりあえず今回から問題も表記していく。 10. 行数のカウント 行数をカウントせよ.確認にはwcコマンドを用いよ. #!/usr/bin/env python import codecs fin = codecs.open('hightemp.txt', 'r', 'utf_8') if __name__ == "__main__": x = 0 for line in fin…

言語処理100本ノック 2015年版 (00~09)

Pythonの勉強をしようと思っていたらちょうどいい問題が見つかったのでトライ。www.cl.ecei.tohoku.ac.jp やっぱりプログラミングは楽しい。 出来上がった分からアップしていく。00 #!/usr/bin/env python x="stressed" print(x[::-1]) 01 #!/usr/bin/env py…

茂木健一郎『脳を活かす勉強法』

2007年と結構昔の本だが相変わらず茂木健一郎の本は面白い。世の中には「茂木健一郎は科学者ではない」という人もいるが、科学者かどうかは本の面白さや売り上げとは関係ないのでまあ気にしなくていいだろう。 どちらかというと人口1%未満の天才による天才…

『リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法』

なんの気なしに手に取ってみたら存外面白かったのでメモ。この本から新しく得た知見 ・ドレイファスモデル ・SQ3R ・モーニングページ ・エクソコーテクスこの本で再度出会った概念 ・マインドマップ ・瞑想 ・気づきの重要性 ・マルチモニタ ドレイファスモ…