GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
Deprecations
Request a Feature
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node
GenAI Prompt
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Terminology
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentinment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
Migrate External Bots
Google Dialogflow Bot
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. How Tos
  5. インテントとエンティティについてのパターンの使用方法

インテントとエンティティについてのパターンの使用方法

パターンを使用することで、NLPインタープリターの正確性を向上させることができます。このドキュメントでは、さまざまなパターン構文についてと、それらをインテント検出およびエンティティ抽出で使用する方法について詳しく説明します。

注意事項:

  • パターンは、リストアップされている順に評価されます。一致するパターンが見つかると、残りのパターンは評価されません。したがって、パターンを追加する際、最も制限の多いものから最も制限の少ないものの順に追加するようにしてください。
  • ワイルドカード(*)は1つのパターンで1つだけ許可されます。
  • ほとんどの機能はすべての言語でサポートされていますが、いくつか例外があります。詳細はこちらをご覧ください。

インテント検出のパターン

以下に、インテント検出のために設定できるパターン構文の一覧とその例を示します。

パターン 説明 パターン例
word1 word2 … wordn これにより、ユーザーの発話で同じ連続した順序で使用できるように定義されたすべての単語と、最大3つの(言語固有の)追加の単語を強制できます。これらの追加の単語は、パターン内で言及された任意の2つの連続する単語と、パターンで指定された単語のセットの前後の無数の単語の間で許可されています。
サンプルパターン "transfer fund"
発話の一致 – "can you please transfer funds from my account" – "can you please transfer some funds from my account" – "transfer funds"
発話の不一致 – "i want to transfer" – "can i transfer some significant amount of monetary funds" – "i want to do fund transfer"
word1_word2 フレーズを強制し、word1とword2の間に追加の単語を含めることはできません。これは、一連のトークンがフレーズとして読み取られるようにするためです。使用は単語に制限され、概念は使用できません。注意:「word1」、「word2」、「_」の間にスペースを入れないようにしてください。また、「_word1」は、ユーザーの発話の「word1」がプラットフォームによって使用済みとしてマークされていないことを確認するためのものであり、エンティティ抽出の対象とみなされることに注意してください。これは、エンティティのワードがインテントパターンで使用されている場合に役立ちます。
サンプルパターン "transfer_fund"
発話の一致 "can you help me transfer funds"
発話の不一致 "can you please transfer some funds from my account"
word1 * word2 指定された単語/フレーズ間に0から無限に追加される単語数
サンプルパターン "transfer * fund"
発話の一致 – "can you please transfer some funds from my account" – "can you help me transfer funds"
発話の不一致 "i want to transfer"
word1 *n word2 指定された単語/フレーズ間にn個から無限に追加される単語数
サンプルパターン "transfer *2 fund"
発話の一致 – "can you help me transfer some significant funds from my account"
発話の不一致 – "i want to transfer" – "can you please transfer some funds from my account" – "can you help me transfer some significant amount of funds"
word1 *0 word2 2つのトークン間のワイルドカードを無効にします。2つの単語間のアンダースコアに類似性がありますが、2つの概念間、または[ ]、{ }のグループ内で使用できます。(7.1以降で使用可能)
サンプルパターン "transfer *0 fund"
発話の一致 – "can you please transfer funds from my account" – "can you help me transfer funds"
発話の不一致 "i want to transfer some funds"
word1 < word2 word2の一致は文頭から開始する必要があることを示します。特にword2が発話の途中にあらわれる場合に便利です。角のあるかっこの後にスペースを追加します。
サンプルパターン "transfer < fund"
発話の一致 – "want to transfer funds" – "i want to initiate fund transfer"
発話の不一致 "i want to transfer"
word1 > word2 文末を示し、それ以降に単語を使用することはできません。角のあるかっこを閉じる前にスペースを追加します。
サンプルパターン "transfer * fund >"
発話の一致 – "transfer funds" – "transfer few funds"
発話の不一致 "transfer funds today"
!abc 単語/概念「abc」は、このトークンの後のユーザー発話のどこにも存在してはならないことを示します。「!」と単語/概念間にスペースを入れないようにしてください。
サンプルパターン – "!status transfer fund" – "transfer !status fund" – "transfer fund !status"
発話の一致 "i want to transfer funds"
発話の不一致 – "what is the status of my fund transfer" – "i want to find my fund transfer status"
!!abc 単語/概念のすぐ次に「abc」が来ることはできません。「!!」と単語/概念間にスペースを入れないようにしてください。
サンプルパターン "transfer fund !!status"
発話の一致 – "i want to transfer funds" – "what is the status of my fund transfer" – "i want to find my fund transfer from yesterday's status"
発話の不一致 "i want to find my fund transfer status"
[ … ] 単語/概念のグループを定義するために使用され、[ ]で宣言されたグループのうちの1つと正確に一致する必要があります。一致するものが見つかった場合、グループの残り部分は無視されることに注意してください。これを考慮して単語を並べ替えてください。注意:かっこは単語と隣接して使用しないでください。つまり、かっこと隣接する単語の間にはスペースを空けてください。
サンプルパターン "transfer [ funds amount cash ]"
発話の一致 – "transfer money" – "can i transfer some cash" – "i want to transfer funds"
発話の不一致 "transfer dollars"
{ … } オプションのグループまたは単語/概念を定義するために使用され、一致するものはゼロまたは{ }で宣言された単語/パターンのうちの1つです。一致するものが見つかった場合、グループの残り部分は無視されることに注意してください。これを考慮して単語を並べ替えてください。注意:かっこは単語と隣接して使用しないでください。つまり、かっこと隣接する単語の間にはスペースを空けてください。
サンプルパターン "transfer { some few my } fund"
発話の一致 – "how do i transfer funds" – "can i transfer some funds"
発話の不一致 "i want to transfer"
( … ) パターンを含みます。つまり、パターンまたはパターンの一部がこのかっこで囲まれている場合、[ ]や{ }とは異なり、パターンとして扱います。これはデフォルト設定となります。つまり、word1 word2のパターンがある場合、(word1 word2)として扱われます。[ ]または{ }内のサブパターンを定義するために明示的に使用されるのが一般的です。
サンプルパターン "( transfer fund )"
発話の一致 "transfer funds from my account"
発話の不一致 "i would like to initiate fund transfer"
<< … >> 任意のオーダーで単語を探し出すために使用されます。
サンプルパターン "<< transfer fund >>"
発話の一致 – "transfer funds from my account" – "i would like to initiate fund transfer"
発話の不一致 "i want to transfer"
'word1 単語を引用したり、正規の形式ではない単語を使用したりした場合、パターンで使用したものに制限されます。
サンプルパターン "'like to transfer fund"
発話の一致 "I would like to ransfer funds from my account"
発話の不一致 "I really liked transfer funds process"
word1~concept2 ~concept1~concept2 (バージョン8.0より) 単語(word1)または概念(concept1)は、それが別の概念(concept2)のメンバーでもある場合にのみ一致します。最も一般的な使用法は、POSタグごとに動的に追加されるシステムの概念を介しての使用です。
サンプルパターン "schedule~verb"
発話の一致 "schedule a meeting"
発話の不一致 "show my schedule"

