ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Rでネットからデータ読んで日本地図の上にプロットとか、RでSPARQLとか

2014-03-31 18:17:53 | AI・BigData
AITCオープンラボ
「R言語で始めよう、データサイエンス(ハンズオン勉強会)
〜機械学習・データビジュアライゼーション事始め〜」
に行ってきた!その内容のうち、(順番違うけど)ビジュアライゼーションをメモメモ
(基礎、機械学習、ビジュアライゼーション、Javascript連携と話は続く)

なお、この講義の基礎、機械学習、ビジュアライゼーション編は

http://www.slideshare.net/yasuyukisugai/r-28544592

の内容に沿って行われました。
(ソースプログラムはそのサイトより引用)





ビジュアライゼーション

ggplot2を使う

install.packages("ggplot2")
library(ggplot2)
# qplotクイックプロット
qplot(data=iris, x=Petal.Length, y=Petal.Width)
# 色分け:凡例つき
qplot(data=iris, x=Petal.Length, y=Petal.Width, color=Species)
# 形で変える
qplot(data=iris, x=Petal.Length, y=Petal.Width, shape=Species)
# 大きさ
qplot(data=iris, x=Petal.Length, y=Petal.Width, color=Species, size=Sepal.Length)
#層を重ねる(回帰曲線を重ねる)
qplot(data=iris, x=Petal.Length, y=Petal.Width)+stat_smooth()
qplot(data=iris, x=Petal.Length, y=Petal.Width, color=Species)+ stat_smooth()
#ヒストグラム
qplot(data=iris, x=Petal.Length, geom="histogram")
qplot(data=iris, x=Petal.Length, geom="histogram", fill=Species)
#密度グラフ
qplot(data=iris, x=Petal.Length, geom="density")
#半透明
qplot(data=iris, x=Petal.Length, geom="density", fill=Species, alpha=0.3)

●台風の軌道

データ
http://www.jma.go.jp/jma/jma-eng/jma-center/rsmc-hp-pub-eg/besttrack.html

フォーマット
http://homepage3.nifty.com/typhoon21/general/bst-format.html

地図 maps
install.packages("maps")
library(maps)
#緯度経度
map(xlim=c(121, 155), ylim=c(20, 50))
#描画情報も取得できる

#データ取り込み
bst<-readLines('http://www.jma.go.jp/jma/jma-eng/jma-center/rsmc-hp-pub-eg/Besttracks/bst2013.txt')
View(bst)

#ヘッダー(はじめが66666)を抜き出す
header <- read.table(textConnection(bst[grep("^66666", bst)]))
View(header)

#レコード部分(それ以外)を抜き出す
record<-read.table(textConnection(bst[-grep("^66666", bst)]),fill=TRUE)

#行の長さが違うので、入らないところカット
record<-record[!is.na(record[,7]),]
View(record)

#必要なところを採ってくる
header<-header[ , c(3,4,8)]
names(header) <- c("NROW", "TC_NO", "NAME")
View(header)
record<-record[ , c(1,3:7)]
names(record) <- c("DATE_TIME", "GRADE", "LAT", "LON", "HPA", "KT")
View(record)

#台風の識別番号をつける
record$TC_NO <- rep(header$TC_NO, header$NROW)
View(record)

#台風の識別番号をもとに結合
data <- merge(header, record, by = "TC_NO")
View(data)

#元データが10倍されているので、値変換transform
data <- transform(data, LAT = LAT / 10, LON = LON / 10)
View(data)
#ここまでで、データ処理終わり、あとはビジュアライゼーション

#範囲確認
range_lon<-range(data$LON)
range_lat<-range(data$LAT)
range_lon
range_lat

#座標パスXYだけを取得
map<-data.frame(map(plot=FALSE,
xlim=c(range_lon[1]-10, range_lon[2]+10),
ylim=c(range_lat[1]-5, range_lat[2]+5))[c("x","y")])

#描画(大きさで太さが変わる)
ggplot(data, aes(LON, LAT, colour = NAME)) +
geom_point(aes(size = GRADE)) +
geom_path(aes(x, y, colour = NULL), map)

