日本語文の単語カウント

■ 概要

 日本語の文章は、文法的に単語に分割できますが、本機能は、各単語の出現回数を集計して、 その多い順に、レポートウィンドウに表示します。 例えば、夏目漱石の「坊っちゃん」の全文に、本機能を適用すると、 次のような集計結果が表示されます。

  914  する            動詞(自立)
  472  おれ            名詞(代名詞,一般)
  454  云う            動詞(自立)
  264  ない            形容詞(自立)
  246  なる            動詞(自立)
  233  ある            動詞(自立)
  193  思う            動詞(自立)
  178  赤              名詞(一般)
  173  一              名詞(数)
  170  シャツ          名詞(一般)
  155  山嵐            名詞(一般)
  148  君              名詞(代名詞,一般)
  147  出る            動詞(自立)
  145  お              接頭詞(名詞接続)
  144  見る            動詞(自立)
  136  この            連体詞
  136  何              名詞(代名詞,一般)
  128  行く            動詞(自立)
  121  二              名詞(数)
  118  れる            動詞(接尾)
       :
       :

ここで、各行の書式は、
  <出現回数> <単語の終止形> <単語の種類(詳細品詞)>
となっています。

 活用のある単語は、その終止形(基本形)で集計されます。 助詞、助動詞等の非自立語や、句読点、空白、括弧等の記号類は、カウントされません。 英単語は、カウントされますが、名詞の複数形や動詞の変化形などへの配慮はなく、 とにかくスペルが異なれば、別の単語として扱われます。

 なお、本機能は、将来において「執筆支援」や「文章解析」機能を実現するための 前段階的なものであって、現状ではあまり実用に供するものではない(わざわざ ヘルプで取り上げるほどのものではない)かもしれませんが、 あしからずご了承ください。

■本機能の実行方法

 本機能は、JWordCount.mc というスクリプトで実現しています。 このスクリプトは、初期環境では、ツールボックス内 の「日本語文の単語カウント」という項目に、割り当てられています。 この項目の実行で、次のどれかのテキストを対象にして、日本語文の単語カウントが 行なわれます。
 (1)現編集テキストの選択範囲のテキスト
 (2)クリップボードのテキスト
 (3)現カーソル行のテキスト

まず、現編集テキスト内に選択範囲があれば、その範囲のテキストが 対象になります。この場合、矩形範囲でも可能です。 一方、選択範囲が無ければ、クリップボードのテキストが対象になります。 もし、クリップボードにテキストが無ければ、現カーソル行のテキストが 対象になります。

 テキストファイルを対象として、本機能を実行するには、 本スクリプトのコマンド引数に、そのファイル名を指定する必要があります。 その場合、「スクリプトの実行」ダイアログボックスから実行するか、 ツールボックスに、 それが行なえる項目を追加することになります。 また、それ以外でもいろいろな方法で行なえます。

 なお、本スクリプトの実行には、MeCab(和布蕪)という形態素解析エンジンが 必要です。これに関しては、最後に説明します。

■コマンド形式

 本スクリプトのコマンド形式は、次のようになっています。

  JWordCount.mc <オプション> <ファイル名> ...
 説明:
■形態素解析エンジン MeCab(和布蕪)

 本エディタでは、日本語の解析が必要な各種のスクリプトで、MeCab(和布蕪)という 形態素解析エンジンを使わせて頂いています。この実行環境を整えるには、次のようにします。

(1)MeCab のホームページから、 MeCab の「Binary package for MS-Windows」(現時点での最新版は、mecab-0.996.exe )をダウンロードしてきます。
(2)それを実行して、MeCab を適当なフォルダー(例えば、D:\Tools\MeCab\ )に インストールします。なお、このインストール中に、文字コードを選択するところがありますが、そこでは、 Shift-JIS コードを選んでください。

 これで準備は完了です。なお、MeCab のインストールには、100 MB 程度のディスク容量が必要です。 ちなみに、このフォルダーには、幾多のファイルがありますが、スクリプトで使うのは、 libmecab.dll というファイルだけです。ただ、このDLLファイルは、その実行時に、 そのフォルダー内のいろいろなファイルを参照しているようなので、単にそのファイルさえあれば よいというものではなさそうです。

 ところで、MeCab のインストール時には、HKEY_LOCAL_MACHINE\Software\MeCab という レジストリーが、作成されるようです。スクリプトで、MeCab にアクセスする際、MeCab が どこにインストールされているかを、知る必要がありますが、現状、このレジストリーを 参照して、その情報を得ています。

 MikoScript のレジストリー関連の組み込み機能は、Ver.1.82 以降で搭載されたので、 それ以前のバージョンで、MeCab にアクセスするには、別の方法が必要です。 レジストリーを参照する現スクリプトでは正常に動作しないので、ご注意ください。