ネガティブパターン

ネガティブパターンは、フレーズが存在する状況下で、検出インテントを削除するために使用されます。これは、一致したインテントに偽陽性がないかどうかをフィルタリングするのに役立ちます。ユーザーの発話:"I was transferring funds when I got network failure error" 検出されたインデント:Transfer Funds 意図したインテント:Register Complaint インテントのネガティブパターン(ネットワーク障害)(エラー)(技術的な問題)を追加します。Transfer Funds ユーザーの発話: "I was transferring funds when I got network failure error" or "I was transferring funds when I faced a technical issue" or "I got an error during transfer funds process." 拒否されたインテント:Transfer Funds トリガーしたインテント: Register Complaint

エンティティ抽出のパターン

パターンを使用して、ユーザーの発話におけるエンティティの位置と出現に基づいて、ユーザーの発話におけるエンティティの値を特定することができます。エンティティの抽出には、{…}、[….]、!、~conceptsのようなインテントパターンの演算子を使用できます。以下に、これらのパターンがどのように適用されるかについていくつかのユースケースを示します。すべてのエンティティパターンには、プラットフォームがエンティティ値を探す場所を表す「*」を何らかの形式で含める必要があります。バンキングBotの例に続き、資金の移動インテントを使用します。このインテントには、ToAccountおよびFromAccountの2つのエンティティが必要です。これを実現する方法を見ていきましょう。

