« 昔話の計量テキスト分析――岡田の婆 | トップページ | 昔話の計量テキスト分析――浮布の池 »

2026年4月16日 (木)

昔話の計量テキスト分析――蜘蛛の糸

◆はじめに

以下はKH Coder(無償版:version 3.Beta.08e)を用いた昔話の計量テキスト分析である。昔話の類話の比較にツールを利用できないか試行してみた。

手持ちの資料が限られるため、分析の対象となる元データの文字数が少ないものの(※本来であれば5000字以上は欲しい)、分析自体は正常に処理されていると判断した。

KH Coderの操作に慣れる目的も兼ねて行った作業で、コーディングルールの記述の事例集、あるいは速習用のチュートリアルとしてでも読んで頂ければ……といったところである。

なお、KH Coderでよく用いられるのは共起ネットワークと対応分析とのことで、それ以外はおまけパートと思って頂いて構わない。操作に習熟するにはコーディングルールの記述に慣れるのが第一である。

◆ファイル

各ファイルをダウンロードしてKH Coderに読み込ませれば同様の分析が再現可能である。

ダウンロード - ca_pb_038_kumonoito.xlsx

ダウンロード - ca_pb_038_codingrules.txt

ダウンロード - ca_pb_038_codingrules_b.txt (※否定詞の比較検討用)

ダウンロード - kh_coder_startingedition_sagyotejunsho.txt (※作業手順書)

※「H5」とはHTMLでいうところのヘッダー(見出し)・レベル5で本文に相当すると考えればよい。
※[コーディング単位]は「文/段落/H5」から選べるが、状況に応じて適切と思われるものを選択する必要がある。処理が上手くいかないと感じた場合、コーディング単位を切り替えると上手く処理されるケースがままある。

※公式マニュアルでは「集計単位」という用語が使われている。共起関係について、

・「文」では一文単位での分析
・「段落」では段落単位の分析
・「H5」では表計算ソフトのセル単位とされ、改行を含めた一セルの中身全体が分析単位となる

※レファレンスでも索引で「コーディング単位」の項目は設けられていない。操作性に関わる重要項目であるものの、その仕様について不明瞭な感はある。
※当ブログの場合、表計算ソフトのフォーマットで読み込ませているからH5固定でいいだろうと思い込んでいたら、さにあらずだった。

◆あらすじ

・「千八尋渕」(未来社『石見の民話』)
円ノ谷から鍛冶屋谷に沿って登ると、大津に千八尋渕という有名な渕がある。直径三、四メートルくらいの丸い渕で、そう大きいことはないが、はんどう(水瓶)を上から覗く様に周囲の岩が下になるほど広がり、青黒い水をたたえている。この渕は底が円ノ谷の蛇渕へ続いているということで、この渕へ手杵を落としたところ蛇渕へ浮いたとか、籾殻を流しこんだところ蛇渕へ出たとかいう話がある。昔、大津の長九郎という人が日原から塩を買って帰りに千八尋渕の上で休んでいた。すると渕から一匹の蜘蛛が上がってきて、長九郎の膝の頭へ糸をつけて渕へ下りていった。長九郎はおかしなことをすると思って、糸を外してほとりの松の切株へつけておいた。しばらくすると、下から糸をぐいぐい引っ張りはじめた。すると、大きな松の切株がぐっさぐっさと動き出して、とうとう下の渕へどぶんと落ち込んでしまった。長九郎は危ないところだった。もう少しで渕へ引っ張り込まれるところだったと思いながら家へ帰った。その晩、長九郎の家の床の間にあった刀が一人働きをして何か斬ったので、明くる朝見るとべっとりと血がついていた。ある時長九郎が外から帰ってみると、昔から家伝の刀のしまってある箪笥の引き出しを百足がぞろぞろ這い回っていた。不思議に思って刀を出してみると、刀の刃を百足が這っていた。その話が伝わって、あっちこっちから人が見にくるようになった。とうとうそれが津和野の殿さまの耳に入って、そういう刀があるならば差し出すようにという沙汰があった。長九郎は仕方なしに刀を差しだした。ところがその晩から、刀は毎晩のようにかたかたと鍔を鳴らせて長九へ帰る、長九へ帰ると言う。殿さまは気味が悪くなって、とうとう長九郎へ返した。そののち長い間、刀は長九郎の家にあって、抜いてみるといつでもこうこうとした刃の上を百足が這っていた。そしてあっちこっちから見にくる人が絶えなかった。けれども長九郎は決して女には見せなかった。長九郎の女房はそれを見て、いくら女だからと言って自分の家にあるものを見ることができないというのは情けない話だと思った。そしてある日長九郎が留守の間にそっと刀を出してみた。ところがそれから刀に百足がいなくなり、赤い錆がくるようになった。ある時長九郎が千八尋渕へ行くと、向こうの岸からこっちの岸へとてつもない大きな蟹が爪をかけていた。長九郎はびっくりして火縄銃に青銅の一つ玉を込めてズドンと一発大きな甲をめがけて撃つと蟹は渕へ落ちた。長九郎は家へ帰ると手桶に三杯水を飲んだがすぐ死んでしまった。


