언어 - 텍스트의 부정적인 정도를 분석합니다.

소개



어떤 텍스트 파일에 어떤 특성이 있습니까? 그 텍스트 파일에, 네거티브인 발언이 많은지, 아니면, 긍정적인 발언이 많은 것인가의 경향을 흩어지게 파악하려면, 네거티브 포지션도를 분석하는 것이 좋습니다. 이 팁에서는 특정 조직의 주간 보고서를 사용하여 내용에 어떤 특성이 있는지 분석합니다. 순서로서는, ①위클리 리포트를 RMeCab로 형태소 해석 후, ②단어 감정 극성표(주1)로부터 스코어를 산출해, ③네가포지도를 3차원 원 그래프로 묘화합니다. 단어 감정 극성이란, 그 단어가 일반적으로 좋은 인상을 가지는지(positive) 나쁜 인상을 가지는지(negative)를 나타낸 것입니다. 예를 들어, "좋은", "아름다운"등은 positive 극성, "나쁜", "더러운"등은 negative 극성을 가지고 있습니다.

텍스트의 음수 포지션도 분석



▼ 샘플 스크립트

R
# 三次元円グラフライブラリを読み込みます
library(plotrix)
# 日本語形態素解析ライブラリを読み込みます
library (RMeCab)
# 単語感情極性表(Semantic Orientations of Words)を読み込みます
sowdic <- read.table("http://www.lr.pi.titech.ac.jp/~takamura/pubs/pn_ja.dic",sep=":",col.names=c("term","kana","pos","value"),colClasses=c("character","character","factor","numeric"),fileEncoding="Shift_JIS")
# 名詞+品詞で複数の候補がある場合は平均値を採用します
sowdic2 <- aggregate(value~term+pos,sowdic,mean)
# ポジティブとネガティブを調整します(より傾向を出すため)
sowdic2$value <- sowdic2$value + 0.6
# 形態素解析の結果から頻度表を作成します
war2007 <- RMeCabFreq("WAR2007_20140131-1258.txt")

※「WAR2007_20140131-1258.txt」는 주간 리포트를 텍스트화한 것입니다. 다음은 텍스트의 예입니다.


네거티브 포지티브를 3차원 원형 차트로 그리기



▼ 샘플 스크립트

R
# 単語感情極性表に含まれるものを抽出します
war2007 <- subset(war2007,Term %in% sowdic2$term)
# 単語感情極性表の属性をマージします
war2007 <- merge(war2007,sowdic2,by.x=c("Term","Info1"),by.y=c("term","pos"))
# キーワード毎にスコア算出します
score2007 <- war2007[4:(ncol(war2007)-1)]*war2007$value
# 描画用データを作成します
war2007 <-c(sum(score2007 > 0),sum(score2007 < 0))
# 描画用ラベルを作成します
lbls <- c("positive", "negative")
lbls <- paste(lbls, war2007, sep=":")
# 三次元円グラフを描画します
pie3D(war2007, radius=0.9, labels=lbls, explode=0.1, main="2007年 週報ネガポジ度")

▼실행 결과 예
위의 샘플 코드는 2007년도의 1년분을 그래프화한 것입니다. 이것을 2014년도분까지 출력한 것이 다음의 그래프가 됩니다.


주석



주1 이번 분석으로 이용하신 단어 감정 극성 대응표는 이쪽↓
h tp // w w. lr. 딱. 치테 ch. 아 c. jp/~ 타카무라/p ぢc_그럼. HTML

좋은 웹페이지 즐겨찾기