このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

【JS】フロントでレコメンドアルゴリズムを簡単実装できるJavaScriptライブラリ「RecommendJS」を公開しました。

JavaScript

2016.05.30

この記事は最終更新日から1年以上が経過しています。

main_logo

どもです。

世界的に有名なレコメンドアルゴリズムと言えば、Amazonのこんな感じでオススメの商品が出てくるアルゴリズムかと思います。

スクリーンショット 2016-05-30 2.00.48

今回の「RecommendJS」は、

こんな、オススメの商品などをレコメンドする機能を、フロントのみで簡単に実装できるJavaScriptライブラリとなります。

何はともあれ、デモページでも見て頂ければと思います mm

RecommendJS

デモページ

http://webcyou.com/recommend_js/demo/

GitHub

https://github.com/webcyou/RecommendJS

スクリーンショット 2016-05-29 21.22.34

例えば、こんな感じで、ゲームの評価をユーザーがつけます。

3つ表示しますので、全て評価を付け、「決定」ボタンを押すと、

スクリーンショット 2016-05-29 21.22.17

この様に、「まだ評価のないゲーム」と「類似性の高いユーザー」が表示します。

まだ評価のないゲーム」は、あなたが付けるであろう評価の点数となります。

類似性の高いユーザー」のスコアは「ピアソン相関係数」のスコアとなります。

ユーザーの評価を元にレコメンドを行う「ユーザーベース協調フィルタリング」を行っております。

 

使い方も簡単で、

この形式のJSONデータであれば、ユーザーに紐ずけられたIDを渡すことによって、

各ユーザーの「まだ評価のないゲーム」と「類似性の高いユーザー」が得ることができます。

JSONデータ

{
  "user_list": [{
    "id": 1,
    "name": "サンプルユーザー1",
    "item_list": [{
      "id": 1,
      "name": "ドラゴンクエスト",
      "score": 8
    },
    {
      "id": 2,
      "name": "スーパーマリオ",
      "score": 10
    }]
  }
}

類似性の高いユーザーを取得

global.Recommend.getTopMatch(userId);

評価のないアイテムをレコメンド

global.Recommend.getRecommend(userId);

と、簡単にデータを取得できます。

 

今回のこちらデモでは、20人のユーザーが、ランダムに点数の評価を行っております。

ユーザーの評価対象となるゲームもランダム表示としております。

 

商品など、アイテムをレコメンドしたいけど、わざわざサーバーサイドで作るのはなぁ。。

とか言った時、この「RecommendJS」を使えばフロントエンドのみで簡単に実装を行うことができます。

と、すごいシンプルで申し訳なのですがw

よろしければ、使って頂ければとー。

(アプリ作ろうと思っていたのですが、週末これで時間を使ってしまった orz)

ではでは。

 

RecommendJS

デモページ

http://webcyou.com/recommend_js/demo/

GitHub

https://github.com/webcyou/RecommendJS

スクリーンショット 2016-05-30 2.39.04

Comment

Related Article

Vue.js + SSR (Universal JavaScript)環境を、「NUXT.js」でサクッと構築する方法。

2017.10.09

フロントエンド開発が捗る JSON Serverについて

2017.07.10

技術書、参考書のしおりには【BOOK DARTS】がオススメ!

2017.07.01

会社で npm Private導入して、1ヶ月で8個ほどパッケージ作成したお話。

2017.06.02

Vue.js が予想以上に良かったので、既存WordPressに導入。Vue.js (vue-class-component) + TypeScript + WordPress で作る、記事読み込み component 「実装編」

2017.03.26

Vue.js が予想以上に良かったので、既存WordPressに導入。Vue.js (vue-class-component) + TypeScript + WordPress で作る、記事読み込み component 「環境構築編」

2017.02.21

Facebook製 JavaScript 関数ライブラリ。Immutable.js がいい感じ!

2016.07.31

【JS】フロントでレコメンドアルゴリズムを簡単実装できるJavaScriptライブラリ「RecommendJS」を公開しました。

2016.05.30

JavaScript ビット演算・ビットマスクについてまとめてみました。

2016.03.15

マテリアルデザイン対応!タッチ、クリックでエフェクト。RippleEffectJSを公開しました!

2016.02.01

CATEGORY LIST

LATEST NEWS

iPhoneXで、ubuntuを動かす。

サーバー

2018.06.09

仮想通貨(暗号通貨)の作り方 その2 (Gethの使い方)

暗号通貨、ブロックチェーン

2018.05.20

$PAC (パックコイン)Macでマスターノードを建てる方法

暗号通貨、ブロックチェーン

2018.05.14

ついに「ウェブ帳」リニューアルしましたぁ!!!(PC 版)

イベント

2018.05.07

Raspberry Pi 3 Model B+ 2018 ニューモデルを購入!!

RaspberryPi

2018.04.23

仮想通貨(暗号通貨)の作り方 その1

暗号通貨、ブロックチェーン

2018.04.09

iPad Proで開発を行いたい。

iPad

2018.03.29

CPU使用しすぎて、Conohaからサーバーシャットダウンされた件。

tool

2018.03.28

春の大掃除。VHSに続いて、カセットテープもデジタル化!microSD保存 MP3変換プレーヤーを使ってみた。

tool

2018.03.27

Macで、VHSダビング I-O DATA ビデオキャプチャー 「アナレコ」を使ってみた。

tool

2018.03.27

ご報告

イベント

2018.02.02

明けましておめでとうございます。(遅め

イベント

2018.01.16

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US