r

Rによるword2vec

r

本日、ディップ株式会社で開催される第63回R勉強会@東京 (Tokyo.R) において、「Rによるword2vec」というLTをします。発表スライドは、こちらから見ることができます。*1 小林雄一郎 (2017). 「Rによるword2vec」 第63回R勉強会@東京. slide LTなので、非…

Rによるやさしいテキストマイニング増刷(2017年6月)

r

おかげさまで、拙著『Rによるやさしいテキストマイニング』が増刷されました。1刷にあった誤記をいくつか修正いたしました。なお、本書の内容や趣旨については、以前書いたこちらの記事をご参照ください。Rによるやさしいテキストマイニング作者: 小林雄一郎…

第1回 R初心者2日講習会 (R Two-Day Camp)

来たる2017年7月1~2日、幕張テクノガーデンで「R初心者2日間講習会」を開催します。本ワークショップは、2017年3月にも5日間連続の合宿形式で開催し、おかげさまで満席となりました。*1 今回は、週末に2日間、Rというデータ解析ツールのインストールや基本…

RとApache OpenNLPではじめる自然言語処理

本日、リクルートで開催される第61回R勉強会@東京 (Tokyo.R) において、「RとApache OpenNLPではじめる自然言語処理」というLTをします。発表スライドは、こちらから見ることができます。*1 小林雄一郎 (2017). 「RとApache OpenNLPではじめる自然言語処理…

特定の品詞の共起語だけをワードクラウドに描画する

r

拙著『Rによるやさしいテキストマイニング』の読者の方から、以下のような質問を頂きました。@langstat 先生の本を買って今独学中です。色々できて、達成感を感じています。ありがとうございます。一つお伺いしたいですが、共起語について、N-gram, collocat…

Rによる感情分析

本日、サイバーエージェントで開催される第60回R勉強会@東京 (Tokyo.R) において、「Rによる感情分析」というLTをします。発表スライドは、こちらから見ることができます。*1 小林雄一郎 (2017). 「Rによる感情分析」 第60回R勉強会@東京. slide LTなので…

R初心者合宿講習会 (R Bootcamp) に関する資料

r

ここには、R初心者合宿講習会 (R Bootcamp) のためのメモや練習問題が書かれています(工事中・随時更新)。なお、現在は、私が講師を務める部分に関するもののみを公開しています。 テキスト 小林雄一郎 (2017). 『Rによるやさしいテキストマイニング』 オ…

ランダムフォレストのMDS plotで誤分類されている標本だけ書式を変える

Rでランダムフォレストの結果に基づく多次元尺度法の散布図(MDS plot)を作成し、他クラスに誤分類されている標本だけ書式を変えたい、という要望があったので、今回はそれに挑戦してみます。以下は、「とりあえずできた」という程度のコードなので、もっと…

Rの初心者が中級者にステップアップするための7冊

r

今回は、Rの初心者から中級者にステップアップするための参考書をご紹介します。*1 なお、本記事における「初心者」は、以下の4つの条件を満たすことを想定しています。*2 Rのインストールと起動ができる RにテキストファイルやCSVファイルを読み込むことが…

『Rによるやさしいテキストマイニング』という本を刊行します

2月17日、『Rによるやさしいテキストマイニング』という単著を刊行いたします。目次などは出版社のウェブサイトで公開されていますが、ここでは、もう少し詳しくご紹介します。*1Rによるやさしいテキストマイニング作者: 小林雄一郎出版社/メーカー: 株式会…

Rで英文に品詞情報を付与する

Rで英文に品詞情報を付与したいときは、openNLPパッケージを利用します。このパッケージの関数を使うと、Apache OpenNLP Maxent Part of Speech taggerによる品詞情報付与を行うことができます。以下の例では、Rの公式ウェブサイトから取った文に品詞タグを…

文章を自動要約する

r nlp

Rで文章の自動要約をするには、LSAfunパッケージのgenericSummary関数を使います。この関数を使うと、文章全体を最も的確に表すk個の文を抽出することができます。以下は、Rogue OneのWikipedia記事(英語版)の一部を使った例です。 # パッケージの読み込み…

第1回 R初心者合宿講習会 (R Bootcamp) 募集中

