« 2026年5月 | トップページ

2026年6月

2026年6月 6日 (土)

昔話の計量テキスト分析――嫁と姑

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_027_yometoshutome.xlsx

ダウンロード - ca_027_codingrules.txt

ダウンロード - ca_027_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 なくなる

*仲

*嫁

*前

*後

*中日
中日
*喧嘩
喧嘩
*彼岸
彼岸
*針

*知る
知る
*見る
見る
*殺す
殺す
*蝉

*壺

*田

*蛙

*食べる
食べる
*後悔
後悔
*医者
医者
*薬

*男

*つける
つける
*参る
参る
*竹藪
竹藪
*鬼

*面

*お経
お経
*法話
法話
*取れる
取れる
*落ちる
落ちる
*暮らす
暮らす


◆共起ネットワーク

・[ツール]→[コーディング]→[共起ネットワーク]でオプション画面が表示される。
・[コーディング単位]を[H5]に設定する。

※[描画する共起関係(edge)の選択]で「係数」を「0.2」から「0.3」に修正する。
※[強い共起関係ほど濃い線に]にチェックを入れる。

Jaccard係数が0.3以上はかなり強い共起関係にあることを示しているが、分析対象となる元データの文字数が少ないため係数が高めに出てしまう傾向にあるため、こうしている。

※Jaccard係数は共起関係(※ある言葉に続いて出てくる関係)の強さを表し 0≦係数≦1 の範囲の値をとる。

【Jaccard係数】
・0.1 →関連あり
・0.2 →強い関連あり
・0.3以上 →とても強い関連あり
※ただし、あくまで目安であって絶対ではない。

共起ネットワーク

ざっと確認したところ、共通するキーワードが中央のサブグラフ(バブルが島状に集まった一塊)に表示され、類話毎に異なるキーワードが上下のサブグラフに表示される形となっている。

※なお、各バブル間の距離や配置に意味はない。

◆対応分析

・[ツール]→[コーディング]→[対応分析]でオプション画面が表示される。
・[コーディング単位]を[H5]に設定する。

※[外部変数]は[タイトル]のまま続行。
※[差異が顕著なコードを分析に使用]で上位「50」とした。また[バブルプロット]にチェックを入れている。これらは文字の重なりを極力避けるためである。
※文字が重なって読みづらい場合、オプション画面の[コード選択]で不要なコードのチェックを外してもよい。

対応分析

x、y軸上の原点(0.0)から点線が伸び交差した箇所が原点となる。原点から離れるほど特徴的なキーワードだと分析される。

原点直下には「嫁」「姑」といったキーワードがプロットされている。近くには「彼岸」では「ひがん」「ひいがん」「中日」、「蛙壺」では「おはぎ」「蛙」「壺」といったキーワードがプロットされている。離れた位置にプロットされているのは「みんみん蝉」より「蝉」「針」「みん」、「肉付きの面」より「鬼」「面」「落ちる」、「嫁と姑」では「毒」「医者」「薬」といった辺りである。

◆解釈

嫁と姑の不仲にまつわる類話である。和解する話が多いものの、「みんみん蝉」の様に嫁を責め殺してしまう話もある。

◆階層的クラスター分析

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

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

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

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

◆クロス集計

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

クロス集計

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

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

マップとして描画したところ、「蛙」「食べる」「医者」「薬」といったキーワードの残差が大きく(濃く)表示される結果となった。バブルとしては「姑」「嫁」が大きく描画された。

◆KWICコンコーダンス

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

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

◆関連語検索

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

関連語検索

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

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

関連語検索

◆属性の転倒

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

N 抽出語 品詞 全体 共起 Jaccard
1 言う 動詞  16 (0.302)  4 (0.333) 0.1667
2 知る 動詞  2 (0.038)  2 (0.167) 0.1667
3 名詞C  5 (0.094)  2 (0.167) 0.1333
4 つかみ合う 動詞  1 (0.019)  1 (0.083) 0.0833
5 安心 サ変名詞  1 (0.019)  1 (0.083) 0.0833
6 会う 動詞  1 (0.019)  1 (0.083) 0.0833
7 怪しむ 動詞  1 (0.019)  1 (0.083) 0.0833
8 懇ろ 形容動詞  1 (0.019)  1 (0.083) 0.0833
9 取れる 動詞  1 (0.019)  1 (0.083) 0.0833
10 蹴る 動詞  1 (0.019)  1 (0.083) 0.0833

