今回は、閣議決定された第5次エネルギー基本計画から複合語候補を取り出してみます。目標は、エネルギー基本計画から新語を取り出し、用語を辞書に登録することです。
ちなみに今まではエネルギー基本計画(案)を使っていましたが、今回からは正式版のエネルギー基本計画を使います。
資源エネルギー庁:第5次エネルギー基本計画
http://www.enecho.meti.go.jp/category/others/basic_plan/pdf/180703.pdf
下記のページを参考にしました。
gensim Phrase
https://radimrehurek.com/gensim/models/phrases.html
コード7区:gensim の Phrases の使い方。頻出する単語ペアを検出-python
http://ailaby.com/phrases/
コード7区:ツイートからユーザ辞書(MeCab や Janome 用)をpython で作ってみる
http://ailaby.com/tweet_dict/
・インポートとデータ読み込み
from gensim.models.phrases import Phrases , Phraser
from janome.tokenizer import Tokenizer
import pandas as pd
text_file=open("energy_plan.txt").read()
text_file
出力(一部)
'はじめに\n\n2011年3月の東日本大震災及び東京電力福島第一原子力発電所事故を受けて、政府は、2014年4月、2030年を念頭に、第4次エネルギー基本計画を策定し、原発依存度の低減、化石資源依存度の低減、再生可能エネルギーの拡大を打ち出した。\n第4次エネルギー基本計画の策定から4年、2030年の計画の見直しのみならず、パリ協定の発効を受けた2050年を見据えた対応、より長期には化石資源枯渇に備えた超長期の対応、変化するエネルギー情勢への対応など、今一度、我が国がそのエネルギー選択を構想すべき時期に来ている。このため、今回のエネルギー基本計画の見直しは、2030年の長期エネルギー需給見通し(2015年7月経済産業省決定。以下「エネルギーミックス」という。)の実現と2050年を見据えたシナリオの設計で構成することとした。
・janomeで分かち書き
tokenizer = Tokenizer()
corpus=[]
tokens = tokenizer.tokenize(text_file)
corpus.append([token.surface for token in tokens])
print(corpus)
出力(一部)
[['はじめ', 'に', '\n\n', '2', '0', '1', '1', '年', '3月', 'の', '東日本', '大震災', '及び', '東京電力', '福島', '第', '一', '原子力', '発電', '所', '事故', 'を', '受け', 'て', '、', '政府', 'は', '、', '2', '0', '1', '4', '年', '4月', '、', '2', '0', '3', '0', '年', 'を', '念頭', 'に', '、', '第', '4', '次', 'エネルギー', '基本', '計画', 'を', '策定', 'し', '、', '原発', '依存', '度', 'の', '低減', '、', '化石', '資源', '依存', '度', 'の', '低減', '、', '再生', '可能', 'エネルギー', 'の', '拡大', 'を', '打ち出し', 'た', '。', '\n', '第', '4', '次', 'エネルギー', '基本', '計画', 'の', '策定', 'から', '4', '年', '、', '2', '0', '3', '0', '年', 'の', '計画', 'の', '見直し', 'のみ', 'なら', 'ず', '、', 'パリ', '協定', 'の', '発効', 'を', '受け', 'た', '2', '0', '5', '0', '年', 'を', '見据え', 'た', '対応', '、', 'より', '長期', 'に', 'は', '化石', '資源', '枯渇', 'に', '備え', 'た', '超', '長期', 'の', '対応', '、', '変化', 'する', 'エネルギー', '情勢', 'へ', 'の', '対応', 'など', '、', '今', '一', '度', '、', '我が国', 'が', 'その', 'エネルギー', '選択', 'を', '構想', 'す', 'べき', '時期', 'に', '来', 'て', 'いる', '。', 'この', 'ため', '、', '今回', 'の', 'エネルギー', '基本', '計画', 'の', '見直し', 'は', '、', '2', '0', '3', '0', '年', 'の', '長期', 'エネルギー', '需給', '見通し', '(', '2', '0', '1', '5', '年', '7月', '経済', '産業', '省', '決定', '。', '以下', '「', 'エネルギー', 'ミックス', '」', 'と', 'いう', '。', ')', 'の', '実現', 'と', '2', '0', '5', '0', '年', 'を', '見据え', 'た', 'シナリオ', 'の', '設計', 'で', '構成', 'する', 'こと', 'と', 'し', 'た', '。']]
janomeで分かちがきし、リストに格納します。詳しくは前回記事をご参照ください。二重のリストにすることに注意。
・Phrasesで複合語を探す。4回繰り返し。
gramCnt = 5
tokenizer = Tokenizer()
corpus_phrase=corpus
for i in range(gramCnt-1):
phrases = Phrases(corpus_phrase,min_count=5, threshold=10.0)
phraser = Phraser(phrases)
transformed=list(phraser[corpus_phrase])
corpus_phrase = transformed
for words in corpus_phrase:
print(" ".join(words))
gensim Phrasesで複合語を探します。前回は1回ずつ計2回変換しましたが、今回はループで回して4回繰り返しました。
パラメーターのmin_count=5, threshold=10.0はデフォルト値です(なので省略も可)
・出力(一部)
はじめ に 2_0_1 1 年_3月 の 東日本_大震災 及び 東京電力_福島_第_一_原子力_発電_所_事故 を 受け て 、 政府 は 、 2_0_1_4 年_4月 、 2_0_3_0_年 を 念頭 に 、 第 4 次_エネルギー 基本_計画 を 策定_し 、 原発_依存_度 の 低減 、 化石_資源 依存_度 の 低減 、 再生_可能_エネルギー の 拡大 を 打ち出し た 。_ 第 4 次_エネルギー 基本_計画 の 策定 から 4 年 、 2_0_3_0_年 の 計画 の 見直し のみ_なら_ず 、 パリ_協定 の 発効 を 受け た 2_0_5_0_年 を 見据え_た 対応 、 より 長期 に は 化石_資源 枯渇 に 備え た 超 長期 の 対応 、 変化 する エネルギー_情勢 へ の 対応 など 、 今 一 度 、 我が国 が その エネルギー_選択 を 構想 す_べき 時期 に 来 て_いる_。 この_ため 、 今回 の エネルギー 基本_計画 の 見直し は 、 2_0_3_0_年 の 長期 エネルギー_需給 見通し (_2_0_1 5_年 7月 経済 産業 省 決定 。 以下 「 エネルギー_ミックス 」 と いう 。 ) の 実現 と 2_0_5_0_年 を 見据え_た シナリオ の 設計 で 構成 する_こと と し_た 。_
「東日本_大震災」「東京電力_福島_第_一_原子力_発電_所_事故」「再生_可能_エネルギー」などが複合語候補としてアンダーバーで結ばれました。
その一方、「て_いる_。」「する_こと と し_た 。_」など、複合語とは言えないフレーズも含まれています。
・複合語候補の取り出し
words_df=pd.DataFrame()
for sentence in corpus_phrase:
for word in sentence:
if word.find('_') >= 0:
words_df=words_df.append([word])
words_df.columns=["複合語候補"]
words_df=(words_df.groupby("複合語候補")[["複合語候補"]].count()
.sort_values(by="複合語候補",ascending=False)
.rename(columns={'複合語候補': '回数'})
.reset_index()
)
words_df
Phrasesで変換した文章から複合語候補を取り出し、groupbyで出現回数を数えました。
・出力(一部)
| 複合語候補 | 回数 | |
|---|---|---|
| 0 | 再生_可能_エネルギー | 171 |
| 1 | する_こと | 154 |
| 2 | 。_\n | 135 |
| 3 | し_た | 128 |
| 4 | 的_な | 118 |
| 5 | について_は | 91 |
| 6 | 事業_者 | 78 |
| 7 | する_ため | 72 |
| 8 | 脱_炭素_化 | 65 |
| 9 | し_て | 65 |
| 10 | し_て_いく | 65 |
| 11 | 。_\n\n | 62 |
| 12 | 。_また | 57 |
| 13 | 技術_開発 | 56 |
| 14 | 可能_性 | 55 |
| 15 | と_なる | 54 |
| 16 | 新た_な | 53 |
| 17 | て_いく | 45 |
| 18 | 中_で | 43 |
| 19 | し_て_いく_こと | 42 |
| 20 | 必要_な | 42 |
| 21 | で_ある_。 | 40 |
| 22 | さ_れる | 40 |
| 23 | で_あり | 39 |
| 24 | ある_。 | 39 |
| 25 | に_加え | 38 |
| 26 | 需要_家 | 38 |
| 27 | 安定_供給 | 38 |
| 28 | 観点_から | 37 |
| 29 | て_いる_。 | 37 |
| 30 | し_て_いる | 36 |
| 31 | する_とともに | 36 |
| 32 | エネルギー_源 | 36 |
| 33 | で_ある | 36 |
| 34 | こと_から | 36 |
| 35 | 推進_する | 36 |
| 36 | エネルギー_需給_構造 | 35 |
| 37 | に_向け_た | 35 |
| 38 | 研究_開発 | 35 |
| 39 | 。_\n_また | 35 |
| 40 | 廃_炉 | 34 |
| 41 | て_いる | 33 |
| 42 | し_つつ | 33 |
| 43 | 様々_な | 33 |
| 44 | 化石_燃料 | 32 |
| 45 | さ_れ_た | 32 |
| 46 | し_て_いる_。 | 32 |
| 47 | 安全_性 | 31 |
| 48 | 天然_ガス | 31 |
| 49 | に_向け_て | 30 |
| 50 | さ_れ | 30 |
| 51 | これ_まで | 30 |
| 52 | て_おり | 29 |
| 53 | LP_ガス | 29 |
| 54 | 積極_的_に | 29 |
| 55 | 国際_的_な | 28 |
| 56 | 更_なる | 28 |
| 57 | 使用_済_燃料 | 28 |
| 58 | 技術_革新 | 28 |
| 59 | し_て_いく_ため | 27 |
| 60 | 進め_て_いく | 27 |
| 61 | 活用_し | 27 |
| 62 | 着実_に | 26 |
| 63 | 上_で | 26 |
| 64 | 燃料_電池 | 26 |
| 65 | について_も | 25 |
| 66 | 2_0 | 25 |
| 67 | 重要_な | 25 |
| 68 | さ_せる | 25 |
| 69 | 多様_な | 25 |
| 70 | において_も | 25 |
| 71 | 温室_効果_ガス | 25 |
| 72 | 供給_構造 | 25 |
| 73 | 効率_化 | 25 |
| 74 | に_資する | 24 |
| 75 | 安定_的_な | 24 |
| 76 | 調整_力 | 24 |
| 77 | 。_さらに | 24 |
| 78 | 分散_型_エネルギー_システム | 24 |
| 79 | 行う_こと | 24 |
| 80 | に_向け_た_取組 | 24 |
| 81 | さ_れ_て_いる | 23 |
| 82 | FIT_制度 | 23 |
| 83 | 電源_として | 23 |
| 84 | ある_。_\n | 23 |
| 85 | この_ため | 23 |
| 86 | 2_0_5_0_年 | 23 |
| 87 | に_係る | 23 |
| 88 | エネルギー_選択 | 23 |
| 89 | 活用_し_た | 22 |
| 90 | 電力_システム_改革 | 22 |
| 91 | に_基づき | 22 |
| 92 | 多様_化 | 22 |
| 93 | に_取り組む | 22 |
| 94 | エネルギー_消費 | 22 |
| 95 | エネルギー_需要 | 22 |
| 96 | 2_0_3_0_年 | 22 |
| 97 | (_2_0_1 | 22 |
| 98 | 導入_拡大 | 21 |
| 99 | パリ_協定 | 21 |
| 100 | 石油_製品 | 21 |
| 101 | 東京電力_福島_第_一_原子力_発電_所_事故 | 21 |
| 102 | 含め_た | 21 |
| 103 | 競争_力 | 21 |
| 104 | 低_炭素_化 | 20 |
| 105 | 優れ_た | 20 |
| 106 | エネルギー_安全_保障 | 20 |
| 107 | 進める_。 | 20 |
| 108 | エネルギー_転換 | 20 |
| 109 | 実現_する | 20 |
| 110 | 中長期_的_な | 20 |
| 111 | サプライ_チェーン | 20 |
| 112 | で_ある_。_\n | 20 |
| 113 | エネルギー_政策 | 20 |
| 114 | と_なり | 19 |
| 115 | 高度_化 | 19 |
| 116 | 通じ_た | 19 |
| 117 | 促進_する | 19 |
| 118 | 具体_的 | 19 |
| 119 | 活性_化 | 19 |
| 120 | のみ_なら_ず | 19 |
| 121 | この_よう_な | 19 |
| 122 | 踏まえ_つつ | 19 |
| 123 | 排出_量 | 19 |
| 124 | できる_よう | 19 |
| 125 | エネルギー_転換_・_脱_炭素_化 | 19 |
| 126 | と_なっ_て_いる | 18 |
| 127 | も_含め | 18 |
| 128 | に_基づく | 18 |
| 129 | 必要_と_なる | 18 |
| 130 | 新興_国 | 18 |
| 131 | 2_0_2_0 | 18 |
| 132 | て_いる_。_\n | 18 |
| 133 | 適切_な | 18 |
| 134 | 分散_型 | 18 |
| 135 | 可能_と_する | 18 |
| 136 | に_なる | 18 |
| 137 | エネルギー_分野 | 17 |
| 138 | 進める_こと | 17 |
| 139 | 適切_に | 17 |
| 140 | に_応じ_て | 17 |
| 141 | エネルギー_ミックス | 17 |
| 142 | 進める_。_\n\n | 17 |
| 143 | 形_で | 17 |
| 144 | 最終_処分 | 17 |
| 145 | 強靱_化 | 16 |
| 146 | 基本_計画 | 16 |
| 147 | 必要_が | 16 |
| 148 | し_て_き_た | 16 |
| 149 | た_場合 | 16 |
| 150 | 原子力_発電_所 | 16 |
助詞や句読点などが含まれているものが多くありますが、「再生可能エネルギー」「脱炭素化」「温室効果ガス」などが見つかりました。
「分散型エネルギーシステム」「調整力」「電力システム改革」などのエネルギー用語もあります。
次回以降、この複合語候補から辞書登録する用語を選択してみます。
参考:
資源エネルギー庁:第5次エネルギー基本計画 http://www.enecho.meti.go.jp/category/others/basic_plan/pdf/180703.pdf
gensim Phrase
https://radimrehurek.com/gensim/models/phrases.html
gensim Phrase
https://radimrehurek.com/gensim/models/phrases.html
コード7区:gensim の Phrases の使い方。頻出する単語ペアを検出-python
http://ailaby.com/phrases/
コード7区:ツイートからユーザ辞書(MeCab や Janome 用)をpython で作ってみる http://ailaby.com/tweet_dict/
Janomeで形態素解析をやってみる。
http://eneprog.blogspot.com/2018/06/janomepython.html
janome Analayzerで複合語(複合名詞)を考慮して形態素解析を行う。
http://eneprog.blogspot.com/2018/07/janome-analayzerpython.html
gensim Phrasesで新語・複合語を探す(python、自然言語処理、機械学習)
https://eneprog.blogspot.com/2018/07/gensim-phrasespython.html
0 件のコメント:
コメントを投稿