【问题标题】:browserify Wordnet thesaurusbrowserify Wordnet 词库
【发布时间】:2016-09-17 23:49:45
【问题描述】:

我正在为我的 JavaScript Web 应用程序使用同义词库 API (altervista),但我希望能够发出大量同义词请求而不必担心 API 配额等问题。我想在我的网络主机上自行托管同义词库,并且我想在浏览器中通过 JavaScript 发送单词并接收它们的同义词。

作为研究,我尝试了节点,并且在节点内我能够获得这些包的同义词:

natural”和“wordnet-magic

然后我尝试browserify“自然”和“wordnet-magic”节点包。在尝试浏览“自然”时:

"Error: Cannot find module 'lapack'"

“lapack 似乎是一个依赖于原生操作系统的共享库,所以它不能被浏览器化。” https://github.com/moos/wordpos/issues/9

我也没有运气浏览“wordnet-magic”:

"Uncaught TypeError: Cannot read property '_ansicursor' of undefined"

可能相关(因为 sqlite3 在我的 wordnet-magic 包中),此处报告了相同错误但仍未解决的实例:https://github.com/mapbox/node-sqlite3/issues/512

如果在 JavaScript 中不可能的话,我的第二选择是 PHP 解决方案。它不必使用 Browserify 或 Wordnet,但 Wordnet 在浏览器中将是一件了不起的事情。谢谢。

【问题讨论】:

    标签: javascript nlp browserify wordnet thesaurus


    【解决方案1】:

    好的,我可以在浏览器中获取同义词(感谢 Stuart Watt):

    我按照说明在此处设置了一个 javascript wordnet 应用程序: https://github.com/morungos/wordnet

    然后做了

    npm install express

    然后用节点运行这段代码:

    var express = require('express');
    var app = express();
    var WordNet = require('node-wordnet');
    var wordnet = new WordNet();
    app.get('/lookup', function(req, res) {
        wordnet.lookup(req.query.word, function(results) {
            res.send(results);
        });
    });
    app.listen(3000, function() {
        console.log('Example app listening on port 3000!');
    });
    

    然后您可以在浏览器中看到 wordnet,例如 http://localhost:3000/lookup?word=wind

    它是可见的、有效的,要在您的 html 中使用它,请参阅以下答案: https://stackoverflow.com/a/36526208/5350539

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      相关资源
      最近更新 更多