・「ぬ」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 恥ずかしい 形容詞  2 (0.038)  2 (0.500) 0.5
2 名詞C  1 (0.019)  1 (0.250) 0.25
3 会う 動詞  1 (0.019)  1 (0.250) 0.25
4 怪しむ 動詞  1 (0.019)  1 (0.250) 0.25
5 勘弁 サ変名詞  1 (0.019)  1 (0.250) 0.25
6 起き上がれる 動詞  1 (0.019)  1 (0.250) 0.25
7 名詞C  1 (0.019)  1 (0.250) 0.25
8 名詞C  1 (0.019)  1 (0.250) 0.25
9 垂れる 動詞  1 (0.019)  1 (0.250) 0.25
10 断る 動詞  1 (0.019)  1 (0.250) 0.25

不仲な嫁と姑が色々あった挙げ句に和解する……といった粗筋となっている。

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

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

・[和尚|嫁姑:不仲/仲裁]
・[姑|嫁:殺す/蝉]
・[嫁|壺:おはぎ/蛙]
・[医者|嫁:毒/薬]
・[姑|面:外れない/外れる]

こういった風にお話を転がしていると分析できる。全般的に嫁と姑は「不仲/和解」と転倒する。

※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。

※関連語検索、強制抽出語を設定しないと狙い通りに処理されないケースが見られる。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

嫁と姑が和解するきっかけとなるくだりに関するキーワードを指定したところ、「毒」「殺す」が離れた位置にプロットされた。

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

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]は[文]で固定。

自己組織化マップ

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

※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

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

トピックの推定

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

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

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.71-72, 212, 213-214, 386, 460.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

2026年6月 5日 (金)

昔話の計量テキスト分析――木こり

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_026_kikori.xlsx

ダウンロード - ca_026_codingrules.txt

ダウンロード - ca_026_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 なくなる

*山

*木挽き
木挽き
*小屋
小屋
*晩

*死ぬ
死ぬ
*死人
死人
*倒れる
倒れる
*男

*仲間
仲間
*変な
変な
*狸

*仕事
仕事
*鼻

*血

*かわす
かわす
*氏神
氏神
*つく
つく
*助かる
助かる
*暮れ
暮れ
*年

*女

*ぼた餅
ぼた餅
*茄子
茄子
*主

*堤

*祠

*負ける
負ける
*返す
返す
*喉

*声

*かすれる
かすれる
*息

*きれる
きれる


◆共起ネットワーク

・[ツール]→[コーディング]→[共起ネットワーク]でオプション画面が表示される。
・[コーディング単位]を[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コンコーダンスでキーワード指定すれば指定したキーワードがどのような文脈で用いられているか一覧で抽出される。

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

◆関連語検索

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

関連語検索

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

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

関連語検索

◆属性の転倒

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

N 抽出語 品詞 全体 共起 Jaccard
1 帰る 動詞  13 (0.155)  6 (0.250) 0.1935
2 思う 動詞  10 (0.119)  5 (0.208) 0.1724
3 名詞C  12 (0.143)  5 (0.208) 0.1613
4 待つ 動詞  5 (0.060)  4 (0.167) 0.16
5 言う 動詞  9 (0.107)  4 (0.167) 0.1379
6 蝶々 名詞  3 (0.036)  3 (0.125) 0.125
7 名詞C  5 (0.060)  3 (0.125) 0.1154
8 死ぬ 動詞  7 (0.083)  3 (0.125) 0.1071
9 呼ぶ 動詞  10 (0.119)  3 (0.125) 0.0968
10 仲間 名詞  2 (0.024)  2 (0.083) 0.0833

・「ぬ」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 恐ろしい 形容詞  1 (0.012)  1 (1.000) 1
2 振り回す 動詞  1 (0.012)  1 (1.000) 1
3 逃げ出す 動詞  1 (0.012)  1 (1.000) 1
4 切る 動詞  2 (0.024)  1 (1.000) 0.5
5 名詞C  3 (0.036)  1 (1.000) 0.3333
6 蝶々 名詞  3 (0.036)  1 (1.000) 0.3333
7 持つ 動詞  4 (0.048)  1 (1.000) 0.25
8 思う 動詞  10 (0.119)  1 (1.000) 0.1
9 名詞C  19 (0.226)  1 (1.000) 0.0526

馬鹿なため言われた通りにしか実行できず失敗を繰り返す……といった粗筋となっている。

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

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

・[狸|死人:起きる/倒れる]
・[蝶|木挽き:生/死]
・[氏神|木挽き:女/堤の主]
・[木挽き|連れ:呼び子/連れ]

こういった風にお話を転がしていると分析できる。木こりは氏神によって「女/堤の主」と転倒して正体が明かされる。氏神について帰ることが「生/死」と転倒する危機から免れる結末となっている。

※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。

※関連語検索、強制抽出語を設定しないと狙い通りに処理されないケースが見られる。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

山小屋で独り番をしていたところ怪異に遭遇するくだりに関するキーワードを指定したところ、「氏神」が離れた位置にプロットされた。

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

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]は[文]で固定。

