(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-22
(45)【発行日】2022-03-03
(54)【発明の名称】OOS文章を生成する方法及びこれを行う装置
(51)【国際特許分類】
G06F 16/332 20190101AFI20220224BHJP
G10L 15/06 20130101ALI20220224BHJP
G10L 15/10 20060101ALI20220224BHJP
【FI】
G06F16/332
G10L15/06 300E
G10L15/10 500Z
(21)【出願番号】P 2018101566
(22)【出願日】2018-05-28
【審査請求日】2021-03-30
(31)【優先権主張番号】10-2017-0119791
(32)【優先日】2017-09-18
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】金 映 錫
(72)【発明者】
【氏名】柳 尚 賢
(72)【発明者】
【氏名】全 在 勳
(72)【発明者】
【氏名】崔 俊 輝
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2017-126051(JP,A)
【文献】特開2015-026057(JP,A)
【文献】特開2009-070297(JP,A)
【文献】特開2016-173430(JP,A)
【文献】米国特許出願公開第2017/0190051(US,A1)
【文献】特開平02-309399(JP,A)
【文献】特開昭61-014374(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
処理装置によるOOS(out of service)文章生成方法であって、
前記処理装置が、ターゲットサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させるステップと、
前記処理装置が、前記学習されたモデルのうちの1つと異なるサービスの発話テンプレートから生成された文章に基づいて、前記ターゲット発話テンプレートの類似発話テンプレートを生成するステップと、
前記処理装置が、前記学習されたモデルのうち他の1つ及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成するステップと、
を含む、OOS文章生成方法。
【請求項2】
前記方法は、さらに、
前記処理装置が、前記ターゲットサービスに対して、前記類似文章の意図にOOSレーベルを割り当てるステップ、を含む、
請求項1に記載
のOOS文章生成方法。
【請求項3】
前記OOSレーベルは、前記ターゲットサービスが前記類似文章に対応する機能を実行できないことを示す、
請求項2に記載のOOS文章生成方法。
【請求項4】
前記モデルを学習させるステップは、
前記処理装置が、前記ターゲット文章を前記モデルのうち第1モデルに入力し、前記第1モデルが前記ターゲット文章に基づいて前記ターゲット発話テンプレートを生成するように前記第1モデルを学習させるステップと、
前記処理装置が、前記ターゲット発話テンプレートを前記モデルのうち第2モデルに入力し、前記第2モデルが前記ターゲット発話テンプレートに基づいて前記ターゲット文章を生成するように前記第2モデルを学習させるステップと、
を含む、請求項1ないし3のいずれか一項に記載のOOS文章生成方法。
【請求項5】
前記学習された第1モデルは、前記類似発話テンプレートを生成するために利用されたモデルに該当し、
前記学習された第2モデルは、前記類似文章を生成するために利用されたモデルに該当する、
請求項4に記載のOOS文章生成方法。
【請求項6】
前記学習された第2モデルは、学習によるコーパス及び前記類似発話テンプレートによって前記類似文章を生成する、
請求項4に記載のOOS文章生成方法。
【請求項7】
前記方法は、さらに、
前記処理装置が、前記ターゲット文章及び前記類似文章に基づいて、入力文章の意図を分類する分流器を学習させるステップ、を含む、
請求項1に記載のOOS文章生成方法。
【請求項8】
前記学習された分流器は、ユーザの音声信号に対する文章が入力され、前記文章の意図を決定し、前記決定された意図が前記ターゲットサービスのOOSレーベルに該当する場合、前記決定された意図に対応する機能を実行できないことを示す結果を出力する、
請求項7に記載のOOS文章生成方法。
【請求項9】
請求項1ないし請求項8のうちいずれか一項に記載の方法を実行するための命令語を格納する、コンピュータで読み出し可能な格納媒体。
【請求項10】
ターゲットサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させ、
前記学習されたモデルのうちの1つと異なるサービスの発話テンプレートから生成された文章に基づいて前記ターゲット発話テンプレートの類似発話テンプレートを生成し、
前記学習されたモデルのうち他の1つ及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成する、プロセッサ、
を含む、コンピューティング装置。
【請求項11】
前記プロセッサは、前記ターゲットサービスに対して前記類似文章の意図にOOSレーベルを割り当てる、
請求項10に記載のコンピューティング装置。
【請求項12】
前記OOSレーベルは、前記ターゲットサービスが前記類似文章に対応する機能を実行できないことを示す、
請求項11に記載のコンピューティング装置。
【請求項13】
前記プロセッサは、
前記ターゲット文章を前記モデルのうち第1モデルに入力し、前記第1モデルが前記ターゲット文章に基づいて前記ターゲット発話テンプレートを生成するように前記第1モデルを学習させ、
前記ターゲット発話テンプレートを前記モデルのうち第2モデルに入力し、前記第2モデルが前記ターゲット発話テンプレートに基づいて前記ターゲット文章を生成するように前記第2モデルを学習させる、
請求項10ないし12のいずれか一項に記載のコンピューティング装置。
【請求項14】
前記学習された第1モデルは、前記類似発話テンプレートを生成するために利用されたモデルに該当し、前記学習された第2モデルは、前記類似文章を生成するために利用されたモデルに該当する、
請求項13に記載のコンピューティング装置。
【請求項15】
前記学習された第2モデルは、学習によるコーパス及び前記類似発話テンプレートによって前記類似文章を生成する、
請求項13に記載のコンピューティング装置。
【請求項16】
前記プロセッサは、前記ターゲット文章及び前記類似文章に基づいて前記ターゲット文章の意図を分類する分流器を学習させる、
請求項10に記載のコンピューティング装置。
【請求項17】
前記学習された分流器は、ユーザの音声信号に対する文章データが入力され、前記文章データの意図を決定し、前記決定された意図が前記サービスのOOSレーベルに該当する場合、前記決定された意図に対応する機能を実行できないことを示す結果を出力する、
請求項16に記載のコンピューティング装置。
【請求項18】
処理装置による命令実行方法であって、
前記処理装置が、入力文章に関するサービスを識別するステップと、
前記処理装置が、前記識別されたサービスに対応する分流器を用いて前記入力文章の意図を決定するステップと、
前記処理装置が、前記決定された意図がOOSに該当するか否かに基づいて、前記決定された意図に対応する機能及び前記入力文章をエラーとして処理する動作のうちの1つを実行するステップと、
を含む、命令実行方法。
【請求項19】
前記分流器は、前記識別されたサービスのターゲット文章及び類似文章に基づいて予め学習されたものである、
請求項18に記載の命令実行方法。
【請求項20】
前記類似文章は、
前記処理装置が、前記識別されたサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させるステップと、
前記処理装置が、前記学習されたモデルのうち、第1モデル及び他のサービスの発話テンプレートから生成された文章に基づいて前記ターゲット発話テンプレートの類似発話テンプレートを生成するステップと、
前記処理装置が、前記学習されたモデルのうち、第2モデル及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成するステップ、の実行によって生成される、
請求項19に記載の命令実行方法。
【請求項21】
前記実行するステップは、前記決定された意図がOOSに該当しない場合、
前記処理装置が、前記決定された意図に対応する機能を行うステップを含む、
請求項18ないし20のいずれか一項に記載の命令実行方法。
【請求項22】
前記実行するステップは、前記決定された意図がOOSに該当する場合、
前記処理装置が、前記入力文章をエラーとして処理する動作を行うステップを含む、
請求項18ないし20のいずれか一項に記載の命令実行方法。
【請求項23】
請求項18ないし請求項22のいずれか一項に記載の方法を実行するための命令語を格納する、コンピュータで読み出し可能な格納媒体。
【請求項24】
処理装置による命令実行方法であって、
前記処理装置が、命令実行システムにより動作して入力文章に関するアプリケーションを識別するステップと、
前記処理装置が、前記識別されたアプリケーションに対応する分流器を用いて前記入力文章の意図を決定するステップと、
前記処理装置が、前記決定された意図がOOSに該当する場合、前記入力文章に対応する機能の実行を拒否するステップと、
を含む、命令実行方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OOS文章の生成に関する。
【背景技術】
【0002】
オートエンコーダ(Auto encoder)は、与えられた入力を符号化してベクトルを生成し、該当のベクトルを復号化して入力に対する出力を生成する。このようなオートエンコーダは、特定サービスのIS(In-Service)入力に基づいて復元エラーが最小化するように学習される。そのため、オートエンコーダモデルは、与えられた入力に対する復元エラーが閾値よりも大きければ、該当の入力が特定サービスに対してはOOS(Out-Of-Service)入力であると決定し、復元エラーが閾値以下であれば、該当の入力が特定サービスに対してはIS入力であると決定する。ここで、閾値は、オートエンコーダモデルを学習させながら決定され、閾値は入力(すなわち、学習データ)がどの様なものであるかに応じて可変的である。
【0003】
オートエンコーダによる入力がIS入力として決定されれば、分流器は与えられた入力がどのような意図であるかを決定する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一発明の目的は、OOS発話に対する実行を拒否する性能が向上するよう、IS発話文章と共に学習データとして用いられるOOS発話文章を生成することにある。
【課題を解決するための手段】
【0005】
一つの側に係るOOS文章生成方法は、ターゲットサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させるステップと、前記学習されたモデルのうちの1つと異なるサービスの発話テンプレートから生成された文章に基づいて、前記ターゲット発話テンプレートの類似発話テンプレートを生成するステップと、前記学習されたモデルのうち他の1つ及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成するステップとを含む。
【0006】
OOS文章生成方法は、前記ターゲットサービスに対して、前記類似文章の意図にOOSレーベルを割り当てるステップをさらに含み得る。
【0007】
前記OOSレーベルは、前記ターゲットサービスが前記類似文章に対応する機能を実行できないことを示し得る。
【0008】
前記モデルを学習させるステップは、前記ターゲット文章を前記モデルのうち第1モデルに入力し、前記第1モデルが前記ターゲット文章に基づいて前記ターゲット発話テンプレートを生成するように前記第1モデルを学習させるステップと、前記ターゲット発話テンプレートを前記モデルのうち第2モデルに入力し、前記第2モデルが前記ターゲット発話テンプレートに基づいて前記ターゲット文章を生成するように前記第2モデルを学習させるステップとを含み得る。
【0009】
前記学習された第1モデルは、前記類似発話テンプレートを生成するために利用されたモデルに該当し、前記学習された第2モデルは、前記類似文章を生成するために利用されたモデルに該当し得る。
【0010】
前記学習された第2モデルは、学習によるコーパス及び前記類似発話テンプレートによって前記類似文章を生成し得る。
【0011】
OOS文章生成方法は、前記ターゲット文章及び前記類似文章に基づいて、入力文章の意図を分類する分流器を学習させるステップをさらに含み得る。
【0012】
前記学習された分流器はユーザの音声信号に対する文章が入力され、前記文章の意図を決定し、前記決定された意図が前記ターゲットサービスのOOSレーベルに該当する場合、前記決定された意図に対応する機能を実行できないことを示す結果を出力し得る。
【0013】
一実施形態に係るコンピューティング装置は、ターゲットサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させ、前記学習されたモデルのうちの1つと異なるサービスの発話テンプレートから生成された文章に基づいて前記ターゲット発話テンプレートの類似発話テンプレートを生成し、前記学習されたモデルのうち他の1つ及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成するプロセッサを含む。
【0014】
前記プロセッサは、前記ターゲットサービスに対して前記類似文章の意図にOOSレーベルを割り当て得る。
【0015】
前記OOSレーベルは、前記ターゲットサービスが前記類似文章に対応する機能を実行できないことを示し得る。
【0016】
前記プロセッサは、前記ターゲット文章を前記モデルのうち第1モデルに入力し、前記第1モデルが前記ターゲット文章に基づいて前記ターゲット発話テンプレートを生成するように前記第1モデルを学習させ、前記ターゲット発話テンプレートを前記モデルのうち第2モデルに入力し、前記第2モデルが前記ターゲット発話テンプレートに基づいて前記ターゲット文章を生成するように前記第2モデルを学習させ得る。
【0017】
前記学習された第1モデルは、前記類似発話テンプレートを生成するために利用されたモデルに該当し、前記学習された第2モデルは、前記類似文章を生成するために利用されたモデルに該当し得る。
【0018】
前記学習された第2モデルは、学習によるコーパス及び前記類似発話テンプレートによって前記類似文章を生成し得る。
【0019】
前記プロセッサは、前記ターゲット文章及び前記類似文章に基づいて前記ターゲット文章の意図を分類する分流器を学習させ得る。
【0020】
前記学習された分流器は、ユーザの音声信号に対する文章データが入力され、前記文章データの意図を決定し、前記決定された意図が前記サービスのOOSレーベルに該当する場合、前記決定された意図に対応する機能を実行できないことを示す結果を出力し得る。
【0021】
一実施形態に係る命令実行方法は、入力文章に関するサービスを識別するステップと、前記識別されたサービスに対応する分流器を用いて前記入力文章の意図を決定するステップと、前記決定された意図がOOSに該当するか否かに基づいて、前記決定された意図に対応する機能及び前記入力文章をエラーとして処理する動作のうちの1つを行うステップとを含む。
【0022】
前記分流器は、前記識別されたサービスのターゲット文章及び類似文章に基づいて予め学習されたものであり得る。
【0023】
前記類似文章は、前記識別されたサービスのターゲット発話テンプレート及び前記ターゲット発話テンプレートから生成されたターゲット文章に基づいてモデルを学習させるステップと、前記学習されたモデルのうち、第1モデル及び他のサービスの発話テンプレートから生成された文章に基づいて前記ターゲット発話テンプレートの類似発話テンプレートを生成するステップと、前記学習されたモデルのうち、第2モデル及び前記類似発話テンプレートに基づいて前記ターゲット文章の類似文章を生成するステップの実行によって生成され得る。
【0024】
前記実行するステップは、前記決定された意図がOOSに該当しない場合、前記決定された意図に対応する機能を行うステップを含み得る。
【0025】
前記実行するステップは、前記決定された意図がOOSに該当する場合、前記入力文章をエラーとして処理する動作を行うステップを含み得る。
【0026】
コンピュータで読み出し可能な格納媒体は、命令実行方法を実行するための命令語を格納し得る。
【0027】
他の位置実施形態に係る命令実行方法は、命令実行システムにより動作して入力文章に関するアプリケーションを識別するステップと、前記識別されたアプリケーションに対応する分流器を用いて前記入力文章の意図を決定するステップと、前記決定された意図がOOSに該当する場合、前記入力文章に対応する機能の実行を拒否するステップとを含む。
【発明の効果】
【0028】
一実施形態によれば、生成されたOOS発話文章は、既存のルールの予測及び実行モデルが変更されることなく、IS発話文章と共に学習データとして使用されることにより、OOS発話に対する実行を拒否する性能が向上し得る。
【図面の簡単な説明】
【0029】
【
図1】ユーザ入力基盤の命令実行システムを説明するための図である。
【
図2】一実施形態に係るターゲット文章生成方法を説明するための図である。
【
図3】一実施形態に係るOOS文章生成装置を説明するための図である。
【
図4】一実施形態に係るOOS文章生成装置の動作を説明するための図である。
【
図5】一実施形態に係るOOS文章生成装置の動作を説明するための図である。
【
図6】一実施形態に係る学習装置を説明するための図である。
【
図7】一実施形態に係るOOS文章生成装置を説明するためのブロック図である。
【
図8】一実施形態に係るOOS文章生成方法を説明するためのフローチャートである。
【
図9】一実施形態に係る命令実行システムを説明するための図である。
【
図10】一実施形態に係る命令実行方法を説明するためのフローチャートである。
【
図11】一実施形態に係るターゲット文章生成装置を説明するための図である。
【発明を実施するための形態】
【0030】
以下に、添付する図面を参照しながら実施形態を詳細に説明する。
【0031】
実施形態に対する特定の構造的又は機能的な説明は、単なる例示を目的として開示されたものとして、様々な形態に変更され得る。したがって、実施形態は特定の開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0032】
第1又は第2などの用語を複数の構成要素を説明するために用いることができるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素と命名することもできる。
【0033】
単数の表現は、文脈上明白に異なる意味をもたない限り、複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれらを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0034】
異なるように定義さがれない限り、ここで用いる技術的又は科学的な用語を含む全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0035】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同じ構成要素には同じ参照符号を付与し、これに対する重複説明は省略することにする。実施形態の説明において、関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断する場合、その詳細な説明を省略する。
【0036】
図1は、ユーザ入力基盤の命令実行システムを説明するための図である。
【0037】
ユーザ入力基盤の命令実行システム100は、ユーザ入力があれば、ユーザ入力に関するサービスを識別し、識別されたサービスの機能のうちユーザ入力からリクエストされた機能を決定し、決定された機能を行う。ここで、サービスはアプリケーションとして相違に表現されてもよい。
【0038】
一例として、命令実行システム100は、第1文章「済州島で最近撮った写真を見せて」が入力されれば、第1文章に関するサービス(又は、アプリケーション)をギャラリーアプリケーションとして識別し得る。命令実行システム100は、第1文章のワード「見せて」を介して第1文章でリクエストされた機能を「表示機能」として決定し、決定された機能を行って済州島で最近撮った1つ以上の写真をギャラリーアプリケーションを介してユーザ端末に表示する。ギャラリーアプリケーションは写真を表示できるため、第1文章は、ギャラリーアプリケーションについてはターゲット文章又はIS(In-Service)文章に該当する。
【0039】
異なる一例として、命令実行システム100は、第2文章「父にメッセージを送信して」が入力されれば、第2文章に関するサービス(又は、アプリケーション)をメッセージアプリケーションとして識別する。命令実行システム100は、第2文章のワード「送信して」を介して第2文章でリクエストされた機能を「送信機能」として決定し、決定された機能を行ってメッセージアプリケーションを介してユーザの父の端末にメッセージを送信する。メッセージアプリケーションは、メッセージを送信できるため、第2文章は、メッセージアプリケーションについてはターゲット文章又はIS文章に該当する。
【0040】
図1に示された例を参照すると、命令実行システム100は、第3文章「済州島で最近撮った写真を翻訳して」が入力されてもよい。命令実行システム100は、第3文章にワード「写真」が含まれているため、第3文章に関するアプリケーションをギャラリーアプリケーションとして識別する。ここで、ギャラリーアプリケーションは写真を翻訳できないため、第3文章はギャラリーアプリケーションについてはOOS(out-of-service)文章に該当する。命令実行システム100は、第3文章がギャラリーアプリケーションに対してOOS文章であることを認知できない。そのため、命令実行システム100は、第3文章でリクエストされた機能を決定し、決定された機能を行う。一例として、命令実行システム100は、第3文章の「翻訳して」を「捨てて」に認識して、第3文章でリクエストされた機能を「削除」として決定し得る。そのため、命令実行システム100は、済州島で最近撮った1つ以上の写真を削除する。このような状況は、該当ユーザ入力がギャラリーアプリケーションに対してはOOSであるにもかかわらず、命令実行システム100が該当のユーザ入力に対する機能実行を拒否できないことから発生する。
【0041】
図9を参照して後述する一実施形態に係る命令実行システム900は、ユーザ入力が特定アプリケーション(又は、特定サービス)(以下、ターゲットサービスと称する)のOOS文章に該当すれば、該当のユーザ入力に対する機能実行を拒否し得る。異なって表現すれば、ターゲットサービスのOOS文章に対する拒否性能を向上することができる。一実施形態に係る命令実行システム900は、ターゲットサービスのターゲット文章(すなわち、IS文章)及びOOS文章に基づいて、学習された分流器を含んでいるため前述した拒否性能が向上し得る。
【0042】
分流器の学習のためには、ターゲットサービスのターゲット文章及びOOS文章を生成しなければならないが、以下に、
図2を参照しながらターゲット文章の生成について説明し、
図3~
図5を参照してOOS文章の生成について説明する。分流器の学習については
図6を参照して説明する。
【0043】
図2は、一実施形態に係るターゲット文章生成方法を説明するための図である。
【0044】
一実施形態に係るターゲット文章生成方法は、ターゲット文章生成装置によって実行されてもよい。ターゲット文章生成装置は、ターゲットサービスのターゲット発話テンプレートに基づいてターゲット文章を生成する。ここで、ターゲット発話テンプレートは、ターゲット文章を生成するために用いられるテンプレートを示す。
【0045】
図2には、ギャラリーアプリケーションがターゲットサービスである場合、ターゲット文章生成装置がギャラリーアプリケーションのターゲット文章をどのように生成するかが示されている。
【0046】
ターゲット文章生成装置は、リスト220にあるワード又はワードの組合せのいずれか1つをターゲット発話テンプレート210内のスロット211に入れ、リスト230にあるワード又はワードの組合せのいずれか1つをターゲット発話テンプレート210内のスロット212に入れて、ターゲット文章240を生成する。一例として、ターゲット文章生成装置は、リスト220にあるワード「済州島」をスロット211に入れ、リスト230にあるワード「最近」をスロット212に入れて、ターゲット文章240「済州島で最近撮った写真を見せて」を生成する。異なる一例として、ターゲット文章生成装置は、リスト220にあるワード「ソウル」をスロット211に入れ、リスト230にあるワード「二日前に」をスロット212に入れて、ターゲット文章「ソウルで二日前に取った写真を見せて」を生成する。
【0047】
図2には、1つのターゲット発話テンプレート210と1つのターゲット文章240が図示されているが、これは例示的な事項に過ぎず、ターゲット文章生成装置は、ターゲットサービスの複数のターゲット発話テンプレートから複数のターゲット文章を生成することができる。
【0048】
図3は、一実施形態に係るOOS文章生成装置を説明するための図である。
【0049】
図3を参照すると、OOS文章生成装置300は、モデル学習器310及び文章生成器320を含む。
【0050】
モデル学習器310は、ターゲット発話テンプレート210及びターゲット文章240に基づいてモデルを学習させる。
図4を参照すると、モデル学習器310はターゲット文章240を発話toテンプレートモデル410に入力する。発話toテンプレートモデル410は、一例として、sequence-to-sequence構造を有する多重神経網モデルであり得る。モデル学習器310は、発話toテンプレートモデル410が、ターゲット文章240からターゲット発話テンプレート210を生成するように、発話toテンプレートモデル410を学習させる。これに制限されることなく、モデル学習器310は、発話toテンプレートモデルモデル410が、1つ又はそれ以上のターゲット文章から1つ又はそれ以上のターゲット発話テンプレートを生成するように、発話toテンプレートモデル410を学習させ得る。モデル学習器310は、ターゲット発話テンプレート210をテンプレートto発話モデル420に入力する。テンプレートto発話モデル420は、一例として、sequence-to-sequence構造を有する多重神経網モデルであり得る。モデル学習器310は、テンプレートto発話モデル420が、ターゲット発話テンプレート210からターゲット文章240を生成するように、テンプレートto発話モデル420を学習させる。これに制限されることなく、モデル学習器310は、テンプレートto発話モデル420が、1つ又はそれ以上のターゲット発話テンプレートから1つ又はそれ以上のターゲット文章を生成するように、テンプレートto発話モデル420を学習させることができる。
【0051】
文章生成器320は、学習されたモデルのうち発話toテンプレートモデル410と他のサービスの発話テンプレートから生成された文章に基づいて、ターゲット発話テンプレート210の類似発話テンプレートを生成する。また、文章生成器320は、学習されたモデルのうちテンプレートto発話モデル420及び前記生成した類似発話テンプレートに基づいて、ターゲット文章240の類似文章を生成する。類似文章は、
図1を参照して説明したOOS文章で、ターゲット文章と似ているがターゲットサービスでOOSである文章を示す。異なって表現すれば、類似文章はターゲットサービスと関連しながらターゲットサービスが実行できない機能をリクエストする入力に該当する。
【0052】
図5に示された例を参照すると、文章生成器320は、他のサービス(一例として、翻訳サービス)の文章「昨日生成した文書をハングルに翻訳して」を学習された発話toテンプレートモデル510に入力する。ここで、他のサービスの文章は、他のサービスの発話テンプレートから生成される。一例として、他のサービスの発話テンプレートが、「[]生成した[]をハングルに翻訳して」であれば、
図2を参照して説明したターゲット発話生成装置は、他のサービスの発話テンプレートのスロットのそれぞれに「昨日」及び「文書」を入れて他のサービスの文章「昨日生成した文書をハングルに翻訳して」を生成する。
【0053】
文章生成器320は、学習された発話toテンプレートモデル510を介してターゲット発話テンプレート210の類似発話テンプレート520「[]から[]文書を翻訳して」を生成する。
図3及び
図4を参照して説明したように、学習された発話toテンプレートモデル510は、ターゲット発話テンプレート210及びターゲット文章240に基づいて学習されているため、ターゲット文章240ではない他のサービスの文章が入力されても、ターゲット発話テンプレート210と類似の発話テンプレート520を生成することができる。
【0054】
文章生成器320は、類似発話テンプレート520を学習されたテンプレートto発話モデル530に入力する。文章生成器320は、学習されたテンプレートto発話モデル530を介してターゲット文章240の類似文章540「昨日撮った写真の中から2番目の写真を翻訳して」を生成する。
図3及び
図4を参照して説明したように、学習されたテンプレートto発話モデル530は、ターゲット発話テンプレート210及びターゲット文章240に基づいて学習され、学習を介して見た(seen)ワード「写真」等を含むコーパス(corpus)を保有する。学習されたテンプレートto発話モデル530は、類似発話テンプレート520が入力されれば、保有しているコーパス内のワードを類似発話テンプレート520のスロット521及び522に入れて、ターゲット文章240と類似の文章540を生成し得る。言い換えれば、文章生成器320は、ターゲット文章240と類似するものの、ターゲットサービスでOOSとなる類似文章540を生成する。
【0055】
OOS文章生成装置300は、類似文章540の意図でOOSレーベルを割り当てることができる。ここで、OOSレーベルは、ターゲットサービスが類似文章540に対応する機能又は類似文章540でリクエストされた機能を実行できないことを示すレーベルを示す。
図5に示された例で、類似文章540に割り当てられるOOSレーベルは、ギャラリーアプリケーションが翻訳機能を実行できないことを示す。
【0056】
図1を参照して説明したように、分流器がターゲット文章240及びOOS文章(すなわち、類似文章540)に基づいて学習され得る。以下、
図6を参照しながら分流器の学習について説明する。
【0057】
図6は、一実施形態に係る学習装置を説明するための図である。
【0058】
図6を参照すると、学習装置600は、入力の意図又は入力でリクエストされた機能を決定する分流器610を、ターゲット文章240及び類似文章540に基づいて学習させる。分流器610は、一例として、多重神経網モデルであってもよい。
【0059】
学習装置600は、ターゲット文章240を分流器610に入力し、分流器610がターゲット文章240の実際の意図又はターゲット文章240でリクエストされた機能を決定するように分流器610を学習させる。一例として、学習装置600は、分流器610がターゲット文章240「済州島で最近撮った写真を見せて」でリクエストされた機能を表示機能として決定するように分流器610を学習させてもよい。
【0060】
学習装置600は、類似文章540を分流器610に入力し、分流器610が類似文章540に対応する機能又は類似文章540でリクエストされた機能を実行できないことを示す結果を出力するように分流器610を学習させる。一例として、分流器610は、類似文章540「昨日撮った写真の中から2番目の写真を翻訳して」が入力されれば、類似文章540を分析して類似文章540の意図又は機能をOOSとして決定する。ここで、分流器610は、類似文章540の意図又は機能をOOSとして決定するため、ターゲットサービスに該当するギャラリーアプリケーションが翻訳機能を実行できないことを示す結果を出力する。このような方式により、学習装置600は、ターゲットサービスが異なる類似文章に対応する機能又は異なる類似文章でリクエストされた機能を実行できないことを示す結果を、分流器610が出力するように分流器610を学習させることができる。
【0061】
学習された分流器は、
図9を参照して説明する命令実行システムに搭載されてもよい。
【0062】
図7は、一実施形態に係るOOS文章生成装置を説明するためのブロック図である。
【0063】
図7を参照すると、OOS文章生成装置300はコンピューティング装置として、メモリ710及びプロセッサ720を含む。
【0064】
プロセッサ720は、モデル学習器310及び文章生成器320を実現する。一実施形態によれば、プロセッサ720は、ターゲットサービスのターゲット発話テンプレート210及びターゲット文章240に基づいて、モデル410及び420を学習させる。一例として、プロセッサ720は、ターゲット文章240をモデル410及び420のうち第1モデルに入力し、第1モデルがターゲット文章240に基づいてターゲット発話テンプレート210を生成するように第1モデルを学習させ得る。ここで、第1モデルは、発話toテンプレートモデル410に該当する。また、プロセッサ720は、ターゲット発話テンプレート240をモデル410及び420のうち第2モデルに入力し、第2モデルがターゲット発話テンプレート210に基づいてターゲット文章240を生成するように第2モデルを学習させ得る。ここで、第2モデルは、テンプレートto発話モデル420に該当する。プロセッサ720は、学習されたモデル510及び530のうち学習された発話toテンプレートモデル510と他のサービスの発話テンプレートから生成された文章に基づいてターゲット発話テンプレート210の類似発話テンプレート520を生成する。プロセッサ720は、学習されたモデル510及び530のうちテンプレートto発話モデル530及び類似発話テンプレート520に基づいてターゲット文章240の類似文章540を生成する。
【0065】
メモリ710は、ターゲット発話テンプレート210及びターゲット文章240を格納し、類似発話テンプレート520及び類似文章を格納する。メモリ710は、コンピュータで読み出し可能な格納媒体又はコンピュータで読み出し可能な記憶装置を含んでもよい。例えば、メモリ710は、RAM(random access memories)、DRAM(dynamic random access memories)、SRAM(static random access memories)、又は当該技術分野で知られた異なる形態の不揮発性メモリを含んでもよい。
【0066】
OOS文章生成装置300は、前述のターゲット文章生成装置及び/又は学習装置600を含んでもよい。実現に応じて、ターゲット文章生成装置、OOS文章生成装置300、及び学習装置600は、1つの物理的装置内で論理的に区分されてもよい。又は、ターゲット文章生成装置、OOS文章生成装置300、及び学習装置600は互いに物理的に区分される装置であってもよい。
【0067】
ターゲット文章生成装置の一例が
図11に示されている。ターゲット文章生成装置1100は、OOS文章生成装置300及び学習装置600と物理的に区分される。
図2~
図11を参照すれば、ターゲット文章生成装置1100は、ターゲット発話テンプレート210、リスト220及びリスト230を格納するメモリ1110とリスト220及び230にあるワード又はワードの組合せをターゲット発話テンプレート210のスロット211及び212に入れて、ターゲット文章240を生成するプロセッサ1120を含む。
【0068】
図1~
図6を参照して記載された事項は、
図7を参照して記載された事項に適用され得るため、詳細な説明は省略する。
【0069】
図8は、一実施形態に係るOOS文章生成方法を説明するためのフローチャートである。
【0070】
図8を参照すると、OOS文章生成装置300は、ターゲットサービスのターゲット発話テンプレート210及びターゲット文章240に基づいてモデル410及び420を学習させる(S810)。
【0071】
OOS文章生成装置300は、学習されたモデル510及び530のうち発話toテンプレートモデル510と他のサービスの発話テンプレートから生成された文章に基づいて、ターゲット発話テンプレート210の類似発話テンプレート520を生成する(S820)。
【0072】
OOS文章生成装置300は、学習されたモデル510及び530のうち、テンプレートto発話モデル530及び類似発話テンプレート520に基づいてターゲット文章240の類似文章540を生成する(S830)。
【0073】
図1~
図7を参照して記載された事項は、
図8を参照して記載された事項に適用され得るため、詳細な説明は省略する。
【0074】
図9は、一実施形態に係るユーザ入力基盤の命令実行システムを説明するための図である。
【0075】
命令実行システム900は、命令実行装置、自然語分析装置、又はNLU(Natural Language Understanding)エンジンなどとは異なって表現されてもよい。
【0076】
また、命令実行システム900は、クライアント及びサーバを含む形態に実現されてもよい。ここで、クライアントは、ユーザの発話を受信し、該当発話に対する音声信号をサーバに送信する装置を示し得る。一例として、クライアントは、スマートフォン、タブレットなどのユーザ端末を示してもよい。また、命令実行システム900は、クライアント又はサーバを示してもよい。
【0077】
図9を参照すると、命令実行システム900は、分流器910を含む。分流器910は、ターゲット文章240及び類似文章540に基づいて、既に学習された分流器に該当する。これに制限されることなく、分流器910は、様々なターゲット文章及び様々な類似文章に基づいて学習された分流器に該当する。
【0078】
命令実行システム900は「済州島で最近撮った写真を翻訳して」が入力されてもよい。ここで、該当の入力は、ユーザの発話が音声認識されて生成されたものであってもよい。命令実行システム900は、該当の入力に関するアプリケーション又はサービスをギャラリーアプリケーションで識別する。命令実行システム900は、該当の入力によりリクエストされた機能又は該当の入力の意図を決定する。
図9に示された例として、分流器910はギャラリーサービスの類似文章、すなわちOOSレーベルを有する類似文章、例えば、「昨日撮った写真の中から2番目の写真を翻訳して」という文章の学習により、入力内のワード「写真」と「翻訳」をすでに見た(seen)ため、該当の入力の意図又は該当の入力でリクエストされた機能をOOSに決定する。そのため、分流器910は、決定された意図に該当する命令又は決定された機能を実行できないことを示す結果を出力する。命令実行システム900は、分流器910の出力に基づいて該当の機能を実行できないというフィードバックをユーザに提供する。
【0079】
図9に示された例とは異なって、分流器910の入力には、分流器910が学習を介して見ることのできない(unseen)ワードが含まれることがある。ここで、分流器910は、該当のワードと最も類似のワードを介して該当の入力でリクエストされた機能又は該当の入力の意図を決定し、決定された機能又は決定された意図がOOSレーベルであれば、決定された機能を実行できないことを示す結果を出力する。一例として、分流器910が「済州島で最近撮った写真を本若して」が入力されることがある。分流器910は「本若」を学習を介して見ていないため、「本若」と最も近いワードを「翻訳」として予測する。ここで、分流器910は、予測されたワード「翻訳」と見た(seen)ワード「写真」を介して該当のユーザ入力の意図又は該当ユーザ入力でリクエストされた機能をOOSとして決定する。OOSレーベルが決定されるため、分流器910は、決定された意図による命令又は決定された機能を実行できないことを示す結果を出力する。
【0080】
一実施形態において、命令実行システム900は、アプリケーション又はサービスが行うことはできないOOS発話に対応する命令の実行を拒否することができ、OOS入力に対して拒否性能がより向上し得る。
【0081】
図10は、一実施形態に係る命令実行方法を説明するためのフローチャートである。
【0082】
図10を参照すると、命令実行システム900は、入力文章に関するサービスを識別する(S1010)。例えば、入力文章が「済州島で最近撮った写真を翻訳して」であれば、命令実行システム900は、入力文章内のワード「写真」を介して入力文章に関するサービスをギャラリーアプリケーションに識別する。
【0083】
命令実行システム900は、識別されたサービスの機能のうち入力文章でリクエストされた意図を分流器を用いて決定する(S1020)。例えば、命令実行システム900は、「済州島で最近撮った写真を翻訳して」の意図又は該当の入力文章でリクエストされた機能をOOSに決定する。
【0084】
命令実行システム900は、決定された意図又は決定された機能がOOSに該当する場合、入力文章の実行を拒否する(S1030)。前述した例において、「済州島で最近撮った写真を翻訳して」でリクエストされた意図はOOSに該当するため、命令実行システム900は、「済州島で最近撮った写真を翻訳して」の実行を拒否する。
【0085】
図1~
図9を参照して記載された事項は、
図10を参照して記載された事項に適用され得るため、詳細な説明は省略する。
【0086】
上述の実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現化される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現化される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0087】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうち1つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び/又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに連結されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは1つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【0088】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現化され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0089】
上述のように、たとえ実施形態を限定された図面によって説明したとしても、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられたり、他の構成要素又は均等物によって置き換えたり、置換されても適切な結果を達成することができる。
【符号の説明】
【0090】
100 命令実行システム
220、230 リスト
240 ターゲット文章
300 OOS文章生成装置
310 モデル学習器
320 文章生成器
510 学習された発話toテンプレートモデル
530 学習されたテンプレートto発話モデル
600 学習装置