fc2ブログ

TreeTaggerを使う(2)

 前回の続きです。今回は、RからTreeTaggerを利用してみました。
 以前ワードクラウドで遊んだ際の、Steve JobsのStanfordスピーチの題材を使って細かく見ていきます。9行目以降を追記しました。
# パッケージの読み込み
library(wordcloud)
# 単語ベクトルの作成
corpus.en <- tolower(scan("jobs.txt", what = "char", sep = "\n", quiet = TRUE))
word.vector.en <- unlist(strsplit(corpus.en, "([^-a-z0-9]+|--)"))
# ワードクラウドを作成
wordcloud(word.vector.en, min.freq = 2, color = c("blue","green","yellow","pink", "red" ), random.order = FALSE)

#全単語集計
tbldata <- table(word.vector.en)
#ソート
sorted.tbldata <- sort(tbldata,decreasing = TRUE)
#棒グラフ
barplot(sorted.tbldata[1:30], las=2, ylab="Frequency")
まず、10行目で全単語を集計し、12行目で降順にソートします。14行目で棒グラフを表示すると以下の通りになります。TreeTagger1_180617.pngthe、i、to、and、itのように文中でよく使われるワードの個数はわかりますが、ワードクラウドで表示される(表示すべき)ワードではないですね。これらの不要なワードを除去する必要があります。早速、TreeTaggerを使って見ましょう。

 RでTreeTaggerを使用するには、koRpusパッケージを使います。2行目の「set.kRp.env」は環境設定です。tree-tagger-englishの場所と、分析する言語 ("en"glish) を指定しました。3行目で解析対象ファイルを読み込み、解析を行います。解析結果は、$tokenでワード(4行目)、$tagで品詞(5行目)を取り出すことができます。
library(koRpus)
set.kRp.env(TT.cmd="~/R/x86_64-pc-linux-gnu-library/3.4/treetagger/cmd/tree-tagger-english",lang="en")
tagged.text <- taggedText(treetag("~/ドキュメント/R_code/jobs.txt", treetagger="manual", lang="en", TT.options = list(path= "~/R/x86_64-pc-linux-gnu-library/3.4/treetagger", preset="en")))
words_token <- tagged.text$token # word
words_tab <- tagged.text$tag # NN etc.

# Analysis output
write.csv(tagged.text, "res.csv", quote=FALSE, row.names=FALSE)

tbl_words_tab <- table(words_tab)
sorted_tbl_words_tab <- sort(tbl_words_tab, decreasing = TRUE)
barplot(sorted_tbl_words_tab[1:30], las=2, ylab="Frequency")

# Noun pick-up
words_nn <- words_token[words_tab=="NN"]
words_nns <- words_token[words_tab=="NNS"]
words_np <- words_token[words_tab=="NP"]

ana_data <- c(words_nn,words_nns,words_np)

# Delete "n’t" and "’m"
words_temp <- ana_data
words_temp1 <- words_temp[words_temp!="n’t"]
words_temp <- words_temp1[words_temp1!="’m"]
ana_data <- words_temp

# Result output
ana_data_tbl <- table(ana_data)
sorted_ana_data_tbl <- sort(ana_data_tbl, decreasing = TRUE)
barplot(sorted_ana_data_tbl[1:30], las=2, ylab="Frequency")
8行目でファイルに落とした解析結果を見るとこんな感じです。分かりやすく品詞別に色付けしています。TreeTagger2_180617.png品詞(tag)別に並べ替えると、名詞が11.7%、前置詞が9.3%、・・・などが結果が得られます。TreeTagger3_180617.png実際に棒グラフを書くと一致していることが分かります。TreeTagger4_180617.png 15行目以降は名詞のみを抽出する処理を書いています。最終結果は以下の通りで、名詞のみを見た場合、ワードクラウドとほぼ同じ結果が得られました。TreeTagger5_180617.png
 TreeTagger、使いこなせていませんが、色々できそうです。また、遊んでみようと思います。
スポンサーサイト



TreeTaggerを使う(1)

 以前、Rを使ってワードクラウドで遊びましたが、どのようなしくみで動いているのか大変興味があります。MeCabのような「形態素解析」を行い、各ワードについてフィルタリングし、抽出したいワードをカウントしているのは想像がつくのですが、実際にやって確認しないと気が済まないですね・・。いつもながらですが・・。
 英語版の「形態素解析」ツールを探していると、TreeTaggerに行き着きました。早速このサイトの手順に従い、セットアップです。セットアップは、最近環境を作ったubuntuに行いました。

以下の5つのファイルをダウンロードして、セットアップを行いました。

① TreeTaggerのパッケージをダウンロードします。PC-Linuxを選択します。TreeTaggerSetup1_180616.png  ファイル名: tree-tagger-linux-3.2.1.tar.gz
ファイルの中身は以下の通りです。TreeTaggerSetup2_180616.pngRのインストールパッケージ類の入っているフォルダ内に「treetagger」フォルダを作成し、その中に解凍しました。

② tagging scriptをダウンロードします。
  ファイル名: tagger-scripts.tar.gz
解凍ファイルは、①の「treetagger」フォルダに入れました。

③ インストールシェルスクリプトをダウンロードします。
  ファイル名: install-tagger.sh
このファイルも、①の「treetagger」フォルダに入れました。

④ パラメータファイルをダウンロードします。TreeTaggerSetup3_180616.png
  ファイル名:english-par-linux-3.2-utf8.bin.gz , english-bnc-par-linux-3.2-utf8.bin.gz
解凍したenglish-utf8.parとenglish-bnc-utf8.parは「treetagger/libフォルダ」に入れました。

⑤ ターミナルから③のシェルスクリプトを実行します。TreeTaggerSetup4_180616.pngこれでインストール完了です。

⑥ 例文「Hello world!」を実行します。TreeTaggerSetup5_180616.png 「形態素解析」が行われ、品詞の区別もできました。いい感じです。次回は、RからTreeTaggerを利用する方法をお話しします。

浅田次郎著『日本の「運命」について語ろう』を読む

 以前読んだことのある本を読み返して、もう一度感動を味わうことは多々ありますが、読んだことを忘れて、再度読んでしまうことも「たまに?」あります。今回気付かずに2回目を読んだのは、浅田次郎著『日本の「運命」について語ろう』です。 読んでいる途中で、何かこの内容聞いたことがあるなぁと思う箇所がどんどん出てきました。あれっ、これ以前読んだかな?と思い、「読書記録」を確認すると、2年前に同じ図書館で借りて読んでいました。本の裏の返却スタンプの日付も一致・・。間違いなしです。

 社会人になると読書の時間が十分取れないことを思い、読んだ本のタイトルと著者名、読み終わった日をExcelに記入して、かれこれ20年以上です。20年で500冊程度なので、1年あたり25冊、1ヶ月あたり2冊強です。ジャンルは問わず、この20年の中でこの時期は「自己啓発本」を読み漁っている、この時期は「歴史物」を読んでいるなど客観的にその当時を振り返ることができます。

 この本は講演会の内容を活字にしたもので、読む方もすらすら頭に入ってきて大変理解しやすいものです。日本の今後の運命を語る上で、歴史を正しく知ることが必要とのことで、江戸時代、幕末、中国の歴史などが語られています。個人的には「中国」の内容に惹きつけられました。

 浅田次郎作品は個人的に大変興味があり、いままでもたくさん読んできました。著者の世界観を楽しんでいるところがあります。感銘を受けた作品ベスト3はこんな感じでしょうか?
 今後も何回読んでも飽きない浅田作品を読んで行こうを思いました。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: