#author("2023-12-26T23:45:34+00:00","","")
#author("2024-02-18T23:16:55+00:00","","")
[[由利恵]]
#高田さん
#長瀬さん,高田さん,島部さん

[[技術資料]]

*目次 [#e890b3d5]

#CONTENTS

**【参考資料】[#n524e1f0]
・EBPM
#ref(政策評価と証拠に基づく政策立案(EBPM)の比較.pdf,,政策評価と証拠に基づく政策立案(EBPM)の比較)
#ref(英国の EBPMの動向と我が国への EBPM 導入の課題(論説).pdf,,英国の EBPM(Evidence Based Policy Making)の動向と我が国への EBPM 導入の課題)

・データフュージョン
#ref(二次草原消失.pdf,,都市化ポテンシャルマップと二次草原の潜在生育地マップの重ね合わせによる二次草原消失の危険性評価)

・因果探索
#ref(統計的因果探索による社会基盤整備のストック効果の検証.pdf,,統計的因果探索による社会基盤整備のストック効果の検証)

・包絡分析
#ref(DEAの解釈と展望.pdf,,DEAの解釈と展望)
#ref(DEAのモデルをめぐって-再論-.pdf,,DEAのモデルをめぐって-再論-)

**【目標】 [#i67428c5]

対象として指定した統計データに関連するデータを因果探索を用いて特定し,それらを用いて包絡分析を行うことで指定した項目における各市区町村の効率値および数値的改善案を算出する.また,その結果をWebGISによってフィードバックすることによって,自治体における政策決定の支援を行う.

#ref(システムの概要.png,,40%)

**【実行環境】[#rde624e4]
・python 64bit版~
・python3.7.6~
python3.7の入れ方:https://www.kkaneko.jp/tools/win/python37.html~
pythonバージョンの切り替え方:https://gammasoft.jp/python/python-version-management/


**【ダウンロードするもの】[#udebb2c6]
・aaa~
・bbb~
//#ref(requirement.txt)
//anconda入れてない人はこっち
//#ref(requirements.txt)
・google drive 1920の学生→20o_3長瀬の場所にあるccc

**【使い方】[#q403d9b3]
***ファイルの説明 [#yd049dee]
とりあえず、ダウンロードした3D_Graph.zipを解凍する.~
#ref(1.PNG,,40%)

・aaa.py~
hogehoge

・bbb.py~
hogehoge

・ccc.html~
hogehoge

・ddd.json~
hogehoge

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

***pythonのpip install [#u92c2494]
vscodeなどを使って3D_Graphのフォルダに入っているServer.pyを起動する~
そうすると足りていないpipを要求されるのでその都度
 pip install 〇〇
と入力しpipを入れる

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

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

//anaconda入れてない人はこっち
// 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のインストールはスキップ
※python3.8の場合、上記リンクのpip install mecab-python-windowsではなくpip install mecabだとできる

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

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

***aaa [#t9fb746d]
Neologdの追加の仕方は、~
https://qiita.com/zincjp/items/c61c441426b9482b5a48
を参考にする
~基本このwikiを見て進めれば大丈夫で詳しくは上記URL参照

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

#ref(2.PNG,,40%)

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

#ref(3.PNG,,40%)

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

#ref(4.PNG,,40%)

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
#ref(5.PNG,,40%)

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

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

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


**【包絡分析法(CCRモデル)による効率値および改善値の導出】 [#u6c63b64]

***bbb [#dbac3a9e]

matomeall.pyとserver.pyに書いてあるmiserables.jsonなどのpathが平松のPCの絶対pathになっているので直す必要がある~
※普通にアドレスのコピーをするとバックスラッシュになるので/に直す
#ref(7.PNG,,60%)

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

#ref(チャ.PNG,,60%)


**【ccc】 [#t31e1da4]
***ccc [#l7872aa1]
server.pyを起動したあと,system.htmlを起動して好きなキーワード二つ入れて実行を押せば3Dのグラフが作成される

※Windowsでやる場合おそらくssl証明書関連のErrorが出ると思われるので下記のMaxRetryErrorの対処法を参考にすると直せる

ノートパソコンなどで実行するとスクレイピングと形態素分析に5分~10分ほど時間がかかってしまうと思われる

また、python 32bit版を使っているとスクレイピングしてきたデータ量が32bitで足りなくなるので64bit版をつかう必要がある。windowsが32bit版の場合は恐らくどうしようもない

富山県立大学と高齢者のキーワードで作った例
#ref(キャャ.PNG,,40%)

***ccc [#p5653235]
Server.pyを実行するとhtmlが自動的に表示される※現在のver2.0では二回開かれてしまう。~
開かれたhtmlに2つキーワードを入力することで共起ネットワークが作成される
#ref(ャ.PNG,,40%)
#ref(キ.PNG,,25%)

**【ddd】[#n524e1f0]


**【foliumによるWebGISの作成】[#n524e1f0]
***基本的な説明 [#b962d5bf]
・GISとは,地理情報システムのことで,地図上でデータの表示・重ね合わせ等を行うことができる.~
・WebGISとは,GISをhtml形式で実装したもので,サーバにおいて一般公開を行うことができる.また,サーバを用いればユーザサイドの機器的負担を軽減できる.~
・foliumとは,pythonのライブラリの一種で,使用することでpythonのコードを用いてWebGIS(のhtml)を自動的に生成することができる.
***実装方法 [#b962d5bf]


**【エラーの対処】[共通][#rde624e4]

・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(6.png,,40%)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS