이 섹션에서는 Kore.ai 봇 플랫폼과 관련된 주요 용어와 개념 숙지를 도와드립니다.

봇은 사람과 디지털 시스템, 인터넷 활용 사물 간의 지능적인 중개자 역할을 하는 가상 비서의 한 형태입니다. 봇은 지능적입니다. 기계 학습과 자연어 처리, 다른 형태의 고급 소프트웨어를 통해 봇은 복잡한 인간 대화를 처리하고 과거의 상호 작용에서 학습하며 시간이 지남에 따라 응답을 개선할 수 있습니다.

발화

사용자가 챗봇에게 말하는 모든 것은 발화입니다. 예를 들어, 사용자가 다음 주 일요일 올랜도행 항공편 예약을 입력하면, 전체 문장은 사용자 발화로 간주됩니다.

의도

사용자가 챗봇에게 원하는 행동을 설명하는 몇 가지 필수 단어입니다. 일반적으로 동사와 명사의 조합으로 구성되어 있습니다. 예를 들어, 위의 사용자 발화인 다음 주 일요일 올랜도행 항공편 예약에서, 의도는 항공편 예약입니다.

엔티티

사용자 의도를 충족하려면 봇은 추가 정보 또는 매개 변수가 필요할 수 있습니다. 예를 들어, 항공편을 예약하려면 여행 날짜와 함께 출발지 도시와 목적지 도시가 필요합니다. 위의 사용자 발화의 예인 다음 주 일요일 올랜도행 항공편 예약에서 올랜도 및 다음 주 일요일은 엔티티입니다.

엔티티는 챗봇이 사용자 요청을 완료하는 데 필요한 필드, 데이터 또는 단어입니다. 필요한 엔티티를 확보한 후 봇 플랫폼은 웹 서비스에 접근하여 특정 데이터를 가져오거나 사용자 의도에 따라 조치를 수행할 수 있습니다.

매개 변수 및 사용자 입력에 대한 자세한 내용은 봇 작업 정의하기에서 특정 작업 유형 매개 변수 및 필드를 참조하세요.

샘플 발화 의도 엔티티
올랜도행 항공편 예약 항공편 예약 도시: 올랜도
이번 주 일요일에 Bill과 회의 일정 잡기 회의 일정 잡기 사람 이름: Bill
날짜: 2018년 4월 22일 일요일
장바구니에 적포도주 두 병 추가 장바구니에 추가 품목: 적포도주 수량: 두 병

자연어 처리

봇이 사용자 의도를 식별하고 발화에서 유용한 정보를 추출하고 해당 데이터(엔티티)를 관련 작업에 매핑하는 프로세스입니다. 이를 통해 봇은 복잡한 메뉴나 프로그래밍 언어가 아닌 텍스트 형식으로 요청을 처리할 수 ​​있습니다. Kore.ai의 플랫폼은 고유한 NLP 전략을 사용합니다. 최적의 대화 정확도를 위해 기초 의미 및 기계 학습 엔진을 결합합니다. Kore.ai의 플랫폼에 구축된 봇은 다음을 이해하고 처리할 수 있습니다.

  • 다중 문장 메시지
  • 다중 의도
  • 문맥적 참조
  • 패턴 및 관용 문장 등.

인공 지능

인간의 행동과 의사 결정을 시뮬레이션하고 음성 인식 및 이해, 언어 번역 등, 일반적으로 인간과 유사한 지능이 필요한 작업을 수행하는 기계 능력입니다.

기계 학습

알고리즘, 패턴, 학습 데이터를 사용하여 명시적으로 프로그래밍하지 않고도 숨겨진 통찰력을 배우고 찾을 수 있는 기계 능력입니다.

엔티티 추출

작업을 완료하기 위해 사용자의 발화에서 관련성이 높고 가치 있는 데이터를 추출하는 것. 봇은 사용자 작업 완료를 위한 모든 데이터를 보유하고 있는지 확인할 수 있으며 그렇지 않은 경우 사용자에게 누락된 정보를 입력하라는 메시지를 표시할 수 있습니다.

봇 작업

