技術資料

目次 

山元さんの卒論の再現をおこなう

【参考資料】 

山元?

【実行環境】 

・python3.x
※初めてpythonをインストールするときはanacondaを使ってインストールするのがおすすめ

【ダウンロードするもの】 

google driveの学生→09平松の場所にあるneologd.zip

【使い方】 

ファイルの説明 

とりあえず、ダウンロードした3D_Graph.zipを解凍する。
解凍した中身の3D_Graphを開く。※_MACOSXの方は使わない

1.PNG

・Server.py
サーバーを立てるメインのpythonプログラム

・matomeall.py
Server.pyとセットのプログラム。単体では動かない

・system.html
Server.pyを実行した後に開き、キーワード入力、3Dグラフを表示するもの

・miserables.json
スクレイピングして形態素分析した後のデータが記録されるファイル

・その他
特に触る必要はない

pythonのpip install 

anaconda promptかcommand promptで以下のコマンドのディレクトリの部分をrequirement.txtの任意のディレクトリに変更して打ち込みpipモジュールを一括でインストールする

//pip install -r C:\Users\hiram\Desktop\requirement.txt
pip install -r C:\Users\hiram\Desktop\requirements.txt

※ERROR Could not find a version that satisfies the requirement 〇〇〇のエラーが出たらその行をrequirement.txtから消してください

インストールするモジュールの中にはただpip install 〇〇とやるだけではインストールできないものもある

例えば、chromedriverがそうで
https://qiita.com/hanzawak/items/2ab4d2a333d6be6ac760
を参考にするとできる

また、MeCabもそうで、pipとは別に本体をダウンロード&インストールしないといけない
https://qiita.com/menon/items/f041b7c46543f38f78f7
を参考にしてインストールする

※anacondaを使っていない場合は上記リンク先のanacondaのインストールはスキップ

MeCabの辞書 

MeCabは形態素分析を行うモジュールで、その形態素分析を行うときに使う辞書がある
デフォルトの辞書では例えば「進撃の巨人」という言葉を見ても「進撃 の 巨人」という分析結果になってしまう。
これはデフォルトの辞書には進撃の巨人という名詞が存在していないから起こってしまう
そこで、NEologdという新しい辞書を追加する

Neologdの追加 

Neologdの追加の仕方は、
https://qiita.com/zincjp/items/c61c441426b9482b5a48 を参考にする

googledriveからダウンロードしたneologd.zipを使えば,辞書ファイルのコンパイルまで作業をスキップできる

2.PNG

ipadicの中身を全部コピーしたフォルダipadic-UTF8と中身のないフォルダneologdを作成する

コマンドプロンプトを起動し,ipadic-UTF8のディレクトリに移動し,ipadicの中身をUTF8に変換する

cd "c:\Program Files\MeCab\dic\ipadic-UTF8"
mecab-dict-index -f utf-8 -t utf-8
3.PNG

Neologdの辞書をコンパイルする

cd "c:\Program Files\MeCab\dic\mecab-ipadic-neologd\seed"
mecab-dict-index -d "c:\Program Files\MeCab\dic\ipadic-UTF8" -u NEologd.20200820-u.dic -f utf-8 -t utf-8 mecab-user-dict-seed.20200820.csv
4.PNG

ipadic-UTF8のフォルダに作られたNEologd.20200820-u.dicを最初に作ったneologdのフォルダに移動させる

コマンドプロンプトの作業は終わり

Program Files>MeCab>etcの中にあるmecabrcをメモ帳で開き,userdicの一行を追加する

userdic = C:\Program Files\MeCab\dic\neologd\NEologd.20200820-u.dic
5.PNG

保存しようとすると権限がないといわれるので一旦どこか適当な場所に保存して拡張子.txtを削除してから元々あったmecabrcと入れ替える

これで形態素分析ができるようになる

一応ちゃんとneologdが導入されているか確かめるテストプログラムを添付しておく
以下のプログラムで画像のような結果が出れば成功.
進撃の巨人が名詞として認識されていなかったら導入できていない

6.PNG

server.pyを起動したあと,system.htmlを起動して好きなキーワード二つ入れて実行を押せば3Dのグラフが作成される ※Windowsでやる場合おそらくssl証明書関連のErrorが出ると思われるので下記のMaxRetryErrorの対処法を参考にすると直せる

【エラーの対処】 

・NetworkXError
matomeall.pyのranking関数の

class_group = driver.find_elements_by_class_name('rc')

のrcの部分がgoogleの気まぐれで変わることがあるのでchromeを開いてhtmlのタグを画像のように調べる

6.png

・MaxRetryError: HTTPSConnectionPool
下記のページのopensslをインストールして環境変数を通すところまでやれば直る
https://www.atmarkit.co.jp/ait/articles/1601/29/news043.html

【実行結果】 

富山県立大学と高齢者のキーワードで作った例

キャャ.PNG

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS