使用Apache Open NLP和node的最佳方式是什么。js?
具体来说,我想使用名称实体提取应用编程接口。下面是关于它的说明——留档很糟糕(我认为是新项目):
http://opennlp.apache.org/documentation/manual/opennlp.html#tools.namefind
来自文档:
要在生产系统中使用名称查找器,强烈建议将其直接嵌入到应用程序中,而不是使用命令行界面。首先,名称查找器模型必须从磁盘或其他源加载到内存中。在下面的示例中,它是从磁盘加载的。
InputStream modelIn = new FileInputStream("en-ner-person.bin");
try {
TokenNameFinderModel model = new TokenNameFinderModel(modelIn);
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if (modelIn != null) {
try {
modelIn.close();
}
catch (IOException e) {
}
}
}
模型加载失败的原因有很多:
底层I/O的问题
该模型的版本与OpenNLP版本不兼容
该模型加载到了错误的组件中,例如,标记器模型加载了TokenNameFindModel类。
由于其他原因,模型内容无效
加载模型后,可以实例化NameFinderME。
NameFinderME nameFinder = new NameFinderME(model);
初始化现已完成,可以使用Name Finder。NameFinderME类不是线程安全的,它必须只能从一个线程调用。要使用多个线程,可以创建多个共享相同模型实例的NameFinderME实例。输入文本应分段为文档、句子和标记。要执行实体检测,应用程序为文档中的每个句子调用查找方法。在每个文档清除后,必须调用AdaptiveData以清除特征生成器中的自适应数据。不调用clearAdaptiveData会导致几个文档后检测率急剧下降。以下代码说明:
for (String document[][] : documents) {
for (String[] sentence : document) {
Span nameSpans[] = find(sentence);
// do something with the names
}
nameFinder.clearAdaptiveData()
}
the following snippet shows a call to find
String sentence = new String[]{
"Pierre",
"Vinken",
"is",
"61",
"years"
"old",
"."
};
Span nameSpans[] = nameFinder.find(sentence);
nameSpans数组现在只包含一个跨度,它标记了Pierre Vinken的名字。开始偏移和结束偏移之间的元素是名称标记。在这种情况下,开始偏移为0,结束偏移为2。Span对象还知道实体的类型。在这种情况下,它的人(由模型定义)。可以通过调用Span来检索它。getType()。除了统计名称查找器,OpenNLP还提供了字典和正则表达式名称查找器实现。
检查这个NodeJS库。
https://github.com/mbejda/Node-OpenNLP
https://www.npmjs.com/package/opennlp
只是做NPM安装opennlp
看看Github上的例子。
var nameFinder = new openNLP().nameFinder;
nameFinder.find(sentence, function(err, results) {
console.log(results)
});
如何使用node.js(后端)禁用Azure应用程序Insights中的采样
问题内容: —我构建了一个简单的应用程序,该应用程序从Redis数据库中提取数据(50个项目)并将其扔到localhost。我做了一个ApacheBench(c = 100,n = 50000),并且在1.73GHz(我的6岁笔记本电脑)的双核T2080上获得了半不错的150个请求/秒,但是proc的使用非常令人失望显示: 仅使用了一个内核,这是按照Node中的设计进行的,但是我认为,如果我可以使
问题内容: 如何调试Node.js服务器应用程序? 现在,我主要使用带有以下打印语句的 警报调试 : 必须有更好的调试方法。我知道GoogleChrome浏览器有一个命令行调试器。该调试器也可用于Node.js吗? 问题答案: 节点检查器可以节省一天!从支持WebSocket的任何浏览器中使用它。断点,事件探查器,实时编码等,这真的很棒。 通过以下方式安装: 然后运行:
问题内容: 我想从我的node.js应用程序ping服务器。 那可行吗? 谢谢 问题答案: 您可以用来调用系统ping命令
问题内容: 在Debian服务器上,我安装了Node.js。我了解如何使用以下命令行从腻子启动应用程序: 并通过地址(IP和端口)访问它。 但是,一旦我关闭腻子,那我就无法到达地址了。 如何使Node.js应用程序永久运行? 如您所料,我是Linux和Node.js的初学者。 问题答案: 尽管其他答案解决了OP的问题,但它们都是过大的,不能解释为什么他或她遇到此问题。 关键是这一行,“我关闭油灰,
问题内容: 我有一个Swing应用程序,我希望将其从意大利面条转换为对Guice使用依赖项注入。使用Guice提供诸如配置和任务队列之类的服务的过程非常好,但是我现在是从应用程序的GUI开始的,不确定如何进行。 该应用程序基本上是,在中带有一堆标签。每个选项卡都是一个单独的子类,该子类列出了各种组件,并且需要服务才能在按下某些按钮时执行操作。 在当前应用程序中,这看起来像这样: 显然,这并不完全遵