{"id":17997,"date":"2017-08-08T15:23:21","date_gmt":"2017-08-08T15:23:21","guid":{"rendered":"http:\/\/developer.kore.ai\/v10-1\/?post_type=docs&#038;p=11745"},"modified":"2022-10-05T06:46:32","modified_gmt":"2022-10-05T05:46:32","slug":"using-an-external-nlp-engine","status":"publish","type":"post","link":"https:\/\/developer.kore.ai\/v10-1\/docs\/bots\/sdks\/using-an-external-nlp-engine\/","title":{"rendered":"Using an External NLP Engine"},"content":{"rendered":"<p><span style=\"font-weight: 400\">While Kore.ai has a state-of-the-art <\/span><a href=\"https:\/\/kore.ai\/platform\/design-and-build\/natural-language-processing\/\"><span style=\"font-weight: 400\">natural language processing<\/span><\/a><span style=\"font-weight: 400\"> engine, you may still want to plugin a third-party or proprietary NLP engine for your enterprise users. Using the Kore.ai BotKit SDK, you can add and configure Kore.ai assistants to run using your choice of NLP engine external to the XO Platform, if desired.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can easily download and modify the Kore.ai BotKit SDK with the <\/span><a href=\"https:\/\/github.com\/Koredotcom\/BotKit\/blob\/master\/exampleWithExternalNLPEngine.js\"><span style=\"font-weight: 400\">exampleWithExternalNLPEngine.js<\/span><\/a><span style=\"font-weight: 400\"> sample from Github. This BotKit SDK sample application can be modified to support NLP engines based on Api.ai or Luis.ai.<\/span><\/p>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Configuration\"><span style=\"font-weight: 400\">Configuration<\/span><\/span><\/h2>\n<p><span style=\"font-weight: 400\">To configure your external NLP engine to work with Kore.ai assistants, you will need to:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Define your assistant in the XO Platform, with a dialog task<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If using Api.ai, then complete recognition training and update the keys in our sample code.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If using Luis.ai, then define the intent and entities for entity extraction, train and update the keys in our sample code.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Install and run a node.js (version 10 or higher) server with <\/span><span style=\"font-weight: 400\">app.js<\/span><span style=\"font-weight: 400\"> file for the BotKit SDK pointing to <\/span><a href=\"https:\/\/github.com\/Koredotcom\/BotKit\/blob\/master\/exampleWithExternalNLPEngine.js\"><span style=\"font-weight: 400\">exampleWithExternalNLPEngine.js<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">In the XO Platform, define the <\/span><strong>SDK Configuration<\/strong><span style=\"font-weight: 400\"> section for your assistant to point to the application server with the BotKit SDK running used to intercept user and assistant messages for NLP processing.<\/span><\/li>\n<\/ul>\n<div class=\"w-separator size_small with_line width_default thick_1 style_solid color_border align_center\"><div class=\"w-separator-h\"><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>While Kore.ai has a state-of-the-art natural language processing engine, you may still want to plugin a third-party or proprietary NLP engine for your enterprise users. Using the Kore.ai BotKit SDK, you can add and configure Kore.ai assistants to run using your choice of NLP engine external to the XO Platform, if desired. You can easily&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-17997","post","type-post","status-publish","format-standard","hentry","category-sdks"],"_links":{"self":[{"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/posts\/17997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/comments?post=17997"}],"version-history":[{"count":6,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/posts\/17997\/revisions"}],"predecessor-version":[{"id":48142,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/posts\/17997\/revisions\/48142"}],"wp:attachment":[{"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/media?parent=17997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/categories?post=17997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.kore.ai\/v10-1\/wp-json\/wp\/v2\/tags?post=17997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}