ユーザ用ツール

サイト用ツール


korean:mecab:python_mk_tfidf

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
korean:mecab:python_mk_tfidf [2021/11/07 23:27] – [TF-IDFの計算と上位10語の表示] yoshikorean:mecab:python_mk_tfidf [2021/11/12 19:38] (現在) – [TF-IDFの計算と上位10語の表示] yoshi
行 1: 行 1:
-====== HanDicの出力結果をPythonで利用する:tf-idfの計算 ======+====== HanDicの出力結果をPythonで利用する:TF-IDFの計算 ======
  
 ===== はじめに ===== ===== はじめに =====
行 88: 行 88:
  
 ここから後は,[[korean:mecab:python_tfidf|]]と同じ手順です.scikit-learnでTF-IDFを計算します. ここから後は,[[korean:mecab:python_tfidf|]]と同じ手順です.scikit-learnでTF-IDFを計算します.
 +
 +<wrap info>[2021/11\09 追記]</wrap> ''TfidfVectorizer()''の''token_pattern''を書いておかないと,古ハングルが無視されて計算されてしまいます.Unicodeの私用領域(PUA)に含まれる古ハングルを,文字コードで指定することにしました(参照:[[https://ja.wikipedia.org/wiki/%E5%8F%A4%E3%83%8F%E3%83%B3%E3%82%B0%E3%83%AB|古ハングル(Wikipedia)]]).これで合っているか分かりませんが,ともかく古ハングルが含まれた項目も計算に入るようになります.
  
 <code python> <code python>
 # モデルを作成 # モデルを作成
-vectorizer = TfidfVectorizer(smooth_idf=False)+vectorizer = TfidfVectorizer(smooth_idf=False, token_pattern='(?u)[\\w\\ue0bc-\\uefff\\uf100-\\uf66e\\uf784-\\uf800\\uf806-\\uf864\\uf86a-\\uf8f7]+')
 values = vectorizer.fit_transform(docs).toarray() values = vectorizer.fit_transform(docs).toarray()
 feature_names = vectorizer.get_feature_names_out() feature_names = vectorizer.get_feature_names_out()
行 107: 行 109:
 </code> </code>
  
-以下継続+結果は以下の通り(<wrap info>[2021/11/09 追記]</wrap> ''token_pattern''を変えたことで,計算結果に違いが出ましたので変更しておきます.傾向にあまり変わりはありません: 
 + 
 +<code text> 
 +     c_sekbo_06_main_v03.txt 
 +須達                  0.688172 
 +舍利弗                 0.260852 
 +精舍                  0.233487 
 +부텨                  0.233296 
 +耶輸                  0.159754 
 +太子                  0.149058 
 +六師                  0.147465 
 +사                  0.145260 
 +目連                  0.122888 
 +舍衛國                 0.120090 
 +         c_sekbo_09_main_v03.txt 
 +有情                      0.475275 
 +藥師瑠璃光如來                 0.398618 
 +橫死                      0.245303 
 +大願                      0.199309 
 +일훔                      0.197701 
 +來世                      0.183978 
 +菩提                      0.183978 
 +惡趣                      0.137983 
 +病                       0.123366 
 +文殊師利                    0.120877 
 +     c_sekbo_13_main_v03.txt 
 +부텨                  0.454087 
 +舍利弗                 0.321053 
 +佛道                  0.236824 
 +菩薩                  0.224191 
 +諸佛                  0.219559 
 +法                   0.189619 
 +사                  0.179639 
 +衆生                  0.149699 
 +일훔                  0.129739 
 +佛乘                  0.111446 
 +     c_sekbo_19_main_v03.txt 
 +소리                  0.354649 
 +사                  0.231608 
 +香                   0.213933 
 +부텨                  0.209894 
 +經                   0.172931 
 +菩薩                  0.171147 
 +隨喜                  0.161648 
 +法華經                 0.161648 
 +得大勢                 0.161648 
 +得                   0.159230 
 +     c_sekbo_23_main_v03.txt 
 +부텨                  0.322129 
 +舍利                  0.289234 
 +棺                   0.231640 
 +供養                  0.219634 
 +拘尸城                 0.204388 
 +金棺                  0.204388 
 +大衆                  0.178889 
 +如來                  0.165945 
 +사                  0.165945 
 +一切                  0.161065 
 +     c_sekbo_24_main_v03.txt 
 +王                   0.605065 
 +尊者                  0.305280 
 +阿育王                 0.280858 
 +부텨                  0.209953 
 +사                  0.139969 
 +夫人                  0.137691 
 +善容                  0.134323 
 +놈                   0.134323 
 +太子                  0.133305 
 +塔                   0.129287 
 +</code> 
 + 
 +須達と舎利仏のストーリーが中心的な巻6,『薬師瑠璃光如来本願功徳経』の翻訳である巻9,『法華経』の翻訳である巻13,19,釈迦入滅後,舎利の扱いを論じる巻23,阿育王の話が出てくる巻24と,それぞれの特徴が示されています. 
 + 
 +===== 終わりに ===== 
 + 
 +取得したデータをMeCabで処理しながら,その結果を利用するということが多いかと思いますが,既に出力結果がある場合,また出力結果を修正した正解ファイルがある場合も,簡単に処理することができます.形態素解析の結果には誤りも含まれることがあるため,正解ファイルを利用する,ということもニーズがあると思われます.
  
 +{{indexmenu_n>206}}
korean/mecab/python_mk_tfidf.1636295225.txt.gz · 最終更新: 2021/11/07 23:27 by yoshi