「小説家になろう 第10回 ネット小説大賞」の一次選考通過作品のタイトルで共起ネットワーク図を作る手順
私事ですが、現在、選考が行われている「小説家になろう 第10回 ネット小説大賞」の一次選考に、以下の一作品が通過いたしました。
これ、第9回でも一次選考を通過した作品。今回で二度目。ということは、二次選考は……
と、それはともかく、実は一次選考した作品
第10回ネット小説大賞:一次選考通過作品発表! | TOPICS | ネット小説大賞
のタイトルを眺めていたら、なんとなく分析したくなりました。
で、KHCoderを使い、その画像をTwitterに上げてみたところ、プチバズしまして。
ネット小説大賞の作品タイトルで、共起ネットワーク作ってみました。使ったソフトはKHCoder、出現数7以上の単語で構成。
— ディープタイピング (@arkouji) May 14, 2022
「異世界」「追放」「令嬢」などのキーワード中心にクラスターができてるのがよく分かります。なお、私のジャンルである「宇宙」は見当たらない模様。 pic.twitter.com/P1gHq8J1ba
かなりの方がご興味を惹かれたようです。
ならばと、その手順を残してみようかと思った次第です。
例えばアンケート分析などにも応用できるため、ぜひご覧ください。
まず、上の一次選考のタイトルを取得し、csvファイルにします。
私はブラウザ上のタイトルをマウスでぐるっと選択し、
それをExcelに張り付けました。
保存する前に、1行目にラベル名を入れます。ここでは「title」「name」としておきました。
(作者名は使わないので、ここを一列にしてもらってもいいです)
この状態で、csvファイルとして保存。
さて、ここで分析用ソフトを入手します。
KHCoderというソフトを、以下から入手します。
KH Coder: 計量テキスト分析・テキストマイニングのためのフリーソフトウェア
フリーソフトながら、なかなか強力なテキストマイニングツールです。
ここの「KH Coder 3 ダウンロード 」をクリックし、ダウンロードします。
で、得られたExeファイルをダブルクリックすると、以下のような窓が開くので、
「Unzip」をクリックします。
こんなアイコンが、デスクトップ上にできているはずです。
このアイコンをダブルクリックし、開いたフォルダ内の「kh_coder.exe」をダブルクリック。
こんなのが現れます。
では、先ほどのcsvファイルを開きます。「プロジェクト」の「新規」をクリックすると、
こんな画面が開くので、「参照」でファイルを選ぶか、ファイルを直接ドラッグ&ドロップします。
「分析対象とする列」が「title」になっていることを確認し、「OK」をクリック。
こんな窓が開くので、「前処理」の中の「前処理の実行」をクリックします。
これは、CPUのシングルコア性能によりけりですが、まあまあ時間がかかります。
前処理が終わったら、「抽出語」‐「抽出語リスト」を選択。
中で使われている単語が出てきます。
が、ここでちょっと、おかしな単語が。
「x{301c}」という変な単語があります。おそらく、ブラウザ上のテキストをコピペした際に入り込んだ文字コードだと思われます。
これは無意味な単語なので、消しておきたいですね。
また、トップに「世界」があります。
が、「異世界」がない。
日本語という言語は、英語などと違い、単語間にスペースが入っておりません。このため、分析するためにまず単語同士を区切らなければなりません。これが、前処理で行っている作業の一つです。これを「分かち書き」と言います。
この分かち書きは、辞書を使って行われるんですが、標準辞書には「異世界」という言葉がないようです。このため「異」「世界」とわけられてしまいます。
他にも「悪役令嬢」もないため、「悪役」「令嬢」に分かれます。
これらをただすために、以下の操作を実行。
「前処理」‐「語の取捨選択」を選びます。
こんな画面が開くので、先ほどの「異世界」や「悪役令嬢」といった、ひと塊にしたい単語を「force pick up」に、消したい単語を「force ignore」のところに入れます。
こんな具合。
できたら、OKをクリックし、再び前処理を実行。
目論見通り、「異世界」という単語が出てきました。全部で151個あるようです。
さて、いよいよ分析ですが、その前にこのリストをざっと200位くらいまで眺めます。
なんとなく私は、170位、頻度9までの単語を表示しようと決めました。
その後に、「ツール」‐「抽出語」‐「共起ネットワーク」を選択します。
こんな窓が現れますが、ここで「最小出現数」を9、「上位」のところを170としておきます。
「プロットサイズ」を960としておくのをお勧めします。
で、OKをクリックすると、御覧の通り、共起ネットワーク図が出てきます。
「共起」とは、すなわち単語同士の関連の強さを表すもので、関連のある単語同士が線で結ばれてます。
ある程度のクラスタリングも行われており、同じクラスタと思われる者同士が同じ色に塗られてます。
ざっと眺めてみると、なるほどよく見かける単語が多いのが分かります。最も大きいのは「異世界」で、共起度の高い単語に「転生」「召喚」「モブ」などがあることが分かりますね。
あと「勇者」「追放」や「悪役令嬢」「婚約」も共起度の高い単語同士であると分かります。
つまり一次選考を通過した作品には、そういうタイトルが多いということです。
もっとも、この傾向を反映したタイトルの作品が一次選考を通過しやすいかどうかは、また別の問題でしょうが。
なお、Twitterに載せた画像とはちょっと違うと思われますが、これは単語の並び方や色付けが毎回ランダムで行われていること、あと抽出する単語の条件や前処理が、この間とはちょっと異なるためです。
これでほぼ目的は達成されますが、もうちょっとだけ補足。
このネットワーク上の単語をクリックすると、
こんなものが現れます(「勇者」をクリックした例)。
その単語を持つタイトルが、ずらずらっと現れます。
これをさらにダブルクリックすると、そのタイトルと、作者名が出てきます。
こんな具合に、より詳細を確認することができます。
もう少し、共起ネットワーク図の単語を絞り込みたいと思う場合は、まず「抽出語」‐「関連語検索」を選択し、
例えば「追放」を検索し、その下にある「共起ネット」をクリックします。
すると、「追放」に関するワードのみで共起ネットワーク図が形成されます。
なお、上の図はこのネットワーク図の下にある「調整」というボタンをクリックし、上位を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タイムセールで買いました »
「数値解析系」カテゴリの記事
- Tanuki-8Bの4ビット量子化ggufモデルでRAGをやってみました(2024.09.14)
- 純日本産なローカルLLM「Tanuki-8B」を試してみた(2024.09.02)
- 東京のセールスフォースに行ってきました(2024.07.24)
- ローカルLLM「Llama-3-ELYZA-JP-8B」にいろいろ聞いてみた(2024.07.01)
- ElyzaのLlama3ベースの言語モデル「Llama-3-ELYZA-JP-8B」のRAGが予想以上に賢かった件(2024.06.27)
« iPod touchの販売が在庫限りで終了 | トップページ | UGREEN 急速充電器 65W 4ポート(USB-C×3、USB-A×1)をAmazonタイムセールで買いました »
コメント