从分类器获取标签/短语连接的字典



我正在使用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);

最新更新