馬の頭の走り書き

書いているケモノ小説(BL含む)のこと。あるいは、たまに読書日記とかプログラミングとか。

小説解析ツール nan

作りました。 nanといいます。 使える方は使ってやってください。

ノベルチェッカー 簡易版をいい加減に再現したものです。

なお、現在性能上の問題により1万字の小説で2秒くらい待たされ(Ubuntu 64bit)ます。 Windows 7(64bit)で、3万文字が一分以上かかるそうです。 すごく重いです

なんぞや

テキストファイルの文字数とか、地の文/台詞比とか、文章の決まりに則っているかを調べてくれるツールです。

つまり……

こんなテキストファイル (yodaka.txt)

 よだかは、実にみにくい鳥です。
 顔は、ところどころ、味噌(みそ)をつけたようにまだらで、くちばしは、ひらたくて、耳までさけています。
 足は、まるでよぼよぼで、一間(いっけん)とも歩けません。
 ほかの鳥は、もう、よだかの顔を見ただけでも、いやになってしまうという工合(ぐあい)でした。
 たとえば、ひばりも、あまり美しい鳥ではありませんが、よだかよりは、ずっと上だと思っていましたので、夕方など、よだかにあうと、さもさもいやそうに、しんねりと目をつぶりながら、首をそっ方(ぽ)へ向けるのでした。もっとちいさなおしゃべりの鳥などは、いつでもよだかのまっこうから悪口をしました。
「ヘン。又(また)出て来たね。まあ、あのざまをごらん。ほんとうに、鳥の仲間のつらよごしだよ。」
「ね、まあ、あのくちのおおきいことさ。きっと、かえるの親類か何かなんだよ。」
 こんな調子です。おお、よだかでないただのたかならば、こんな生(なま)はんかのちいさい鳥は、もう名前を聞いただけでも、ぶるぶるふるえて、顔色を変えて、からだをちぢめて、木の葉のかげにでもかくれたでしょう。ところが夜だかは、ほんとうは鷹(たか)の兄弟でも親類でもありませんでした。かえって、よだかは、あの美しいかわせみや、鳥の中の宝石のような蜂(はち)すずめの兄さんでした。蜂すずめは花の蜜(みつ)をたべ、かわせみはお魚を食べ、夜だかは羽虫をとってたべるのでした。それによだかには、するどい爪(つめ)もするどいくちばしもありませんでしたから、どんなに弱い鳥でも、よだかをこわがる筈(はず)はなかったのです。

を用意して$ nan yodaka.txtコマンドラインで叩くと

nan - novel analyzer 0.1

;; reulst
; info
papers: 1.85
chars: 673
lines: 9
n/w: 592/81
kj/h/k/o: 74/505/2/92

; warn
line-head-indent: 0
close-paren: 2
!?blank: 0
ellipsis: 0
dash: 0

……というふうに小説を解析して情報とか問題点とか出力してくれるツールです。

つかいかた

使い方です。 基本的な使い方は、コマンド名の後ろにファイル名を続けるだけです。

$ nan yodaka.txt

もし問題のあった箇所に何が書いてあったのかを見たい場合、d オプションを使い前後の文字を表示させることができます。

$ nan -d yodaka.txt

その他のオプションは、解析結果を別のプログラムで利用する場合とかに使えますが、小難しいのでマニュアル読んでね (2014-07-21現在未記載)。

結果の見方

セミコロン「;」で始まっていない行が解析結果です。

  • papers

400字詰め原稿用紙 (20x20) 換算の原稿用紙枚数です。 行の途中で改行が入ってもちゃんと適当に計算します。

  • chars

総文字数です。

  • lines

総行数です。 (なんだか1行数字が多いような……)

  • n/w

地の文/台詞の文字数です。 地の文が n で、台詞が w です。
d オプションで地の文/台詞の割合をパーセントで追加表示します。 割合は n/w\%: と表示されます。

  • kj/h/k/o

文中の各文字種 (漢字/ひらがな/カタカナ/その他文字) の文字数です。 漢字が kj、ひらがなが h、カタカナが k、その他文字が o です。
d オプションで文字種の割合をパーセントで追加表示します。 割合は kj/h/k/o\%: と表示されます。

  • line-head-indent

文中で冒頭字下げがされていない (行頭に全角スペースがない) 箇所の個数です。
d オプションで問題のあった箇所の前後 15 文字を追加表示します。

  • close-paren

閉じ括弧の後ろに句読点が置かれている箇所の個数です。 サンプルの文章の台詞のような書き方をすると引っかかります。
(僕が宮澤賢治方式が嫌いなわけではありません)
d オプションで問題のあった箇所の前後 15 文字を追加表示します。

  • !?blank

感嘆符「!」や疑問符「?」の直後に全角スペースがついていない箇所の個数です。
d オプションで問題のあった箇所の前後 15 文字を追加表示します。

  • ellipsis

三点リーダ「…」が二連続で使われていない箇所の個数です。
d オプションで問題のあった箇所の前後 15 文字を追加表示します。

  • dash

ダッシュ「―」が二連続で使われていない箇所の個数です。
d オプションで問題のあった箇所の前後 15 文字を追加表示します。

インストール

例によってWindows向けのバイナリを用意しましたので、展開するだけ。 ダウンロードページnan_win32.zipからどうぞ。