#軌道っぽくする(透明度を上げて見えるように)
ggplot(data, aes(LON, LAT, colour = NAME)) +
geom_point(aes(size = GRADE), shape = 1, alpha = 0.5) +
geom_path() +
geom_path(aes(x, y, colour = NULL), map)

#後細かい修正していたけど、省略

#画像で保存 ggsave
p<-ggplot(data, aes(LON, LAT, colour = NAME)) +
geom_point(aes(size = GRADE)) +
geom_path(aes(x, y, colour = NULL), map)
ggsave("test.png",p)

#ただし、RStudioのExportでもOK


■Rでできること
・Rコマンダー(Rcmdr)
install.packages("Rcmdr")
library(Rcmdr)
 GUIでそうさできる
 わからないものを勉強できる

・Rで形態素解析(RMeCab)
install.packages("RMeCab")
library(RMeCab)
rm<-RMeCabFreq("XXXXX.txt")

・RでSPARQL
install.packages("SPARQL")
library(SPARQL)

#DBPediaの内容から東京に関するものを採ってくる

#【手順1】URLを設定(DBPediaの)
url<-"http://dbpedia.org/sparql"

#【手順2】Select指定
query="SELECT *
WHERE {
<http://dbpedia.org/resource/Tokyo> ?p ?o
} LIMIT 400"

#【手順3】SPARQL実行!
res<-SPARQL(url=url,query=query)

#【手順4】表示
res

●このほかにも、RでHadoop,RでMongoDBとか・・

気象庁XMLのAPIに関しては

http://api.aitc.jp/




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

今度はRで機械学習

2014-03-31 13:00:19 | AI・BigData
AITCオープンラボ
「R言語で始めよう、データサイエンス(ハンズオン勉強会)
〜機械学習・データビジュアライゼーション事始め〜」
に行ってきた!その内容のうち、今度は機械学習部分をメモメモ
(基礎、機械学習、ビジュアライゼーション、Javascript連携と話は続く)




■機械学習編

分類器:教師ありと教師なし
  教師あり:SVM
  教師なし:K-Means

#まずは、データ 6個
target<-data.frame("Petal.Length"=c(1,1.5,3,4,5,6), "Petal.Width"=c(0.2,0.4,1.2,1.4, 1.6, 1.8))

#単純にプロット
plot(x=iris$Petal.Length, y=iris$Petal.Width, col=sapply(iris$Species, function(x) switch(x, "setosa"="red", "versicolor"="blue", "virginica"="green")), xlim=c(0,7), ylim=c(0,3))

#追加に書き込めるようにして
par(new=T)

#貼りこむ
plot(x=target$Petal.Length, y=target$Petal.Width, xlim=c(0,7), ylim=c(0,3))

■SVM
・距離が大きくなるところで分類
・線形でできないものでもOK
  →カーネルトリックを使う

install. packages( "kernlab" )
library(kernlab)

#学習させる(3列目から5列目)
svm<-ksvm(Species ~., data=iris[,3:5])
・学習結果を適用→元データと比較
pre<-predict(svm, iris)
table(pre, iris[,5])

#setosa以外のデータでもういちど
iris2<-iris[51:150, 3:5]
svm<-ksvm(Species ~., data=iris2)
plot(svm, data=iris2[,1:2])

■K-Means
・ある点をもとに
  近さで単純に
  重心を移していく
・KーMeansで分類、結果表示

km<-kmeans(iris[,3:4], 3)
km$cluster

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで作成したグラフをHTML+Javascriptで書き出し(東電からデータ読み込み例で)

2014-03-30 22:31:34 | AI・BigData
AITCオープンラボ
「R言語で始めよう、データサイエンス(ハンズオン勉強会)
〜機械学習・データビジュアライゼーション事始め〜」
に行ってきた!その内容のうち、(順番違うけど)Javascript連携をメモメモ
(基礎、機械学習、ビジュアライゼーション、Javascript連携と話は続く)