パターン1:word1 * word2

これは、エンティティの予想される位置を示す位置ワイルドカードとして使用することができます。ToAccountエンティティのパターン:to * from ユーザーの発話: Transfer funds to ABC123 from my account. 抽出したエンティティ:ToAccount = ABC123 エンティティの抽出に結びつかないユーザーの発話: "transfer funds for ABC123 from my account"

パターン2:word1 * n

これは、指定されたword1の後に、単語数に基づいたエンティティの予想される位置を示す位置ワイルドカード*として使用することができます。つまり、word1の後にn個の単語が存在する場合はエンティティとして考慮され、n個の単語が存在しない場合は、次に出現するword1を探します。ToAccountエンティティのパターン:from *2 ユーザーの発話:Transfer funds to ABC123 from my account.抽出したエンティティ:FromAccount = my account ユーザーの発話: Transfer funds to ABC123 from XYZ321 that is from my account. 抽出したエンティティ:FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds to  ABC123 using my account"

パターン2の拡張:word1 *~n

上記(パターン2)と類似性がありますが、最大n個の単語が使用可能な場合、n個まで抽出します。エンティティは抽出するものが必要であるため、*~1は実際には*1と同じであることに注意してください。

パターン3:word1 * word2、word3 *nの組み合わせ

これは、ユーザーの発話内でエンティティの値が見つかる可能性がある場所と、エンティティに寄与する単語数のパターンの組み合わせとして使用することができます。ToAccountエンティティのパターン: "to * from" and "from to *1" Pattern for FromAccount entity: "from * to" and "to from *2"ユーザーの発話:Transfer funds to ABC123 from my account. or Transfer funds from my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds for ABC123 using my account"

パターン4: [ word1 word2 ] *

これは、単語または概念のグループを使用するパターンの場合で、少なくとも1つが発話内に含まれている必要があります。グループ内のオーダーが重要となります(詳細については上記のインテントの検出を参照してください)。ToAccountエンティティのパターン:"to * [ using from ]" and "[ using from ] to *1" FromAccountエンティティのパターン:"[ using from ] * to" and "to [ using from ] *"ユーザーの発話:Transfer funds to ABC123 from my account. or Transfer funds using my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話:"transfer funds for ABC123 using my account"

パターン5: ~CustomConcept *

これは概念を使用するためのものです。独自のカスタムコンセプトを作成し、それを使用してパターンを定義できます。ToAccountエンティティのパターン:"to * from" and "from to *" Pattern for FromAccount エンティティのパターン:"~in * to" and "to ~in *" カスタムコンセプト:~in – (using) (from) ユーザーの発話:Transfer funds to ABC123 using my account. or Transfer funds from my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds to ABC123 of my account"

パターン6: ~intent

エンティティパターンやカスタムエンティティで有用です。インテント特定で使用される単語は、~intent概念で動的にマークされます。これは、一部のエンティティパターンのアンカーや参照ポイントとして使用できます。サンプルパターン:"~intent~meeting~plural" エンティティの抽出に結びつかないユーザーの発話: show my meetings. エンティティをマークする可能性があるユーザーの発話: "schedule a presentation called Meeting the Sales Goals"

パターン7: $currentEntity

エンティティが実際に処理されるまでパターンの評価を遅らせるのに役立ちます。通常、エンティティパターンはダイアログの開始時や新規入力時に評価され、そのエンティティが処理されるまで単語を保護する必要があるかどうかを確認します。これは、特に文字列の場合には必ずしも望ましいとは限りません。パターン:"$currentEntity=TaskTitle 'called *" 上記のルールにより、ダイアログフローがTaskTitleノードに到達したときにパターンが評価されます。

