まず、2個のベクトル:a,b の関係:θは、次のように表せます。 ここで、 はaとbの内積なので、2次元のベクトルであれば、 で表せ、また、 はベクトルの大きさなので、 となります。 ※ベクトルの内積や大きさは、更に多次元(n次元)になると、 や これをperlで実装すると、次のように通り。 #!/usr/local/bin/perl use strict; use Data::Dumper; my @VEC_KEYS = qw/hoge fuga foo/; #ベクトルが持つkey main(); sub main { my $vec_1 = {hoge => 1, fuga => 2, foo => 3}; my $vec_2 = {hoge => 3, fuga => 1}; my $cos_similar = cosine_similarity($vec_1,$vec_2); pr