wordnet.lookup是异步函数吗?尝试使用wordnet和自然

问题描述 投票:0回答:1
为句子中的每个单词构建同义词数组

因此,我第一次尝试使用wordnet为我正在研究的基于文本的小型冒险游戏项目构建文本识别脚本。现在,我有了这段代码来尝试构建一个对象,该对象由每个单词作为键,以及该单词的每个同义词作为附加到该键的数组组成:

const natural = require('natural');
const wordnet = new natural.WordNet();

let s = "Inspect the room";
function resultCheck(sentence) {
    a = sentence.split(' ');
    let sObj = {};
    a.forEach(word => {
        sObj[word] = [];
        wordnet.lookup(word, function (details) {
            details.forEach(function (detail) {
                sObj[word].push(detail.synonyms);
            });
            sObj[word] = sObj[word].join().split(',');
            console.log(sObj);
        });
    });
    return sObj;
}
let newOb = resultCheck(s);
console.log(newOb);

控制台记录正确构建的同义词数组,但是返回的对象只是具有空数组的键。我尝试了几种方式使用async / await,但是没有运气。有什么想法吗?

javascript nlp wordnet
1个回答
0
投票

是ES6之前的JS。从异步/等待或基于承诺的意义上讲,它不是异步的。 src但是它是异步的,因为它充满了递归回调。

© www.soinside.com 2019 - 2024. All rights reserved.