なお、この講義は

http://www.slideshare.net/yasuyukisugai/r-charts

の内容に沿って行われました。
(ソースプログラムはそのサイトより引用)



・rで処理したデータをJavascriptライブラリを利用して可視化、
・HTML5を作成




■HighchartsでRのグラフ→Javascriptへ

Highchartsなどサポート(ただし、Javascriptのライセンスに注意)
以下、ふつうのR(R Studioでなく)で行う


install.packages("devtools")
require(devtools)
install_github("rCharts","ramnathv")
require(rCharts)

#HighChartsでみてみる
p<-hPlot(Petal.Length~Petal.Width,data=iris,type="scatter",group="Species")
p$chart(zoomType="xy")
p$exporting(enable=T)
p

これを実行すると、ブラウザが開き、グラフが表示される。

これを、「名前をつけて保存」すると・・・

Javascriptで書き出される。




■NvD3でRのグラフ→Javascriptへ
nPlot(Petal.Length~Petal.Width,data=iris,type="scatterChart",group="Species")

を実行する。IEだと、エラーになるので、その場合は、
(その場合でなくても)ファイルに保存して、Chromeでみると
わかる




■どちらがいい?

ソースを開いてみると、Highchartsは、グラフ表示に必要な
データしか書き出さないが、NvD3はデータを全部書く。
そこで、あとでJavascriptで操作する場合は、
NvD3のほうが、やりやすい




■サンプル-東京電力

#データを読んで加工
tmp<-readLines("http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv")
electric<-read.csv(textConnection(tmp),header=F,skip=3)
names(electric)<-c("date","time","value")
electric<-transform(electric,date=as.Date(date))

#ピークを取得
electric2<-aggregate(electric$value,list(electric$date),max)
names(electric2)<-c("date","value")

#グラフ化
p<-nPlot(value~date,data=electric2,type="lineWithFocusChart")
#軸の日付
p$xAxis(tickFormat="#!function(d){
return d3.time.format('%m/%d')(new Date(d*86400000));
}!#")
p$x2Axis(tickFormat="#!function(d){
return d3.time.format('%b')(new Date(d*86400000));
}!#")
#ツールチップの日付
p$chart(tooltipContent="#!function(key,x,y,e,graph){
return 'date;'+d3.time.format('%Y/%m/%d')(new Date(e.point.date*86400000));
}!#")
#幅、高さ設定
p$set(width=1000,height=500)
#表示
p

すると、こう表示され

下で一部を選択すると、その部分が表示される




■その他

しゃいにーShiny
(サーバーをたてて、サーバーサイドでR)
一般の人にはrChart

seekr.jp
r-bloggers.com
バッチ的に使える
rChartでつくったものをGitHubに置くっていう手もある
rMarkDown

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ポアンカレとパン屋さんをRで再現

2014-03-30 20:14:07 | AI・BigData

AITCオープンラボ
「R言語で始めよう、データサイエンス(ハンズオン勉強会)
〜機械学習・データビジュアライゼーション事始め〜」
に行ってきた!その内容のうち、Rの基礎部分をメモメモ
(基礎、機械学習、ビジュアライゼーション、Javascript連携と話は続く)




R:無料で使える統計ソフト
特徴
・ライブラリ豊富
・すくないコード量で処理できる
・可視化
その他:SPSS,SAS→結構な金額

Excel:結構できる(アドインの「分析ツール」)
R-Studio
いくつかのパネル
・データView
・ソースEdit
・コマンドライン(コードアシストつき)
・グラフ
・履歴

Rの基礎
代入は<-
配列みたいにデータ
データフレーム

?iris  説明みえる
str(iris)
View(iris)
iris

データフレーム
・名前つきの行と列
iris[,2]
iris[3,2]
iris[3,2]
iris$Sepal.Width
mean(iris$Sepal.Width)
summary(iris$Sepal.Width)
sd(iris$Sepal.Width)

