kinesis @Wiki
打鍵解析ツール for 親指シフト
最終更新:
匿名ユーザー
-
view
こっちのページで公開している、親指シフト配列群の解析結果を得るために使ったツールを公開します。
解析は以下のような流れになります。
テキストデータ > kakasiによる平仮名化 > rubyスクリプトによる集計 > Excelによる集計と可視化
- Excelのツールは、かなの単体出現頻度及び連続出現頻度を貼り付ければ、グラフまででるようになっています。
- また、かな配列をセル上のマスに定義すると、その場で即時にグラフまで可視化することができるので、新しい配列作りにもお役に立つのではないかと思います w
- Excelの中に入っている頻度データは、作者の作成した文書から無作為抽出した約6,000字のデータが含まれています。 適当に自分で使いたいデータと差し替えてください。
あまり詳しい説明はありませんが興味のある方はどうぞ。
Excelツール
Downlod 新親指打鍵解析EXCEL
MS Excel 2002で確認しています。開くとマクロに関する警告がでると思いますが悪いことはしないので、有効にしてください。
MS Excel 2002で確認しています。開くとマクロに関する警告がでると思いますが悪いことはしないので、有効にしてください。
解析用Rubyスクリプト
#! ruby -Ks
$KCODE = 'SJIS'
#
# かな文字出現数カウントツール
# http://www2.atwiki.jp/kinesis/
#
# USAGE:
# cat source.txt | kakasi -JH -KH | ruby kc.rb >result.txt
kana="あいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつてとだぢづでどなにぬねのはひふへほばびぶべぼぱぴぷぺぽまみむめもやゆよゃゅょらりるれろわをんっヴー、。"
not_kana = Regexp.new("[^" + kana + "]")
count = Hash.new(0)
renzoku = Hash.new(0)
while gets
gsub(/,/, "、")
gsub(/./, "。")
gsub(not_kana, " ")
gsub(/[、。]/, "\\0 ")
last = " "
split(//).each { |x|
count[x] = 1 + count[x].to_i
if last != " " and x != " "
key = last+"\t"+x
renzoku[key] = 1 + renzoku[key];
end
last = x
}
# 文節毎に入力を表示するにはコメントアウト
# gsub(/[、。]/, "\\0 ")
# gsub(/^ +/, "")
# gsub(/ +$/, " ")
# gsub(/ +/, "\r\n")
# print
end
puts "単体出現"
kana.split(//).each { |x|
puts sprintf("%s\t%i", x , count[x])
}
puts
puts "連続出現"
renzoku.keys.each { |x|
puts sprintf("%s\t%i",x, renzoku[x])
}
添付ファイル