先日、こちらの記事で第1回R初心者合宿講習会についてお知らせいたしました。その後、おかげさまで多くの方から参加登録をして頂きまして、残席はわずか数名となっております。ですので、参加を検討されている方には、こちらからお早目の申し込みをされるこ…

単語の基本形と品詞の情報を利用したワードリストを作る

R Advent Calendar 2016の12日目の記事です。以前、ワードリストを作るという記事を書きましたが、R単体では、英単語の基本形や品詞の情報を利用したワードリストを作ることができません。基本形や品詞の情報を使うには、品詞タガーによる前処理が必要となり…

第1回 R初心者合宿講習会 (R Bootcamp)

来たる3月7〜11日、幕張テクノガーデンで第1回R初心者合宿講習会を開催します。このイベントは、5日間にわたるRの集中講座で、インストールや基本操作から、統計処理やテキストマイニングまでをカバーします(参加登録は、こちらからお願いします。)。暫定…

データのばらつきを視覚化する (2)

r

以前、データのばらつきを視覚化する (1) という記事で、箱ひげ図の上に個々のデータの分布を重ねて描く方法を紹介しました。今回は、rug関数を使って個々のデータの分布を可視化する方法を紹介します。以下、irisデータにおけるsepal length(がくの長さ)…

日本語テキストにおける用例を表示する

言語研究においては、単語の頻度を数えるだけでなく、それらの単語がどのような文脈で用いられているかを精査することが重要です。そのような場合、コーパス言語学では、KWIC (KeyWord In Context) という形式で用例の一覧を表示することがあります。以前、K…

Gries' Deviation of Proportion (DP)

