2017-05-03 27 views
0

単語がオブジェクトvocab [positive]にある場合、wordInDocオブジェクト(word:num)を追加します。どうして?テキストをオブジェクトjavascriptで分類するnaive bayesクラシファイア

が、これは私のコード

var nbayes = function(_class, docs) { 
 
    var vocab = { 
 
    positif: { 
 
     wd: ['baik', 'pintar'] 
 
    }, 
 
    negatif: { 
 
     wd: ['buruk', 'jelek'] 
 
    } 
 
    } 
 
    var wordInDoc = {} 
 
    var sumDocs = 0; 
 
    docs = docs.split(' ') 
 
    var wd = 'wd' 
 
    for (var word of docs) { 
 
    if (word in vocab[_class][wd]) { 
 
     var delta = 1 
 
     wordInDoc[word] = 0 
 
     wordInDoc[word] += delta 
 
     sumDocs++ 
 
    } 
 
    console.log(wordInDoc, sumDocs) 
 
    } 
 

 
}; 
 

 
nbayes('positif', 'baik dan rajin') 
 
nbayes('negatif', 'nakal dan bodoh')

答えて

0

これは、あなたが探していたソリューションですか?

'docs'の配列をループし、 'vocab [_class] [wd]'で一致するインデックスを確認します。

存在しないクラス'_class 'については、他のバリデーションを行う必要があります。

var nbayes = function(_class, docs) { 
 
    var wordInDoc = {}; 
 
    var sumDocs = 0; 
 
    var wd = 'wd'; 
 
    var word; 
 
    var vocab = { 
 
    positif: { 
 
     wd: ['baik', 'pintar'] 
 
    }, 
 
    negatif: { 
 
     wd: ['buruk', 'jelek'] 
 
    } 
 
    } 
 
    
 
    docs = docs.split(' '); 
 
    
 
    for (var i = 0;i < docs.length; i++) { 
 
    word = docs[i]; 
 
    if (vocab[_class] && vocab[_class][wd].indexOf(word) !== -1) { 
 
     var delta = 1; 
 
     wordInDoc[word] = 0; 
 
     wordInDoc[word] += delta; 
 
     sumDocs++; 
 
    } 
 
    console.log(wordInDoc, sumDocs) 
 
    } 
 

 
}; 
 

 
nbayes('positif', 'baik dan rajin') 
 
nbayes('negatif', 'nakal dan bodoh')

+0

ソリューションのおかげで男を –

関連する問題