インテントとエンティティについてのパターンの使用方法

パターンを使用することで、NLPインタープリターの正確性を向上させることができます。このドキュメントでは、さまざまなパターン構文についてと、それらをインテント検出およびエンティティ抽出で使用する方法について詳しく説明します。

注意事項:

  • パターンは、リストアップされている順に評価されます。一致するパターンが見つかると、残りのパターンは評価されません。したがって、パターンを追加する際、最も制限の多いものから最も制限の少ないものの順に追加するようにしてください。
  • ワイルドカード(*)は1つのパターンで1つだけ許可されます。
  • ほとんどの機能はすべての言語でサポートされていますが、いくつか例外があります。詳細はこちらをご覧ください。

インテント検出のパターン

以下に、インテント検出のために設定できるパターン構文の一覧とその例を示します。

パターン 説明 パターン例
word1 word2 … wordn これにより、ユーザーの発話で同じ連続した順序で使用できるように定義されたすべての単語と、最大3つの(言語固有の)追加の単語を強制できます。これらの追加の単語は、パターン内で言及された任意の2つの連続する単語と、パターンで指定された単語のセットの前後の無数の単語の間で許可されています。
サンプルパターン "transfer fund"
発話の一致 – "can you please transfer funds from my account" – "can you please transfer some funds from my account" – "transfer funds"
発話の不一致 – "i want to transfer" – "can i transfer some significant amount of monetary funds" – "i want to do fund transfer"
word1_word2 フレーズを強制し、word1とword2の間に追加の単語を含めることはできません。これは、一連のトークンがフレーズとして読み取られるようにするためです。使用は単語に制限され、概念は使用できません。注意:「word1」、「word2」、「_」の間にスペースを入れないようにしてください。また、「_word1」は、ユーザーの発話の「word1」がプラットフォームによって使用済みとしてマークされていないことを確認するためのものであり、エンティティ抽出の対象とみなされることに注意してください。これは、エンティティのワードがインテントパターンで使用されている場合に役立ちます。
サンプルパターン "transfer_fund"
発話の一致 "can you help me transfer funds"
発話の不一致 "can you please transfer some funds from my account"
word1 * word2 指定された単語/フレーズ間に0から無限に追加される単語数
サンプルパターン "transfer * fund"
発話の一致 – "can you please transfer some funds from my account" – "can you help me transfer funds"
発話の不一致 "i want to transfer"
word1 *n word2 指定された単語/フレーズ間にn個から無限に追加される単語数
サンプルパターン "transfer *2 fund"
発話の一致 – "can you help me transfer some significant funds from my account"
発話の不一致 – "i want to transfer" – "can you please transfer some funds from my account" – "can you help me transfer some significant amount of funds"
word1 *0 word2 2つのトークン間のワイルドカードを無効にします。2つの単語間のアンダースコアに類似性がありますが、2つの概念間、または[ ]、{ }のグループ内で使用できます。(7.1以降で使用可能)
サンプルパターン "transfer *0 fund"
発話の一致 – "can you please transfer funds from my account" – "can you help me transfer funds"
発話の不一致 "i want to transfer some funds"
word1 < word2 word2の一致は文頭から開始する必要があることを示します。特にword2が発話の途中にあらわれる場合に便利です。角のあるかっこの後にスペースを追加します。
サンプルパターン "transfer < fund"
発話の一致 – "want to transfer funds" – "i want to initiate fund transfer"
発話の不一致 "i want to transfer"
word1 > word2 文末を示し、それ以降に単語を使用することはできません。角のあるかっこを閉じる前にスペースを追加します。
サンプルパターン "transfer * fund >"
発話の一致 – "transfer funds" – "transfer few funds"
発話の不一致 "transfer funds today"
!abc 単語/概念「abc」は、このトークンの後のユーザー発話のどこにも存在してはならないことを示します。「!」と単語/概念間にスペースを入れないようにしてください。
サンプルパターン – "!status transfer fund" – "transfer !status fund" – "transfer fund !status"
発話の一致 "i want to transfer funds"
発話の不一致 – "what is the status of my fund transfer" – "i want to find my fund transfer status"
!!abc 単語/概念のすぐ次に「abc」が来ることはできません。「!!」と単語/概念間にスペースを入れないようにしてください。
サンプルパターン "transfer fund !!status"
発話の一致 – "i want to transfer funds" – "what is the status of my fund transfer" – "i want to find my fund transfer from yesterday's status"
発話の不一致 "i want to find my fund transfer status"
[ … ] 単語/概念のグループを定義するために使用され、[ ]で宣言されたグループのうちの1つと正確に一致する必要があります。一致するものが見つかった場合、グループの残り部分は無視されることに注意してください。これを考慮して単語を並べ替えてください。注意:かっこは単語と隣接して使用しないでください。つまり、かっこと隣接する単語の間にはスペースを空けてください。
サンプルパターン "transfer [ funds amount cash ]"
発話の一致 – "transfer money" – "can i transfer some cash" – "i want to transfer funds"
発話の不一致 "transfer dollars"
{ … } オプションのグループまたは単語/概念を定義するために使用され、一致するものはゼロまたは{ }で宣言された単語/パターンのうちの1つです。一致するものが見つかった場合、グループの残り部分は無視されることに注意してください。これを考慮して単語を並べ替えてください。注意:かっこは単語と隣接して使用しないでください。つまり、かっこと隣接する単語の間にはスペースを空けてください。
サンプルパターン "transfer { some few my } fund"
発話の一致 – "how do i transfer funds" – "can i transfer some funds"
発話の不一致 "i want to transfer"
( … ) パターンを含みます。つまり、パターンまたはパターンの一部がこのかっこで囲まれている場合、[ ]や{ }とは異なり、パターンとして扱います。これはデフォルト設定となります。つまり、word1 word2のパターンがある場合、(word1 word2)として扱われます。[ ]または{ }内のサブパターンを定義するために明示的に使用されるのが一般的です。
サンプルパターン "( transfer fund )"
発話の一致 "transfer funds from my account"
発話の不一致 "i would like to initiate fund transfer"
<< … >> 任意のオーダーで単語を探し出すために使用されます。
サンプルパターン "<< transfer fund >>"
発話の一致 – "transfer funds from my account" – "i would like to initiate fund transfer"
発話の不一致 "i want to transfer"
'word1 単語を引用したり、正規の形式ではない単語を使用したりした場合、パターンで使用したものに制限されます。
サンプルパターン "'like to transfer fund"
発話の一致 "I would like to ransfer funds from my account"
発話の不一致 "I really liked transfer funds process"
word1~concept2 ~concept1~concept2 (バージョン8.0より) 単語(word1)または概念(concept1)は、それが別の概念(concept2)のメンバーでもある場合にのみ一致します。最も一般的な使用法は、POSタグごとに動的に追加されるシステムの概念を介しての使用です。
サンプルパターン "schedule~verb"
発話の一致 "schedule a meeting"
発話の不一致 "show my schedule"