自己組織化マップ

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

※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

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

トピックの推定

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

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

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.302-303, 389-390, 391-393, 452-453.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

2026年6月 4日 (木)

昔話の計量テキスト分析――馬鹿息子

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_025_bakamusuko.xlsx

ダウンロード - ca_025_codingrules.txt

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

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

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

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

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

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

◆あらすじ

・「天の釣舟」(未来社『石見の民話』)
馬鹿な息子がいた。兄だったが跡取りにできそうもないので百両渡されてお前はこれで利口を買ってこいと追い出された。息子は大金を貰ったのでうれしくてたまらない。毎日利口を買わせてくださいといって歩いた。ある日ばくち打ちのいるところに通りかかった。ひとつ騙して取ってやろうとなって、ばくち打ちは短冊に「天の釣舟」と書いて渡し、息子から百両貰った。息子はこれが利口だと喜んであっちこっち歩いていると日が暮れてしまった。見るとそこに大きな家があった。宿を貸してもらうと思って縁側に寝ることになった。息子は縁側に寝てみたが、どうも眠れないので障子の穴から覗いてみると、きれいなお姫様が机に向かって一生懸命何か書いていた。夜遅くまで何をしているのかと思ったのでなおも覗いていたが、その内に眠ってしまって、障子に頭をぶつけてしまった。お姫様は「とんとん鳴る沖のとなかの音は」と歌を詠んだ。息子は今日買った短冊のことを思い出して「天の釣舟」と答えた。お姫様は感心して、誰だろうとなった。両親が起こされてそのうち家に使われている人も皆起きた。探してみると、宿を借りている小丁稚であることが分かった。お姫様はこれはただのお方ではない。この家の若旦那として差し支えない。早く祝言をしてくださいと言った。お姫様は歌の師匠でたくさんの弟子がいたが、呆れたのは一の弟子、二の弟子で、何だ夕べの夜這いがと忌々しがったが仕方がない。すぐに祝言があげられた。ある日一の弟子が若旦那の前に進み出て一つ歌の題を出してくださいと言った。若旦那は小便に行くと待たせて思案した。考えていると便所の前に白い藁もく(藁くず)がふわりふわりとしていた、早速帰って「白いもくあり黒いもくあり」と題を出した。さすがの一の弟子もさっぱり分からない。お姫様はお前は一の弟子でありながら分からぬか「雀が門に巣をかけて 白いもくあり黒いもくあり」と答えた。今度は二の弟子が自分にも題を出してくれと言った。若旦那は今度も題が分からないのでしばらく考えていたが、さっき便所に行ったとき、上履きが上の段に片つら下の段に片つらあったことを思い出して、「上の片かた下に片かた」と出した。二の弟子もさっぱり分からないので困っていると、お姫様は「月も日も水鏡でみるならば 上の片かた下に片かた」と答えた。今度は三番目の弟子が申し出た。若旦那はいよいよ題がないので小便に行った。すると小便がぼたりぽたりと落ちたので「頭ぶるぶる雫ぽたぽた」と題を出した。三番目の弟子もさっぱり分からない。お姫様は「鷺が水田にこりをして 頭ぶるぶる雫ぽたぽた」と詠んだ。一の弟子も二の弟子も三の弟子もみな失敗したので、それからは若旦那とあがめるようになった。


・「ひとつおぼえ」(未来社『石見の民話』)
昔あるところにお母さんと馬鹿な息子がいた。魚売りが来たのでお母さんが魚を買ってあぶって息子に猫の番をしていろと言って出かけていった。すると、猫が来たので見ていると、猫は魚をくわえて逃げた。お母さんが帰ってみると魚が無いので訊くと、息子は魚は猫がくわえて逃げたと言った。お母さんはそんな時には追うものだと言って聞かせた。それから芋虫を見に行けと言われたので息子は畑へ行って芋虫としい、しいと追ったが逃げないので帰ってきてお母さんに話した。お母さんはそんな時には叩いて落とすものだと言って聞かせた。ある日息子がお宮へ参ってみると爺さんの頭に蠅がとまっていたので叩き落とした。すると爺さんは怒って叩き返した。息子は泣いて帰ってお母さんに話した。お母さんはそんな時には団扇であおぐものだと言って聞かせた。息子はある日町へ出てみると火事があったので団扇で扇いだ。すると火はだんだん激しく燃えだしたので町の人に叱られた。泣く泣く家へ帰ってお母さんに話すと、そんなときには水をかけるものだと言って聞かせた。息子はまたある日町へ出てみると鍛冶屋がふいごで火をおこしていたので水をかけた。鍛冶屋は腹をたててゲンコツを喰らわせた。息子は帰ってそのことを話すとお母さんはそんな時にはてご(手伝い)をしてあげるものだと言って聞かせた。次の日息子が町へ出てみると、おっちゃんたちが二人で喧嘩しているので、息子は片方のおっちゃんを殴った。するとおっちゃんが腹をたててゲンコツを喰らわしたので、また泣いて帰って話すと、お母さんはそんな時には仲裁するものだと言って聞かせた。またある日息子が町へ出ると犬が喧嘩しているので中へ入って仲裁すると犬は食らいついてきたので息子はわんわん泣きながら帰った。馬鹿は幾ら言って聞かせても仕方がない。