プロットする
plot(iris)
xyに総当りで配置
plot(x=iris$Petal.Length,y=iris$Petal.Width,col=iris$Species)
(色をつける:凡例はつかない)

ヒストグラム
hist(x=iris$Petal.Length)

ポアンカレさん
1Kgと売っている→平均950g、偏差50g
これをRで表現
rn<-rnorm(365,mean=950,sd=50)
hist(rn)

カーブをかくには
hist(rn, breaks=seq(700, 1200, 10), freq=FALSE)
curve(dnorm(x, mean=950, sd=50),700, 1200,add=TRUE)

ポアンカレさん PART2
1Kgになった。でも、非対称
→また訴えた:重いものを渡していたから

勉強会の題材:Think Stats

・ポアンカレさんの再現
 rnorm(n,mean=950,sd=50)
  →nこ発生
 そこから最大値
 その最大値を365個

・そうすると・・・ 
  標準偏差が変わる
  線形が対象にならない

2013年12月号のニュートンにもポアンカレさんの話

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

他人のサイトのアクセス解析が勝手にできるSimilarWebが凄すぎる!

2014-03-29 12:32:56 | ネットワーク
あとで確認する(まだ未確認)

他人のサイトのアクセス解析が勝手にできるSimilarWebが凄すぎる!秘密情報が全部見えてるぞ!
http://netgeek.biz/archives/7800



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「京」の100倍、エクサスケール・スーパーコンピュータ開発開始!

2014-03-29 03:13:46 | Weblog
あとでよむ

エクサスケール・スーパーコンピュータ開発プロジェクトの開始について
-スパコン「京」の100倍の計算性能を目標に開発-
http://www.riken.jp/pr/topics/2014/20140328_1/


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ビッグデータ解析に2種類あることをいわないので、混乱させている

2014-03-28 09:31:59 | AI・BigData
日経情報ストラテジーの2014年5月号の特集1、2が典型的な例だけど、
・特集1 高めよう!データリテラシー 普通の社員が分析で成果出す7つの決め技
・特集2 博士データサイエンティストの実像

おいおい、ビッグデータ解析は、「普通の社員」がやるのかよ、「博士データサイエンティスト」がやるのかよ?

この混乱は、データ解析に2つの側面があることを無視しているから、混乱している。

仮説は、2つの段階を経て成立する
  仮説構築:アブダクションにより、仮説を構築する。観察が主体
  仮説検証:実験的ないしは統計的に仮説の正しさを確認する
このことを、川喜多二郎氏の「発想法」(中公文庫)私の持っている本では22ページに
「研究という名の仕事」で図示している(川喜多氏の「発想法」=「仮説構築」)
仮説構築部分は野外観察で、検証部分が実験科学となっている。




ビッグデータも同じで、「仮説構築」部分と「仮説検証」部分に分かれる。
データに基づき(グラウンデット・おん・データ?っていうといみちがって来るけど ^^;)
こういう関係があるんでないか?という仮説を構築する部分と、

そのできた仮説を正しいかどうか検証する部分。

前者の仮説を構築する部分は、BIレベルでできることなので、全社員がやったほうがよい分野である。
で、これだけでも成果はでるわけだ。仮説を作ることが大事で、それが正しいかどうかは・・・
やってみれば、ある程度わかるから・・・実践あるのみ!!っていうのでも、もちろんOK

ただ、後者になってくると、仮説のモデルを作って検証することになる。
そうすると、たとえば、表面的な変数の間の関連を言うだけなら、
回帰分析なので、そんなに難しくないけど、
そこに内部変数が出てくるとなると、共分散構造分析を使うことになるので、
これは、博士データサイエンティストを使うことになる(経営・心理だったら修士でもやると思うけどね)




ここで、ふと、面白いことを思い出す。
ビッグデータ前はどうだったか?
博士データサイエンティストはいらなかったし、
データに基づき、マーケティングとかしていたのに・・・

実は、ビッグデータ前と、ビッグデータ後で解析方法が違うのだ・・・