・「千八尋渕と長九郎」(日本標準『島根の伝説』)
長九郎は日原からの帰り道、あまりに暑いので千八尋渕の傍で荷を下ろして一休みした。そしてうとうとしていると、一匹の蜘蛛が渕から這い上がって長九郎の膝に糸をかけた。はっと目覚めた長九郎はその糸を外すと、傍の大松に結んでおいた。すると、蜘蛛の糸がピーンと張ったかと思うと、松の木を引っ張っている。やがて、松の木は少しずつ渕の方へ傾いていき、とうとう、ずるずると渕の中へ引きずり込まれてしまった。夢をみているような気で見ていた長九郎は命からがら家に帰った。


・「やりこ渕」(みずうみ書房『日本伝説大系』第十一巻)
やりこというものが、山こだか木こりだか知らないけれど、その者が山へ行って煙草を吸っていたところ、渕から主が上がってきた。煙草を吸っていたら、蜘蛛が出てきて、やりこの煙草を吸っているところに、やりこの脛に蜘蛛の糸を引っかけて、「やりこか」と言ったので「ええわ」と言ったら、やりこを渕に引っ張り込んでしまった。それからお母が番をしていたら、今度はカエルみたいな物に化けて上がったそうな。それで、そんな今、残念で向かったのだそうな。そうしたら、走ったから追ったら、巌峯寺というところにぼうと行ったのだそうな。そうしたらカエルになって岩の頭にちゃんとして居たそうな。そうしたら化けて岩になってしまっていたそうな。それでカエル岩というのだそうな。それで我が家に戻ったのだと。


◆コーディングルール

※コーディングルールのキーワードは重要と判断したものを人力でピックアップしている。そのため、恣意性を伴う分析となる。

※活用形でなく基本形で入力する。

※[前処理]→[語の抽出結果を確認]でキーワードがどのように分節されているか検索すると結果の一覧[語の抽出結果]が表示される。

※[Result]から確認したい行をクリックして選択、画面下の[詳細表示]ボタンをクリックするとサブ画面が表示され、活用形や基本形が確認できる。

※昔話では「否定/肯定」「肯定/否定」と属性が変化することが多いと考え、否定詞「ない」「まい」「ぬ」「ん」、また禁止を意味する「な」を共通のコードとして設定している。

※[関連語検索]で否定詞の共起語の一覧を表示させたところ、日本の昔話のように掌編レベルのボリュームだと、物語の動因となる箇所に関する語句が上位に表示される傾向が強いのではないか……といった印象があり、検証作業中である。

※無償版では強制抽出語の指定が機能制限で事実上使用できないため以下のような手法をとっている。


*千八尋渕
'千八尋渕'
*蛇渕
'蛇渕'
*長九郎
'長九郎' or '長九'
*休む
休む or 一休み
*切株
'切株'
*床の間
'床の間'
*引きずり込む
引きずり込む or 引っ張り込む
*命からがら
命からがら or 危うい
*やりこ
'やりこ'
*お母
'お母'

*ない
ない
*ぬ

*ん

*るな
'るな'
*るまい
'るまい'

*渕

*日原
日原
*蜘蛛
蜘蛛
*膝

*糸

*外す
外す
*落ちる
落ちる
*家

*刀

*斬る
斬る
*血

*家伝
家伝
*百足
百足
*津和野
津和野
*殿さま
殿さま
*差し出す
差し出す
*女

