介绍
LUIS,全称 Language Understanding Intelligent Service,是 Azure 平台上的一个自然语言处理服务。luis-node-sdk 是一个 Node.js 的 npm 包,它提供了 LUIS 的 Node.js 版本的 SDK,可以帮助 JavaScript 开发者更加方便地与 LUIS 进行交互。
本文将为您介绍如何使用 luis-node-sdk 来连接 LUIS,以及如何使用其进行自然语言解析。
安装
首先,你需要在本地安装 Node.js,可以从官网下载对应的版本。安装完成后,可以在命令行窗口里输入以下命令来检查当前 Node.js 的版本:
node -v
接下来,你可以使用 npm 命令来安装 luis-node-sdk:
npm install luis-node-sdk
安装完成后,即可在你的项目中引入这个库:
const Luis = require('luis-node-sdk');
使用
连接 LUIS
在使用 luis-node-sdk 之前,你需要首先创建一个 LUIS 应用,并获得一个对应的应用程序密钥(LUIS subscription key)。
创建 LUIS 应用需要一个 Azure 账号,你可以通过链接来了解如何创建。
在你得到应用程序密钥之后,可以使用以下代码来连接 LUIS:
const options = { region: 'westus', subscriptionKey: 'LUIS_SUBSCRIPTION_KEY' }; const luis = new Luis(options);
将 LUIS_SUBSCRIPTION_KEY
替换为你自己的应用程序密钥。
解析文本
解析文本是 LUIS 的核心能力。luis-node-sdk 提供了以下两个方法来解析文本:
1. 精简版解析器
luis.predict('我要看一本书').then(prediction => { // 此处处理解析结果 }).catch(error => { // 此处处理错误 });
predict
方法接收一个字符串参数,并返回一个 Promise 对象。该方法会将输入字符串发送给 LUIS 精简版解析器。
在 Promise 的 then
方法里,你可以处理解析结果:
console.log(prediction.topIntentName); // 输出意图名称 console.log(JSON.stringify(prediction.entities, null, 2)); // 输出实体列表
2. 完整版解析器
luis.analyze('我要看一本书').then(analysis => { // 此处处理解析结果 }).catch(error => { // 此处处理错误 });
该方法与 predict
方法不同之处在于,它会使用 LUIS 完整版解析器来解析文本,这意味着它会返回更多的解析结果,包括所有的意图和实体。
在 Promise 的 then
方法里,你可以处理解析结果:
console.log(analysis.intents); // 输出意图列表 console.log(JSON.stringify(analysis.entities, null, 2)); // 输出实体列表
管理应用
1. 获取应用程序信息
luis.getApplicationInfo().then(info => { // 此处处理应用程序信息 }).catch(error => { // 此处处理错误 });
该方法会返回 LUIS 应用程序的基本信息,包括应用名称、描述、发布时间等。
在 Promise 的 then
方法里,你可以处理应用程序信息:
console.log(info.name); // 输出应用名称
2. 获取应用程序版本
luis.getApplicationVersion().then(versions => { // 此处处理应用程序版本 }).catch(error => { // 此处处理错误 });
该方法会返回 LUIS 应用程序的所有版本列表。
在 Promise 的 then
方法里,你可以处理版本列表:
console.log(versions); // 输出版本列表
以上是 luis-node-sdk 的基本用法,你可以从 luis-node-sdk 的官方文档中了解更多 API 的详细信息。
示例代码
-- -------------------- ---- ------- ----- ---- - ------------------------- ----- ------- - - ------- --------- ---------------- ----------------------- -- ----- ---- - --- -------------- -------------------------------------- -- - -------------------------------------- ----------------------------------------------- ----- ---- -------------- -- - ------------------- --- ------------------------------------ -- - ------------------------------ --------------------------------------------- ----- ---- -------------- -- - ------------------- --- ----------------------------------- -- - ----------------------- -------------- -- - ------------------- --- ------------------------------------------ -- - ---------------------- -------------- -- - ------------------- ---
以上代码可以帮助你更好地理解 luis-node-sdk 的使用方式。你可以在自己的项目中尝试使用 luis-node-sdk 来连接 LUIS,以便更好地实现自然语言解析功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055adc81e8991b448d881c