我正在使用natural
作为节点:
const natural = require('natural');
const classifier = new natural.LogisticRegressionClassifier();
classifier.addDocument('label1', 'phrase1');
classifier.addDocument('label1', 'phrase2');
classifier.addDocument('label2', 'phrase3');
classifier.addDocument('label3', 'phrase4');
classifier.train();
我现在如何获得这样的对象
{
"label1": "phrase1",
"label1": "phrase2",
"label2": "phrase3",
"label3": "phrase4",
}
从classifier
?
我的问题
给定一个实例natural.LogisticRegressionClassifier
如何查看哪些输入标签和短语已添加为文档以创建它?
访问classifier.docs
可为您提供:
[
{ label: 'phrase1', text: [ 'label1' ] },
{ label: 'phrase2', text: [ 'label1' ] },
{ label: 'phrase3', text: [ 'label2' ] },
{ label: 'phrase4', text: [ 'label3' ] }
]
因此,您可以Array.prototype.reduce()
它:
'use strict';
const natural = require('natural');
const classifier = new natural.LogisticRegressionClassifier();
classifier.addDocument('label1', 'phrase1');
classifier.addDocument('label1', 'phrase2');
classifier.addDocument('label2', 'phrase3');
classifier.addDocument('label3', 'phrase4');
const input = classifier.docs.reduce((prev, current) => {
prev[current.text[0]] = current.label;
return prev;
}, {});
console.log(input);