インターンシップ WEBデータ解析

東京都立産業技術高等専門学校 ものづくり工学科 電子情報工学コース 四年

実習先  Shanonn Lab株式会社

1、はじめに
 今回のインターンシップ先であるShannon Lab株式会社では、アプリ開発、人工知能、データ解析などを行なっている。
 インターンシップでは、統計学とサポートベクターマシン、MeCabについて学んだ。以下に3つの実習内容について詳しく述べる。
2、実習内容
2-1、統計学について
統計学の中の因子分析、カイ二乗検定、t検定について学んだ。因子分析は、アンケートなどの多変量データに潜む共通因子を探り出すための手法である。カイ二乗検定は、ある理論値を想定した時、実際の観測値がその理論値とほぼ一致しているかどうかを調べるもの。t検定は、2集団間に差があるかないかを調べる手法である。t分布を使用するためt検定という。
2-2、サポートベクターマシンについて
サポートベクターマシン(Support Vector Machine:SVM)は教師ありの学習を行う。顔などのパターンの認識なども行うことができる。教師ありとは、事前に与えたデータをいわば例題(教師からの助言)とみなしてそれをガイドとして学習を行う方法である。SVMの種類は主に二つあり、線形SVM(図1)と非線形SVMというものがある。線形SVMはデータを直線で分類するものであり、非線形SVMはデータがバラバラで直線では分類できない時に使用される。

SVM
     図1 線形SVMの原理
SVMのパターン認識は、マージン(2種類以上のデータ間の距離のこと)の最大化(図1)によって行われる。マージンの最大化は、2つのデータの一番距離のある場所で分類の線を引くものである。マージンの最大化の方法は2種類ありハードマージンとソフトマージンがある。ハードマージンは、二つのデータがきちんと分かれているときにマージンの最大化を行った場所に直線を引く。ソフトマージンは、二つのデータが直線で分類できない時に使用される。
 実際にSVMが実装されているものは、スパムメールフィルターなどがある。あらかじめ、何百種類以上のデータをSVMに学習させ送られてきたメール対して学習したデータで分析しスパムメールかそうでないかを判別する。このフィルターは未知のメールに対しても分析することができる。いろいろなスパムメールを分析し学習することで未知のデータに関しても識別することができる。

 
SVMで実際に走らせたのは、R言語という言語を使用し、もともと入っているデータを使用して走らせた。アイリスという花の種のデータ3つを使用しSVMで学習させて正解率を出した。約90%程の正解率がでた。このような実習をしてSVMについて学んだ。
2-3、MeCabについて
 MeCab は、形態素解析を行うオープンソースのソフトウェアである。形態素解析とは、コンピュータ等の計算機を用いた自然言語処理の一つで、かな漢字変換等に応用されているものである。入力された文章を解析してMeCabが持っている辞書を使って文章を単語ごとに区切りその文字がどのような読み方をするかどうかまで表示することができる。
 そしてその辞書は自分の手で追加することもできる。インターンシップではその辞書を作る作業をした。Wikipediaのデータベースに様々な単語が表記されているものがありそれをもとに私の手で入力して辞書を作成した。だが、大量のデータとなるためpythonのプログラムで辞書を作成することにして実行した。だが、この方法で作成するとその単語の読み方を表示できなくなってしまう問題があった。次に、はてなキーワードの辞書を追加する作業を行った。はてなキーワードが配布しているデータはWikipediaのデータとは違った表示になっており、それぞれの単語の後ろにその読み方も表示されている。このデータの形式ではWikipediaで使用したプログラムをそのままでは走らせることができないので読み方を省いた辞書を作成することに手間取った。
Wikipediaとはてなキーワードの辞書がMeCabの辞書に追加されたことにより単語量を増やすことができた。
3、考察
 SVMについてのプログラムを走らせ正解率などを表示することを行ったことによりデータの学習によって精度が高くなるということが分かった。
 MeCabについては二つの辞書しか作れず、その他のネット用語などの辞書を作成できなかった。2chやニコニコ大百科などに記載されている単語などを辞書に登録することができれば精度が高く、さらにいろいろな単語が検出できたのではないかと考えられる。
4、まとめ
 インターンシップでは、統計学やSVM、MeCabについて学んだ。そしてSVMとMeCabについてはpowerpointにまとめ、発表を行った。これらのものは、WEBデータ解析において有効なものであることが分かった。
インターンシップを通して様々な経験をした。学んだことのない言語やSVMを走らせデータを取ること、MeCabの辞書作成を体験した。       
そして企業で働いている方を見て会社で働くということの大変さなどがわかった。一日のノルマや次々に出てくる課題などとても大変なことばかりだと思った。
最初は大変そうだと思っていたが参加してみてデータ解析に必要な知識などがついたしインターンシップをやり遂げられてよかったと思う。経験したこと、学んだことを今後の学校生活や就職先でも活かすことができるようにしていきたいと思う。
5、後輩へのアドバイス
Shannon Lab株式会社は、インターンシップを真面目に受けいろいろな知識を身に着けたいという人には良いと思います。
私は、知らないことばかりで様々なことを調べるのが大変だったが、最後までインターンシップをやり遂げることができたときの達成感はとてもよかったです。実際に働いているかのようなインターンシップができるので本当に就職したかのようなインターンシップができるのでおすすめだと思います。

Comments are closed.