
23.3
ユーザベース協調フィルタリング
■
355
ユーザ
1
ならば、すでに次の分野には興味を持っています。
["NoSQL", "MongoDB", "Cassandra", "HBase", "Postgres"]
したがってお勧めは、次のようになります。
[('Python', 4), ('R', 4), ('Java', 3), ('regression', 3), ('statistics', 3)]
ユーザ
3
は、すでに多くの興味を持っているので、お勧めは次のようになります。
[('Java', 3), ('HBase', 3), ('Big Data', 3),
('neural networks', 2), ('Hadoop', 2)]
「誰もが
Python
に興味を持っているので、あなたもきっと
Python
に興味を持つで
しょう」は、あまり説得力があるとは言えません。ユーザがデータサイエンス・スター
の新規ユーザであり、我々がそのことを全く知らないのであれば、それが最善なのか
もしれません。個々のユーザの興味に従って、より良いお勧めを出すために何ができ
るかを、考えてみましょう。
23.3
ユーザベース協調フィルタリング
ユーザの興味を掴む方法の
1
つは、まず着目するユーザと似た傾向を持つユーザ群
を探し、それらユーザ群の興味を提示することです。
そのためにユーザ傾向の類似性を測る方法が必要となります。ここでは「21章 自
然言語処理」で
2
つのワードベクトルの類似度を測定するのに使用したコサイン ...