작업은 개발자가 챗봇에 지정한 다양한 유형의 단순하고 복잡한 작업을 말합니다. 챗봇은 사용자 의도를 이행하기 위해 이러한 작업을 수행합니다.

여행 봇의 경우 작업 이름은 다양한 사용자 의도를 충족하는 티켓 예약, 호텔 검색, 일기 예보 제공 등입니다.

봇이 사용자 의도를 이해하면 웹 서비스에 접근, 현재 기상 상태 보고서 추출, 응답 구문 분석, 사용자에게 데이터 전달과 같은 작업을 수행할 준비가 됩니다.

Kore.ai는 사실상 거의 모든 봇 시나리오를 다루는 다섯 가지 사전 정의된 작업 유형을 제공합니다.

조치 작업

봇은 약속 예약, 제품 검색, 중요한 정보 업데이트와 같은 기록 시스템의 정보를 수집, 수정 및 게시할 수 있습니다.

경고 작업

봇은 백엔드 시스템을 폴링하거나 정기적으로 정보를 가져와서 기업 시스템에서 직접 고객과 직원에게 적시에 관련된 개인화된 알림을 전달할 수 있습니다. 사용자 또는 봇 개발자는 알림을 설정할 수 있습니다.

지식 그래프

봇은 일련의 사전 정의된 정보를 질의하여 사용자가 가장 흔히 하는 질문에 대한 답변을 사용자에게 제공할 수 있습니다. 예를 들어, 봇은 운영 시간과 관련된 고객 질문에 답변하는 동시에 반품 정책에 관한 질문에도 답변할 수 있습니다.

정보 작업

봇은 보고서 형식으로 백엔드 시스템에서 데이터를 사용자에게 제공할 수 있습니다. 이러한 보고서는 사용자 선호도, 적용 가능한 필터에 따라 형식이 지정되고 구성되며 향후에 사용할 수 있도록 다운로드할 수 있습니다. 예를 들어, 봇은 영업 관리자에게 지난해 매출 상위 10명의 영업 담당자를 지역별로 상세히 기술한 보고서를 제공할 수 있습니다.

대화 작업

봇은 사람들이 매일 자연스럽게 주고 받는 의견 교환 행위를 모사한 복잡한 대화형 경험을 처리할 수 있습니다.

학습

학습은 챗봇이 새로운 의도와 엔티티를 인식하고, 질문에 올바르게 답변하고, 사용자 발화의 중요한 측면을 식별하는 방법을 말합니다. 학습은 수동 또는 자동일 수 있습니다. 그리고 인간과 마찬가지로 봇도 자신이 틀렸을 때와 올바른 조치 또는 응답, 답변이 무엇인지 알아야 합니다.

지도 학습

입력 변수(X)와 출력 변수(Y)가 있고 알고리즘을 사용하여 입력에서 출력으로 매핑하는 함수를 학습하는 형태입니다. 여기서 봇 개발자는 교사 역할을 하며 사실상 봇이 학습하는 내용을 완전히 통제합니다. 이는 알고리즘이 제공된 학습 데이터를 기반으로 예측을 한다는 것을 의미합니다. 봇 크리에이터 개발자는 결과를 정확하거나 부정확한 것으로 표시하여 예측을 수동으로 수정할 수 있습니다. 봇 개발자는 봇이 이해해야 하는 내용을 이미 알고 있으므로 개발자가 결정하거나 모델이 허용 가능한 수행 수준에 도달하는 즉시 학습을 중단할 수 있습니다.

비지도 학습

봇 개발자의 지도가 필요하지 않는 학습 형태입니다. 여기서 봇은 성공적인 발화에서 학습하며, 해당 발화를 봇이 성공적으로 인식했으며 작업이 완료되었음을 의미합니다. 이 결과를 사용하여 충돌 발생 시 사용자가 제공한 의도 확인을 포함하여 모델을 자동으로 확장하고 봇을 재학습시킵니다. 이러한 형태의 학습을 통해 봇은 실패한 발화를 배제하고 인간과의 상호 작용 없이도 언어 능력을 확장하고 정확도를 개선할 수 있습니다.

메시징 채널

