All Downloads are FREE. Search and download functionalities are using the official Maven repository.

assets.js.nearestneighbors.w2v.app.js Maven / Gradle / Ivy

There is a newer version: 1.0.0-beta3
Show newest version
/*
 *
 *  * Copyright 2015 Skymind,Inc.
 *  *
 *  *    Licensed under the Apache License, Version 2.0 (the "License");
 *  *    you may not use this file except in compliance with the License.
 *  *    You may obtain a copy of the License at
 *  *
 *  *        http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  *    Unless required by applicable law or agreed to in writing, software
 *  *    distributed under the License is distributed on an "AS IS" BASIS,
 *  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  *    See the License for the specific language governing permissions and
 *  *    limitations under the License.
 *
 */

/**
 * Created by sonali on 4/29/15.
 */



$(document).ready(function() {
    $('#kform').hide();
    $('#sidebar-wrapper').hide();
    // Add events
    $('#form').fileUpload({success : function(data, textStatus, jqXHR){
        document.getElementById('form').reset();
        $('#form').hide();

        $.ajax({
            url: '/word2vec/vocab',
            type: 'POST',
            data: data,
            cache: false,
            success: function(data, textStatus, jqXHR)
            {
                if(typeof data.error === 'undefined')
                {
                    // Success so call function to process the form
                    console.log('SUCCESS');
                    $(document).ready(function() {
                        $('#kform').show();
                        $('#sidebar-wrapper').show();
                        $("#instructions").hide();
                        var html = '";
                        document.getElementById("sidebar-wrapper").innerHTML = html;
                    });
                    //on click of any word, render the k nearest neighbors
                    $('.word').on('click', function(evt) {
                        var data = $(this).html();
                        var kval = $('#k').val();
                        renderNearestNeighbors(data, kval);
                    })
                }
                else
                {
                    // Handle errors here
                    console.log('ERRORS: ' + data.error);
                }
            },
            error: function(jqXHR, textStatus, errorThrown)
            {
                // Handle errors here
                console.log('ERRORS: ' + textStatus);
            },
            complete: function()
            {
                // STOP LOADING SPINNER
            }
        });
    },error : function(err) {
        console.log(err);
    }});

    function renderNearestNeighbors(word, numWords) {
        $.ajax({
            url: '/word2vec/words',
            type: 'POST',
            contentType : 'application/json',
            data: JSON.stringify({word: word, numWords: numWords}),
            cache: false,
            error: function (query, status, error) {
                                        $.notify({
                                            title: 'No connection!',
                                            message: 'DeepLearning4j UiServer seems to be down!'
                                        },{
                                            type: 'danger',
                                            placement: {
                                                from: "top",
                                                align: "center"
                                                },
                                        });
                                        setTimeout(timed, 10000);
                                    },
            success: function(data, textStatus, jqXHR)
            {
                if(typeof data.error === 'undefined')
                {
                    // Success so call function to process the form
                    console.log('SUCCESS NN');
                    var keys = Object.keys(data);
                    var k = keys.length;
                    var html = '

Target word: ' + word + '


' + k + ' nearest neighbors and their cosine similarity to target word:

\<' + 'ol>'; for (var i = 0; i < k; i++) { var sim = data[keys[i]]; html += '
  • ' + keys[i] + '   [ '+ (sim.toFixed(4))+' ]
  • '; } html += ''; $('#neighbors').html(html); //on click of any LI element, call renderNearestNeighbors (pass in word and 5) } else { // Handle errors here console.log('ERRORS: ' + data.error); } }, complete: function() { // STOP LOADING SPINNER } }); } });




    © 2015 - 2024 Weber Informatics LLC | Privacy Policy