バージョン 3 のドキュメントをお探しの場合は、ここで見つけることができますバージョン 3
「NLP.js」は、nodejs 用の一般的な自然言語ユーティリティです。現在サポートしているもの:
!
バージョン 4 は以前のバージョンとは大きく異なります。このバージョンより前の NLP.js はモノリシック ライブラリでした。大きな変更点:
normalize -> tokenize -> removeStopwords -> stem -> arrToObj
hear
とsay
を持つものとして理解されます。含まれるコネクタの例: コンソール コネクタ、Microsoft Bot Framework コネクタ、および Direct Line Offline コネクタ (これにより、Microsoft Webchat を使用して Web チャットボットを構築できますが、Azure に何もデプロイする必要はありません)。Node アプリケーションで NLP.js を使用したい場合は、次のように NPM 経由でインストールできます。
npm install node-nlp
React Native で動作する NLP.js のバージョンがあるため、インターネットがなくてもモバイル上でトレーニングおよび実行できるチャットボットを構築できます。 NPM 経由でインストールできます。
npm install node-nlp-rn
いくつかの制限:
素晴らしい使用例がフォルダー/examples/02-qna-classic
にあります。この例では、ボットをトレーニングしてモデルをファイルに保存できるため、ボットが再度開始されると、再度トレーニングされるのではなく、モデルが読み込まれます。
数行で NLP を最初から構築できます。
const { NlpManager } = require ( 'node-nlp' ) ;
const manager = new NlpManager ( { languages : [ 'en' ] , forceNER : true } ) ;
// Adds the utterances and intents for the NLP
manager . addDocument ( 'en' , 'goodbye for now' , 'greetings.bye' ) ;
manager . addDocument ( 'en' , 'bye bye take care' , 'greetings.bye' ) ;
manager . addDocument ( 'en' , 'okay see you later' , 'greetings.bye' ) ;
manager . addDocument ( 'en' , 'bye for now' , 'greetings.bye' ) ;
manager . addDocument ( 'en' , 'i must go' , 'greetings.bye' ) ;
manager . addDocument ( 'en' , 'hello' , 'greetings.hello' ) ;
manager . addDocument ( 'en' , 'hi' , 'greetings.hello' ) ;
manager . addDocument ( 'en' , 'howdy' , 'greetings.hello' ) ;
// Train also the NLG
manager . addAnswer ( 'en' , 'greetings.bye' , 'Till next time' ) ;
manager . addAnswer ( 'en' , 'greetings.bye' , 'see you soon!' ) ;
manager . addAnswer ( 'en' , 'greetings.hello' , 'Hey there!' ) ;
manager . addAnswer ( 'en' , 'greetings.hello' , 'Greetings!' ) ;
// Train and save the model.
( async ( ) => {
await manager . train ( ) ;
manager . save ( ) ;
const response = await manager . process ( 'en' , 'I should go now' ) ;
console . log ( response ) ;
} ) ( ) ;
これにより、コンソールに次の結果が表示されます。
{ utterance: ' I should go now ' ,
locale: ' en ' ,
languageGuessed: false,
localeIso2: ' en ' ,
language: ' English ' ,
domain: ' default ' ,
classifications:
[ { label: ' greetings.bye ' , value: 0.698219120207268 },
{ label: ' None ' , value: 0.30178087979273216 },
{ label: ' greetings.hello ' , value: 0 } ],
intent: ' greetings.bye ' ,
score: 0.698219120207268,
entities:
[ { start: 12,
end: 14,
len: 3,
accuracy: 0.95,
sourceText: ' now ' ,
utteranceText: ' now ' ,
entity: ' datetime ' ,
resolution: [Object] } ],
sentiment:
{ score: 1,
comparative: 0.25,
vote: ' positive ' ,
numWords: 4,
numHits: 2,
type: ' senticon ' ,
language: ' en ' },
actions: [],
srcAnswer: ' Till next time ' ,
answer: ' Till next time ' }
デフォルトでは、ニューラル ネットワークは誤検知を回避しようとします。これを達成するための内部プロセスの 1 つは、ネットワークで決して表示されない単語を、 None
インテントにある程度の重みを与える特徴として表現することです。したがって、前の例を「 I have to go 」で試してみると、4 つの単語のうち 2 つはトレーニング中に一度も表示されていないため、 None
インテントが返されます。これらの誤検知を回避したくなく、宣言したインテントに分類するほうが安心な場合は、 useNoneFeature
false に設定することでこの動作を無効にできます。
const manager = new NlpManager ( { languages : [ 'en' ] , nlu : { useNoneFeature : false } } ) ;
進行状況のログを追加することもできるので、トレーニング中に何が起こっているかを追跡できます。進行状況をコンソールに記録できます。
const nlpManager = new NlpManager ( { languages : [ 'en' ] , nlu : { log : true } } ) ;
または、独自のログ関数を提供することもできます。
const logfn = ( status , time ) => console . log ( status , time ) ;
const nlpManager = new NlpManager ( { languages : [ 'en' ] , nlu : { log : logfn } } ) ;
貢献方法については、「貢献」でガイドをご覧ください。
contributors-img で作成しました。
行動規範は「行動規範」で読むことができます。
?
このプロジェクトは、AXA Group Operations Spain SA によって開発されました。
弊社に連絡する必要がある場合は、電子メール [email protected] までご連絡ください。
著作権 (c) AXA グループ オペレーション スペイン SA
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した人には、使用、コピー、変更、マージする権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が、ここに無償で与えられます。 、以下の条件を条件として、本ソフトウェアのコピーを出版、配布、サブライセンス、および/または販売すること、および本ソフトウェアが提供される人物にそれを許可すること。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。