채널은 SMS, 이메일, 모바일 앱, 웹 사이트, 메시징 앱 등 로봇이 존재할 수 있는 다양한 커뮤니케이션 플랫폼을 말합니다. 봇 빌더를 사용하면 박스를 체크하는 것만으로 한 번에 챗봇 작업을 설계하고 여러 채널에 배포할 수 있습니다. 또한 메시지 응답을 변경하거나 날짜 선택기, 캐러셀 등과 같은 채널별 UI 요소를 활용하여 교차 채널 경험을 차별화할 수 있습니다.

변수, 컨텍스트, 세션 데이터

개발자가 작업을 생성하고 정의할 때 다음 정보에 접근할 수 있습니다.

  • 봇 플랫폼에서 제공하는 세션 변수.
  • 개발자가 정의한 사용자 정의 변수.
  • 변수의 범위를 정의한 컨텍스트.

예를 들어, 일부 API 요청에서는 작업을 실행하기 전에 세션 변수를 설정해야 하거나, 대화 작업 구성 요소는 다음 노드로 전환하기 위해서 세션 변수에 접근해야 합니다. 대화 작업은 추가 시스템 변수를 사용하여 컨텍스트 개체에 접근할 수도 있습니다. 이러한 세션 변수와 컨텍스트 변수를 사용하여 데이터를 유지하고 저장할 수 있습니다. 예를 들어, 봇은 작업을 실행할 때 상거래, 운송, 가정 배달 중심의 서비스를 위해 사용자의 집 주소를 사용합니다.

봇 플랫폼은 JavaScript를 사용하여 섹션에서 작업을 정의할 때 사용되는 세션 변수를 지원합니다. 세션 변수는 사용되는 컨텍스트 혹은 범위에 따라 다릅니다. 예를 들어, 엔터프라이즈 수준, 봇 수준, 사용자 수준, 세션 수준입니다.

このセクションでは、Kore.aiボットプラットフォームに関する主要な用語と概念について説明します。

ボット

ボットとは、人やデジタルシステム、インターネット対応製品との間でインテリジェントな仲介役を務めるバーチャルアシスタントの一つの形態を指します。ボットは機械学習、自然言語処理、およびその他の形態の高度なソフトウェアを備えたインテリジェントなものであり、人間の複雑な会話を処理したり、過去のやり取りから学習したり、時間の経過とともに応答を改善したりすることができます。

発話

ユーザーがチャットボットに話すことはすべて発話になります。たとえば、ユーザーが“次の日曜日にオーランドへのフライトを予約してください”と入力した場合、文全体がユーザーの発話とみなされます。

インテント

ユーザーがチャットボットに何をしてほしいかを説明する発話には、いくつかの重要な単語があります。これらは通常、動詞と名詞の組み合わせです。たとえば上記のユーザーの発話である“次の日曜日にオーランドへのフライトを予約してください”を例にとると、そのインテントは“フライトを予約してください”です。

エンティティ

ユーザーのインテントを満たすために、ボットが追加の情報またはパラメーターを必要とする場合があります。たとえばフライトを予約するには、出発地と目的地の都市、および旅行日が必要です。たとえば、上記のユーザーの発話である“次の日曜日にオーランドへのフライトを予約してください”では、“オーランド”と“次の日曜日”がエンティティです。

エンティティは、チャットボットにとってユーザーのリクエストを完了するために必要なフィールド、データ、または単語です。必要なエンティティが手元にあれば、ボットプラットフォームはWebサービスにアクセスして特定のデータを取得したり、ユーザーのインテントに従ってアクションを実行したりできます。

パラメーターとユーザー入力の詳細については、「ボットタスクの定義」の特定のタスクタイプのパラメーターとフィールドを参照してください。

サンプル発話 インテント エンティティ
オーランドへのフライトを予約してください フライトを予約する 都市:オーランド
今週の日曜日にビルとのミーティングを予約する ミーティングを予約する 氏名:Bill
日付:2018年4月22日
カートに赤ワインを2本追加します カートに追加 アイテム:赤ワインの本数:2本

自然言語処理

