(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023073220
(43)【公開日】2023-05-25
(54)【発明の名称】発話を用いて応答を生成する方法およびそのための装置
(51)【国際特許分類】
G06F 40/56 20200101AFI20230518BHJP
G06F 40/216 20200101ALI20230518BHJP
G06F 16/90 20190101ALI20230518BHJP
G10L 13/00 20060101ALN20230518BHJP
【FI】
G06F40/56
G06F40/216
G06F16/90 100
G10L13/00 100M
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022180769
(22)【出願日】2022-11-11
(31)【優先権主張番号】10-2021-0157067
(32)【優先日】2021-11-15
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0081325
(32)【優先日】2022-07-01
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ブルートゥース
2.BLUETOOTH
3.ZIGBEE
4.JAVA
(71)【出願人】
【識別番号】519130063
【氏名又は名称】ハイパーコネクト リミテッド ライアビリティ カンパニー
【氏名又は名称原語表記】Hyperconnect, LLC
【住所又は居所原語表記】20F, ASEM TOWER, 517, Yeongdong-daero, Gangnam-gu,06164 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100210239
【弁理士】
【氏名又は名称】富永 真太郎
(72)【発明者】
【氏名】エンフバヤル エルデニー
(72)【発明者】
【氏名】ボムス キム
(72)【発明者】
【氏名】サンブム キム
(72)【発明者】
【氏名】ソクジュン ソ
(72)【発明者】
【氏名】ジンヨン ユ
(72)【発明者】
【氏名】ブル チャン
(72)【発明者】
【氏名】スンジュ ハン
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA14
5B091CA21
5B091EA01
5B175EA01
(57)【要約】
【課題】対話スタイルを模倣した応答を生成できる装置および方法を提供する。
【解決手段】本開示の電子装置において遂行される応答生成方法は、少なくとも1つの発話データを獲得する段階、コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得する段階、前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成する段階、ユーザーから第2コンテキストを受信する段階、および前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階を含むことができる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
電子装置において遂行される応答生成方法であって、
少なくとも1つの発話(utterance)データを獲得する段階と、
コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得する段階と、
前記第1コンテキストおよび前記発話データを含む1つ以上の対話(dialogue)セットを生成する段階と、
ユーザーから第2コンテキストを受信する段階と、
前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階と、を含む、応答生成方法。
【請求項2】
前記第2コンテキストに対応する応答を獲得する段階は、
前記1つ以上の対話セットと前記第2コンテキストを含むプロンプト(prompt)を前記言語モデルに入力することによって、前記第2コンテキストに対応する応答を獲得する段階を含む、請求項1に記載の応答生成方法。
【請求項3】
前記第1コンテキストは、前記発話データおよび前記コンテキスト候補セットに基づいて検索モデルを使用して獲得される、請求項1に記載の応答生成方法。
【請求項4】
前記第1コンテキストを獲得する段階は、
検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアを獲得する段階と、
前記第1スコアに基づいて、前記コンテキスト候補セットから前記第1コンテキストを決定する段階と、を含む、請求項1に記載の応答生成方法。
【請求項5】
前記第1コンテキストを獲得する段階は、
検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアを獲得する段階と、
前記検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記第2コンテキストの間の第2スコアを獲得する段階と、
前記第1スコアおよび前記第2スコアに基づいて、前記コンテキスト候補セットから前記第1コンテキストを決定する段階と、を含む、請求項1に記載の応答生成方法。
【請求項6】
前記第1スコアは、前記第1コンテキストの前記発話データに対する適切性に関連したスコアであり、前記第2スコアは、前記第1コンテキストと前記第2コンテキストの間の類似性に関連したスコアである、請求項5に記載の応答生成方法。
【請求項7】
前記第1コンテキストを獲得する段階は、
前記コンテキスト候補セットから任意のコンテキストを前記第1コンテキストとして決定する段階を含む、請求項1に記載の応答生成方法。
【請求項8】
前記第1コンテキストを獲得する段階は、
前記発話データと前記第1コンテキストをそれぞれマッピングするバイエンコーダー(bi-encoder)を含む検索モデルを使用して前記第1コンテキストを獲得する段階を含む、請求項1に記載の応答生成方法。
【請求項9】
前記少なくとも1つの発話データは、特定キャラクターの性格および言語習慣に関する情報を含む、請求項1に記載の応答生成方法。
【請求項10】
前記方法は、
前記ユーザーから発話に関連した追加情報を受信する段階と、
前記追加情報に基づいて、前記言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階と、をさらに含む、請求項1に記載の応答生成方法。
【請求項11】
前記追加情報は、
特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報と、
前記特定キャラクターに関連した複数の既設定された対話セットと、を含む、請求項10に記載の応答生成方法。
【請求項12】
前記第1コンテキストは、
前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアに基づいて獲得される第1類型コンテキストと、
前記第1スコアおよび前記コンテキスト候補セットに含まれたコンテキストと前記第2コンテキストの間の第2スコアに基づいて獲得される第2類型コンテキストと、
前記コンテキスト候補セットから任意に選択される第3類型コンテキストと、のうちいずれかに対応する、請求項1に記載の応答生成方法。
【請求項13】
前記第2コンテキストに対応する応答を獲得する段階は、
前記第1類型コンテキスト、第2類型コンテキスト、および第3類型コンテキストのうちいずれかに対応する第1コンテキストを含む対話セットに基づいて前記応答を獲得する段階を含む、請求項12に記載の応答生成方法。
【請求項14】
応答を生成するための電子装置であって、
保存デバイスと、
通信デバイスと、
少なくとも1つのプロセッサーを含む制御部(controller)と、を含み、前記制御部は、
前記保存デバイスを通じて少なくとも1つの発話データを獲得し、
前記保存デバイスに保存されたコンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得し、
前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成し、
前記通信デバイスを通じてユーザーから第2コンテキストを受信し、
前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を取得する、電子装置。
【請求項15】
応答生成方法をコンピュータにおいて実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的記録媒体であって、前記応答生成方法は、
少なくとも1つの発話データを獲得する段階と、
コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得する段階と、
前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成する段階と、
ユーザーから第2コンテキストを受信する段階と、
前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階と、を含む、非一時的記録媒体。
【請求項16】
発話データを用いる応答生成システムであって、
コンテキスト候補セットを保存する第1保存部と、
発話に関連した情報を保存する第2保存部と、
ユーザーによって入力されたメッセージを保存する第3保存部と、
検索モデルおよび生成モデルを含むサーバーと、を含み、前記システムは、
前記第2保存部を通じて少なくとも1つの発話データを獲得し、
前記サーバーにおいて前記検索モデルを使用して前記コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得し、
前記サーバーにおいて前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成し、
前記第3保存部を通じて第2コンテキストを獲得し、
前記サーバーにおいて前記生成モデルを使用して前記1つ以上の対話セットに基づいて、前記第2コンテキストに対応する応答を獲得する、システム。
【請求項17】
前記発話に関連した情報は、
特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報と、
前記特定キャラクターに関連した複数の既設定された対話セットと、を含む、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、汎用的に発話を用いて対話スタイルを模倣した応答を生成するシステムおよび方法、およびそのための装置に関する。
【背景技術】
【0002】
人工知能技術が発達することによって、人々は実在する人物ではなく、仮想の人物であるチャットボット(Chat Bot)と対話できるようになった。このようなチャットボットは、定められた対話テーマによって定められた応答を検索して出力してもよく、または自由な対話テーマに関して適切な応答を生成して出力してもよい。このような特定の対話テーマが定まっていない対話を、オープンドメイン対話(open domain conversation)ということができる。
【0003】
一方、より魅力的なチャットボットを具現するために、オープンドメイン対話を超えて相手と感情的な対話をするか、相手に共感できるチャットボットに関する研究が進められている。特に、仮想のキャラクターを設定して、チャットボットが該当キャラクターが回答するようなペルソナ基盤の回答生成研究(Persona‐grounded Generation)が進められている。このようなチャットボットが特定キャラクターのように回答するためには、仮想のキャラクターの対話方式を模倣することが必要である。
【0004】
しかし、既存の方法によって仮想のキャラクターを模倣することには困難が存在し得る。第1に、仮想のキャラクターをいくつかの文章だけで定義することが困難であり得る。第2に、仮想のキャラクターの対話スタイルをいくつかの離散的なスタイル(例えば、幸せ、悲しい、神経質)に定義することが困難であり得る。第3に、仮想のキャラクターを模倣する対話モデルを学習するために大量の仮想のキャラクターの対話データを得ることが困難であり得る。
【発明の概要】
【発明が解決しようとする課題】
【0005】
開示された形態のシステムおよび方法を使用することによって、発話および装置を用いて対話スタイルを模倣した応答を生成することができる。
【0006】
本開示において達成しようとする技術的課題は、前記のような技術的課題に限定されず、以下の実施形態からさらに他の技術的課題が類推され得る。
【課題を解決するための手段】
【0007】
発話および装置を用いて応答を生成するシステムおよび技法が説明される。一実施形態によって電子装置において遂行される応答生成方法は、少なくとも1つの発話データを獲得する段階、コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得する段階、前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成する段階、ユーザーから第2コンテキストを受信する段階、および前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階を含むことができる。
【0008】
一実施形態によると、前記第2コンテキストに対応する応答を獲得する段階は、前記1つ以上の対話セットと前記第2コンテキストを含むプロンプト(prompt)を前記言語モデルに入力することによって、前記第2コンテキストに対応する応答を獲得する段階を含むことができる。
【0009】
他の実施形態によると、前記第1コンテキストは、前記発話データおよび前記コンテキスト候補セットに基づいて検索モデルを使用して獲得され得る。
【0010】
他の実施形態によると、前記第1コンテキストを獲得する段階は、検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアを獲得する段階、および前記第1スコアに基づいて、前記コンテキスト候補セットから前記第1コンテキストを決定する段階を含むことができる。
【0011】
他の実施形態によると、前記第1コンテキストを獲得する段階は、検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアを獲得する段階、前記検索モデルを使用して前記コンテキスト候補セットに含まれたコンテキストと前記第2コンテキストの間の第2スコアを獲得する段階、および前記第1スコアおよび前記第2スコアに基づいて、前記コンテキスト候補セットから前記第1コンテキストを決定する段階を含むことができる。
【0012】
追加的な実施形態において、前記第1スコアは、前記第1コンテキストの前記発話データに対する適切性に関連したスコアであり、前記第2スコアは、前記第1コンテキストと前記第2コンテキストの間の類似性に関連したスコアであり得る。
【0013】
他の実施形態によると、前記第1コンテキストを獲得する段階は、前記コンテキスト候補セットから任意のコンテキストを前記第1コンテキストとして決定する段階を含むことができる。
【0014】
他の実施形態によると、前記第1コンテキストを獲得する段階は、前記発話データと前記第1コンテキストをそれぞれマッピングするバイエンコーダー(bi-encoder)を含む検索モデルを使用して前記第1コンテキストを獲得する段階を含むことができる。
【0015】
他の実施形態によると、前記少なくとも1つの発話データは、特定キャラクターの性格および言語習慣に関する情報を含むことができる。
【0016】
他の実施形態によると、前記応答生成方法は、前記ユーザーから発話に関連した追加情報を受信する段階、および前記追加情報に基づいて、前記言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階をさらに含むことができる。
【0017】
追加的な実施形態において、前記追加情報は、特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報、および前記特定キャラクターに関連した複数の既設定された対話セットを含むことができる。
【0018】
他の実施形態によると、前記第1コンテキストは、前記コンテキスト候補セットに含まれたコンテキストと前記発話データの間の第1スコアに基づいて獲得される第1類型コンテキスト、前記第1スコアおよび前記コンテキスト候補セットに含まれたコンテキストと前記第2コンテキストの間の第2スコアに基づいて獲得される第2類型コンテキスト、および前記コンテキスト候補セットから任意に選択される第3類型コンテキストのうちいずれかに対応され得る。
【0019】
追加的な実施形態において、前記第2コンテキストに対応する応答を獲得する段階は、前記第1類型コンテキスト、第2類型コンテキスト、および第3類型コンテキストのうちいずれかに対応する第1コンテキストを含む対話セットに基づいて前記応答を獲得する段階を含むことができる。
【0020】
一実施形態によって応答を生成するための電子装置は、保存デバイス、通信デバイス、および少なくとも1つのプロセッサーを含む制御部を含み、前記制御部は、前記保存デバイスを通じて少なくとも1つの発話データを獲得し、前記保存デバイスに保存されたコンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得し、前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成し、前記通信デバイスを通じてユーザーから第2コンテキストを受信し、前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得することができる。
【0021】
一実施形態によって応答生成方法をコンピュータにおいて実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的記録媒体であって、前記応答生成方法は、少なくとも1つの発話データを獲得する段階、コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得する段階、前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成する段階、ユーザーから第2コンテキストを受信する段階、および前記1つ以上の対話セットに基づいて、言語モデルを使用して前記第2コンテキストに対応する応答を獲得する段階を含むことができる。
【0022】
一実施形態によって発話データを用いる応答生成システムは、コンテキスト候補セットを保存する第1保存部、発話に関連した情報を保存する第2保存部、ユーザーによって入力されたメッセージを保存する第3保存部、および検索モデルおよび生成モデルを含むサーバーを含み、前記システムは、前記第2保存部を通じて少なくとも1つの発話データを獲得し、前記サーバーにおいて前記検索モデルを使用して前記コンテキスト候補セットから前記発話データに対応する第1コンテキストを獲得し、前記サーバーにおいて前記第1コンテキストおよび前記発話データを含む1つ以上の対話セットを生成し、前記第3保存部を通じて第2コンテキストを獲得し、前記サーバーにおいて前記生成モデルを使用して前記1つ以上の対話セットに基づいて、前記第2コンテキストに対応する応答を獲得することができる。
【0023】
一実施形態によると、前記発話に関連した情報は、特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報、および前記特定キャラクターに関連した複数の既設定された対話セットを含むことができる。
【0024】
その他の実施形態の具体的な事項は、詳細な説明および図面に含まれている。
【発明の効果】
【0025】
本開示によると、対話モデルを通じて対象となる仮想キャラクターのいくつかの発話だけで、該当キャラクターを模倣する応答を生成することができる。
【0026】
発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は、請求範囲の記載から当該技術分野の通常の技術者に明確に理解され得るであろう。
【図面の簡単な説明】
【0027】
【
図1】一実施形態によって仮想キャラクターの発話に対応するコンテキストを獲得する方法を示した概念図である。
【
図2】一実施形態によって発話-コンテキスト対話セットを生成する方法を示した概念図である。
【
図3】一実施形態によって対話形態で構成されたプロンプトを用いて与えられたコンテキストに対する応答を出力する方法を示した概念図である。
【
図4】一実施形態に係る応答生成システムの構造を示した図面である。
【
図5】一実施形態に係るプロンプトに基づいて応答を獲得する過程を概略的に示した図面である。
【
図6】一実施形態に係る応答生成方法を示したフローチャートである。
【
図7】一実施形態に係る発話基盤の応答生成のための電子装置10を示したブロック図である。
【発明を実施するための形態】
【0028】
図面を参照して、本開示される多様な実施形態をよってテキスト応答を生成するためのシステムおよび方法が記述される。実施形態において使用される用語は、本開示における機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは当分野に従事する技術者の意図または判例、新たな技術の出現などによって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する説明の部分において詳細にその意味を記載するであろう。従って、本開示において使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたる内容に基づいて定義されなければならない。
【0029】
明細書全体において、ある部分がある構成要素を「含む」とするとき、これは特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含むことができることを意味する。また、明細書に記載された「~部」、「~モジュール」などの用語は、少なくとも1つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアとして具現されるか、ハードウェアとソフトウェアの結合によって具現され得る。
【0030】
以下において言及される「端末」は、ネットワークを通じてサーバーや他端末に接続できるコンピュータや移動端末機として具現され得る。ここで、コンピュータは、例えば、ウェブブラウザ(WEB Browser)が搭載されたノートパソコン、デスクトップ(desktop)、ラップトップ(laptop)などを含み、移動端末機は、例えば、携帯性と移動性が保障される無線通信装置として、IMT(International Mobile Telecommunication)、CDMA(Code Division Multiple Access)、W-CDMA(W-Code Division Multiple Access)、LTE(Long Term Evolution)などの通信基盤端末、スマートフォン、タブレットPCなどのようなすべての種類のハンドヘルド(Handheld)基盤の無線通信装置を含むことができる。
【0031】
近年、オープンドメイン対話モデルは、大規模言語モデルの開発と共に目覚ましいほど進展を遂げた。開放型対話モデルを向上させるために、実生活対話の好ましい特性を反映するいくつかの方向が提案され得る。例えば、スタイル制御(Style-controlling)対話モデルは、感情および共感を含むが、これに限定されない考慮事項を含む応答を生成することができる。ペルソナ基盤(Persona-grounded)対話モデルは、個人的な説明(例えば、「I have two dogs」)を活用して一貫した性格を維持する応答を生成することができる。このような類型のモデルは、魅力的な対話モデルを構築するための有望な方向に仮想の人物を真似ることにとどまらず、これを含めて用いられ得る。
【0032】
開示された複数の実施形態によって動作するシステムにおいて、オープンドメイン対話の作業は、検索モデル、生成モデル、または両方を使用して研究され得る。検索モデルが予め定義された応答セットにおいて与えられたコンテキストに関連した応答を検索することができる。生成モデルは、自動回帰デコーディングを使用して、与えられたコンテキストに基づいて応答を生成することができる。
【0033】
一方、仮想のキャラクターを模倣した対話モデルを構築するときに、条件付きの応答生成のために設計された以前のモデルを直接適用できない2つの主要な問題がある。先ず、ペルソナ基盤の対話モデルのように、いくつかの叙述情報(description)だけで仮想のキャラクターを定義することは困難である。例えば、スタイル制御対話モデルは、個別ラベル(例えば、怒り、幸せ)があるスタイルを示すが、人物キャラクターのスタイルを定義するには十分ではない。次に、対話モデルを訓練させるための仮想キャラクターの対話データが十分ではない。特に、それぞれの新たなキャラクターに関して追加データが必要であるという点を考慮するときに、訓練のためにキャラクターの対話データセットを手動で生成することは非効率的であろう。
【0034】
この2つの問題を解決するために、本開示は、仮想キャラクターのいくつかの発話のみを使用してキャラクターを模倣した応答を生成できる方法を提案する。
【0035】
一実施形態によると、仮想キャラクターの発話は、話者の個人的特性またはスタイルが発話に内在しているため、キャラクターを模倣する応答を生成することに有用な手掛かりを提供することができる。また、対象キャラクターのいくつかの発話のみを収集することは、コンテキストおよび発話のペアで構成された全体の対話データを構成することと比較するときに、費用効率的なシナリオであるので、これを通じて本開示の応答生成方法を新たなキャラクターに容易に拡張できる利点がある。
【0036】
プロンプトエンジニアリング(Prompt Engineering)は、対話モデルから獲得した情報を最適化することに適用され得る。GPT-3(Generative Pre-trained Transformer 3)は、ディープラーニングを用いて人間らしいテキストを作り出す自己回帰言語モデルとして、GPT-3の開発を基点に巨大な言語モデルの知識を効果的に使用するためのプロンプトエンジニアリング技法が用いられ得る。プロンプトは、モデルが遂行しなければならない作業説明(task description)を含み、プロンプトエンジニアリングを通じてモデルが作業を遂行する方法を示すデモ例題(demonstration examples)として指針(instruction)に従うヒューショットラーニング(Few-shotLearning)方法が導入された。即ち、巨大な言語モデルに解こうとする問題のいくつかの例題(Few-shot Examples)を知らせると、別途の学習なしに問題を解くことができるということである。本開示は、このようなヒューショットラーニング方法を用いて膨大な対話データが要求されなくても、仮想キャラクターの対話スタイルをより確かに模倣する方法を考慮することができる。
【0037】
対話モデルに関する応答の生成
【0038】
本開示の一実施形態に係る発話データに基づく応答生成を遂行するために、事前訓練された大規模言語モデルの力を活用することができ、このために、いくつかの対象キャラクターの発話を使用して対話形式のプロンプトを作成することができる。大規模言語モデルを活用するために、対象キャラクターの発話から対話形式のプロンプトを構成する方法を擬似対話プロンプティング(PDP;Pseudo Dialog Prompting)と指称することができる。キャラクターの発話を対話のヒストリーとして含む対話形式のプロンプトをデザインすることは、キャラクターのスタイルを抽出して反映することに効果的であり得る。このため、検索モデルを使用して事前定義されたコンテキスト候補集合から発話に関連したコンテキストを選択し、各発話を適切な疑似コンテキストと一致させることができる。そして、人間および自動化された評価を通じて、本開示の方法が既存の基本モデルよりも、仮想キャラクターのスタイルをより確かに反映する応答を生成するかを確認することができる。
【0039】
以下においては、添付した図面を参考にして、本開示の実施形態に関して本開示の属する技術分野において通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本開示は、複数の相違する形態で具現され得、ここで説明する実施形態に限定されない。また、本開示において言及された「第1」および「第2」などのような表現は、用語間の区分のために記載されたものとして、該当表現によって意味が制限されない。
【0040】
図1は、一実施形態によって仮想キャラクターの発話に対応するコンテキストを獲得する方法を示した概念図である。
【0041】
一実施形態例によると、任意のキャラクターのk個の発話{u1,u2,...,uk}を模倣しつつ、与えられたコンテキストxに対応する応答rを生成する対話エージェントをモデリングすることができる。キャラクターの発話によってプロンプトをデザインする方法のうち1つは、該当発話を連結(concatenate)することである。しかし、このような方法がキャラクターのスタイルを反映しない鈍い(dull)応答を生成する傾向があり、単純に発話を連結したプロンプト形式が訓練セットにおいて自然に示される可能性がないため、モデルが発話を活用できないと仮定することができる。
【0042】
本開示の一実施形態に係る応答生成方法は、前記の問題を解決するために、対話履歴にキャラクターの発話が含まれた対話形式のプロンプトを構築することができる。
【0043】
対話において、単一話者の発話は、一般的に類似したスタイルを示すので、このようなプロンプトを使用することは、言語モデルがキャラクターの発話においてスタイルを積極的に活用するように誘導することができる。キャラクターの発話だけが与えられたとき、対話を構築するためには、コンテキスト-発話ペア(ci、ui)を得るために、各発話uiと一致する擬似コンテキストciが必要である。一実施形態によると、擬似コンテキストciを獲得するために、検索基盤のオープンドメイン対話モデルである検索機(retriever)Rでバイエンコーダー(Bi-encoder)を使用することができる。先ず、対話データセット(例えば、BST(Blended Skill Talk))から得られたコンテキスト候補の固定されたセットCを定義した後、Rを使用して与えられた発話uiに対する擬似コンテキストciを選択することができる。バイエンコーダーモデルは、コンテキストcと応答rを別途のエンコーダーを使用して、それぞれectx(c)およびeresp(r)としてエンベディング空間にマッピングすることができる。
【0044】
図1を参照すると、仮想の特定キャラクター110に対して1つ以上の発話データ120が獲得され得る。
図1においては、仮想のキャラクター「BMO」に対して、該当キャラクターの発話である「Use the combo move,Finn! The Combo-」および「Yippie ki-yi-yay!」を発話データとして示す。そして、検索機130を用いてコンテキスト候補セット140からキャラクター110の発話データ120にそれぞれ対応するコンテキスト141および142を獲得することができる。
図1においては、発話「Yippie ki-yi-yay!」に対してコンテキスト「I like French fries!」を、発話「Use the combo move,Finn! The Combo-」に対してコンテキスト「I play video games」に対応するコンテキストとして検索したことを示す。
【0045】
一実施形態によると、コンテキスト候補セットは、任意のいくつかの対話セットから抽出されたコンテキストの集まりであり得、いくつかの対話セットのうち口語体からなる句と節の集まりであり得る。コンテキスト候補セットは、動的に設定され得、データの追加と補完が動的に成され得る。
【0046】
図2は、一実施形態によって発話-コンテキスト対話セットを生成する方法を示した概念図である。
【0047】
図1において、発話データ120にそれぞれ対応するコンテキスト141および142をコンテキスト候補セット140から獲得した後、これを発話-コンテキスト対話セットで構成することができる。一実施形態によると、1つ以上の対話セットを通じて言語モデルに活用され得るプロンプト210を構成することができる。プロンプト210を対話形態で構成することによって、言語モデルにキャラクターの発話をより確かに活用できるようにすることができる。
【0048】
図3は、一実施形態によって対話形態で構成されたプロンプトを用いて与えられたコンテキストに対する応答を出力する方法を示した概念図である。
【0049】
図2において構成された1つ以上の対話セットを含むプロンプト210を用いて、言語モデルは与えられたコンテキスト310に対応する応答320を獲得することができる。
図3においては、与えられたコンテキスト310、「Okay. What do you want to do?」に対応して仮想のキャラクター110が応答できる程度の応答320「I want to use the combo move. Yippie ki-yi-yay!」を出力した。
【0050】
一実施形態によると、与えられた発話uiに対する擬似コンテキストciを選択するいくつかの方法が可能である。先ず、検索モデルRを使用して、与えられた発話uiよりも一貫性のあるように先行(precede)できる擬似コンテキストciを選択することができる。uiが与えられると、Rは、次の式(1)を用いてコンテキスト候補セットCに含まれたコンテキストcに対するスコアsstatを計算することができる。
【0051】
【0052】
・は内積であり、ectx(c)とeresp(ui)はバイエンコーダーモデルを使用してコンテキストcと発話uiをそれぞれエンベディング空間にマッピングした値である。一実施形態によると、Rは、最も高いスコアsstatを有するcをuiに対応する擬似コンテキストciに変換することができる。これを通じて、選択された擬似コンテキストciは、与えられた発話uiにのみ依存するため、このような方法の名称をスタティック(Static)と指称することができる。
【0053】
また他の実施形態によると、コンテキスト候補の固定されたセットCのほかにコンテキストxが入力されて、uiだけでなく、入力コンテキストxを考慮して擬似コンテキストciを選択することができる。xとuiが与えられると、検索モデルRは、次の式(2)を用いてコンテキスト候補セットCに含まれたコンテキストcに対するスコアsdynを計算することができる。
【0054】
【0055】
・は内積であり、ectx(c)とectx(x)はバイエンコーダーモデルを使用してコンテキストcと入力コンテキストxをそれぞれエンベディング空間にマッピングした値である。一実施形態によると、Rは、最も高いスコアsdynを有するcをuiに対応する擬似コンテキストciに変換することができる。言語モデルは、コンテキスト内学習(in-context learning)を通じて、与えられたプロンプトのコンテキスト-応答マッピングに素早く適応できるので、前記の実施形態のように入力コンテキストと意味的に類似した疑似コンテキストを提供すれば、該当発話においてスタイルの反映が容易だという長所がある。このような方法は、擬似コンテキストciが多様な入力コンテキストxに依存するため、ダイナミック(Dynamic)と指称することができる。
【0056】
また他の実施形態によると、検索モデルRを使用せず、コンテキスト候補セットCから無作為に擬似コンテキストciを選択してもよい。このような方法は、前記の2つの方法(スタティックおよびダイナミック)によって選択された擬似コンテキストciの品質効果を確認することに使用され得る。このような方法は、無作為に擬似コンテキストciを選択できるので、ランダム(Random)と指称することができる。
【0057】
一実施形態によると、加重値を調節する方法として、コンテキストcに対するスコアをチューニング(tunning)してもよい。例えば、スコアsdynが最も高いコンテキストcが、評価結果、発話に適切なコンテキストでない場合、スコアsstatに対する加重値を高めるか、ectx(x)に対する加重値を高める方式によって、より適切なコンテキストが獲得され得るように調節することができる。
【0058】
一実施形態によると、対話セットは、スタティック、ダイナミック、ランダム方法のうちいずれかの方法に基づいて獲得されたコンテキストを含むことができる。これによって、言語モデルは、スタティック、ダイナミック、ランダム方法のいずれかの方法に基づいて獲得されたコンテキストを含む対話セットに基づいて学習し、応答を生成することに用いられ得る。例えば、チャットボットとの対話において、与えられたコンテキストに対応して出力される応答は、スタティック、ダイナミック、ランダム方法のうちいずれかに基づいて獲得されたコンテキストを少なくとも1つ以上活用して生成されたものであり得る。従って、チャットボットと遂行される対話のうち一部は、スタティック方法に基づく応答、ダイナミック方法に基づく応答、またはランダム方法に基づく応答であり得るであろう。
【0059】
一実施形態によると、チャットボットとの対話中、直前に入力されたコンテキストによって応答を生成する方式が選択され得る。例えば、現在与えられたコンテキストと以前入力されたコンテキストの間に関連性がある場合、ダイナミック方法を通じて獲得されたコンテキストを含む対話セットに基づいて応答が生成され得る。例えば、現在与えられたコンテキストが、以前入力されたコンテキストと類似した趣旨を含むか(例えば、「Did you eat lunch?」に対するコンテキストの後に、「What did you eat?」に対するコンテキストが与えられる場合)、現在与えられたコンテキストの発話スタイルが、以前入力されたコンテキストと類似する場合(例えば、「Howdy!」に対するコンテキストの後に、「I’m just fine and dandy.」のようなコンテキストが与えられる場合)、言語モデルは、ダイナミック方法を通じて獲得されたコンテキストを含む対話セットに基づいて応答を生成することができる。
【0060】
本開示の一実施形態に係る応答生成モデルに関して、モデルの応答が与えられたキャラクターのスタイルを反映するか、およびモデルが与えられた対話コンテキストに一貫して応答するか否かに基づいてモデル性能を確認することができる。このために、人間および自動評価をすべて使用してスタイルの反映程度および対話の一貫性を示すことができる。
【0061】
本開示の応答生成モデルは、すべての基準の方法よりも人間の評価および自動化されたメトリック(metric)に関する遥かに良いスタイル反映メトリックを示す。一実施形態に係る応答生成モデルを用いて生成された対話形式のプロンプトと、発話のみを含むプロンプトの間の主要な相違点は、擬似コンテキストの存在にある。そのため、対話形式のプロンプトがキャラクターの発話スタイルを反映することにより効果的であり得る。特に、スタティック方法に係るプロンプトを用いる場合、高い応答一貫性と応答適切性を示し、ダイナミック方法に係る場合、スタイル反映メトリックにおいて最高の性能を示す。
【0062】
一実施形態によると、チャットボットと対話するユーザーがスタティック、ダイナミック、およびランダム方法に関して直接評価し、ユーザーの評価結果によって、該当ユーザーに特化した方法を決定することができる。例えば、ユーザーがコンテキストに適切かつキャラクターの特性をよく反映したと考えられる応答に対して高い評価を与え、該当応答にスタティック方法に基づいたものである場合、該当ユーザーに対しては、スタティック方法の比重を高めて応答を生成することができる。
【0063】
図4は、一実施形態に係る応答生成システムの構造を示した図面である。
【0064】
一実施形態に係る応答生成システム400は、本開示の一実施形態に係る応答生成方法を用いて対話形式のプロンプトを生成し、与えられたコンテキストに対する応答を獲得するためのシステムであり得る。一実施形態によると、応答生成システム400は、第1保存部410、第2保存部420、第3保存部430、およびサーバー440を含むことができる。そして、サーバー440は、検索モデル441および生成モデル442を含むことができる。
図4は、応答生成システム400の構造を簡略に示すための例示に過ぎず、必ずしも図示した構成に限定されるものではなく、より多くの構成要素をさらに含んでもよい。また、第1保存部410、第2保存部420、および第3保存部430は、それぞれ別途の独立した保存空間であり得るが、保存されるデータの種類や特徴によって、1つの保存所内において区分された保存空間であってもよく、物理的な区分ではなく、応答生成に関連した役割によって概念的に区分されたものであってもよい。
【0065】
一実施形態によると、第1保存部410はコンテキスト候補セットを保存することができ、第2保存部420は発話に関連した情報を保存することができる。発話に関連した情報には、特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報および特定キャラクターに関連した複数の既設定された対話セットを保存することができる。特定キャラクターに関連した複数の既設定された対話セットは、事前にサーバー440を通じて構成されたプロンプトを含むことができ、ユーザーによって予め設定された複数のコンテキスト-応答ペアを含んでもよい。例えば、ユーザーが特定キャラクターに関して名前、性別、性格、および言語習慣のうち少なくとも1つを設定してキャラクターのペルソナを具現することができ、これに基づいて、質問とそれに対して予想されるキャラクターの応答を作成してQnA形式で複数のコンテキスト-応答ペアを生成することができる。サーバー440は、第1保存部410および第2保存部420に保存されている情報に基づいて、対話形式のプロンプトを構成するか、与えられたコンテキストに対応する応答を獲得することができる。一実施形態によると、サーバー440は、Tritonサーバーを含むことができる。一実施形態によると、応答生成システム400は、第2保存部420を通じて少なくとも1つの発話データを獲得し、サーバー440において検索モデル441を使用して、第1保存部410のコンテキスト候補セットから発話データに対応する擬似コンテキストを獲得することができる。そして、サーバー440において擬似コンテキストおよび発話データを含む1つ以上の対話セットを生成することができる。一方、ユーザーによって入力されたメッセージ(即ち、新規コンテキスト)は、第3保存部430に伝達され得る。これによって、サーバー440において生成モデル442を使用して、前記1つ以上の対話セットに基づいて、入力されたメッセージに対応する応答を獲得することができる。
【0066】
一実施形態によると、ユーザーは、特定キャラクターのペルソナを生成するために、キャラクターの名前、年齢(生年月日)、性別、性格、関心事、ユーザーとの関係性(例えば、lover、friendship、pet and ownerなど)を応答生成システム400の第2保存部420に入力することができる。このような入力方式は、テキスト入力形式として作成可能であり、ユーザーにカスタマイズの自由度を高めることができる。または、質問とそれに関して予想されるキャラクターの応答またはキャラクターの対応する特性を、ユーザーが入力するQnA形式としてペルソナが設定されてもよい。そして、第2保存部420に保存されたペルソナに基づいてキャラクターが具現され、応答生成時にキャラクターのパルソナが反映され得る。
【0067】
一実施形態によると、QnA形式のキャラクターのペルソナ情報の入力は、仮想のキャラクターを具体的に具現することに効果的な方法であり得る。ユーザーは、自身がペルソナを設定したキャラクターと交わした対話を質問(Question)として作ることができ、この過程において、応答生成システム400は、ユーザーにキャラクターとの対話ヒストリーのうち一部を推薦質問として表示してもよい。そして、対話ヒストリーに基づいて選択された質問に対してキャラクターに期待する回答(Answer)をユーザーが入力することによって、QnAセットを作成してもよい。または、ユーザーは、自身がキャラクターに回答を聞きたい質問を直接入力することができ、それぞれの質問に対してキャラクターに期待する回答をユーザーが入力することによって、QnAセットを作成してもよい。このように生成されたQnAは、生成モデル442の活用時に入力されるデータの一部として追加され得る。
【0068】
一実施形態によると、検索モデル441を通じて生成された対話形式のプロンプトに基づいて、生成モデル442が応答を生成することができる。他の一実施形態によると、ユーザーから入力されたQnAに基づいて、生成モデル442が応答を生成することができる。また、ここに、ユーザーとチャットボットが交わした対話ヒストリー情報が追加でさらに考慮されてもよい。これによって、生成モデル442は、ユーザーから新たなメッセージが入力されると、ユーザーが入力したペルソナをより確かに反映する応答を出力することができる。
【0069】
一実施形態によると、ユーザーは、チャットボットが出力した応答のうち、気に入る応答に関して相互作用(interaction)することができる。ユーザーによって選択された応答は、生成モデル442が応答を生成することに追加的にさらに考慮され得、これを通じてペルソナをより確かに反映する応答を生成してもよい。
【0070】
図5は、一実施形態に係るプロンプトに基づいて応答を獲得する過程を概略的に示した図面である。
【0071】
一実施形態によると、プロンプト510は、コンテキスト-発話ペアからなる対話セットを1つ以上含むことができる。前述の他の実施形態において説明したように、プロンプト510は、キャラクターの発話と疑似コンテキストペアからなる擬似コンテキスト-発話対話セットを含んでもよい。
【0072】
または、プロンプト510は、仮想キャラクターのペルソナ511と任意の質問とそれに対するキャラクターの予想される回答を含む叙述(description)情報512、および新たに入力されたコンテキストを含む対話ヒストリー情報513を含むことができる。一実施形態によると、叙述情報512は、質問に対してユーザーがキャラクターが回答する程度の予想される応答を入力したQnAを含むことができ、または、前述の
図1ないし4を参照した他の実施形態において説明したように、叙述情報512は、検索モデルを通じて獲得された疑似コンテキスト-発話ペア(即ち、対話セット)を含んでもよい。
【0073】
一実施形態によると、ユーザーは、複数のQnAを生成することができ、検索モデルは、複数のQnAのうち新たに入力されたコンテキストに適切なQnAを検索して叙述情報512に含めることができる。このとき、複数のQnAは、質問と入力コンテキストの類似性に基づいてフィルタリングされて選択され得る。または、複数のQnAは、回答のスタイル反映メトリックに基づいてフィルタリングされて選択され得る。
【0074】
生成モデルは、プロンプト510を用いて複数のデコーディング520を通じて入力されたコンテキストに対応する応答530を生成することができる。
図5を参照すると、仮想のキャラクターのペルソナ511として、「My name is Lara. I’m a female.」が入力され、記述情報512として、「The following is a conversation between the character and a guest. User:Who are you? Bot:My name is Lara. Nice to meet you.」が入力され、対話ヒストリー情報513として新たに入力されたコンテキストである、「User:Hi what’s up?」が入力されてプロンプト510を構成した。これに対応して生成モデルは、入力コンテキスト「Hi what’s up?」に対応する応答として、「Just finished reading a good book. You?」を生成した。
【0075】
図6は、一実施形態に係る応答生成方法を示したフローチャートである。
【0076】
段階S601において、少なくとも1つの発話データを獲得することができる。一実施形態によると、少なくとも1つの発話データは、特定キャラクターの性格および言語習慣に関する情報を含むことができる。
【0077】
段階S602において、コンテキスト候補セットから発話データに対応する第1コンテキストを獲得することができる。一実施形態によると、第1コンテキストは、発話データおよびコンテキスト候補セットに基づいて検索モデルを使用して獲得され得る。例えば、検索モデルを使用してコンテキスト候補セットに含まれたコンテキストと発話データの間の第1スコアを獲得し、獲得された第1スコアに基づいてコンテキスト候補セットから第1コンテキストを決定することができる。または、検索モデルを使用してコンテキスト候補セットに含まれたコンテキストと第2コンテキストの間の第2スコアを追加的にさらに獲得して、第1スコアおよび第2スコアに基づいてコンテキスト候補セットから第1コンテキストを決定することができる。一実施形態によると、第1スコアは、第1コンテキストの発話データに対する適切性に関連したスコアであり、第2スコアは、第1コンテキストと第2コンテキストの間の類似性に関連したスコアであり得る。
【0078】
第1コンテキストは、コンテキスト候補セットから任意のコンテキストを第1コンテキストとして決定して獲得されてもよい。一実施形態によると、検索モデルは、発話データと第1コンテキストをそれぞれマッピングするバイエンコーダー(bi-encoder)を含むことができる。多様な実施形態によると、第1コンテキストは、第1スコアに基づいて獲得される第1類型コンテキスト、第1スコアおよび第2スコアに基づいて獲得される第2類型コンテキスト、およびコンテキスト候補セットから任意に選択される第3類型コンテキストのうちいずれかに対応され得る。これによって、以下の段階S605において説明する第2コンテキストに対応する応答を獲得する段階は、第1類型コンテキスト、第2類型コンテキスト、および第3類型コンテキストのうちいずれかに対応する第1コンテキストを含む対話セットに基づいて応答が獲得され得る。
【0079】
段階S603において、第1コンテキストおよび発話データを含む1つ以上の対話セットを生成することができる。一実施形態によると、1つ以上の対話セットを含むプロンプトを構成することができる。
【0080】
段階S604において、ユーザーから第2コンテキストを受信することができる。そして、段階S605において、1つ以上の対話セットに基づいて言語モデルを使用して第2コンテキストに対応する応答を獲得することができる。
【0081】
一実施形態によると、1つ以上の対話セットと第2コンテキストを含むプロンプト(prompt)を言語モデルに入力することによって、第2コンテキストに対応する応答を獲得することができる。
【0082】
一実施形態によると、ユーザーから発話に関連した追加情報を受信し、受信した追加情報に基づいて、言語モデルを使用して第2コンテキストに対応する応答を獲得することができる。追加情報は、特定キャラクターに関する名前、性別、性格、および言語習慣のうち少なくとも1つに関する情報および特定キャラクターに関連した複数の既設定された対話セットを含むことができる。
【0083】
図7は、一実施形態に係る発話基盤の応答生成のための電子装置10を示したブロック図である。
【0084】
電子装置10は、一実施形態によって、保存デバイス(storage device)12、通信デバイス(communication device)14、および制御部16を含むことができ、これに限定されない。
【0085】
保存デバイス12は、オープンドメイン対話に必要なコンテキストと応答を保存することができる。また、保存デバイス12は、仮想のキャラクターに関連した発話データと任意の対話データから獲得されたコンテキスト候補セットを含むことができる。保存デバイス12は、電子装置10内において処理される各種データを保存するハードウェアとして、制御部16の処理および制御のためのプログラムを保存することができる。保存デバイス12は、DRAM(dynamic random access memory)、SRAM(static random access memory)などのようなRAM(random access memory)、ROM(read-only memory)、EEPROM(electrically erasable programmable read-only memory)、CD-ROM、ブルーレイ、または他の光学ディスクストレージ、HDD(hard disk drive)、SSD(solid state drive)、またはフラッシュメモリを含むことができる。
【0086】
通信デバイス14は、有無線通信技術を用いて外部の電子装置と通信することができ、トランシーバーを含むことができる。例えば、通信デバイス14は、電子装置10とユーザー端末間の通信を可能にすることができる。外部の電子装置は、端末またはサーバーとなり得る。また、通信デバイス140が用いる通信技術には、GSM(Global System for Mobile communication)、CDMA(Code Division Multi Access)、LTE(Long Term Evolution)、5G、WLAN(Wireless LAN)、Wi-Fi(Wireless-Fidelity)、ブルートゥース(Bluetooth)、RFID(Radio Frequency Identification)、赤外線通信(Infrared Data Association; IrDA)、ZigBee、NFC(Near Field Communication)などがあり得、これに限定されるものではない。
【0087】
制御部16は、電子装置10の全般的な動作を制御し、データおよび信号を処理することができる。一実施形態において、制御部16は、少なくとも1つのプロセッサーを含むことができる。一実施形態によって、制御部16は、保存デバイス12を通じて少なくとも1つの発話データを獲得し、コンテキスト候補セットから発話データに対応する第1コンテキストを獲得して、第1コンテキストおよび発話データを含む1つ以上の対話セットを生成することができる。そして、制御部16は、通信デバイス14を通じてユーザー端末から第2コンテキストを受信し、1つ以上の対話セットに基づいて、言語モデルを使用して第2コンテキストに対応する応答を獲得することができる。
【0088】
前述した実施形態に係る電子装置は、プログラムデータを保存して実行するメモリー、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポート、タッチパネル、キー(key)、ボタンなどのようなユーザーインターフェイス装置などを含み得る。ソフトウェアモジュールまたはアルゴリズムとして具現される方法は、前記プロセッサー上において実行可能なコンピュータが読み取り可能なコードまたはプログラム命令としてコンピュータが読み取り可能な記録媒体上に保存され得る。ここで、コンピュータが読み取り可能な記録媒体として、マグネティック保存媒体(例えば、ROM(read-only memory)、RAM(random-Access memory)、フロッピーディスク、ハードディスクなど)、および光学的読み取り媒体(例えば、シーディーロム(CD-ROM)、ディーブイディー(DVD:Digital Versatile Disc))などがある。コンピュータが読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式としてコンピュータが読み取り可能なコードが保存され実行され得る。媒体は、コンピュータによって読み取り可能であり、メモリーに保存され、プロセッサーにおいて実行され得る。
【0089】
本実施形態は、機能的なブロック構成および多様な処理段階として示され得る。このような機能ブロックは、特定の機能を実行する多様な個数のハードウェアおよび/またはソフトウェアの構成として具現され得る。例えば、実施形態は、1つ以上のマイクロプロセッサーの制御または他の制御装置によって多様な機能を実行することができる、メモリー、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)などのような集積回路の構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素として実行され得ることと同様に、本実施形態は、データ構造、プロセス、ルーチン、または他のプログラミング構成の組み合わせとして具現される多様なアルゴリズムを含み、C、C++、ジャバ(Java)、アセンブラー(assembler)などのようなプログラミングまたはスクリプト言語として具現され得る。機能的な側面は、1つ以上のプロセッサーにおいて実行されるアルゴリズムとして具現され得る。また、本実施形態は、電子的な環境設定、信号処理、および/またはデータ処理などのために、従来の技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は、広く使用され得、機械的かつ物理的な構成として限定されるものではない。前記用語は、プロセッサーなどと連携してソフトウェアの一連の処理(routines)の意味を含むことができる。
【0090】
本開示の多様な実施形態に係る生成に関するシステムおよび技法は、チャットボット応答を生成するためのものに限定されない。従って、
図1ないし7を参照して前述したシステムおよび技法のうちいずれでも前述した脈絡とは異なって遂行されてもよい。
【0091】
前述した実施形態は、一例示に過ぎず、後述する請求項の範囲内において他の実施形態が具現され得る。前記説明は、多くの実施形態を含むが、これは例示のうちの1つに過ぎず、開示された範囲に限定されるものとして解釈されない。従って、本開示の範囲は、記述された実施形態によって定められるものではなく、後述する請求項とその均等範囲において決定されなければならない。