・「茶栗柿ふ」(未来社『石見の民話』)
馬鹿な息子がいた。母親が遊んでばかりでいたらいけない。少しは商いをして戻れやと言った。息子は商いとはどんなことかと訊いたので母親は何か売って戻ることだと答えた。どんなものを売りに行くと息子が訊くと、母親は茶やら栗やら柿やらふやら売って戻るんだと答えた。それから息子は茶、柿、栗、ふをこしらえてもらって「茶栗柿ふ、茶栗柿ふ」と言って歩いたが誰も買ってくれなかった。晩になって戻って、やれ、しんどいと息子が言った。多少は売れたかと母親が訊くと、いっそ売れん。誰も買ってくれんと息子が答えたので母親はどういう風に言ったと訊いた。茶栗柿ふ、茶栗柿ふと言ったと息子が答えたので、それではいけない。茶栗柿ふじゃなんのことか分からないから、そういう風には言わずに茶は茶で別に、栗は栗で別に言わないといけないと言った。息子はそれから「茶は茶で別、栗は栗で別、柿は柿で別、ふはふで別」と言って歩いた。いっこも買い手がなくて晩になって戻った。多少は売れたかと母親が訊いたので全然売れないと息子が答えた。どう言ったのだと母親が訊くと「茶は茶で別、栗は栗で別、柿は柿で別、ふはふで別」と息子は言った。それではいけない。茶は茶で別々に、栗は栗で別々に、柿は柿で別々に、ふはふで別々に言わないとと答えた。息子は明くる日に「茶は茶で別々、栗は栗で別々、柿は柿で別々、ふはふで別々」と言った歩いた。とうとういっこも売れなかった。馬鹿な息子というものはなんぼ言っても訳が分からない。


・「法事の使い」(未来社『石見の民話』)
あるところに馬鹿な息子と父親がいた。あるとき父親が、今年は死んだ母親の三年になるから、法事をしなければならない。お前、ご苦労だが、お寺へ行って和尚さんに頼んでこいと息子に言った。息子は、うん、それは行こうと言った。それでも、自分は和尚さんというものを知らないが、一体どんな着物を着ていなさるかと言うので、いつも黒い衣を着ているから、黒い着物を着ている人に頼めば間違いないと父親は言った。息子はどんどん行くと、木の上に真っ黒いものがいた。そこで、その下へ行って、和尚さん、うちの母の三年の法事をするから、ご苦労だが来てくれないかと言ったら、カー、カーと言って飛んでいった。息子は帰って父親に今頼んできたからと言った。和尚さんはどう言いなさったと父親が訊くと、自分がよく頼んだら、カーカー言って逃げなさったと息子が答えた。お前、それは和尚さんではない、烏だと父親は言った。もういっぺん行ってこい。和尚さんは下へもっていって白い着物を着て、上へもっていって黒い衣を着ているから、今度はそれを目当てに行ってこいと父親は言った。息子はまたどんどん行くと、今度は田んぼの中に下に白いものを着て上に黒いものを着たものがいた。それで側へ行って、和尚さん、今度うちの母の三年の法事をするから、ご苦労だが来てくれないかと言ったらシイガラ、トウガラといって飛んでいった。息子は帰って、よく頼んでおいたからと言った。和尚さんはどう言ったと父親が訊くと、シイガラ、トウガラと言って逃げてしまったと息子が答えた。まあ、この子は。それは四十雀という鳥だから、何でもない。それではお前はうちで留守番をしておれ、自分が頼みに行ってくるからと言って、今度は父親がお寺へ行った。父親は帰って、これで和尚さんは来てやると言いなさったから、お経を読んでもらったら、何かご馳走しなければならない。うちではこうして女手もなくて何もないから、二階に柿がこしらえてあるから、あれを下ろしてご馳走しよう。お前、てご(手伝い)をせよと息子に言った。そこで父親は二階へ上がって、息子は真下へ行って待っていた。今、はんどう(水瓶)を下ろすから、お前、けつをよく持っておれよと言って父親ははんどうへ付けた柿を上から除いた。息子は自分のけつを一生懸命押さえていた。お前、けつを持ったかと父親が言った。かとう(固く)持ってるから世話はない、下ろしなさいと息子は言った。そこで父親は安心して手を離したので、はんどうは落ちて壊れてしまった。まあ、お前、何をしているかと言うと、けつを持っておれと言うんだから、自分は固くけつを持っていたと言った。


◆コーディングルール

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

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

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

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

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

※「できる」「やる」「られる」「せる」といった動詞も共通のコードとして追加してみた。

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

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


*息子
息子 or '小丁稚'
*大金
大金 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)から点線が伸び交差した箇所が原点となる。原点から離れるほど特徴的なキーワードだと分析される。

原点直下にはキーワードがプロットされていない。近くには「息子」「ない」といったキーワードがプロットされている。離れた位置にプロットされているのは「天の釣舟」では「短冊」「お姫様」「小便」、「ひとつおぼえ」では「ゲンコツ」「泣く」「聞く」、「法事の使い」では「法事」「はんどう」「和尚」といった辺りである。

◆解釈

馬鹿な息子にまつわる類話である。言われた通りにしか解釈できない実行できない様が繰り返される。「ひとつおぼえ」の息子には可愛らしさすら感じる。

◆階層的クラスター分析

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

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

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

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

◆クロス集計

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

クロス集計

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

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

マップとして描画したところ、「茶」「栗」「柿」といったキーワードの残差が大きく(濃く)表示される結果となった。バブルとしては「息子」「母親」が大きく描画された。

◆KWICコンコーダンス

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

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

◆関連語検索

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

関連語検索

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

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

関連語検索

◆属性の転倒

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

N 抽出語 品詞 全体 共起 Jaccard
1 言う 動詞  42 (0.400)  13 (0.419) 0.2167
2 分かる 動詞  8 (0.076)  6 (0.194) 0.1818
3 和尚 名詞  9 (0.086)  5 (0.161) 0.1429
4 名詞C  10 (0.095)  5 (0.161) 0.1389
5 お姫様 名詞  8 (0.076)  4 (0.129) 0.1143
6 名詞C  8 (0.076)  4 (0.129) 0.1143
7 名詞C  8 (0.076)  4 (0.129) 0.1143
8 弟子 名詞  9 (0.086)  4 (0.129) 0.1111
9 答える 動詞  11 (0.105)  4 (0.129) 0.1053
10 法事 名詞  3 (0.029)  3 (0.097) 0.0968

・「ぬ」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 名詞C  1 (0.010)  1 (0.500) 0.5
2 名詞C  1 (0.010)  1 (0.500) 0.5
3 別に 副詞  1 (0.010)  1 (0.500) 0.5
4 名詞C  1 (0.010)  1 (0.500) 0.5
5 名詞C  2 (0.019)  1 (0.500) 0.3333
6 分かる 動詞  8 (0.076)  2 (1.000) 0.25
7 白い 形容詞  4 (0.038)  1 (0.500) 0.2
8 黒い 形容詞  5 (0.048)  1 (0.500) 0.1667
9 お姫様 名詞  8 (0.076)  1 (0.500) 0.1111
10 名詞C  8 (0.076)  1 (0.500) 0.1111

馬鹿なため言われた通りにしか実行できず失敗を繰り返す……といった粗筋となっている。

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

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

・[息子|ばくち打ち:百両/短冊]
・[息子|弟子:小便/お題]
・[母親|息子:聞かせる/聞いたまま]
・[母親|息子:聞かせる/聞いたまま]
・[父親|息子:聞かせる/聞いたまま]


こういった風にお話を転がしていると分析できる。息子はばくち打ちに騙され「百両/短冊」と転倒してしまうが、短冊に書かれた歌によって姫に認められ「小丁稚/若旦那」と立場が転倒する。

※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。

※関連語検索、強制抽出語を設定しないと狙い通りに処理されないケースが見られる。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

息子と母親、父親との関係に関するくだりに関するキーワードを指定したところ、「馬鹿」「ない」が離れた位置にプロットされた。

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

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]は[文]で固定。

自己組織化マップ

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

※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

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

トピックの推定

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

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

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.144-148, 199-201, 217-218, 428-430.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

2026年6月 2日 (火)

地元からのアクセス

アクセス解析をみていて「???」と思う。同窓生が読んでる可能性は頭からすっぽり抜け落ちていた。

|

昔話の計量テキスト分析――馬鹿婿

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_024_bakamuko.xlsx

ダウンロード - ca_024_codingrules.txt

ダウンロード - ca_024_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 わるい

*馬鹿
馬鹿
*聟

*爺さん
爺さん
*馬

*噛みつく
噛みつく
*仏壇
仏壇
*そうめん
そうめん
*ご馳走
ご馳走
*鼻

*手打ち
手打ち
*半殺し
半殺し
*屏風
屏風
*蚊帳
蚊帳
*庇

*離縁
離縁
*団子
団子
*美味い
美味い
*こしらえる
こしらえる
*押問答
押問答
*叩く
叩く
*こぶ
こぶ
*無茶
無茶


◆共起ネットワーク

・[ツール]→[コーディング]→[共起ネットワーク]でオプション画面が表示される。
・[コーディング単位]を[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コンコーダンスでキーワード指定すれば指定したキーワードがどのような文脈で用いられているか一覧で抽出される。

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

◆関連語検索

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

関連語検索

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

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

関連語検索

◆属性の転倒

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

N 抽出語 品詞 全体 共起 Jaccard
1 分かる 動詞  6 (0.111)  6 (0.400) 0.4
2 言う 動詞  19 (0.352)  8 (0.533) 0.3077
3 名詞C  23 (0.426)  7 (0.467) 0.2258
4 嫁さん 名詞  8 (0.148)  4 (0.267) 0.2105
5 噛みつく 動詞  3 (0.056)  3 (0.200) 0.2
6 高い 形容詞  3 (0.056)  3 (0.200) 0.2
7 不足 サ変名詞  3 (0.056)  3 (0.200) 0.2
8 入る 動詞  4 (0.074)  3 (0.200) 0.1875
9 半殺し 名詞  6 (0.111)  3 (0.200) 0.1667
10 何やら 副詞  2 (0.037)  2 (0.133) 0.1333

・「ぬ」の結果上位一覧

N 抽出語 品詞 全体 共起 Jaccard
1 噛みつく 動詞  3 (0.056)  3 (0.500) 0.5
2 高い 形容詞  3 (0.056)  3 (0.500) 0.5
3 不足 サ変名詞  3 (0.056)  3 (0.500) 0.5
4 今朝 副詞可能  2 (0.037)  2 (0.333) 0.3333
5 寝る 動詞  3 (0.056)  2 (0.333) 0.2857
6 蚊帳 名詞  6 (0.111)  2 (0.333) 0.2
7 半殺し 名詞  6 (0.111)  2 (0.333) 0.2
8 屏風 名詞  7 (0.130)  2 (0.333) 0.1818
9 思う 動詞  8 (0.148)  2 (0.333) 0.1667
10 違う 動詞  1 (0.019)  1 (0.167) 0.1667

まんざらでもないと思ったところ、やはり馬鹿だった……といった粗筋となっている。

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

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

・[爺さん|聟:まんざらでもない/馬鹿]
・[嫁|聟:優しい/離縁]
・[聟|嫁:団子/うんとこしょ]

こういった風にお話を転がしていると分析できる。聟は溝を跳び越えた際に「団子/うんとこしょ」と転倒を起こしてしまう。それで女房と押し問答となるが、「こぶ/団子」と再転倒する結果となる。

※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。

※関連語検索、強制抽出語を設定しないと狙い通りに処理されないケースが見られる。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

聟が団子を嫁に作ってもらおうとするくだりに関するキーワードを指定したところ、「押し問答」が離れた位置にプロットされた。

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

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]は[文]で固定。

自己組織化マップ

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

※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

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

トピックの推定

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

Ca_024_ter_doc_bakamuko

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.197-198, 289-291, 412-413.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

2026年6月 1日 (月)

昔話の計量テキスト分析――古猫

◆はじめに

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

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

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

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

◆ファイル

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

ダウンロード - ca_023_furuneko.xlsx

ダウンロード - ca_023_codingrules.txt

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

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

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

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

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

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

◆あらすじ

・「化け猫」(未来社『石見の民話』)
昔ある所で若者たちが大勢集まって踊っていると、そこへ見たこともない姉さんが来て皆と一緒に踊った。踊りが済んでそれぞれ家へ帰るとき、姉さんに興味を抱いた一人の若者があとから姉さんの跡をついていった。すると、姉さんは近所のお寺へ入り、ニャンと啼いた。若者はそれを聞くと真っ青になって帰った。明くる日若者はお寺へ行って和尚さんにそのことを話した。お寺には和尚さんが可愛がっている古い猫がいた。和尚さんは若者が帰ると猫を呼んで出ていってくれと言った。猫は出ていけというなら出ていく。自分がいると参詣人も少ないだろうから、これまで長いこと可愛がっていただいた恩返しに参詣人が沢山来るようにしてあげると言った。そして何時何日にどこどこの婆さんが死ぬから葬式の時に自分が火車になって死人を棺から出して空へ吊り上げる。よその坊さんが来てお経をあげると死人は上へあがるが、和尚さんが経をあげると死人は下がって棺へ収まるようにすると言った。猫が言ったその日になるとその婆さんは死んだ。そして葬式をしていると結縁の時に空が曇って火車が来て死人を掴んで空に吊り上げた。葬式に来ていた坊さんは一生懸命お経を読んだが、死人は空に吊されたままだんだん上へ上がっていく。それで近所の寺の和尚さんを呼んでお経をあげてもらうと死人はだんだん下りて来て棺へ収まり、無事に葬式が済んだ。それから和尚さんの評判が高くなって参詣人がどんどん来るようになった。そして猫はいつの間にかいなくなった。


・「猫やだけし」(未来社『石見の民話』)
昔、たいへん身上のよい家があった。その家は旦那さんと奥さんが痩せ猫を一匹飼っていた。旦那さんはその猫をとても可愛がっていたが、奥さんは猫が嫌いで何かといえばいじめていた。ある日、奥さんが魚を買っておいたところ、猫がそれを見つけて取って食べた。それを見た奥さんは傍にあった庖丁を投げつけた。庖丁は猫の目に当たったので猫は鳴きながら逃げた。旦那さんは魚は昔から猫の好くものだから、しまっておかないと猫が喰うと言った。猫はそのままどこへ行ったものか、とうとう帰ってこなかった。それから何日か経って、旦那さんは旅に出かけた。途中道に迷って山の中へ入ったが、その内とうとう日が暮れてしまった。家がないので困ってとぼとぼ行く内に向こうに火が見えてきたので喜んで行ってみると一軒の家があった。そこで道に迷った旨伝えて泊めてくれるよう頼むと、中から白髪のお爺さんとお婆さんが出てきて快く泊めてくれた。奥の一間で寝ていると、夜中頃になって人がぞろぞろ集まってきた。そして口々に今晩はお客さんがあるそうで結構でございますと挨拶するので旦那さんは気味が悪くなってきた。すると障子が開いて、一番しまいにやってきた手拭いを被った女の人が入ってきて旦那さんの顔をじっと見ていた。その内にだんだん夜が更けて皆寝てしまった。すると手拭いを被っていた女が旦那さんと言って小さな声で旦那さんを揺り起こした。目を覚ますと、私は旦那さんに小さい時から可愛がって頂いた猫です。ここは猫やだけしと言って猫の家です。今皆があなたを食べる相談をしているところですから一時も早く逃げて下さい。ここから家まで八里ほどありますが、私が連れて出てあげます。私の背中に負われてくださいと言った。旦那さんは驚いて猫の背中に負われた。猫は一生懸命に走って、ようやく家の近くまで来た。そして、ここからはすぐ家ですからお帰り下さい。私は帰ると他の猫から殺されますからこの松の木へ登って死にますと言った。旦那さんはどうもありがとうと言って別れて家へ帰った。そして明くる朝早く松の木の下へ行ってみると猫が木から落ちて死んでいた。よく見ると片目が潰れていたので旦那さんのところにいた猫だと分かった。


・「岡田の婆」(未来社『石見の民話』)
猟師が山へ猟に行って日が暮れた。それで夜の明けるのを待とうと思って木の上へ登っていた。すると夜中になって猫が沢山やってきた。一匹の猫が木の下へしゃがんで木に抱きついた。次の猫はその猫の背中から肩車(びんぶく)をした。それから次々に猫が肩車をして木へ登って猟師の足を捕まえようとしたが、ちょっと届かない。その猫は、自分は帰って岡田の婆さんを連れてくると言って、ばらっと崩れ落ちて皆いなくなった。猟師が岡田のばばあと言っていたが、あそこにおるばばあは猫かしらんと思っていると、大きな猫が来て、他の猫も木の下に集まった。それから前の様にして木へ登ってきて、一番終いに後から来た大きな猫があがってきた。そして猟師の足を捕まえたので、猟師はすぐ腰へ差している鉈を抜いて手を切った。猫は悲鳴をあげて下へ落ちると、どこへともなくいなくなった。夜が明けると猟師は木から下りてきて、岡田のばばあちゅうのは前から居るが、猫だったのかしらんと思って岡田の家へ行って隙間から見ると婆さんが手の傷を舐めて(ねぶって)いる。それで、これは本当に猫じゃなかろうかと思って隙間から鉄砲で撃ち殺してしまった。その家の人は大騒ぎを始めた。近所の人も来て大騒動になった。これは猫の化物だから撃ったのだ。こうしておくと、そのうち正体を現して猫になると言って、猟師は婆さんの足を縛って庭の上に下げておいた。二日ぶりに猟師が行ってみると、やはり婆さんである。三日ぶりに行ってみると、大きな古猫になっていた。それで猟師には何のこともなかった。戸へ背をすりつけるか、柱へ背をすりつけて通る猫は飼ってもよいが、部屋の真ん中を通る様になると踊りを踊る様になる。そうなると化けるから置いてはいけないと言う。