ボットがユーザーインテントを識別し、ユーザーの発話から有用な情報を抽出し、そのデータ(エンティティ)を関連するタスクにマッピングするプロセスを指します。これにより、ボットは複雑なメニューやプログラミング言語ではなく、テキスト形式で要求を処理することができます。

Kore.aiのプラットフォームは独自のNLP戦略を採用しています。ファンダメンタルミーニングと機械学習エンジンを組み合わせ、最適な会話精度を実現します。Kore.aiのプラットフォーム上に構築されたBotは、以下のことを理解して処理することができます。

  • 複数センテンスのメッセージ
  • 複数のインテント
  • コンテキストに沿った参照
  • パターンや慣用句など

人工知能

人間の行動と意思決定をシミュレートして、音声認識と理解、言語翻訳など、通常は人間の知性でなければできないようなタスクを実行する機械の能力。

機械学習

明示的にプログラムされていなくても、アルゴリズム、パターン、トレーニングデータを使用して学習し、隠れたインサイトを発見する機械の能力。

エンティティ抽出

タスクを完了させるために有用で価値のあるデータの、ユーザーの発話からの抽出。ボットは、ユーザータスクを完了するためのすべてのデータを確実に取得し、取得できない場合は、不足している情報の入力をユーザーに求めることができます。

ボットタスク

タスクは、開発者によってチャットボットに組み込まれたさまざまなタイプの単純なジョブと複雑なジョブを指します。これらのタスクは、ユーザーのインテントを実現するためにチャットボットによって実行されます。

旅行ボットの場合、チケットの予約、ホテルの検索、天気予報の提供など、さまざまなユーザーのインテントに応えるようなものがタスク名になります。

ボットがユーザーのインテントを理解すると、Webサービスへのアクセス、現在の気象状況レポートの抽出、その応答の解析、ユーザーへのデータ配信などのタスクを実行する準備が整います。

Kore.aiは、事実上すべてのボットシナリオをカバーする5つの事前定義済みのタスクタイプを提供します。

アクションタスク

ボットは、予定のスケジューリング、製品の検索、重要な情報の更新など、記録システムで情報を収集、変更、および投稿できます。

アラートタスク

ボットは、バックエンドシステムとポーリングするか、定期的に情報を取得することにより、タイムリーで関連性のあるパーソナライズされた通知を、企業システムから直接顧客や従業員に配信できます。ユーザーまたはボット開発者はアラートを設定できます。

ナレッジグラフ

ボットは、事前定義された一連の情報をもとに、ユーザーからのよくある質問への回答を提供できます。たとえばボットは、営業時間に関する顧客の質問に答えると同時に、返品ポリシーに関する質問にも答えることができます。

情報タスク

ボットは、バックエンドシステムからのデータをレポート形式でユーザーに提供できます。レポートはユーザー設定、適用可能なフィルターに基づいてフォーマットおよび編成されており、ダウンロードして後で使用できます。たとえばボットは、昨年の売上上位10人の営業担当者の詳細レポートを、売上高の多いものから順に提供できます。

ダイアログタスク

ボットは、人々が毎日行う自然なやり取りに似た複雑なマルチターンの会話体験を処理できます。

学習

学習とは、チャットボットが新しいインテントとエンティティを認識し、質問に正しく答え、ユーザーの発話の重要な側面を特定する方法に関するものです。学習は手動でも自動でも実施することができます。そして、ヒトと同じように、ボットも自分が間違っているとき、正しい行動や応答、回答が何であるべきかを知る必要があります。

教師あり学習

入力変数(X)と出力変数(Y)があり、アルゴリズムを使用して入力から出力へのマッピング関数を学ばせる手法。ここでは、ボット開発者が教師として役割を果たし、ボットが学習する内容を実質的に完全に制御します。そうすることで、アルゴリズムは提供されたトレーニングデータに基づいて予測を行うようになります。ボット作成者である開発者は、予測に正解または不正解のフラグを立てることにより、それぞれを手動で修正できます。ボットの開発者はボットが何を理解すべきかをすでに知っているので、開発者が判断すればすぐに、またはモデルが許容可能なレベルのパフォーマンスに達したときに学習を終了できます。

教師なし学習