ネガティブパターン

ネガティブパターンは、フレーズが存在する状況下で、検出インテントを削除するために使用されます。これは、一致したインテントに偽陽性がないかどうかをフィルタリングするのに役立ちます。ユーザーの発話:"I was transferring funds when I got network failure error" 検出されたインデント:Transfer Funds 意図したインテント:Register Complaint インテントのネガティブパターン(ネットワーク障害)(エラー)(技術的な問題)を追加します。Transfer Funds ユーザーの発話: "I was transferring funds when I got network failure error" or "I was transferring funds when I faced a technical issue" or "I got an error during transfer funds process." 拒否されたインテント:Transfer Funds トリガーしたインテント: Register Complaint

エンティティ抽出のパターン

パターンを使用して、ユーザーの発話におけるエンティティの位置と出現に基づいて、ユーザーの発話におけるエンティティの値を特定することができます。エンティティの抽出には、{…}、[….]、!、~conceptsのようなインテントパターンの演算子を使用できます。以下に、これらのパターンがどのように適用されるかについていくつかのユースケースを示します。すべてのエンティティパターンには、プラットフォームがエンティティ値を探す場所を表す「*」を何らかの形式で含める必要があります。バンキングBotの例に続き、資金の移動インテントを使用します。このインテントには、ToAccountおよびFromAccountの2つのエンティティが必要です。これを実現する方法を見ていきましょう。

パターン1:word1 * word2

これは、エンティティの予想される位置を示す位置ワイルドカードとして使用することができます。ToAccountエンティティのパターン:to * from ユーザーの発話: Transfer funds to ABC123 from my account. 抽出したエンティティ:ToAccount = ABC123 エンティティの抽出に結びつかないユーザーの発話: "transfer funds for ABC123 from my account"

パターン2:word1 * n

これは、指定されたword1の後に、単語数に基づいたエンティティの予想される位置を示す位置ワイルドカード*として使用することができます。つまり、word1の後にn個の単語が存在する場合はエンティティとして考慮され、n個の単語が存在しない場合は、次に出現するword1を探します。ToAccountエンティティのパターン:from *2 ユーザーの発話:Transfer funds to ABC123 from my account.抽出したエンティティ:FromAccount = my account ユーザーの発話: Transfer funds to ABC123 from XYZ321 that is from my account. 抽出したエンティティ:FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds to  ABC123 using my account"

パターン2の拡張:word1 *~n

上記(パターン2)と類似性がありますが、最大n個の単語が使用可能な場合、n個まで抽出します。エンティティは抽出するものが必要であるため、*~1は実際には*1と同じであることに注意してください。

パターン3:word1 * word2、word3 *nの組み合わせ

これは、ユーザーの発話内でエンティティの値が見つかる可能性がある場所と、エンティティに寄与する単語数のパターンの組み合わせとして使用することができます。ToAccountエンティティのパターン: "to * from" and "from to *1" Pattern for FromAccount entity: "from * to" and "to from *2"ユーザーの発話:Transfer funds to ABC123 from my account. or Transfer funds from my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds for ABC123 using my account"

パターン4: [ word1 word2 ] *

これは、単語または概念のグループを使用するパターンの場合で、少なくとも1つが発話内に含まれている必要があります。グループ内のオーダーが重要となります(詳細については上記のインテントの検出を参照してください)。ToAccountエンティティのパターン:"to * [ using from ]" and "[ using from ] to *1" FromAccountエンティティのパターン:"[ using from ] * to" and "to [ using from ] *"ユーザーの発話:Transfer funds to ABC123 from my account. or Transfer funds using my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話:"transfer funds for ABC123 using my account"

パターン5: ~CustomConcept *

これは概念を使用するためのものです。独自のカスタムコンセプトを作成し、それを使用してパターンを定義できます。ToAccountエンティティのパターン:"to * from" and "from to *" Pattern for FromAccount エンティティのパターン:"~in * to" and "to ~in *" カスタムコンセプト:~in – (using) (from) ユーザーの発話:Transfer funds to ABC123 using my account. or Transfer funds from my account to ABC123.抽出したエンティティ:ToAccount = ABC123 and FromAccount = my account エンティティの抽出に結びつかないユーザーの発話: "transfer funds to ABC123 of my account"

パターン6: ~intent

エンティティパターンやカスタムエンティティで有用です。インテント特定で使用される単語は、~intent概念で動的にマークされます。これは、一部のエンティティパターンのアンカーや参照ポイントとして使用できます。サンプルパターン:"~intent~meeting~plural" エンティティの抽出に結びつかないユーザーの発話: show my meetings. エンティティをマークする可能性があるユーザーの発話: "schedule a presentation called Meeting the Sales Goals"

パターン7: $currentEntity

エンティティが実際に処理されるまでパターンの評価を遅らせるのに役立ちます。通常、エンティティパターンはダイアログの開始時や新規入力時に評価され、そのエンティティが処理されるまで単語を保護する必要があるかどうかを確認します。これは、特に文字列の場合には必ずしも望ましいとは限りません。パターン:"$currentEntity=TaskTitle 'called *" 上記のルールにより、ダイアログフローがTaskTitleノードに到達したときにパターンが評価されます。

メニュー