ビッグデータ前の解析手法は、最高峰は、因子分析だった。

 仮説構築に探索的因子分析(=ふつうの因子分析)を使い
 仮説検証に確認的(確証的)因子分析を使える
  ・・・が、仮説検証は実際には、売ってみて確認したほうが多かったか・・・

実は、この手法がビッグデータ時代には使えない。

(探索的)因子分析は、ミドルデータ?どまりで、
実際IDつきPOSデータ数約万件をがーん!と因子分析かけると、
寄与度が相当低い因子が、いっぱいでてきてしまう。
・・・なんじゃこりゃ?状態・・・

なんで、一発クラスタ分析かけたり、フィルタリングしたりするんだけど、
それができるのは、ミドルデータどまり。
ビッグデータになると、誤差が大きくなって、仮説が誤差に埋もれてしまう。

結果として、何も考えないで解析をかけると
・・・コンビニの商圏は、近隣数百メートルであることがわかった!
・・・サンダルは夏に売れ、ブーツが冬に売れる
という当たり前の結果しか出てこない。




そこで、ビッグデータ時代は、2つを分けて、あらたな手法が必要になってくる。

サンダルが夏に売れることは知っているけど、
冬に売れるケースはないのか?

とExcelで絞り込んで、対象データをみる。
これは、レアケースなので、ビッグにデータを集めないと、該当データなしになってしまう。

そうすると、ある建物の近くで売れ、そこに入るには、サンダルがいるから・・・
という仮説が見つかるかもしれない。
まあ、これで、売りに走ってもいいわけだが、
これを数値的に裏付けようとしたら、博士データサイエンティストが必要で、
彼らが、このモデルをデータから検証して(検定して)有意差を出してくるわけだ・・・




ということで、
  仮説構築:BIレベルでできる、ExcelでOK、みんなやるべき
  仮説検証:統計知識が必要、専門的
という話になる。

 多くの会社では、仮説構築が重要で、仮説検証の統計知識はあってもいいけど、
なくても実践で結果をみることでカバーできる(従来のビジネスで仮説検証といっているのは、これ)

このへんが混じってしまうと、なんだなんだ?となってしまう。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Zendがバージョン1と2(zf2)でぜんぜん違い、初期画面を出すにも大変な件

2014-03-27 16:03:07 | PHP
最近、Zendをやっていなかった。
今、Zend Framework2(以下zf2と記述)をやろうとして、バージョン1のときと、
大違いなので、びっくり!

まずは、初期画面を出すまでについて記述


■前提
(1)Apache,PHPは設定されている
   →PHPが\phpにインストールされているものとする
   →ApacheがApache24にインストールされているものとする

(2)Rewrite Modeの設定もされている
httpd.conf
   LoadModule rewrite_module modules/mod_rewrite.so (コメントはずす)

  Directory "c:/Apache24/htdocs"の
     AllowOverride All
     Require all granted
 していること




■Zend Framework 1の場合

(1)まず、Zendのサイトにいく

http://framework.zend.com/downloads/latest


(2)Zend Framework 1のフルパッケージをダウンロード、解凍する

(3)解凍したところのbinにいき、zfコマンドでプロジェクト作成。
  *今回は、作成するプロジェクトをzf1とする
  その場合、以下のコマンドを入力する。
\php\php.exe zf.php create project zf1

(4)zf.phpがあるフォルダにzf1ができている。
   これを、apacheの、htdocsの下におく
  →\Apache24\htdocs\zf1ができる

(5)上記(2)でダウンロード/解凍したZend Framework 1の
 libraryの下にあるZendを、(4)のzf1の下のlibraryへコピー
  →\Apache24\htdocs\zf1\library\zendができる

(6)ブラウザで
http://localhost/zf1/public/
をアクセス

がみえればOK




■Zend Framework2になってびっくり!なところ

・ダウンロードすると、binの下に、zf.phpがない!
  →どうするんだろう・・・


【日本語版】ZendFramework2(ZF2)チュートリアル
http://web-terminal.blogspot.jp/2013/02/zendframework2zf2.html