*見せる
見せる
*女房
女房
*留守
留守
*錆

*蟹

*撃つ
撃つ
*水

*飲む
飲む
*死ぬ
死ぬ
*結ぶ
結ぶ
*帰る
帰る
*山

*主

*脛

*番

*カエル
カエル
*化ける
化ける
*寺

*岩

*木こり
木こり
*山こ
'山こ'
*煙草
煙草


◆共起ネットワーク

・[ツール]→[コーディング]→[共起ネットワーク]でオプション画面が表示される。
・[コーディング単位]を[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)から点線が伸び交差した箇所が原点となる。原点から離れるほど特徴的なキーワードだと分析される。

原点付近には「千八尋渕」「長九郎」「膝」といったキーワードがプロットされている。未来社版では「百足」「女房」「刀」といったキーワードが原点から離れてプロットされている。日本標準版では「命からがら」「引きずり込む」といったキーワードが特徴的とされている。みずうみ書房版では「やりこ」「お母」「脛」といったキーワードが特徴的とされている。

◆解釈

全国的には伊豆の浄蓮の滝の伝説で有名な話である。日本標準『島根の伝説』には千八尋渕の写真が載っておりリアリティを感じた。「やりこ渕」は不条理さが魅力である。

◆階層的クラスター分析

・[ツール]→[コーディング]→[階層的クラスター分析]でオプション画面が表示される。
・[コーディング単位]を[文]に変更、実行するとデンドログラム(樹状図)で可視化される。

※キーワード指定しても可。

階層的クラスター分析・デンドログラム(樹状図)
階層的クラスター分析・デンドログラム(樹状図)

概ねストーリーに沿った内容でクラスター化されている。

※当ブログの場合、[コーディング単位]が[段落][H5]だと、コードを全て選択するとエラーが返される結果となった。

◆クロス集計

・[コーディング単位]を[文]に変更、[集計]する。

※「タイトル」で集計をかけた。

クロス集計

クロス集計をかけたところ、「長九郎」「やりこ」といったキーワードでカイ(χ)2乗値で相関関係を示す結果(※マーク)が得られた。

クロス集計・バブルマップ

マップとして描画したところ、「カエル」「山こ」といったキーワードの残差が大きく(濃く)表示される結果となった。バブルとしては「長九郎」が大きく描画された。

◆KWICコンコーダンス

現状ではテキストマイニングのツールに文脈を読む性能はないため実際に該当箇所を読んで人力で判断する他ない。KWICコンコーダンスでキーワード指定すれば指定したキーワードがどのような文脈で用いられているか一覧で抽出される。

KWICコンコーダンス
KWICコンコーダンス・文書表示

◆関連語検索

・[集計単位]を[文]に変更、[集計]する。
・[Search Entry:]の一覧からキーワードを選択してダブルクリックすると[Result]に指定したキーワードの品詞や共起関係が表示される。

関連語検索

※[Result:]から行指定してダブルクリックするとKWICコンコーダンスに遷移する。
※[Result:]の一覧から範囲指定して[コピー]したものを表計算ソフトやテキストファイルにペーストすることも可能である。