ボット開発者の監督を必要としない学習形式。ここでは、ボットは成功したすべての発話、つまりボットによって正常に認識された発話と完了したタスクから学習します。これらの学習内容を使用してモデルを自動的に拡張し、競合が発生した場合には、ユーザーが提供するインテントの確認を含めてボットを再トレーニングします。このような形式のトレーニングにより、ボットは言語能力を拡張し、失敗した発話を排除するとともに人間の介入なしに精度を向上させることができます。

メッセージングチャネル

チャネルとは、SMS、メール、モバイルアプリ、Webサイト、メッセージングアプリなど、ボットが存在できるさまざまな通信プラットフォームを指します。ボットビルダーを使用すると、チャットボットタスクを一度設計すれば、チェックボックスをオンにするだけでチャネル全体にデプロイできます。また、メッセージレスポンスを変更したり、日付セレクターやカルーセルなどのチャネル専用のUI要素を活用したりすることで、クロスチャネルエクスペリエンスを差別化することもできます。

変数、コンテキスト、およびセッションデータ

開発者がタスクを作成および定義するときには、以下にアクセスできます。

  • ボットプラットフォームによって提供されるセッション変数。
  • それらが定義するカスタム変数。
  • 変数のスコープを定義するコンテキスト。

たとえば、一部のAPIリクエストでは、タスクを実行する前にセッション変数を設定する必要があります。または、次のノードに遷移するためにダイアログタスクコンポーネントがセッション変数にアクセスする必要があります。ダイアログタスクは、追加のシステム変数を使用してコンテキストオブジェクトにアクセスすることもできます。これらのセッション変数とコンテキスト変数を使用すると、データを保持・保存できます。たとえば、商取引、輸送、および宅配サービスのためのユーザーの自宅住所は、タスクを実行するときにボットが使用します。

ボットプラットフォームは、JavaScriptを使用してセクションでタスクを定義するときに使用するセッション変数に対応しています。セッション変数は、それらが使用されるコンテキストまたはスコープに依存します。たとえば、エンタープライズレベル、ボットレベル、ユーザーレベル、セッションレベルなどです。

This section helps you with the key terms and concepts related to the Kore.ai Experience Optimiztion(XO) Platform.

Virtual Assistant

A virtual assistant (VA) acts as an intelligent intermediary between people, digital systems, and internet-enabled things. Using machine learning, natural language processing, and other forms of advanced software, VAs can handle complex human conversations, learn from past interactions, and improve responses over time.

Utterance

Anything that a user says to the VA is an utterance. For example, if the user types “Book me a flight to Orlando for next Sunday”, the entire sentence is considered as the user utterance.

Intent

A few essential words in the utterance that describe what the user wants the VA to do. It is usually a combination of a verb and a noun. For example, in the above user utterance “Book me a flight to Orlando for next Sunday”, the intent is to Book me a flight.

Entities

To fulfill user intent, the VA may require additional information or parameters. For example, to book a flight, it needs the source and destination city along with the travel date. In the above example, the user utterance “Book me a flight to Orlando for next Sunday”, Orlando and next Sunday are entities.

Entities are the necessary fields, data, or words for a VA to complete the user’s request. With the required entities in hand, the XO Platform can reach out to the web service and get the specific data or perform the action as per the user intent.

For more information about parameters and user input, refer to the particular task type parameters and fields at Defining Virtual Assistant Tasks.

Sample Utterance Intent Entity
Book me a flight to Orlando Book flight City: Orlando
Schedule a meeting with Bill this Sunday Schedule a meeting Person name: Bill
Date: April 22, 2018
Add two bottles of red wine to the cart Add to cart Item: Red Wine
Count: Two

Natural Language Processing

NLP enables a Virtual Assistant to identify the user’s intents; extract useful information and maps the data (entities) to the relevant tasks. It further allows VAs to process requests in text form, rather than complicated menus or programming language.

The Kore.ai XO’s platform uses a unique NLP strategy. It combines both Fundamental Meaning and Machine Learning Engines for optimal conversational accuracy. VAs built on the XO platform can understand and process:

  • Multi-sentence messages
  • Multiple intents
  • Contextual references
  • Patterns and idiomatic sentences, and more.

Artificial Intelligence

