translation今回の記事は、p5.jsとnumjsを使って自然言語処理のコサイン類似度を試したいと思います。numjs.もちろん、P5はJavascriptで作られているので、P5内でJavascriptそのものが使えます。基本P5で書いていきますが、P5では難しい文字列処理等はJavascriptでそのまま書いていきます。page.概要Summary簡単な概要です。ML.js等のライブラリを使わずにできるだけ1から自然言語処理の仕組みを理解することです。ML.js.機械学習用のライブラリを使えば簡単に事は進みますが、少しでも細かくその仕組みを知っておけば、色々なことに応用できると思います。things.今回はこの記事で簡単に説明したコサイン類似度を使って、単語の類似度を調べるスクリプトを作りたいと思います。Similarityコサイン類似度を計算する式は以下の通り。follows.コサイン類似度とは、簡単に言うと、2つのベクトルが完全に同じ方向を向いていれば「1」、逆向きであれば「-1」という数字を計算します。direction.より直感的に理解するためには、下に示した図の通り、単語をベクトルとして表現した場合の矢印の方向が、コサイン類似度を表している。similarity.では計算式をp5に直してみます。ny);}Number.EPSILONはゼロ除算を防ぐためのとても小さい数です。0.0000000001)HTMLファイルにJSのパスを追加してくだちぃ。<title>Document</title></head><body></body></html>試しに使ってみましょう。49%これぐらい少ない語彙なら、共起行列を見ればある程度直感的にどの単語が似ているか判断できます。similar.dとeはベクトルのパターンが似ていますね。同じパターンのベクトルなら類似度はほぼ100%になります。(current)102。