[#直接入力]を指定して「べっとり」といったキーワードで検索すると関連語が一覧で表示される。

関連語検索

◆属性の転倒

・「ない」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 名詞C  2 (0.048)  2 (0.286) 0.2857
2 見る 動詞  5 (0.119)  2 (0.286) 0.2
3 名詞C  9 (0.214)  2 (0.286) 0.1429
4 丸い 形容詞  1 (0.024)  1 (0.143) 0.1429
5 決して 副詞  1 (0.024)  1 (0.143) 0.1429
6 見せる 動詞  1 (0.024)  1 (0.143) 0.1429
7 広がる 動詞  1 (0.024)  1 (0.143) 0.1429
8 差しだす 動詞  1 (0.024)  1 (0.143) 0.1429
9 名詞C  1 (0.024)  1 (0.143) 0.1429
10 名詞C  1 (0.024)  1 (0.143) 0.1429

渕で休憩中の長九郎は蜘蛛が膝につけた糸を切り株に移すと、切り株が縁に引きずり込まれてしまい危ういところだった……といった粗筋となっている。

短いお話の中で属性の転倒を多用するのが昔話の特徴の一つと考えられる。

ここで「/」(スラッシュ)を「転倒」を意味する記号として用いる。スラッシュは様々な場面で用いられていて文脈依存的な記号という欠点もあるが、視覚的にはイメージしやすいと判断した。

・[長九郎|糸:外す/身代わり]
・[蜘蛛|狙い:長九郎/切り株]
・[やりこ|呼び声:応答/死]

こういった風にお話を転がしていると分析できる。

蜘蛛の糸の付け先が「膝/切り株」と転倒することで長九郎の運命は「危機/生還」へと転倒する。

◆類似度行列

・[コーディング単位]を[文]に変更して[集計]。Jaccard係数がマトリクス形式で確認できる。

Ca_pb_038_sm_kumonoito

・ある列を選択して画面右下の[コピー(選択列)]をクリックすると、当該のキーワードに関するJaccard係数がコピーされるので、それを表計算ソフトにペーストするといった利用が可能となる。

※当ブログでは[コーディング単位]が[段落][H5]の場合、Jacccard係数が1.0~0.5といった結果がほとんどで、意味のない結果となった。

◆多次元尺度構成法

・[ツール]→[コーディング]→[多次元尺度構成法]でオプション画面が表示される。
・[コーディング単位]を[文]に変更。
・[クリア]ボタンをクリックしてコード選択を一旦リセット、共起関係を確認したいキーワードを指定。
・次元を「2」から「3」に変更して実行、三次元のマップとした。

Ca_pb_038_mds_kumonoito

長九郎ややりこが渕で危機に遭遇するくだりに関連したキーワードを指定したところ、「引きずり込む」が離れた位置にプロットされた。

※選択するキーワードによって相対的な位置関係は変わり得る。

※実行すると指定したキーワードの幾つかが除外されるとメッセージが表示される。テキストのボリューム不足のためか無償版の仕様によるものか判断がつかない。
※当ブログの事例では「文」以外、「段落」と「H5」では除外されるキーワードが増える傾向となった。

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]を[文]に変更して実行。

自己組織化マップ

記述内容が視覚的に整理され、類似性の高い内容が近くに配置される。概ねストーリーに沿った形で各クラスターが表示される。

※当ブログの事例では「文」以外、「段落」と「H5」ではエラーが返される結果となった。
※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

・[ツール]→[文書]→[トピックモデル]→[トピックの推定]を選択。
・[集計単位]を[文]に変更。
・[OK]ボタンをクリックすると、[トピックの推定結果]画面が表示される。

トピックの推定

・各トピックで高い確率で出現する語句がリストアップされる。
・[#1]といった欄をクリックすると、文書検索画面が表示される。

トピックの推定・文書検索

◆ベイズ学習による分類

・[ツール]→[文書]→[ベイズ学習による分類]→[外部変数から学習]を選択。
・[分類の単位]を[文]に変更。
・[学習する外部変数]は[書名]に変更する。
 ※「タイトル」のままでもよし。
・[OK]ボタンをクリックすると、ファイルの保存画面が表示されるので、任意のファイル名を記述して保存する。

・[ツール]→[文書]→[ベイズ学習による分類]→[学習結果ファイルの内容を確認]を選択。ファイル選択画面が開くので、先ほど保存したファイルを指定して開く。すると[学習結果ファイル]画面が開くので内容の確認を行う。

ベイズ学習による分類

※[学習結果を用いた自動分類]については割愛する。

※[トピックの推定]と[ベイズ学習による分類]は固有名詞などを強制抽出語としてあらかじめ指定しておかないと正確に分析されないケースが生じる。正式に利用したい際は有償版の購入をお勧めする。当ブログのはあくまでテストケースとしてのものである。

※[トピックの推定]と[ベイズ学習による分類]はコーディング・ルールに依らない分析手法となるが、筆者の能力的に追及はしない。

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.366-368.
・『島根の伝説』(島根県小・中学校国語教育研究会/編, 日本標準, 1978)p.143.
・『日本伝説大系 第11巻 山陰(鳥取・島根)』(野村純一他, みずうみ書房, 1984)p.193.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

« 昔話の計量テキスト分析――岡田の婆 | トップページ | 昔話の計量テキスト分析――浮布の池 »

昔話」カテゴリの記事