A machine’s ability to simulate human behavior and decision-making to perform tasks that normally require human-like intelligence, such as speech recognition and understanding, language translation, and more.

Machine Learning

A machine’s ability to use algorithms, patterns, and training data to learn and find hidden insights, without being explicitly programmed.

Entity Extraction

The extraction of relevant and valuable data from a user’s utterance to complete a task. VA can ensure they have all the data to complete tasks or prompt the user for any missing information.

Virtual Assistant Tasks

Tasks refer to different types of simple and complex jobs that are designated to the VA by the developer. These tasks are performed by the VA to fulfill the user intent.

For example, for a travel virtual assistant, task names are to book tickets, find hotels, provide weather forecasts, etc. that cater to different user intents.

Once the VA understands the intent, it is ready to perform a task, such as reaching out to a web service, extracting the current weather conditions report, parsing that response, and then delivering the data to the user.

Kore.ai provides five predefined task types that virtually cover all VA scenarios.

Action Tasks

Virtual Assistants can collect, modify, and post information in systems of record, like scheduling an appointment, searching for a product, or updating critical information.

Alert Tasks

Virtual Assistant can deliver timely, relevant, and personalized notifications to customers and employees directly from the enterprise system by polling backend systems or by pulling information at regular intervals. Users or VA developers can configure alerts.

Knowledge Graph

Virtual Assistants can provide users with answers to their most commonly asked questions by querying a predefined set of information. For example, a virtual assistant can answer customer questions regarding hours of operation while also answering questions about return policies.

Information Tasks

VA can provide users with data from back-end systems in the form of reports. These reports are formatted and organized based on user preferences, and applicable filters, and they can be downloaded for later use. For example, a VA can provide a sales manager with a report detailing the top 10 sales reps last year by region, organized from most to least sales.

Dialog Tasks

VA can handle complex multi-turn conversational experiences that replicate the natural back and forth exchanges people have every day.

Learning

Learning is about how VAs recognize new intents and entities, answer questions correctly, and identify the important aspects of a user utterance. Learning can be manual or automatic. And like humans, VAs need to know when they are wrong and what the right action, response, or answer should be.

Supervised Learning

A form of learning in which you have input variables (X) and an output variable(Y), and you use an algorithm to learn the mapping function from the input to the output Y=f(X). Here, the VA developer acts as a teacher and has virtually full control over what the VA learns. This means that the algorithm makes predictions based on the training data provided. The VA creator or developer can manually correct these predictions by flagging the findings as correct or incorrect. Since the VA developer already knows what the VA should understand, learning can be stopped as soon as the developer decides or when the model reaches an acceptable level of performance and maturity.

Unsupervised Learning

A form of learning that does not require the supervision of a virtual assistant developer. Here, the virtual assistant learns from all successful utterances, meaning those utterances that were successfully recognized by the virtual assistant and the completed tasks. It uses these findings to automatically expand the model and retrain the virtual assistant, including user-provided confirmations of intents in case of conflicts. This form of training allows virtual assistants to expand their language capabilities and improve their accuracy while excluding failed utterances and works without human intervention.

Messaging Channels

Channels refer to various communication platforms where a Virtual Assistant can exist such as SMS, email, mobile apps, websites, messaging apps, and more. With Kore.ai’s XO Platform, you can design Virtual Assistant tasks once, and deploy them across channels by merely checking a box. You can also differentiate cross-channel experiences by altering message responses or leveraging channel-specific UI elements like date selectors, carousels, and more.

Variables, Context, and Session Data

When developers create and define tasks, they can access the following:

  • Session variables are provided by the XO Platform.

  • Custom variables that they define.

  • The context defines the scope of the variable.

For example, some API requests require you to set session variables before executing the task, or a dialog task component needs to access a session variable to transit to the next node. Dialog tasks can also access the context object with additional system variables. These session and context variables allow you to persist data and store it. For example, a user’s home address for commerce, transportation, and home delivery-focused services is used by the VA when executing a task.

The XO Platform supports session variables that are used when defining tasks in sections using JavaScript. Session variables depend on the context or scope in which they are used. For example, enterprise-level, bot-level, user-level, and session-level.