にサンプルアプリのありか、修正方法があるようです。




■Zend Framework2で初期画面作成
(これでもできる、という方法で、これがいいというわけではない)

(1)まず、Zendのサイトにいく

http://framework.zend.com/downloads/latest


(2)Zend Framework2のフルパッケージをダウンロード、解凍する

(3)サンプルコード

zendframework / ZendSkeletonApplication
https://github.com/zendframework/ZendSkeletonApplication

にいって、右下の「Download ZIP」をクリックし、ダウンロード、解凍する

(4)上記(3)で解凍した、ZendSkeletonApplication-master
 (その下に、config,data・・・などあるフォルダ)を、zf2と名前を変え、
 htdocsの下に(zf2として)コピーする

(5)上記zf2に、libraryというフォルダを作成し、
 (上記イメージにはあたかもそんなフォルダーがあるように見えるが、
  じつは作成しないと、ない)
 その下に、(2)でダウンロードしてきた、libraryの下のZend.ZendXml
 をコピー

(6)publicのindex.phpに、パスを設定する。
【日本語版】ZendFramework2(ZF2)チュートリアルを参考に追加

注意:パスの指定など、青い線の部分を上記サイトとは違う修正をしているので注意

(7)ブラウザで
http://localhost/zf2/public/
をアクセス

がみえればOK




本当は、Composerを使ってやるらしい・・・
・・・が、めんどくさいので省略。

まちがって、ZF Serverを入れたら、ZFも入ってきたような気がしたが
気のせいか?

<<自分へのメモ>>

あとでみる

Zend Framework2について〜ZF1とZF2の違いについて〜
http://www.slideshare.net/nully/zend-framework2zf1zf2


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

なんでマスコミは、台湾の学生の国会占拠を報道しないの?

2014-03-27 00:28:49 | Weblog
もう、小保方さんとか、韓国とか、中国の話はいいよ・・・

なんで、マスコミは、台湾の学生の国会占拠を報道しないの?
日本は韓国や中国より、台湾のほうが関係深いし、協力してもらっているのに!!

あ、その事件は、ここ

台湾学生国会占拠 ニコ生中継実施中
http://topics.jp.msn.com/wadai/r25/article.aspx?articleid=3816584

に少し書いている(以下、太字は上記サイトより引用)

中国と台湾の間で結ばれたサービス貿易協定を巡り、3月25日9時時点でも台湾の学生による国会(立法院)の占拠は続いているが、その様子がニコニコ生放送で中継されており、多くの日本人ネットユーザーがこれをチェックしている。

この事件は、昨年6月に中台両国間で調印された貿易協定を、台湾与党の国民党が強行採決しようとしたため、これに反対する学生が起こしたもの。協定は、両国が医療、金融、運輸などの分野において市場開放するという内容だが、台湾国内では「中小企業に影響が大きい」「中国企業に乗っ取られる」などの懸念や反発が多く、業を煮やした国民党の強行採決に対し、反対する学生たちが警備員を押しのけて国会内に乱入し、議場を占拠する異常事態となっている。


ちなみにYouTubeでも、それに関する動画が

https://www.youtube.com/watch?v=nCaQJCkt8wk

(クリックすると、すぐに音が出るので注意。日本語)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「自然言語処理に基づく商品情報の整理および構造化」を聞いてきた!

2014-03-26 16:44:53 | Weblog
いま、TOPSEシンポジウムで、

「自然言語処理に基づく商品情報の整理および構造化」という題で

楽天技術研究所の人のお話を聞いてきたので、
メモメモ





楽天と楽天技術研究所の紹介
自然言語処理とは
楽天における自然言語処理活用事例
  商品情報の構造化
  レビューからの商品の使用感の抽出
  その他
まとめ

楽天 会社概要
・最近、外国からも(3人に1人)
・1997→2014 日本を元気に
・画鋲、ワイン、牛肉、甲冑などまで売っている
・楽天グループのサービス
・楽天グループ(海外)世界13カ国
・楽天技術研究所
  →技術戦略の中核を担うR&D部門
 3つの研究分野
  分散
  データマイニング・自然言語
  マルチメディア・UI
 →分野をまたいでコラボ
 事例
  ROMA(分散キーバリューストア)
   全部Ruby:プラグイン容易
  LeoFS(Webに特化した分散ファイルシステム)
  AR Hitoke(ネット上の人気を)
  物体認識
  ユーザー行動ログ解析に基づく商品かてごりの絞込み

ゴール:昔ながらのショップオーナー

技術
・セマンティック
・ビッグデータ
・自然言語処理
・AI

■自然言語処理(NLP)とは
・人工言語(プログラミング言語など)と区別するため
  →ふつうしゃべっていることば
・人工知能の一分野
・自然言語の機械による理解を目指す
  テキスト内の情報の構造化
    誰・いつ・どこで・何を・どうした
・あいまい性と同義語の問題が常に付きまとう
  黒い瞳の大きな女の子
    くろい、ひとみのおおきな、おんなのこ
    くろいひとみの、おおきな、おんなのこ
  今日NIIで発表します
    今日NIIでプレゼンします
    今日、国立情報研究所でトークします
・幅広いトピック
  研究トピック NLP2014 CFP
   →かなり多岐
・実世界の多くのアプリケーションで使われている
  機械翻訳
  対話システム
  テキストマイニング(カゼミル)
  特集ページの生成
・自然言語処理の流れ
  文分解
  形態素解析
  構文解析
  格解析
  照応省略解析

文分割
・テキストを文単位に分割
  句点や記号が手がかり
   →モーニング娘。を除く
・ブロックタグ
・共通のルールない

形態素解析
・入力文を単語単位に分割し、品詞情報を付与する処理
  mecab,juman

構文解析
・文中の文節区切りを認識
・文節間の修飾関係を同定

格解析(意味解析に入ってくる)
・文中の格構造を認識する処理
  京大格フレーム
   http://reed.kuee.kyoto-u.ac.jp/cf-search/

照応省略解析
・代名詞、指示詞などの照応詞が何を指しているのか特定する処理
・用言の省略された主語や目的語を補う処理

精度
・文分割
・形態素 98%
・構文解析90%
・格解析 80~90
・照応省略40%

■楽天による

<<商品情報の構造化>>

楽天市場にある商品データの特徴
・ページは店舗様々

機械学習
・教師データ:いっぱい用意
・今回:タグつきコーパス→高コスト

教師なし学習に基づく商品情報抽出
・半構造化データ
  →知識ベース構築
・自動アノテーション
・機械学習による属性抽出ルール
・ルールの適用

デモ automatic cataloging engine

<<レビューから商品の使用感>>
・触れたり、触ったりできない
  →利用できない1つ
 使用感に関する記述を取り出す
 オノマトペを利用

 R-touch

<<その他の言語処理タスク>>

・語分類商品の検知
  強制語知識体系を構築
  強制語を利用して正しいジャンルに

・英作文支援ツール
 phloat
  
・その他
 形態素解析き
 キーフレーズ抽出
 商品知識の自動獲得
 商品の同一性判定
  多言語化が重要

■まとめ
・楽天技術研究所でとりくんでいる自然言語
・言語処理100本ノック
http://www.cl.ecei.tohoku.ac.jp/index.php?NLP%20100%20Drill%20Exercises

■Q&A
形態素解析
・オンラインで機械学習
分野をまたげる工夫
・ともだちだから
オノマトペ:いいのとわるいのがあるのでは?
・いいのとわるいの半々くらい?
・同じオノマトペが分野によって違うことも
格構造
・フィルモア、格助詞ベース
・格解析まで入れているアプリはすくない?
機械学習:失敗した場合
・ルールベースに比べ、機械学習の失敗はわかりにくい
・人手ではじく場合、クレームきたら削除する場合
オノマトペ:日本語重要?
・オノマトペは日本語に特徴的
・辞書は使えるかも
古語
・今は新聞記事がベース、
・古語を研究している先生もいるが
・一般的には解析せず、できないものはできないで割り切る

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MVCモデルは、SEとFEで意味が違うらしい

