« 出雲市以西は負のスパイラル――JR山陰本線の輸送密度 | トップページ | 昔話の計量テキスト分析――岡田の婆 »

2026年4月14日 (火)

昔話の計量テキスト分析――えんこうの恩返し

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_pb_036_enkonoongaeshi.xlsx

ダウンロード - ca_pb_036_codingrules.txt

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

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

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

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

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

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

◆あらすじ

・「大膳と治部」(未来社『石見の民話』)
昔、左鐙に大膳と治部という兄弟がいた。大膳は左鐙に、治部は川向こうに住んでいた。大膳はよく治部のところへ遊びに行った。すると治部のところでは、どんな雪の日でも雨風の日でも必ず生魚を出してご馳走した。大膳は不審に思って、いったいどうして手に入れるのかと尋ねた。治部の家の近くにえんこうわいと言って渕の底の岩に一間四角くらいな穴がある。ある晩治部が寝ていると誰か起こすものがある。目を開けて見ると美しい女が枕元へ来ていた。女は自分はえんこうわいにおるえんこうだが、この間の大水で金馬鍬が穴の口へ流れかかって通ることができない。それで子供を養うことが出来ずに困っている。どうか鍬を除けて下さらないか。ご恩は決して忘れないからと言った。治部は、それは除けてやらないことはないが、これからは左鐙の内で子供が一人でもえんこうに取られたという様なことがあったら承知しない。そういうことがあったら馬鍬を除けるどころか三尺の釜をもって塞いでやると言った。女はそういうことは決してしない。どうか除けてくださいと頼むので、それなら除けてやろうと言うと、女はたいそう喜んで、このことは誰にも言ってくださるなと言って帰った。明くる日、治部がえんこうわいへ行ってみると、女が言った通り馬鍬がかかっているので取りのけてやった。えんこうは金物に触ると身体が腐るので金物を恐れるのだった。ところがそれからと言うものは、夏は鮎、冬はいだという様に、朝起きてみると毎日の様に必ず魚が軒下へ吊ってあった。そういう訳でいつも生魚があるのだったが、えんこうに誰にも言わないという約束がしてあるので、言う訳にはいかない。それで大膳が尋ねても、それには訳があって言われないと治部は言った。大膳は兄弟の間で言われないということはない、言えと言う。治部はどういう事があっても言われぬと言う。そうして争っている内に大喧嘩になって、大膳はぷんぷんして帰っていった。大膳が家へ帰って昼寝をしていると治部が抜身を下げてやって来て、いきなり切りかかった。大膳は初めの内は扇子であしらっていたが、危なくなったので、女房に槍をとってくれと言った。女房は慌てて長押の槍をとって差し出す調子に、間違えて治部へ渡した。治部はその槍で大膳を突き殺してしまった。治部は家へ帰ると腹を切って死んだ。大膳は「大膳さま」と言って今も小さな祠に祀ってあるが、大膳さまは女というものはこのようにあさはかなもので、そのために自分は殺されたと言って、女をひどく嫌うので、女は参ってはいけないと言うことである。治部の墓は川向こうの田の中にあるが、そこに田を植えるときにはどんないい天気でも、雨の三粒でも降らないことはないと言う。


・「カッパのくれた石」(日本標準『島根のむかし話』)
とんとん昔、ある所によく働く若い者がいた。ある日、田んぼの仕事が済んだので川で鍬を洗っていたところ、田んぼへ忘れ物をしたことを思い出し、取りに行った。ところが、今度はその鍬を忘れて家に帰ってしまった。その晩、男が寝ていると、カッパがやって来た。そして、自分の家の入口にお前が忘れた鍬が引っかかって通れない。何とかして取ってくれと言った。若者はおかしなことを言うカッパだなと思ったが、知らぬふりをして寝ていた。次の晩、また同じようにカッパが来て、入口の鍬を早く取ってくれと言った。若者はやはり知らぬ顔をしていたが、明くる晩、またカッパが来て、どうか早く取ってくれ。あれを取ってもらわないと通れないと言った。これで三晩も同じことを言ってくるが、本当のことかもしれない。明日は行ってみるかと思ってその晩は寝た。あくる朝、納屋へ行ってみると、鍬が一丁なかった。ははあ、鍬を持って帰ることを忘れたのか。その鍬が流れたのだろう。と、鍬を洗った所へ行ってみると、鍬が川の中にずり込んでいた。鍬を持って帰れということだなと持って帰った。そのあくる朝、若者の入口についている木の鍵に大きな魚が引っかかっていた。あのカッパがくれたのだろうか。若者は喜んで食べた。その晩、あのカッパがまたやって来て、今日はどうもありがとう。今朝の魚はお礼だ。これから毎朝持ってくるからと言った。それから毎朝、色々な魚が掛かっていた。男は喜んで貰っていたが、どうもこの鍵が古くなって魚を掛けるのに困るだろう。鉄の鍵に替えてやろうと替えてやった。ところが、あくる日からは魚が掛かっていなかった。そうしたら、その晩、またカッパが来て、あの鍵が鉄になっているのでもう魚は掛けない。自分たちは金物が一番の苦手だ。その代わり、この石をあげる。この石を持っていると病気に罹らないと言って丸い石を置いていった。男はその石を大事に持っていたら、少しも病気をしなかった。


・「えんこうの話」(ハーベスト出版『夕陽を招く長者』)
昔、匹見の里に牛を飼っている婆さんがいた。牛は繋がれていたが、牛は水が飲みたくなり、離れて川に入った。ところが、川に入った牛はえんこうに足を引っ張られて驚いた拍子にえんこうを引きずって戻るなり肥えたて場に駆けこんだ。えんこうは牛を川の深みに引っ張り込むつもりが、陸へ引き出されて干からびてしまい困っていた。婆さんは牛が戻ってきたのを見て喜び、水をやろうと汲んできたが、牛が水を飲まないので、肥えたて場にその水を移した。すると、えんこうは水を貰ったお陰で川へ帰ることができた。それからえんこうは、今度は婆さんにお礼にと、毎日毎朝、魚を持ってきて、玄関の閂に掛けておくうようになった。毎日のことだから、そのうち閂が腐りはじめた。それで婆さんは金具のしっかりした閂に取り替えた。そうしたら、えんこうは魚を一向に持ってこなくなってしまった。えんこうは金物をとても恐れるというから、それで持ってこれなくなってしまったのだろう。


・「庄のカワコ屋」(みずうみ書房『日本伝説大系』第十一巻)
本町根雨原地内に国道一八〇号線を江府町に向かって進むと右手に日野川が並ぶところがある。この地点の日野川にショウゴの渕という深い水の淀みがある。古来、ここにカワコ(河童)が住んでいて往来の旅人を悩ませていた。明暦年間、庄村に細矢仙左衛門という川遊びが好きで泳ぎの達者な人がいた。この人がある夏の日、ショウゴの渕で川遊びをして水深く潜ったとき大きな岩のウロ(穴)の口に鍬が引っかかって口を塞いでいたので取り除いて水の流れをよくした。その翌日の朝、仙左衛門が家の門口をみると、門の柱に取り付けてある掛け木に沢山の川魚が柳の枝に刺して掛けてあった。そのときは不思議なことだと思いながらも煮たり焼いたりして食べたが、その後も毎朝このことが続いた。しばらくしてある朝のこと、例によって門の柱を見ると掛け木が折れて下に落ち、川魚の姿も見えなかったので、仙左衛門は掛け木を鉄釘に取り替えた。それ以来、柳の枝に刺した川魚の姿が見られなくなった。この話を伝え聞いた村人は仙左衛門がショウゴの渕のカワコの住家であったウロの口を掃除してやった恩返しに川魚を運んでいたのに、掛け木がカワコの嫌う鉄釘に変わったため二度と来なくなったのだとも、また他所へ住みかわったとも、あるいはそのカワコは死んだのだとも言った。このことがあって以来、細矢家のことをカワコ屋という門名で呼びだし今なお続いている。一説には仙左衛門が旅人のお産の世話をした恩返しだともいっているが真偽のほどは分からない。この細矢家の子孫が現在、荘に在住する川口作市さんである。川口さんの話によれば、明治年間に細矢姓が川口に改められたという。


