1. 目標
2. 必要なソフトウェアのインストール
3. データベースの作成
4.データベースからコーパスの作成
5. 学習モデルの作成
6. 学習モデルを用いた支援システムの作成
関連:
テキストマイニング入門(小野田さん)
スクレイピング・クローリング入門(小野田さん)
スクレイピング(沼田さん)
特許データを収集して学習させることで, 新たな発明案を提案するシステムを開発する.
本実験ではGPUマシンが必要なため, Teratermを用いて研究室のGPUマシンにアクセスする
Teratermは以下のページを参考にインストールする.
画像のIPアドレスを入力.(※変更される場合があるので注意。)
パスワードは渡辺に聞く.
以下を入力して、anacondaの環境の設定を進める
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
bash Anaconda3-2019.10-Linux-x86_64.sh
指示に従ってインストールしていく
ただし以下の質問はnoで答える
installation finished. Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]
パスを反映させてanacondaを使えるようにする
source ~/.bashrc
以下のコマンドでconda仮想環境の作成ができます。
conda create -n [仮想環境名] python=[pythonのバージョン]
必要なパッケージをここからインストールする
srcディレクトリを作成、以下の3つを入れる
作った仮想環境を実行可能な状態にする
pip install -r requirements.txt
英語用形態素解析機punktをインストール(pythonコマンド上で実行)
分かち書き(word_tokenize)
import nltk
nltk.download('punkt')
品詞の取得(pos_tag)
import nltk
averaged_perceptron_tagger
英語の言語処理用辞書をインストール
python -m spacy download en_core_web_sm
termextractをインストール(pipに対応していないため)
wget http://gensen.dl.itc.u-tokyo.ac.jp/soft/pytermextract-0_01.zip
zipファイルを解凍する
unzip pytermextract-0_01.zip
python setup.py install
今回は小野田の構築したMongoDBを利用する。接続情報は以下の通り。
IPアドレス:192.168.0.116
ポート番号:27017
自分でインストールする場合
参考
(Ubuntu 18.04 に MongoDB の最新版を apt インストールする)
まずいかの通りほしいキーワードのリストをtxtファイルで作成(著者はdataディレクトリのwordlist.txtという名前で保存した)
roboto AI IoT time machine
MongoDBの環境ができたら、以下のコマンドを実行して、特許データのクロールを行う。
python patent_crawler.py ../data/wordlist.txt
実行結果は以下のとおり
pip install selenium
pip install chromedriver_binary
以下のサイトでインストール http://openbci.com/index.php/downloads
#ref(): File not found: "Op_usb.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
USB ドングルをコンピュータ側にでっぱりをスライドさせ、青いライトを点灯させる
#ref(): File not found: "Op_kiban.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
Cyton ボードのスイッチは、上にスライドで PC 接続、下にスライドで Bluetooth 接続となる
今回はPC接続なので上にスライドする
ここから先はWindowsとUbuntuでやり方が違う
#ref(): File not found: "GUI設定.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
OpenBCI_GUI.exeを開いて
(1) LIVE from (Cyton)
(2) Serial(from Dongle)
(3) COM3
(4) 8CHANNELS
(5) START SYSTEM
以上の流れで実行できる
・エラーが出たときはOpenBCIHub.exeを起動してからOpenBCI_GUI.exeを起動する
シリアルポートにアクセスするのに十分な特権でOpenBCIアプリケーションを起動する
OpenBCIソフトウェアをホームフォルダに展開したと仮定すると、以下のコマンドで実行できる
cd ~/application.linux64 && sudo bash OpenBCI_GUI
(1) LIVE from (Cyton)
(2) Serial(from Dongle)
(3) SERIAL / COM PORT は一番上のやつ
(4) 今回は8CHANNELS
(5) START SYSTEM
以上の流れで実行できる
・装着するときは電池がついている方を後ろ向きにする
・DATA LOG FILE でファイルを変更できる(デフォルトで日付)
・実行できる状態か確かめるときは、SERIAL / COM PORT の横の矢印から確認できる
・GET CHANNEL と STATUS が Success となっていれば実行可能
・脳波がとれない場合はそのチャンネルの頭のねじを回すことで調節する(2番はとれなかった)
START SYSTEM を実行すると以下のような画面になり、左上の START DATA STREAM で測定開始、STOP で測定終了となる
#ref(): File not found: "OpenBCI_start.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
作業する場所にフォルダを作り、以下のプログラムと画像を入れる
#ref(): File not found: "slide.py" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "test.py" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "Black_image.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "guu.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "paa.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "tyoki.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "white_image.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
そのフォルダの中にcountというフォルダを作り、以下の画像を入れる
#ref(): File not found: "one.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "two.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
#ref(): File not found: "three.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
python3でやる
pipのインストールはこのサイトの「pipのインストール方法」を見てやる
モジュールのインストールは以下のコマンドで
pip3 install opencv-python
sudo pip3 install pyautogui
sudo pip3 install xlib
pip3 install matplotlib
sudo apt-get install python3-tk
sudo apt-get install python-scipy
pip3 install scipy
pip install scikit-learn
pip3 install pandas
pip3 install sklearn
プログラムslide1.2.pyについて
#ref(): File not found: "test1++.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
pyautogui.click(141,101)のところはとりあえずそのままで
下線部のPATHは書き換える
実行方法
slide.pyのプログラムでデータ収集
test.pyのプログラムで収集したデータから機械学習させるという流れ
1.
cd ~/application.linux64 && sudo bash OpenBCI_GUI
でOpenBCIを起動しハードのセットアップを行う
2.
ターミナルの新しいタブを開いてslide.pyのあるところに移動し、
python3 slide.py
で実行できる
OpenBCIのスタートの位置にpyautogui.click(x,y)を合わせないといけないのでエラーが出た場合は以下のプログラムで位置を確かめられる
#ref(): File not found: "click.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
このプログラムを実行したときのマウスカーソルの位置がPoint(x=588, y=482)などと表示される
実行に成功すると3,2,手の順でスライドが流れるのでその手に勝つ手を後出しで出す(100回)
ターミナル上に遅延時間が表示されているので記録しておく
終わったらOpenBCIを停止して、applicasion.linux64のSavedDataのところにあるテキストデータの名前を変更する
3.ここでもう一つのプログラムtest.pyを使う
各々で変更してほしい点は以下の点である(120行前後)
#ref(): File not found: "test2.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
yamamoto_1.txtのところは2で名前を変えたテキストデータの名前にする、
隣の数字は2で記録した遅延時間なのでその数字を入れる
赤丸の部分は2でターミナル上に表示された数列をコピー&ペーストする
実行結果の例を示す
#ref(): File not found: "kekka.png" at page "Web, Twitterからのテキストマイニングによる因果・知識の発見"
これは取得した100個のデータから最初の40個のデータを訓練データとして、次の40個のデータを予測したときの正解率が37.5%であることを表している