2014-03-26 12:51:27 | Weblog
Software Design2014年4月号、31ページによると、
「MVC」モデルのさしているものが、
SE(昔のシステムエンジニア、最近のサーバーサイドエンジニア)
がさしているものと、
FE(フロントエンドエンジニア)がさしているものが、違うらしい。

SEがさしているMVCは、こういうものであった。

つまり、ViewとModelを分離するものとして、Controllerがある
というパターンで、Java,PHPのフレームワークは、こうなっている。

ところが、最近のJavascriptのフレームワーク(BackboneJSなど)は、
こんなかんじらしい。

Controllerは、Modelに変更を通達する。
ModelからViewに直接データが送られるという形

たぶん、FEは、こっちしか扱わないから、

MVCといった場合、今後、SEとFEで、さしているものが
違ってくる可能性があるわけだね。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Office.comって、フル機能ではない?

2014-03-26 10:52:44 | Officeソフト&VBA
無料でMicrosoftのOfficeソフトが使える

Office.com
http://office.com

だけど、つかってて、遅いというのは、無料だからしかたないとして
置いておいて、そもそも、これって、フル機能ではない?

今、word onlineを使っていて、図形を入れようと思ったら・・・



うん?図形がない??
何か設定するのかなあ?そうすると、出てくるのかなあ?
それとも、もともとフル機能ではなく、図形がないのかなあ・・・

・・・手持ちのWordでやろう・・・
(じゃ、はじめから、そうしろよ!というツッコミがありそうな気が・・・)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Javascriptを使えば、豚でも空を飛ぶことができる

2014-03-25 18:05:38 | Weblog
もう、昔の話になってしまいましたが、3月20日の19:30~ジュンク堂書店でやっていた、
「Webアプリエンジニア養成読本」の刊行記念のトークイベント「Webアプリエンジニアができるまで」
を見てきたので、そこで、メモに残っていることを、メモメモ

作ったサービスについて
  yancha
  tailf
  Tolot

・天上の人と思える人も、話してみると、そうではない
・仲間が大事

・ amachang さんについて

  Javascriptを使えば、豚でも空を飛ぶことができる

  2007年のデブサミにいってから・・

・コンピューターの仕事はアナログ
・オンラインも重要 アウトプット超重要

・パーフェクトRubyを書いている

・今後書きたい本?
 土下座する10の方法
   →その1:最後に謝れ、はじめから謝るな(エスカレートするから)

・水があうコミュニティに




うん、時間がたって、何がなんだかわかんなくなっている(^^;)
いろいろと、聞き間違えてるとおもう、たぶん。ごめん・・・

で、表題の件
「Javascriptを使えば、豚でも空を飛ぶことができる」
って、誰が言ったんだっけかなあ?そのamachangっていう人だったか?
そうでなかったか・・・自信ない・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Java8ダウンロード、する?

2014-03-24 13:00:26 | JavaとWeb
いや、出てるんだよね~、Java8.
ここからダウンロードできるみたいなんだけど・・・

http://www.oracle.com/technetwork/java/javase/downloads/index.html

(NetBeans8もダウンロードできる。ただし、普通の日本のJavaのダウンロードサイトにいくと、JDK7しかダウンロードできない)

う~ん、どっしよっかな~



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「さよならデータサイエンティスト!」が来た!!

2014-03-24 10:20:51 | AI・BigData
本の帯に「さよならデータサイエンティスト!」と書いてある

西内 啓 著
一億人のための統計解析
「エクセル」を最強の武器にする

の本が、日経BPから送られてきた!

これから読む・・・

(自分へのメモ:自信がないので、自分向けのメモにしておく)

「はじめに」中に出てくる「リサーチデザイン」は、たぶんこの本

Research Design: Qualitative, Quantitative, and Mixed Methods Approaches


その本の日本語訳

研究デザイン―質的・量的・そしてミックス法


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする