« iPod touchの販売が在庫限りで終了 | トップページ | UGREEN 急速充電器 65W 4ポート(USB-C×3、USB-A×1)をAmazonタイムセールで買いました »

2022年5月19日 (木)

「小説家になろう 第10回 ネット小説大賞」の一次選考通過作品のタイトルで共起ネットワーク図を作る手順

私事ですが、現在、選考が行われている「小説家になろう 第10回 ネット小説大賞」の一次選考に、以下の一作品が通過いたしました。

宇宙からやって来た技術武官とスマホ好き幽霊の王都事件簿

これ、第9回でも一次選考を通過した作品。今回で二度目。ということは、二次選考は……

と、それはともかく、実は一次選考した作品

 第10回ネット小説大賞:一次選考通過作品発表! | TOPICS | ネット小説大賞

のタイトルを眺めていたら、なんとなく分析したくなりました。

で、KHCoderを使い、その画像をTwitterに上げてみたところ、プチバズしまして。

かなりの方がご興味を惹かれたようです。

ならばと、その手順を残してみようかと思った次第です。

例えばアンケート分析などにも応用できるため、ぜひご覧ください。

まず、上の一次選考のタイトルを取得し、csvファイルにします。

私はブラウザ上のタイトルをマウスでぐるっと選択し、

Cgcon10_03

それをExcelに張り付けました。

Cgcon10_05

保存する前に、1行目にラベル名を入れます。ここでは「title」「name」としておきました。

(作者名は使わないので、ここを一列にしてもらってもいいです)

Cgcon10_06

この状態で、csvファイルとして保存。

さて、ここで分析用ソフトを入手します。

KHCoderというソフトを、以下から入手します。

 KH Coder: 計量テキスト分析・テキストマイニングのためのフリーソフトウェア

フリーソフトながら、なかなか強力なテキストマイニングツールです。

ここの「KH Coder 3 ダウンロード 」をクリックし、ダウンロードします。

で、得られたExeファイルをダブルクリックすると、以下のような窓が開くので、

Cgcon10_07

「Unzip」をクリックします。

Cgcon10_08

こんなアイコンが、デスクトップ上にできているはずです。

Cgcon10_09

このアイコンをダブルクリックし、開いたフォルダ内の「kh_coder.exe」をダブルクリック。

Cgcon10_10

こんなのが現れます。

Cgcon10_11

では、先ほどのcsvファイルを開きます。「プロジェクト」の「新規」をクリックすると、

Cgcon10_12

こんな画面が開くので、「参照」でファイルを選ぶか、ファイルを直接ドラッグ&ドロップします。

Cgcon10_12a

「分析対象とする列」が「title」になっていることを確認し、「OK」をクリック。

Cgcon10_13

こんな窓が開くので、「前処理」の中の「前処理の実行」をクリックします。

Cgcon10_14

これは、CPUのシングルコア性能によりけりですが、まあまあ時間がかかります。

Cgcon10_15

前処理が終わったら、「抽出語」‐「抽出語リスト」を選択。

Cgcon10_16

中で使われている単語が出てきます。

が、ここでちょっと、おかしな単語が。

「x{301c}」という変な単語があります。おそらく、ブラウザ上のテキストをコピペした際に入り込んだ文字コードだと思われます。

これは無意味な単語なので、消しておきたいですね。

また、トップに「世界」があります。

が、「異世界」がない。

日本語という言語は、英語などと違い、単語間にスペースが入っておりません。このため、分析するためにまず単語同士を区切らなければなりません。これが、前処理で行っている作業の一つです。これを「分かち書き」と言います。

この分かち書きは、辞書を使って行われるんですが、標準辞書には「異世界」という言葉がないようです。このため「異」「世界」とわけられてしまいます。

他にも「悪役令嬢」もないため、「悪役」「令嬢」に分かれます。

これらをただすために、以下の操作を実行。

Cgcon10_17

「前処理」‐「語の取捨選択」を選びます。

Cgcon10_18

こんな画面が開くので、先ほどの「異世界」や「悪役令嬢」といった、ひと塊にしたい単語を「force pick up」に、消したい単語を「force ignore」のところに入れます。

Cgcon10_19

こんな具合。

できたら、OKをクリックし、再び前処理を実行。

Cgcon10_20

目論見通り、「異世界」という単語が出てきました。全部で151個あるようです。

Cgcon10_22

さて、いよいよ分析ですが、その前にこのリストをざっと200位くらいまで眺めます。

なんとなく私は、170位、頻度9までの単語を表示しようと決めました。

Cgcon10_21

その後に、「ツール」‐「抽出語」‐「共起ネットワーク」を選択します。

Cgcon10_23

こんな窓が現れますが、ここで「最小出現数」を9、「上位」のところを170としておきます。

「プロットサイズ」を960としておくのをお勧めします。

Cgcon10_24

で、OKをクリックすると、御覧の通り、共起ネットワーク図が出てきます。

「共起」とは、すなわち単語同士の関連の強さを表すもので、関連のある単語同士が線で結ばれてます。

ある程度のクラスタリングも行われており、同じクラスタと思われる者同士が同じ色に塗られてます。

ざっと眺めてみると、なるほどよく見かける単語が多いのが分かります。最も大きいのは「異世界」で、共起度の高い単語に「転生」「召喚」「モブ」などがあることが分かりますね。

あと「勇者」「追放」や「悪役令嬢」「婚約」も共起度の高い単語同士であると分かります。

つまり一次選考を通過した作品には、そういうタイトルが多いということです。

もっとも、この傾向を反映したタイトルの作品が一次選考を通過しやすいかどうかは、また別の問題でしょうが。

なお、Twitterに載せた画像とはちょっと違うと思われますが、これは単語の並び方や色付けが毎回ランダムで行われていること、あと抽出する単語の条件や前処理が、この間とはちょっと異なるためです。

これでほぼ目的は達成されますが、もうちょっとだけ補足。

このネットワーク上の単語をクリックすると、

Cgcon10_25

こんなものが現れます(「勇者」をクリックした例)。

その単語を持つタイトルが、ずらずらっと現れます。

これをさらにダブルクリックすると、そのタイトルと、作者名が出てきます。

Cgcon10_26

こんな具合に、より詳細を確認することができます。

Cgcon10_27

もう少し、共起ネットワーク図の単語を絞り込みたいと思う場合は、まず「抽出語」‐「関連語検索」を選択し、

Cgcon10_28

例えば「追放」を検索し、その下にある「共起ネット」をクリックします。

Cgcon10_30

すると、「追放」に関するワードのみで共起ネットワーク図が形成されます。

なお、上の図はこのネットワーク図の下にある「調整」というボタンをクリックし、上位を200まで上げた際の結果図です。

とまあ、こんな具合にこのKHCoderは、膨大な文章データの傾向分析や可視化を行うことができる便利なツールです。

私は会社で、よくアンケート分析に使用しております。

できれば一次選考を通過した作品名の横にカテゴリーもあると、より面白い分析ができたんですけどねぇ。

なお、小説そのものを分析したこともあります。

「砲撃手の妻は呪術師(シャーマン)」をKH Coderの「共起ネットワーク」で分析してみた: EeePCの軌跡 

句読点で改行させるなどの事前処理が必要となりますが、小説の癖や傾向を見ることができて、これもなかなか面白いです。

アンケート分析や、自分の小説の分析など、使い道いろいろな分析ツールです。


動かして学ぶ! はじめてのテキストマイニング: フリー・ソフトウェアを用いた自由記述の計量テキスト分析 KH Coder オフィシャルブック II (KH Coder OFFICIAL BOOK 2)

« iPod touchの販売が在庫限りで終了 | トップページ | UGREEN 急速充電器 65W 4ポート(USB-C×3、USB-A×1)をAmazonタイムセールで買いました »

数値解析系」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« iPod touchの販売が在庫限りで終了 | トップページ | UGREEN 急速充電器 65W 4ポート(USB-C×3、USB-A×1)をAmazonタイムセールで買いました »