技術資料

目次 

【このページでできること】 

平松の卒論の再現

キーワードを2つ入力してWebとTwitterから共起ネットワークを作成するもの

【参考資料】 

Twitter APIの記事:https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/

【実行環境】 

・jupyter (デモプログラム動作確認用)
・python 64bit版
・python3.7.6
python3.7の入れ方:https://www.kkaneko.jp/tools/win/python37.html
pythonバージョンの切り替え方:https://gammasoft.jp/python/python-version-management/

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

3D_GraphEX_ver2.0.zipをダウンロードする

【使い方】 

ファイルの説明 

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

104.png

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

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

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

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

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

pythonのpip install 

vscodeなどを使って3D_Graphのフォルダに入っているServer.pyを起動する
そうすると足りていないpipを要求されるのでその都度

pip install 〇〇

と入力しpipを入れる

同じことをmatomeall.pyも行う

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

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

また、MeCabはpipとは別に本体をダウンロード&インストールしないといけない
https://qiita.com/menon/items/f041b7c46543f38f78f7
をからMecabをインストールする
※上記リンク先のanacondaのインストールはスキップ ※python3.8の場合、上記リンクのpip install mecab-python-windowsではなくpip install mecabだとできる

[失敗備忘録]
requirements.txtでpipを一括でインストールする際anaconda環境で作成するとanaconda環境じゃない人は一括でインストールできなかった

【MeCabの辞書】 

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

Neologdの追加 

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

基本このwikiを見て進めれば大丈夫
詳しくは上記URL参照

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

15.png

neologd.zipの中身のmecab-ipadic-neologdをdicのフォルダにコピーする
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

mecab-ipadic-neologdのフォルダに作られた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
3DGraph3-1.png


新規でmecab.exeがあるパスを追加する

C:\Program Files\MeCab\bin\


3DGraph3.png

これでMecabの設定は完了

辞書の更新 


インストールしたMecabには古い辞書しか入っていないので、NEologdという新しい辞書を追加する


mecabrcを上書き保存する際、アクセス許可がないという旨のエラーが出るとき 

右クリックでmecabrcのプロパティを開き、Usersの「書き込み」にチェックを入れる

3DGraph4-1.png


【コードの個人で書き換える箇所】 

ディレクトリの書き換え 

matomeall.pyに書いてあるmiserables.jsonなどのpathを各自のアドレスに直す必要がある
※普通にアドレスのコピーをするとバックスラッシュになるので/に直す

7.PNG

TwitterAPIのKey 

TwitterAPIのアクセスキーなどが現状のままだと平松のになっているので各自で取得して変更する必要がある。~TwitterAPIに関しては参考資料の欄に書いてある

チャ.PNG

【実行】 

実行の仕方と結果 

Server.pyを実行するとhtmlが自動的に表示される※現在のver2.0では二回開かれてしまう。
開かれたhtmlに2つキーワードを入力することで共起ネットワークが作成される

ャ.PNG
キ.PNG

【エラーの対処】 

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

・NetworkXError
matomeall.pyのranking関数の

class_group = driver.find_elements_by_class_name('rc')

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

#ref(): File not found: "6.png" at page "平松さん卒論_backup"

追記 

※以下は滝沢が平松さんのwikiを読みながら試していることなので信憑性がなかったり,意味の無いことをやっている可能性があるメモ程度のものと思いながら見てください.
滝沢も平松さんの卒論の再現が出来ていないので注意してください.

平松さんのwiki

QGISによる地理情報システム 

QGISのインストール 

https://www.qgis.org/ja/site/forusers/download.htmlにアクセス
長期リリース(最も安定)バージョンをダウンロード.今回はver.3.16(2021/11/15).

インストーラーが見つからない 

理由はわからないがインストーラーが見つからない時があるのでその時は,最新版で試してみてね.

ダウンロード出来たらmsiファイルを実行してnextとかfinish押してQJISのセットアップをしていく.

ss1.png

おそらくデフォルトでC:/ProgramData/Microsoft/Windows/Start Menu/Programs にQGISがインストールされているのでされていればOK.もしQGISのディレクトリが見つからないときはwindowsの検索ボックスにQGISを検索するとアプリとして出てくるのでファイルの「場所を開く」からディレクトリを開ける.

Twitter API の取得方法 

https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/ を参考にしたけどAPIの取得がかなり緩くなったのであまり参考にならないかも.
どうやら2021/11/15日ごろにtwitterのAPIが正式にtwitterの主要APIになったらしくこれに伴い,API申請がかなり緩和され,いちいち長い文章を書く必要がなくなったらしい.やったね!一番グレードの低い「Essential」アクセスでも500000ツイート/月のツイートを取得できるらしいので私用目的ならこれで十分そう.

ただ,最近起こったこと過ぎてまだ情報がほとんどなく今やっている作業で平松さんの卒論を再現できるのかいまいちわからないのでなにかわかればここに書き込んでくれるとありがたいです.

Twitterアカウント連携 

https://developer.twitter.com/en/apps/ にアクセスしてTwitterのアカウント名/電話番号/メールアドレスのいずれかを入力.その後パスワードを入力してアカウントにログインする.

Twitter API 利用申請 

Twitterを連携したら右上のほうにある「Create an app」をクリック.
ニックネーム,現在住んでいる国,利用目的,利用するデータを政府機関に公開するか否かの4つの質問に回答します.次にTwitterのポリシーみたいなものに同意します.
以上が終わるとtwitterから「Hi!ユーザー名!」のようなメールが届くので「confirm your email」をクリックするとDeveloper Portalに飛べる.

ss2.png

Twitter API Key の作成 

上記の作業が終わった時点でAPIKeyは作成されるが新しいAPIKeyを作成したいときは,「Dashboard」→ユーザーネームの横にある鍵マーク「Regenerate」→「Yes, Regenerate」で新しいAPIKeyが作成される.

ss4.png

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