◆コーディングルール

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

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

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

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

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

※「できる」「やる」「られる」「せる」といった動詞も共通のコードとして追加してみた。

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

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


*婆さん
婆さん 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)から点線が伸び交差した箇所が原点となる。原点から離れるほど特徴的なキーワードだと分析される。

原点直下には「ない」「いる」といったキーワードがプロットされている。離れた位置にプロットされているのは「化け猫」では「姉さん」「葬式」「火車」、「猫やだけし」では「奥さん」「潰れる」「女」、「岡田の婆」では「猟師」「肩車」「鉈」といった辺りである。

◆解釈

年を経た猫が化物へと変化するお話である。「化け猫」では火車という強欲な者の死体を食う妖怪へと変化している。「猫やだけし」は猫の家という異界に紛れ込む話となっている。「岡田の婆」は千疋狼の類話でもある。

◆階層的クラスター分析

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

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

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

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

◆クロス集計

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

クロス集計

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

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

マップとして描画したところ、「和尚」「古い」「死人」「棺」「猟師」「木」といったキーワードの残差が大きく(濃く)表示される結果となった。バブルとしては「猫」が大きく描画された。

◆KWICコンコーダンス

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

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

◆関連語検索

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

関連語検索

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

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

関連語検索

◆属性の転倒

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

N 抽出語 品詞 全体 共起 Jaccard
1 名詞C  32 (0.471)  7 (0.636) 0.1944
2 副詞可能  3 (0.044)  2 (0.182) 0.1667
3 言う 動詞  14 (0.206)  3 (0.273) 0.1364
4 行う 動詞  6 (0.088)  2 (0.182) 0.1333
5 帰る 動詞  8 (0.118)  2 (0.182) 0.1176
6 猟師 名詞  8 (0.118)  2 (0.182) 0.1176
7 いつの間にか 副詞  1 (0.015)  1 (0.091) 0.0909
8 一軒 名詞  1 (0.015)  1 (0.091) 0.0909
9 一緒 サ変名詞  1 (0.015)  1 (0.091) 0.0909
10 名詞C  1 (0.015)  1 (0.091) 0.0909

年を経た猫が人に化けて人を救ったり襲ったり……といった粗筋となっている。

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

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

・[和尚|猫:追放/火車]
・[猫|旦那:危機/脱出]
・[猟師|猫:婆/古猫]

こういった風にお話を転がしていると分析できる。猟師は猫たちの襲撃から逃れた後で訪れた家でそこの婆さんの正体を見破り「婆/古猫」と転倒させる。

※なお、図式化には分析対象のテキストに含まれない語句も用いているので要注意。

※関連語検索、強制抽出語を設定しないと狙い通りに処理されないケースが見られる。

◆類似度行列

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

類似度行列

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

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

◆多次元尺度構成法

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

多次元尺度構成法

旦那が猫やだけしに迷い込むくだりに関するキーワードを指定したところ、「殺す」が離れた位置にプロットされた。

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

◆自己組織化マップ

・[ツール]→[コーディング]→[自己組織化マップ]でオプション画面が表示される。
・[コーディング単位]は[文]で固定。

自己組織化マップ

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

※クラスター化の計算を繰り返すため処理に時間がかかるので要注意。
※クラスターの配置、距離に意味はない。

◆トピックの推定

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

トピックの推定

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

トピックの推定

◆ベイズ学習による分類

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

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

ベイズ学習による分類

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

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

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

◆参考文献

・『日本の民話 34 石見篇』(大庭良美/編, 未来社, 1978)pp.210-211, 294-296, 431-432.
・『動かして学ぶ!はじめてのテキストマイニング』(樋口耕一, ナカニシヤ出版, 2022)
・『社会調査のための計量テキスト分析 【第2版】 内容分析の継承と発展を目指して』(樋口耕一, ナカニシヤ出版, 2020)

|

« 2026年5月 | トップページ