昔話の計量テキスト分析――弥九郎霧
◆はじめに
以下はKH Coder(無償版:version 3.Beta.08e)を用いた昔話の計量テキスト分析である。昔話の類話の比較にツールを利用できないか試行してみた。
手持ちの資料が限られるため、分析の対象となる元データの文字数が少ないものの(※本来であれば5000字以上は欲しい)、分析自体は正常に処理されていると判断した。
KH Coderの操作に慣れる目的も兼ねて行った作業で、コーディングルールの記述の事例集、あるいは速習用のチュートリアルとしてでも読んで頂ければ……といったところである。
なお、KH Coderでよく用いられるのは共起ネットワークと対応分析とのことで、それ以外はおまけパートと思って頂いて構わない。操作に習熟するにはコーディングルールの記述に慣れるのが第一である。
◆ファイル
各ファイルをダウンロードしてKH Coderに読み込ませれば同様の分析が再現可能である。
ダウンロード - ca_pb_002_yakurougiri.xlsx
ダウンロード - ca_pb_002_codingrules.txt
ダウンロード - kh_coder_startingedition_sagyotejunsho.txt(※作業手順書)
※「H5」とはHTMLでいうところのヘッダー(見出し)・レベル5で本文に相当すると考えればよい。
※[コーディング単位]は「文/段落/H5」から選べるが、状況に応じて適切と思われるものを選択する必要がある。処理が上手くいかないと感じた場合、コーディング単位を切り替えると上手く処理されるケースがままある。
※公式マニュアルでは「集計単位」という用語が使われている。共起関係について、「文」では一文単位での分析、「段落」では段落単位の分析、「H5」では表計算ソフトのセル単位とされ、改行を含めた一セルの中身全体が分析単位となる。
※公式マニュアルでは「集計単位」という用語が使われている。共起関係について、
・「文」では一文単位での分析
・「段落」では段落単位の分析
・「H5」では表計算ソフトのセル単位とされ、改行を含めた一セルの中身全体が分析単位となる
※レファレンスでも索引で「コーディング単位」の項目は設けられていない。操作性に関わる重要項目であるものの、その仕様について不明瞭な感はある。
※当ブログの場合、表計算ソフトのフォーマットで読み込ませているからH5固定でいいだろうと思い込んでいたら、さにあらずだった。
◆あらすじ
・「弥九郎霧」(未来社『石見の民話』)
今から二百年あまり前、那賀郡井野村小原の柚ノ木郷に弥九郎という百姓がいた。生まれつき賢く、人のために骨身を惜しまず世話をする人だった。その頃井野村には庄屋が一軒と蔵元庄屋が三軒あった。蔵元庄屋は郷々にあってその郷の世話をし、年貢米や上納紙をまとめていた。これらの庄屋たちの中には、いろいろ横着する者があるので百姓たちは難儀をしていた。その頃弥九郎は十九の若者だったが、これを見かねて百姓の難儀を救おうと思い、殿さまに訴えた。ところが取調べの日になって、役人から色々取調べがあったが、お上のご威光に打たれたものか、弥九郎の言うことがはっきりしない。そこでこれはお上を欺き世を乱すものだということになり、火あぶりの刑にされることになった。弥九郎の母が大層悲しんで、殿さまに訴えたことが本当であったのなら、なぜ取調べの時その事を詳しく申し上げなかったのかと言うと、弥九郎は言おうと思ったが庄屋が狐をつけて舌を動かせなかったからどうしても言えなかったと言った。お仕置きの日になった。悪事をした見せしめというので弥九郎を馬に乗せて村中を引き回した末、家々から一把ずつ薪を出させて小山の辻で焼き殺した。弥九郎は燃えさかる火の中で落ち着き払って、自分は今こうして焼き殺されるが、身体は死んでも魂は死なない。自分の魂の残る印に、ここへ白藤を咲かすから見ておれと言った。それから間もなく焼け跡に藤の芽が出て白い花が咲いた。その後庄屋たちは二度三度火事になったり、いろいろ良くないことが続いて家が絶えた。またそれ以来、百姓たちが薪を出した報いとしてであろうか、作物の上を濃い霧が覆う様になった。特に夏から秋にかけては朝日が出てから二時間くらいは全く濃い霧が谷を埋めて実に物寂しい有様になる。ただ室谷郷の中間だけは弥九郎は罪のないのに気の毒なことだ。いかに庄屋の言い付けでも人を焼く木は出せないと言って薪を出さなかった。それでこの近辺へは霧を降らせないと言う。
・「弥九郎霧」(日本標準『島根の伝説』)
今から二百五十年ほど前、今の那賀郡三隅町井野に起こった出来事である。当時井野には割元庄屋一軒と三軒の蔵元があった。この四人の庄屋は強欲で百姓たちが収めた年貢の一部を密かに自分のものとしていた。井野一帯は紙作りが盛んで重要な産物であった。弥九郎の家も代々紙作りをしていた。弥九郎の腕前は評判で、自身はさっぱりした性格で曲がったことに対しては一歩も譲らなかった。去年よりも多い年貢が取り立てられると知った百姓たちは相談し合った。中心人物が弥九郎であった。年貢が減らされなければ一揆を起こさざるを得ないが、一揆は重罪であった。こうした話し合いがいつの間にか庄屋たちに漏れてしまった。直訴されては困る、庄屋の一人は近くの紙すきの百姓を呼びつけ、女の髪をすき込んだ質の悪い紙を作らせた。弥九郎の許に津和野藩の役人の名前で悪質の紙を収めた無礼の件で呼び出す手紙が届いた。驚いた弥九郎は庄屋に問いただしたが、庄屋は一切知らぬと突っぱねた。そこで紙すきの百姓に問いただしたところ白状した。庄屋たちの不正を訴えるべく弥九郎は代官所に向かった。役人は弥九郎の訴えを聴いた上で後日井野に出向いて取り調べるとした。それを知った庄屋たちは使いを大麻山に走らせた。大麻山にはお寺があり、不思議な力を持っている坊さんがいた。取調べが始まったが、どうしたことか弥九郎はものが言えなくなってしまった。遠慮するなと役人は言い渡したが、どうにも声にならない。大麻山の坊さんに口封じされた弥九郎はお上を欺く大罪人と決めつけられ火あぶりの刑が決まった。翌日、村中を引き回された弥九郎は小原で火あぶりにされた。庄屋の悪だくみで罪を着せられたが、体は消えても心は消えない。この恨みは深い霧となっていつまでも庄屋たちに祟ってやると弥九郎は心の中で叫んだ。弥九郎は霧となったが、霧がかかるたびに庄屋たちの家には次々と悪いことが続いた。火事や怪我が続き、蔵元庄屋は家が絶えてしまった。こうして井野に霧がかかると弥九郎はまだ庄屋たちを恨んでいるのだと誰ともなく言い合った。今でも井野では深い霧がかかることがある。
◆コーディングルール
※コーディングルールのキーワードは重要と判断したものを人力でピックアップしている。そのため、恣意性を伴う分析となる。
※活用形でなく基本形で入力する。
※[前処理]→[語の抽出結果を確認]でキーワードがどのように分節されているか検索すると結果の一覧[語の抽出結果]が表示される。
※[Result]から確認したい行をクリックして選択、画面下の[詳細表示]ボタンをクリックするとサブ画面が表示され、活用形や基本形が確認できる。
※昔話では「否定/肯定」「肯定/否定」と属性が変化することが多いと考え、否定詞「ない」「まい」「ぬ」「ん」、また禁止を意味する「な」を共通のコードとして設定している。
※[関連語検索]で否定詞の共起語の一覧を表示させたところ、日本の昔話のように掌編レベルのボリュームだと、物語の動因となる箇所に関する語句が上位に表示される傾向が強いのではないか……といった印象があり、検証作業中である。
※無償版では強制抽出語の指定が機能制限で事実上使用できないため以下のような手法をとっている。
*井野
'井野'
*弥九郎
'弥九郎'
*取調べ
取調べ or 取り調べる
*殿さま
殿さま or お上
*身体
身体 or 体
*魂
魂 or 心
*室谷
'室谷'
*割元
'割元' or '蔵元'
*重罪
重罪 or '大罪人'
*直訴
直訴 or 訴え
*紙すき
'紙すき' or '紙作り'
*悪質
悪質 or ( 質 and 悪い )
*大麻山
'大麻山'
*口封じ
'口封じ'
*火あぶり
火あぶり or ( 焼く and 殺す )
*ない
ない
*ぬ
ぬ
*ん
ん
*るな
'るな'
*るまい
'るまい'
*百姓
百姓
*年貢
年貢
*庄屋
庄屋
*紙
紙
*横着
横着
*難儀
難儀
*役人
役人
*母
母
*狐
狐
*舌
舌
*薪
薪
*死ぬ
死ぬ
*藤
藤
*火事
火事
*家
家
*絶える
絶える
*霧
霧
*強欲
強欲
*一揆
一揆
*相談
相談
*女
女
*髪
髪
*無礼
無礼
*白状
白状
*使い
使い
*不思議
不思議
*力
力
*坊さん
坊さん
*声
声
*消える
消える
*悪だくみ
悪だくみ
*罪
罪
*怪我
怪我
*恨む
恨む
*祟る
祟る
◆共起ネットワーク
・[コーディング単位]を[H5]に設定する。
※[描画する共起関係(edge)の選択]で「係数」を「0.2」から「0.3」に修正する。
※[強い共起関係ほど濃い線に]にチェックを入れる。
Jaccard係数が0.3以上はかなり強い共起関係にあることを示しているが、分析対象となる元データの文字数が少ないため係数が高めに出てしまう傾向にあるため、こうしている。
※Jaccard係数は共起関係(※ある言葉に続いて出てくる関係)の強さを表し 0≦係数≦1 の範囲の値をとる。
【Jaccard係数】
・0.1 →関連あり
・0.2 →強い関連あり
・0.3以上 →とても強い関連あり
※ただし、あくまで目安であって絶対ではない。
ざっと確認したところ、共通するキーワードが中央のサブグラフ(バブルが島状に集まった一塊)に表示され、類話毎に異なるキーワードが上下のサブグラフに表示される形となっている。
※なお、各バブル間の距離や配置に意味はない。
◆対応分析
・[コーディング単位]を[H5]に設定する。
※[外部変数]は[書名]に変更して実行。
※[差異が顕著なコードを分析に使用]で上位「40」とした。また[バブルプロット]にチェックを入れている。これらは文字の重なりを極力避けるためである。
※文字が重なって読みづらい場合、オプション画面の[コード選択]で不要なコードのチェックを外してもよい。
x、y軸上の原点(0.0)から点線が伸び交差した箇所が原点となる。原点から離れるほど特徴的なキーワードだと分析される。
原点に近いところに「弥九郎」「井野」「魂」「身体」といったキーワードが配置されている。また、原点から離れた位置に『石見の民話』では「藤」「母」「舌」といったキーワードが、『島根の伝説』では「坊さん」「大麻山」「声」「祟る」といったキーワードが配置されている。
◆解釈
未来社版では取調べの際に狐を憑けられて舌が動かせなくなったのに対し、日本標準版では大麻山の坊さんによって口封じされている。日本標準版では紙に女の髪をすき込まれ悪質と濡れ衣を着せられるといった展開が見られるのに対し、未来社版では死んだら藤の花を咲かせると宣言すること等が主な違いとなっている。
◆階層的クラスター分析
・[コーディング単位]を[文]から[段落]に変更、実行するとデンドログラム(樹状図)で可視化される。
概ねストーリーに沿った形でクラスター化されている。
※キーワード指定しても可。
※当ブログの場合、[コーディング単位]が[文]だと、コードを全て選択するとエラーが返される結果となった。
◆クロス集計
※タイトルが同名のため「書名」で集計をかけた。
・[コーディング単位]を[文]に変更、[集計]する。
クロス集計をかけたところ、カイ(χ)2乗値で相関関係を示す結果(※マーク)は得られなかった。テキストのボリュームが足りないのが要因と推測される。これはこの後行う分析でも同様の結果となっている。
マップとして描画したところ、「殿さま」「薪」といったキーワードの残差が大きく(濃く)表示される結果となった。バブルとしては「弥九郎」「ない」「庄屋」などが大きく描画された。
◆KWICコンコーダンス
現状ではテキストマイニングのツールに文脈を読む性能はないため実際に該当箇所を読んで人力で判断する他ない。KWICコンコーダンスでキーワード指定すれば指定したキーワードがどのような文脈で用いられているか一覧で抽出される。
・[集計単位]を[文]に変更、[集計]する。
・[Search Entry:]の一覧からキーワードを選択してダブルクリックすると[Result]に指定したキーワードの品詞や共起関係が表示される。
※[Result:]から行指定してダブルクリックするとKWICコンコーダンスに遷移する。
※[Result:]の一覧から範囲指定して[コピー]したものを表計算ソフトやテキストファイルにペーストすることも可能である。
[#直接入力]を指定して「花」といったキーワードで検索すると関連語が一覧で表示される。
※当ブログでは[集計単位]が[段落][H5]の場合、Jacccard係数が1.0~0.5といった結果がほとんどで、意味のない結果となった。
◆属性の転倒
・「ない」の結果上位一覧
| N | 抽出語 | 品詞 | 全体 | 共起 | Jaccard |
| 1 | 言う | 動詞 | 6 (0.125) | 5 (0.385) | 0.3571 |
| 2 | 九郎 | 人名 | 20 (0.417) | 7 (0.538) | 0.2692 |
| 3 | 弥 | 人名 | 20 (0.417) | 7 (0.538) | 0.2692 |
| 4 | 取調べ | 名詞 | 3 (0.063) | 3 (0.231) | 0.2308 |
| 5 | 庄屋 | 名詞 | 18 (0.375) | 5 (0.385) | 0.1923 |
| 6 | 言える | 動詞 | 2 (0.042) | 2 (0.154) | 0.1538 |
| 7 | 罪 | 名詞C | 2 (0.042) | 2 (0.154) | 0.1538 |
| 8 | 焼く | 動詞 | 3 (0.063) | 2 (0.154) | 0.1429 |
| 9 | 役人 | 名詞 | 4 (0.083) | 2 (0.154) | 0.1333 |
| 10 | 霧 | 名詞C | 7 (0.146) | 2 (0.154) | 0.1111 |
弥九郎がお上に直訴しようとしたところ、庄屋たちの策謀で弥九郎は言葉を発することができなくなってしまう。結果、弥九郎は直訴どころか火刑に処されてしまうこととなる。
また、弥九郎は磔にされながらも、肉体は死んでも魂の不死を訴える。その呪詛は霧となって井野を覆う結果となる。
このように短いお話の中で属性の転倒を多用するのが昔話の特徴の一つと考えられる。
ここで「/」(スラッシュ)を「転倒」を意味する記号として用いる。スラッシュは様々な場面で用いられていて文脈依存的な記号という欠点もあるが、視覚的にはイメージしやすいと判断した。
・[弥九郎|訴え:言う/言えない]
・[弥九郎|呪詛:肉体の死/魂の不死]
こういった風にお話を転がしていると分析できる。結果として悪だくみを行った庄屋たちは「繁栄/没落」と転倒してしまう結果となる。
※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。
◆類似度行列
・[コーディング単位]を[文]に変更して[集計]。
Jaccard係数がマトリクス形式で確認できる。
・ある列を選択して画面右下の[コピー(選択列)]をクリックすると、当該のキーワードに関するJaccard係数がコピーされるので、それを表計算ソフトにペーストするといった利用が可能となる。
※当ブログでは[コーディング単位]が[段落][H5]の場合、Jacccard係数が1.0~0.5といった結果がほとんどで、意味のない結果となった。
◆多次元尺度構成法
・[コーディング単位]を[文]に変更して実行。
・共起関係を確認したいキーワードを指定。
・次元を「2」から「3」に変更して実行、三次元のマップとした。
「藤」だけやや離れている。
※選択するキーワードによって相対的な位置関係は変わり得る。
※実行すると指定したキーワードの幾つかが除外されるとメッセージが表示される。テキストのボリューム不足のためか無償版の仕様によるものか判断がつかない。
※当ブログの事例では「文」以外、「段落」「H5」では除外されるキーワードが増える傾向となった。
◆自己組織化マップ
・[コーディング単位]を[文]に変更して実行。
記述内容が視覚的に整理され、類似性の高い内容が近くに配置される。概ねストーリーに沿った形で各クラスターが表示される。
※当ブログの事例では「文」以外、「段落」「H5」ではエラーが返される結果となった。
※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。
◆トピックの推定
・[ツール]→[文書]→[トピックモデル]→[トピックの推定]を選択。
・[集計単位]を[文]に変更。
・[OK]ボタンをクリックすると、[トピックの推定結果]画面が表示される。
・各トピックで高い確率で出現する語句がリストアップされる。
・[#1]といった欄をクリックすると、文書検索画面が表示される。
◆ベイズ学習による分類
・[ツール]→[文書]→[ベイズ学習による分類]→[外部変数から学習]を選択。
・[分類の単位]を[文]に変更。
・タイトルが同じため[学習する外部変数]を[書名]に変更。
・[OK]ボタンをクリックすると、ファイルの保存画面が表示されるので、任意のファイル名を記述して保存する。
・[ツール]→[文書]→[ベイズ学習による分類]→[学習結果ファイルの内容を確認]を選択。ファイル選択画面が開くので、先ほど保存したファイルを指定して開く。すると[学習結果ファイル]画面が開くので内容の確認を行う。
※[学習結果を用いた自動分類]については割愛する。
※[トピックの推定]と[ベイズ学習による分類]は固有名詞などを強制抽出語としてあらかじめ指定しておかないと正確に分析されないケースが生じる。正式に利用したい際は有償版の購入をお勧めする。当ブログのはあくまでテストケースとしてのものである。
※[トピックの推定]と[ベイズ学習による分類]はコーディング・ルールに依らない分析手法となるが、筆者の能力的に追及はしない。
◆参考文献
・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.256-258.
・『島根の伝説』(島根県小・中学校国語教育研究会/編, 日本標準, 1978)pp.28-35.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)
| 固定リンク
「昔話」カテゴリの記事
- 昔話の計量テキスト分析――竜宮女房(2026.04.09)
- 昔話の計量テキスト分析――姥捨て山(2026.04.08)
- 昔話の計量テキスト分析――皿皿山(2026.04.07)
- 昔話の計量テキスト分析――田部(2026.04.06)















