因此,我第一次尝试使用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,但是没有运气。有什么想法吗?
是ES6之前的JS。从异步/等待或基于承诺的意义上讲,它不是异步的。 src但是它是异步的,因为它充满了递归回调。