◆コーディングルール

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

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

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

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

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

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

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


*左鐙
'左鐙'
*大膳
'大膳'
*治部
'治部'
*川魚
生魚 or 魚 or '川魚'
*天気
雪 or 雨 or 風
*穴
穴 or ウロ or 'えんこうわい' or 入口 or 口
*えんこう
'えんこう' or カッパ or 'カワコ'
*取る
取る or 掃除 or 除ける or 除く
*金物
金物 or 鉄 or 釘
*若者
若者 or ( 若い and 者 ) or 男
*田
田 or 田んぼ
*忘れ物
忘れ物 or 忘れる
*鍵
鍵 or 閂 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 言う 動詞  21 (0.239)  10 (0.400) 0.2778
2 持つ 動詞  8 (0.091)  4 (0.160) 0.1379
3 名詞C  12 (0.136)  4 (0.160) 0.1212
4 見る 動詞  4 (0.045)  3 (0.120) 0.1154
5 自分 名詞  4 (0.045)  3 (0.120) 0.1154
6 地名  4 (0.045)  3 (0.120) 0.1154
7 名詞C  4 (0.045)  3 (0.120) 0.1154
8 左衛門 人名  5 (0.057)  3 (0.120) 0.1111
9 名詞C  6 (0.068)  3 (0.120) 0.1071
10 名詞C  9 (0.102)  3 (0.120) 0.0968

・「ぬ」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 出来る 動詞  1 (0.011)  1 (0.333) 0.3333
2 知る 動詞  1 (0.011)  1 (0.333) 0.3333
3 養う 動詞  1 (0.011)  1 (0.333) 0.3333
4 子供 名詞  2 (0.023)  1 (0.333) 0.25
5 困る 動詞  3 (0.034)  1 (0.333) 0.2
6 思う 動詞  4 (0.045)  1 (0.333) 0.1667
7 若者 名詞  4 (0.045)  1 (0.333) 0.1667
8 寝る 動詞  4 (0.045)  1 (0.333) 0.1667
9 カッパ 名詞  7 (0.080)  1 (0.333) 0.1111
10 言う 動詞  21 (0.239)  2 (0.667) 0.0909

えんこうの住処の穴に入れるように鍬を取り除いたところ、毎朝魚が届けられるようになったが金物がきっかけで来なくなった……といった粗筋となっている。

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

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

・[えんこう|穴:入れない/入れる]
・[えんこう|魚:持参/止める]
・[兄弟|約束:仲良し/仲違い]

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

えんこうとの約束がきっかけで兄弟は喧嘩、その関係が「仲良し/仲違い」と転倒してしまう。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

大膳と治部とがえんこうとの約束を巡って喧嘩となるくだりに関連したキーワードを指定したところ、「殺す」「約束」が離れた位置にプロットされた。

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

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

◆自己組織化マップ

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

自己組織化マップ

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

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

◆トピックの推定

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

トピックの推定

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

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

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.356-358.
・『島根のむかし話』(島根県小・中学校国語教育研究会/編著, 日本標準, 1976)pp.176-179.
・「夕陽を招く長者 山陰民話語り部シリーズ1」(民話の会「石見」/編, ハーベスト出版, 2013)pp.173-174.
・『日本伝説大系 第11巻 山陰(鳥取・島根)』(野村純一他, みずうみ書房, 1984)pp.198-199.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

« 出雲市以西は負のスパイラル――JR山陰本線の輸送密度 | トップページ | 昔話の計量テキスト分析――岡田の婆 »

昔話」カテゴリの記事