2005年01月25日

chasen

同音で表記の違っているのを探すのに使えないかな。

ということで、1ライナー。

stripsgml < *.sgml ref/*.sgml |LANG=C sed -e 's/[[:print:]]//g'|chasen|awk '{print $1 "\t" $2}'|sort|uniq -c|sort -k 3

stripsgmlの部分はまぁどうでもよいわけだが、要は標準入力→英語モードで英数字記号を除去(日本語と制御文字が残る)→形態素解析→余分なカラムを取る→まず1カラム目(表記)でソート→同じ行をまとめ、カウントも付ける→読みでソート→標準出力に出力という流れ。

結果はこんな感じ(抜粋)。

	    161 与え    アタエ
	      1 与えよ  アタエヨ
	      1 あたえる        アタエル
	     34 与える  アタエル
	      8 あてはまら      アテハマラ
	      1 あてはまり      アテハマリ
	     13 当てはまり      アテハマリ
	      1 当てはまる      アテハマル
	      2 有り得  アリエ
	      1 ありえる        アリエル
	      1 言い換える      イイカエル
	      6 言い替える      イイカエル