Rによる言語データ分析の教科書であるLevshina (2015) を読んでいたら、Stefan Th. Griesによって提案されたDeviation of Proportion (DP) (Gries, 2008; Lijffijt & Gries, 2012) という指標が出てきたので、以下にメモしておきます。この指標は、複数の(…

Rlingパッケージのインストール

Rによる言語データ分析の教科書であるLevshina (2015) では、Rlingという独自のパッケージが用いられています。Rlingパッケージは、この本のサポートサイトのR Packageというページからダウンロードすることができます。サポートサイトには複数のインストー…

Heat map with hierarchical clustering: Multivariate visualization method for corpus-based language studies

『国立国語研究所論集』(NINJAL Research Papers) というジャーナルに、以下の論文が掲載されました(オープンアクセスですので、こちらからダウンロードすることができます)。手法の解説だけでなく、Rのスクリプトを載せています。 Yuichiro Kobayashi (20…

R入門 (3)

この記事は、R入門 (2) の続きです。以下、授業の補足資料です。 対応分析 前回は、重回帰分析や判別分析を用いて、目的変数を含んだデータを解析しました。しかし、全てのデータに目的変数が含まれているわけではありません。そのような場合には、いくつか…

R入門 (2)

この記事は、R入門 (1) の続きです。以下、授業の補足資料です。 重回帰分析 重回帰分析を用いると、任意のデータ(目的変数)がそれ以外のデータ(説明変数)とどのような関係にあるかを明らかにすることができます。以下では、Rにあらかじめ格納されている…

R入門 (1)

Rは、統計解析のためのプログラミング言語です。フリーウェアなので、誰でも自由に入手・使用することができます。公式サイトはこちらで、Wikipediaの記事はこちらです。以下、授業の補足資料です。 簡単な計算と関数 まず、Rのコンソール画面の入力に慣れる…

変数間の相関係数の大きいペアを抽出する

多変量データから相関行列を求め、相関係数の大きいペアを抽出する方法を以下にメモしておきます。*1 分析データは、定番のirisです。 # irisデータからSpeciesの情報を削除 iris2 <- iris[, -5] # 相関行列の作成 x <- cor(iris2) # データ形式の変換 libra…

英語教育研究のためのテキスト分析入門

来たる2月18日(木)、名古屋大学で開催されるLET外国語教育基礎研究部会第2回特別セミナーにおいて、「英語教育研究のためのテキスト分析入門」というお話をさせて頂くことになりました。平日開催、しかも直前のご案内ではありますが、ご都合のつく方は、ぜ…

Rによる英文テキスト処理

Rで英語のテキストを分析する方法について、学部の紀要に文章を書きました。主に、(1) Rとパッケージのインストール、(2) データの読み込み、(3) KWICコンコーダンス、(4) コンコーダンスプロット、(5) コロケーションテーブル、(6) ワードリスト、(7) ワー…

クラメールのVの信頼区間を計算する

r

以前、頻度差の検定の効果量としてファイ係数とクラメールのVを用いるという記事で、南風原 (2014) に書かれている手順を参考にして、クラメールのVの信頼区間を計算する方法を紹介しました。その後、クラメールのVの信頼区間を計算するための関数が複数存在…

対散布図を描く

r

Rで対散布図を描く場合、一番簡単な方法は、pairs関数を使うことです。 pairs(iris, col = as.numeric(iris$Species), pch = 16) しかし、pairs関数でもう少し綺麗な図を描くには、やや面倒なカスタマイズが必要です。変数間の相関係数を表示したい場合は、p…

カイマージによる連続データの離散化

カイマージは、カイ二乗検定を用いて、連続データを離散化するための手法です。*1 具体的には、「属性の離散化方法とクラスの確率は独立である」という帰無仮説に基づき、その仮説が棄却される場合は隣接する区間を統合し、棄却されない場合は統合しないとい…

マイノリティ合成によるオーバー・サンプリング

今回は、不均衡データの分類に挑戦します。*1 最もシンプルな不均衡データへの対処としては、復元抽出によって、マイナークラスの標本数を増やすことが挙げられます。しかし、同じ標本が複数含まれることによって、過学習を引き起こしやすくなると言われてい…

語彙多様性とリーダビリティを用いたテキスト分析

外国語教育メディア学会中部支部の『外国語教育基礎研究部会2014年度報告論集』に以下の原稿を載せて頂きました。センター試験の英語長文問題を例に、Rによる分析を行いました。本稿のPDFは、こちらで公開されています。*1 小林雄一郎 (2015). 「語彙多様性…

stringrを使った文字列処理 (3)

今回も、stringrパッケージを使った文字列処理を紹介します。まず、str_subset関数を使うと、指定したパターンにマッチする文字列を含む要素が得られます。 # パッケージの読み込み library(stringr) # パターンにマッチする文字列を含む要素を抽出 verbs <-…

stringrを使った文字列処理 (2)

今回も、stringrパッケージを使った文字列処理を紹介します。まず、大文字と小文字の置換を行うには、str_to_upper関数、str_to_lower関数、str_to_title関数が便利です。 # パッケージの読み込み library(stringr) # 大文字と小文字の置換 x <- "R is a fre…

stringrを使った文字列処理 (1)

今回は、stringrパッケージを使った文字列処理を紹介します。まず、str_length関数を使うと、文字列の長さを計算することができます。 # パッケージの読み込み library(stringr) # 文字列の長さ str_length("have") 上記のスクリプトを実行すると、以下のよ…

Rでリーダビリティを計算する

本日、ニフティで開催される第48回R勉強会@東京 (Tokyo.R) において、「Rでリーダビリティを計算する」というLTをします。発表スライドは、以下のリンクから見ることができます。 小林雄一郎 (2015). 「Rでリーダビリティを計算する」第48回R勉強会@東京. …

箱ひげ図のノッチの値を取得する

各群におけるデータのばらつきを視覚的に分析したい場合、箱ひげ図が便利です。また、箱ひげ図にノッチ(切れ目)を入れると、各群の中央値の95%信頼区間が表示されます。そして、2つの群のノッチがオーバーラップしていなければ、それらの群の間に有意差が…

GBMによる変数選択

今回は、gbmパッケージを使って、勾配ブースティング (gradient boosting) による変数選択を行ってみます。*1 分析データは、お馴染みのirisデータセットとします。 # パッケージの読み込み library(gbm) # 勾配ブースティング iris.gbm <- gbm(Species ~ .,…

レーダーチャートを描く

r

今回は、plotrixパッケージでレーダーチャートを描いてみます。以下は、MASSパッケージのcaithデータを使った例です。 # パッケージの読み込み library(plotrix) library(MASS) # データの標準化 caith.scale <- data.frame(scale(caith)) # レーダーチャー…

Rで学ぶ日本語テキストマイニング(2刷)

おかげさまで、『Rで学ぶ日本語テキストマイニング』が重刷されました。それにともない、初版1刷にあった若干の誤植が修正されました。今後とも、どうぞ宜しくお願いいたします。Rで学ぶ日本語テキストマイニング作者: 石田基広,小林雄一郎出版社/メーカー: …

データのばらつきを視覚化する (1)

r

データのばらつきを視覚化する場合、箱ひげ図がよく用いられます。箱ひげ図では、最小値、下側ヒンジ、中央値、上側ヒンジ、最大値という5つの要約統計量が視覚化されるため、データのばらつきを直感的に理解することができます。今回は、irisデータにおける…

コーパス言語学研究における頻度差の検定と効果量

『外国語教育メディア学会 (LET) 関西支部メソドロジー研究部会報告論集』の第6号がこちらで全文公開されました。今回は、私も以下の論文を寄稿させて頂きました。 小林雄一郎 (2015). 「コーパス言語学研究における頻度差の検定と効果量」 『外国語教育メデ…

対応分析の結果に信頼区間を描く

今回は、anacorパッケージを使って、対応分析の結果として得られるバイプロットに95%信頼区間を描きます。分析データは、tocherとします。*1 まず、anacorパッケージで対応分析を実行するには、anacor関数を使います。*2 # パッケージの読み込み library(ana…

ggplot2でシンプルなヒートマップを描く

r

今回は、ggplot2パッケージを使って、シンプルな(=デンドログラムなしの)ヒートマップを作成します。分析データは、caパッケージのauthorとします。*1 ggplot2でヒートマップを描くには、reshape2パッケージのmelt関数を使った前処理が必要となります。 #…

ソーシャル・コンピュテーション学会第2回研究会

来たる3月21日(土)、秋葉原ダイビル首都大会議室にて、ソーシャル・コンピュテーション学会第2回研究会が開催されます。主な内容は、以下のとおりです。 小林雄一郎「Rによるソーシャルデータ分析手法の検討」 川畑智子「初心者がテキスト分析ソフトを用い…

多群間で差のある変数を特定する

前回の二群間で差のある変数を特定するという記事に続き、今回は、三群以上(多群)のデータで差のある変数を特定する方法を考えます。*1 群間の中央値を比較する場合は、クラスカル・ウォリス検定を用います。以下は、データ中の全ての変数にクラスカル・ウ…

二群間で差のある変数を特定する

データ中のどの変数に群間の差が見られるかが知りたいとします。群間の中央値を比較する場合は、ウィルコクソンの順位和検定を用います。以下は、データ中の全ての変数にウィルコクソンの順位和検定を行い、その結果として得られる統計量が大きい順に出力す…

残差分析を行う

今回は、分割表の残差分析の方法を紹介します。分析データは、3つのコーパスにおける3つの語の頻度を集計したものとします。*1 # 分割表の作成 dat <- matrix(c(61, 7, 172, 6, 37, 47, 49, 85, 69), nrow = 3) colnames(dat) <- c("Corpus A", "Corpus B", …

カイ二乗値、対数オッズ比、ファイ係数の相関を調べる

先日の頻度差の検定の効果量としてオッズ比を用いるという記事と、頻度差の検定の効果量としてファイ係数とクラメールのVを用いるという記事に関連して、カイ二乗値、対数オッズ比、ファイ係数の相関を調べてみました。*1 以下は、乱数を使って、2×2の分割表…

対応分析の結果に重み付けをする

最近、対応分析の次元得点に固有値の平方根(特異値)をかけるという話題を目にしました。*1 今回は、それをRで行ってみることにします。分析データは、MASSパッケージのcaithを使います。*2 まずは、対応分析の結果を普通に視覚化してみましょう。 # パッケ…

対応分析の結果をバブルプロットにする

今回は、対応分析の結果をバブルプロットで表示する方法を紹介します。バブルの大きさをどう定義するかが問題になりますが、以下の例では、行ないしは列の総和を使っています。*1 分析データは、MASSパッケージのcaithを使います。*2 # パッケージの読み込み…