使用对象 javascript 朴素贝叶斯分类器对文本进行分类
classify text with object javascript naive bayes classifier
如果单词在对象 vocab [肯定] 中,我将添加一个 wordInDoc 对象(单词:num),我尝试等于但失败了。为什么?
这是我的代码
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')
这是您正在寻找的解决方案吗?
遍历数组 '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')
如果单词在对象 vocab [肯定] 中,我将添加一个 wordInDoc 对象(单词:num),我尝试等于但失败了。为什么?
这是我的代码
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')
这是您正在寻找的解决方案吗?
遍历数组 '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')