(57)【要約】【課題】キャラクタ性を表現可能な入出力システムを提供する。【解決手段】入出力システム１００は、入出力演算部１１０を備え、大規模データ対により構築されたキャラクタ表現空間を有する入出力モデルを備える。入力データ及びキャラクタ表現ベクトルが入出力演算部１１０に入力されるとキャラクタ表現ベクトルに対応するキャラクタ性を反映した入力データに対応する出力データが出力される。また、入出力システム１００は、キャラクタ表現ベクトル算出部１２０を備え、小規模なデータ対であるキャラクタデータ対が入力されると、入出力演算部１１０にて固定された入出力モデル及びキャラクタ表現空間により、キャラクタデータ対に表現されたキャラクタ性に対応するキャラクタ表現ベクトルが出力される。【選択図】図１
2018180720.tif 000002
【特許請求の範囲】
【請求項１】
入出力演算部を備え、
前記入出力演算部は、入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、
前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、入力データと、が前記入出力演算部に入力され、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、
入出力システム。
【請求項２】
キャラクタ表現ベクトル算出部を更に備え、
キャラクタ性を抽出するための入出力データ対であるキャラクタデータ対が前記キャラクタ表現ベクトル算出部に入力され、
前記キャラクタ表現ベクトル算出部が、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における、前記キャラクタデータ対についての演算結果に基づき、前記キャラクタデータ対に対応するキャラクタ表現ベクトルを算出する、請求項１に記載の入出力システム。
【請求項３】
前記入出力演算部に、入力データと、複数のキャラクタ表現ベクトルと、が入力され、
前記入出力演算部が、前記複数のキャラクタ表現ベクトルのそれぞれに表現されたキャラクタ性が合成されたベクトルであるキャラクタ合成ベクトルを生成し、当該キャラクタ合成ベクトルに基づき、合成されたキャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、請求項１又は２に記載の入出力システム。
【請求項４】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項１から３の何れかに記載の入出力システムを備え、
事前に設定されたキャラクタに基づく、前記キャラクタ表現ベクトルが前記入出力システムに入力され、
当該設定されたキャラクタのキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項５】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項２に記載の入出力システムを備え、
前記ユーザにより指定された前記キャラクタデータ対が前記入出力システムに入力されることで、
当該キャラクタデータ対に対応するキャラクタ性を反映した前記キャラクタ表現ベクトルが算出され、前記ユーザからの入力データと前記キャラクタ表現ベクトルが前記入出力演算部に入力され、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項６】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項３に記載の入出力システムを備え、
前記ユーザにより指定された複数のキャラクタに基づく複数のキャラクタ表現ベクトルが前記入出力システムに入力され、
当該指定された複数のキャラクタを合成したキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項７】
第１の入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、入力された前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトル及び入力データに基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、入出力演算部と、
第２の入出力データ対が入力され、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における演算結果に基づき、前記第２の入出力データ対に対応したキャラクタ性を反映したキャラクタ表現ベクトルを算出する、キャラクタ表現ベクトル算出部と、
を備える情報処理装置。
【請求項８】
入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備えた、入出力演算部を備える入出力システムにおいて、
入力データと、前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、が前記入出力演算部に入力されるステップと、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算するステップと、
当該出力データを出力するステップと、を
実行させる入出力プログラム。
【請求項９】
入出力演算部を備えた入出力システムで用いられるキャラクタのデータ構造であって、
入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を備え、
前記キャラクタ表現空間を有する入出力モデルを備える前記入出力演算部が、
前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、入力データと、が前記入出力演算部に入力され、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算する、
処理に用いられる、キャラクタのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力されたデータに対して、キャラクタ性を反映した出力データを出力する入出力システムに関する。
【背景技術】
【０００２】
近年、ディープラーニングを用いたシステムの実装を容易にする「Chainer」（http://chainer.org/）等のライブラリ開発や、計算機の処理能力の進歩により、ディープラーニングに関する研究開発が盛んである。
研究開発が盛んな分野の１つとして、ディープラーニングにより構築された会話モデルに基づき会話を行うシステム（チャットボット等）に関する研究開発がある。特に、人間らしさやエンタテインメント性の強化のために、発話の内容や表現における特徴といった「キャラクタ性」を反映する手法について研究開発がなされている。例えば、非特許文献１には、LSTM（Long Short-Term Memory）を用いて、キャラクタ性の反映が可能な会話モデルを構築する手法が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao and Bill Dolan. "A Persona-Based Neural Conversation Model", ACL 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１が開示する技術においては、会話モデルの構築において使用した学習データ内に存在したキャラクタについてのみ、キャラクタ性を反映した会話が可能であった。もし、教師データ内に存在しない新たなキャラクタを会話モデルに追加したいと考えた場合は、新たなキャラクタを表現する対話対データを学習データへと追加した上で、改めて会話モデル全体を再構築する必要があった。通常、対話の精度等の観点から、十分な量のデータを用いて会話モデルを構築するには、数日から１週間程度の時間を要する。そのため、会話モデル全体の再構築に要する時間的、計算的コストを考慮すると、会話モデルに新たなキャラクタを追加することは容易ではないという課題があった。
【０００５】
本発明は、上記の点に鑑み、入出力モデルを再構築することなく新たなキャラクタを容易に追加することが可能な入出力システム、入出力プログラム、情報処理装置、及びチャットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
（構成１）
入出力演算部を備え、
前記入出力演算部は、入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、
前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、入力データと、が前記入出力演算部に入力され、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、
入出力システム。
【０００７】
（構成２）
キャラクタ表現ベクトル算出部を更に備え、
キャラクタ性を抽出するための入出力データ対であるキャラクタデータ対が前記キャラクタ表現ベクトル算出部に入力され、
前記キャラクタ表現ベクトル算出部が、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における、前記キャラクタデータ対についての演算結果に基づき、前記キャラクタデータ対に対応するキャラクタ表現ベクトルを算出する、構成１に記載の入出力システム。
【０００８】
（構成３）
前記入出力演算部に、入力データと、複数のキャラクタ表現ベクトルと、が入力され、
前記入出力演算部が、前記複数のキャラクタ表現ベクトルのそれぞれに表現されたキャラクタ性が合成されたベクトルであるキャラクタ合成ベクトルを生成し、当該キャラクタ合成ベクトルに基づき、合成されたキャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、構成１又は２に記載の入出力システム。
【０００９】
（構成４）
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
構成１から３の何れかに記載の入出力システムを備え、
事前に設定されたキャラクタに基づく、前記キャラクタ表現ベクトルが前記入出力システムに入力され、
当該設定されたキャラクタのキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【００１０】
（構成５）
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
構成２に記載の入出力システムを備え、
前記ユーザにより指定された前記キャラクタデータ対が前記入出力システムに入力されることで、
当該キャラクタデータ対に対応するキャラクタ性を反映した前記キャラクタ表現ベクトルが算出され、前記ユーザからの入力データと前記キャラクタ表現ベクトルが前記入出力演算部に入力され、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【００１１】
（構成６）
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
構成３に記載の入出力システムを備え、
前記ユーザにより指定された複数のキャラクタに基づく複数のキャラクタ表現ベクトルが前記入出力システムに入力され、
当該指定された複数のキャラクタを合成したキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【００１２】
（構成７）
第１の入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、入力された前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトル及び入力データに基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、入出力演算部と、
第２の入出力データ対が入力され、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における演算結果に基づき、前記第２の入出力データ対に対応したキャラクタ性を反映したキャラクタ表現ベクトルを算出する、キャラクタ表現ベクトル算出部と、
を備える情報処理装置。
【００１３】
（構成８）
入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備えた、入出力演算部を備える入出力システムにおいて、
入力データと、前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、が前記入出力演算部に入力されるステップと、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算するステップと、
当該出力データを出力するステップと、を
実行させる入出力プログラム。
【００１４】
（構成９）
入出力演算部を備えた入出力システムで用いられるキャラクタのデータ構造であって、
入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を備え、
前記キャラクタ表現空間を有する入出力モデルを備える前記入出力演算部が、
前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、入力データと、が前記入出力演算部に入力され、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算する、
処理に用いられる、キャラクタのデータ構造。
【発明の効果】
【００１５】
本発明の入出力システム、入出力プログラム、情報処理装置、及びチャットシステムによれば、入出力モデルを再構築することなく新たなキャラクタを容易に追加することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態１における入出力システム１００の、入出力演算部１１０についての入出力関係を示す概念図である。
【図２】本実施形態１における入出力システム１００の、キャラクタ表現ベクトル算出部１２０についての入出力関係を示す概念図である。
【図３Ａ】本実施形態１における入出力モデルの１例を表す概念図である。
【図３Ｂ】本実施形態１における入出力演算部１１０の入出力動作の１例を表す概念図である。
【図４】本実施形態１におけるキャラクタ表現ベクトル算出部１２０の概要動作を表すフロー図である。
【図５】本実施形態１における特定のキャラクタ表現ベクトル（キャラクタ１）を入力した場合の入出力演算部１１０の出力例を示した図である。
【図６】本実施形態１における特定のキャラクタ表現ベクトル（キャラクタ２）を入力した場合の入出力演算部１１０の出力例を示した図である。
【図７】本実施形態１における合成されたキャラクタ表現ベクトルを入力した場合の入出力演算部１１０の出力例を示した図である。
【図８】本実施形態１における合成されたキャラクタ表現ベクトルを入力した場合の入出力演算部１１０の出力例を示した図である。
【図９】本実施形態１における合成されたキャラクタ表現ベクトルを入力した場合の入出力演算部１１０の出力例を示した図である。
【図１０】本実施形態２におけるチャットシステム２を示す概念図である。
【発明を実施するための形態】
【００１７】
以下、この発明を実施するための形態について、添付の図面にしたがって説明する。
【００１８】
＜実施形態１＞
図１〜図３は、この発明の実施形態１による入出力システムを示す概略構成図である。図１は入出力演算部１１０についての入出力関係を示す概念図である。図２はキャラクタ表現ベクトル算出部１２０についての入出力関係を示す概念図である。図３Ａは、入出力モデルの１例を表す概念図である。また、図３Ｂは、入出力演算部１１０の入出力動作の１例を表す概念図である。
本実施形態においては、入出力システム１００は、コンピュータにより構成されており、キャラクタ性を表現するベクトルであるキャラクタ表現ベクトル（後述）が入力データと共に入力されると、キャラクタ性が反映されたデータが出力されるシステムであり、入出力演算部１１０及びキャラクタ表現ベクトル算出部１２０を備える。
入力されるキャラクタ表現ベクトルの数に制限はなく、複数のキャラクタ表現ベクトルの入力があった場合、複数のキャラクタを合成したキャラクタ性が反映されたデータが出力される。
【００１９】
図１に示すように、入出力演算部１１０は、大量の入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備える。キャラクタ表現空間におけるキャラクタ表現ベクトルが用いられることで、入力に対してキャラクタ性が反映されたデータが出力される。また、複数のキャラクタ表現ベクトルが用いられる場合は、合成したキャラクタ性が反映されたデータが出力される。
【００２０】
図２に示すように、キャラクタ表現ベクトル算出部１２０は、入出力データ対が入力され、入出力演算部１１０内においてパラメータ（キャラクタ表現空間の次元を含む）が固定された入出力モデルに基づく演算により、入出力データ対に表現されているキャラクタ性をキャラクタ表現空間において表現したキャラクタ表現ベクトルを出力する。
【００２１】
なお、本実施形態においては入力データ、出力データ共に文字による会話データを取り扱う場合の例につき説明する。また、入力データのことを入力文、出力データのことを出力文とも称する。
【００２２】
［基本入出力の学習（大規模学習）］
入出力システム１００を動作させるためには、まず、入出力演算部１１０における入出力モデル及びキャラクタ表現空間の構築が必要である。
入出力演算部１１０における入出力モデル及びキャラクタ表現空間は、入出力モデルの精度を確保するのに十分な量の会話対データを用いて構築される。なお、会話対データに記載された会話には、それぞれの発話者及び、回答者を識別可能なユーザ名やＩＤ等の情報が付与されている。入出力モデルの構築には、通常、高性能計算資源（ＧＰＵを備えたサーバ）を用いても数日から１週間程度の処理時間を要する会話対データが必要とされている。本実施形態１では、３０万会話対データを用意した。
以下、入出力演算部１１０の構築に使用された会話対データのことを学習データや第１の入出力データ対とも称する。
【００２３】
［入出力モデル及びキャラクタ表現空間］
図３Ａを参照して、本実施形態１における入出力演算部１１０における入出力モデル及びキャラクタ表現空間につき説明する。
本実施形態１の入出力モデルは、時系列データを取り扱うことができるＲＮＮ（Recurrent neural network）を用いたEncoder-Decoderモデル（Kyunghyun Cho, et al., Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, EMNLP2014）の基本構造を採用し、出力側にキャラクタ性を考慮するようにしたものである。キャラクタ性については、非特許文献１に開示される会話モデルの構築手法における返答者側のキャラクタ性の概念を採用しているので、以下では適宜説明を省略し、主に本実施形態１の入出力モデルの学習における特徴的な点について説明する。
入出力モデルは、入力文Ｘ＝（ｘ１、ｘ２、…ｘT）を固定長の中間表現ベクトルｃに変換するエンコーダと、エンコーダで生成した中間表現ベクトルｃ及びｋ次元のキャラクタ表現ベクトルｕiから出力文Ｙ＝（ｙ１、ｙ２、…ｙT’）を算出するデコーダを含み、キャラクタ性が表現されたキャラクタ表現空間を有する。なお、キャラクタ表現空間は、キャラクタ性を表す各要素（性別、年齢、方言等）が反映される空間をいう。ｋ次元のキャラクタ表現空間は、入出力モデルの構築（大規模学習の結果）とともに構築される。なお、ｋの値については事前に定められた値を用いるものとする。
【００２４】
［エンコーダ］
エンコーダは、入力文Ｘ＝（ｘ１、ｘ２、…ｘt、…ｘT）を受け取ると単語ｘtごとに隠れ状態ベクトルｈｔを算出する。このとき、隠れ状態ベクトルｈｔの算出に前回の隠れ状態ベクトルｈｔ-1を考慮するので、文末の単語ｘTに対応して算出される隠れ状態ベクトルｈTは、入力文全体の意味が埋め込まれたベクトルとなる。エンコーダは、隠れ状態ベクトルｈTを活性化した中間表現ベクトルｃを生成する。この中間表現ベクトルｃをデコーダに渡すことでデコーダでは入力文Ｘに対応した出力を行うことができる。エンコーダにおける隠れ状態ベクトルｈｔ及び中間表現ベクトルｃは、以下の数１のように定義される。
【００２５】
【数１】
2018180720.tif 000003
ここで、関数ｆは非線形の関数であり、本実施形態においてはＬＳＴＭの変換関数を示す。関数ｆは、アップデートゲートやリセットゲートなど各要素をどの程度影響させるか等を決める様々な構造を含んでおり、さらに前回の隠れ状態ベクトルｈｔ-1や単語ｘtを含む各変数に対応した重み係数も設けられている。各ゲートは行列演算と活性化関数だけで構成されるので、後述の誤差逆伝搬法で学習させることができる。また、本実施形態では中間表現ベクトルｃの算出に必要な関数aに恒等関数を用いたが、tanhなど入力の値に対して出力の値が一定範囲内に制限される活性化関数を用いてもよい。
【００２６】
［デコーダ］
デコーダにおける隠れ状態ベクトルｈt’は、前回の隠れ状態ベクトルｈt’-1だけでなく、直前の出力単語ｙt’-1と中間表現ベクトルｃとキャラクタ表現ベクトルｕiの影響を受けて算出される。そして、デコーダは、算出された隠れ状態ベクトルｈt’と、直前の出力単語ｙt’-1と中間表現ベクトルｃとキャラクタ表現ベクトルｕiとを用いて出力単語ｙt’を算出する。なお、出力単語ｙt’の算出は、隠れ状態ベクトルｈt’のみを用いたり、隠れ状態ベクトルｈt’と他の要素の組み合わせを用いた算出も可能である。デコーダにおける隠れ状態ベクトルｈt’は、 以下の数２のように定義される。
【００２７】
【数２】
2018180720.tif 000004
【００２８】
［入出力モデルの構築］
入出力モデルの構築では、算出される出力単語ｙt’の直前までを教師データ（学習データ）で固定した上で次の出力単語ｙt’の予測を行い、出力単語ｙt’の分布ピークが学習データの正解単語 Ｑt’の分布に合うよう各種パラメータの更新を繰り返して最適解を求める。具体的には、算出される出力単語ｙt’を、ソフトマックス関数を使って０から１の範囲に収まるよう正規化する（確率に変換する）。次に、学習データの正解単語Ｑt’の分布と算出された出力単語ｙt’の分布のクロスエントロピー誤差を算出し、学習データのｎ番目の出力文を構成する単語全てのクロスエントロピー誤差の合計である損失関数（目的関数）Ｌ’を算出する。そして、学習データ全体（Ｎ個の会話対）の損失関数Ｌを算出する。なお、パラメータの更新には勾配法の一つであるＡｄａｍ（Adaptive Moment Estimation）を用い、損失関数Ｌが収束する値を求める。損失関数Ｌ’及び損失関数Ｌは、以下の数３のように定義される。
【００２９】
【数３】
2018180720.tif 000005
上記の式においてｙt’-1,ｙt’-2,…,ｙ1は、教師データの正解単語Ｑt’-1, Ｑt’-2,…, Ｑ1である。
なお、損失関数Ｌの収束判断は、前回との差分である変化幅が事前に設定される所定値以下に収まる状態が連続して所定回数続いた時点で収束したと判断してもよいし、エポックベースで予め設定した学習回数に到達した時点で収束したと判断してもよい。また、学習データとは別に同じキャラクタに対応する検証用データを用意し、実際に学習データにはない未知のデータを入力して適切な結果が得られるよう損失関数の目標値を決め、目標値に到達した時点で収束したと判断してもよい。
【００３０】
ここで、キャラクタ表現ベクトルｕiは、話者の特性等、すなわちキャラクタ性を表現する埋め込みベクトルであり、ｉは学習データ内におけるユーザの識別番号に対応する添字である。学習の結果、入力モデルが構築されると、ｋ次元のキャラクタ表現空間が構築される。
なお、本実施形態１において、キャラクタ表現ベクトルｕiには、方言、登録名、年齢、性別等の個人情報が関連付けられており、個人情報は学習データにおける各ユーザの会話から取得されている。また、キャラクタ表現ベクトルｕiは、ユーザ単位ではなく、複数の要素（例えば、２０代、秋田県、女性）単位で関連付けられてもよい。また、個人情報は会話からだけでなく会話を行うユーザのプロフィール等から取得されてもよい。
【００３１】
以上のように、入出力演算部１１０は、学習データによる学習によって本実施形態１における入出力モデル及びキャラクタ表現空間を構築することができるため、入力文及びキャラクタ表現ベクトルの入力に対し、入力されたキャラクタ表現ベクトルのキャラクタ性を反映した出力文を出力することができる。
【００３２】
［入出力モデル構築後の出力動作］
図３Ｂに、入出力モデル及びキャラクタ表現空間が構築された後の、入出力演算部１１０における入出力動作の例を示す。
ここでは「気分はどう？」という入力文及び、学習データ内における「発話者Ａ」のキャラクタ表現ベクトルが入出力演算部１１０に入力された場合の例を示す。
学習データ内における「発話者Ａ」が文末に「(^ω^)」という顔文字を多用する発話者であったため、入出力演算部１１０から、発話者Ａのキャラクタ性を反映した出力文である「最高です(^ω^)」が出力されていることがわかる。
なお、デコーダから出力される単語列は、ビーム探索により各出力候補に対してスコア関数を用いた系列評価が行われる。デコーダは、その中の最良の結果を出力するように構成されている。そして、デコーダの出力が文章の終了を意味する特殊な文字列であるEOSとなった場合にデコードを終了し、その際の単語列を入力文に対応した出力文として出力する。
【００３３】
入出力演算部１１０は、学習データ内の所望する発話者に対応するＩＤ等を入力することにより、該当発話者のキャラクタ表現ベクトルを出力するように構成されている。これにより、学習データ内のキャラクタ表現ベクトルを取得し、容易に学習データ内のキャラクタ性を反映した出力文を得ることができる。
【００３４】
以下、入出力モデル及びキャラクタ表現空間が構築された後の、入出力システム１００の動作につき説明する。
キーボード等の入力装置（不図示）により、入出力システム１００に入力文が入力されると、入出力演算部１１０において、入力文に対応する出力文が演算され、モニタ等の外部機器（不図示）に出力される。
【００３５】
［キャラクタ性を反映した出力］
以下、本実施形態１の入出力システム１００に入力文及び１つのキャラクタ表現ベクトルが入力された場合の動作につき説明する。
入力装置（不図示）により、入出力システム１００に入力文及びキャラクタ表現ベクトルが入力されると、入出力演算部１１０において、キャラクタ性を反映した、入力文に対応する出力文が演算され、モニタ等の外部機器（不図示）に出力される。
【００３６】
［キャラクタの合成］
以下、本実施形態１の入出力システム１００に入力文及び複数のキャラクタ表現ベクトルが入力された場合の動作につき説明する。
複数のキャラクタ表現ベクトルが入力された場合、入出力演算部１１０に事前に設定された合成の割合に基づき、複数のキャラクタ表現ベクトルが合成される。
キーボード等の入力装置（不図示）により、入力文と、複数のキャラクタ表現ベクトルが入出力演算部１１０に入力されると、入出力演算部１１０において事前に設定された割合（例えば、各ベクトル均等）に従いキャラクタ表現ベクトルが合成される。そして、合成されたキャラクタ表現ベクトルに基づき、合成されたキャラクタ性を反映した、入力文に対応する出力文が演算され、モニタ等の外部機器（不図示）に出力される。
このように、入出力演算部１１０が、上記のようにキャラクタ性を表現した空間であるキャラクタ表現空間を備えるため、キャラクタ表現空間上のベクトルを合成することで、合成されたキャラクタ性を表現したキャラクタ表現ベクトルを得ることが可能である。
【００３７】
［キャラクタの追加］
次に本実施形態１における、キャラクタ表現ベクトル算出部１２０における、入出力データ対からのキャラクタ表現ベクトル算出によるキャラクタの追加について説明する。本実施形態１では、上述の基本入出力の学習（大規模学習）によって構築された入出力モデルを固定した上で、数百〜千件程度の会話対データ（キャラクタデータ対）に表現されたキャラクタ性に対応するキャラクタ表現ベクトルの算出を行うことで、新たなキャラクタを容易に追加することができる。
ここで、構築された入出力モデルの固定とは、入出力モデルの各パラメータを常に固定した状態をいう。これにより、キャラクタ表現空間の固定も生じる。以下、入出力モデル及びキャラクタ表現空間の固定とも称する。
また、以下、キャラクタ表現ベクトル算出部１２０に入力される入出力データ対をキャラクタデータ対や、第２の入出力データ対とも称する。キャラクタデータ対における会話対の量は数百〜千件程度でも可能であり、一般的に入出力モデルの構築及びキャラクタ空間の構築に必要とされる数十万〜数百万件の学習データに対して１／１０００程度と大幅に少ないデータでキャラクタを追加することができる。また、ここでのキャラクタ追加に必要なデータは、本特許出願時における個人携帯端末装置の処理能力でも十分処理可能なレベルのものである。本実施形態１では、キャラクタデータ対として数百の会話対データを用意した。
【００３８】
固定された入出力モデルに、キャラクタデータ対と事前に設定された初期キャラクタ表現ベクトルとが入力されると、デコーダは、上述の基本入出力の学習と同様の工程で各入力についての出力を算出する。キャラクタデータ対における各入力に対してデコーダによって算出された出力（算出データ）の分布とキャラクタデータ対の出力（正解データ）の分布とのクロスエントロピー誤差の合計である損失関数Ｌが収束する値を求めるにあたり、入出力モデルのパラメータが固定されるので、キャラクタ表現ベクトルｕiの値のみを更新することになる。ここで、パラメータの更新には勾配法が用いられるが、勾配ｇは簡易的に以下の数４のように定義される。
【００３９】
【数４】
2018180720.tif 000006
勾配ｇは損失関数Ｌのキャラクタ表現ベクトルｕiによる微分値になる。本実施形態１では、Ａｄａｍを用いて勾配ｇを更新し、キャラクタ表現ベクトルｕiの最適解が得られるまでキャラクタ表現ベクトルｕiの更新が繰り返される。
【００４０】
続いて、図４を参照して、キャラクタ表現ベクトル算出部１２０における、入出力データ対からのキャラクタ表現ベクトル算出動作について説明する。
まず、入力部（不図示）より、キャラクタデータ対とともに、初期キャラクタ表現ベクトルがキャラクタ表現ベクトル算出部１２０に入力される（ステップＳ４１０）。なお、初期キャラクタ表現ベクトルは乱数によるランダム生成とした。
【００４１】
次に、キャラクタデータ対におけるｎ番目の入力文である入力文ｎ及び初期キャラクタ表現ベクトルを入出力演算部１１０に入力し、算出文ｎを得る。そして、ｎの値を初期値（ここでは０）からキャラクタデータ対内の最終データに対応する番号までインクリメントすることで、入力文ｎに対応する算出文ｎと出力文ｎ（正解文ｎ）のクロスエントロピー誤差に基づく損失関数Ｌの値を算出する（ステップＳ４２０）。
【００４２】
そして、入出力演算部１１０における、入出力モデルのパラメータを固定し、固定されたキャラクタ表現空間内において、入力されたキャラクタデータ対に対応するキャラクタ表現ベクトルを勾配法により算出する。具体的には、勾配法の一つであるＡｄａｍを用いることにより、損失関数Ｌの勾配ｇを用いてキャラクタ表現ベクトルの更新を行い、更新されたキャラクタ表現ベクトルを用いて損失関数Ｌを再算出する（ステップＳ４３０）。
【００４３】
続いて、算出した損失関数Ｌが収束しているかどうかを判定する（ステップＳ４４０）。そして、損失関数Ｌが収束していないと判断された場合は、再びステップＳ４３０へと移行し、キャラクタ表現ベクトルの更新を行う（ステップＳ４４０：Ｎｏ→ステップＳ４３０）。一方、ステップＳ４４０にて損失関数Ｌが収束していると判断された場合は、ステップＳ４５０へと移行し（ステップＳ４４０：Ｙｅｓ→ステップＳ４５０）、その時点におけるキャラクタ表現ベクトルｕiを、入力されたキャラクタデータ対に対応するキャラクタ表現ベクトルとして出力する（ステップＳ４５０）。
【００４４】
このように、上述の基本入出力の学習により構築された入出力モデルを固定し、固定した入出力モデルとキャラクタデータ対を用い、キャラクタ表現ベクトルを更新することで、キャラクタデータ対に表現されるキャラクタ性を反映したキャラクタ表現ベクトルを得ることができる。このため、入出力モデル全体を再構築することなく、容易に新たなキャラクタを追加することができる。
【００４５】
図５〜９に、本実施形態１におけるキャラクタ表現ベクトルの生成、キャラクタ表現ベクトルを入力した場合の出力文、キャラクタ表現ベクトルの合成をした場合の出力文につき記載する。
【００４６】
図５は、本実施形態における入出力システム１００によるキャラクタ性の表現について行った実験結果の一例である。ここでは、キャラクタデータ対として、顔文字「(^ω^)」を多用するキャラクタ１についての会話対を、キャラクタ表現ベクトル算出部１２０へ入力した。そして、キャラクタ表現ベクトル算出部１２０から出力されたキャラクタ表現ベクトルと共に、図５に記載された質問文（Ｑ：として記載されている文）を入出力演算部１１０へと入力し、各質問に対する出力文を順次記載している。
顔文字「(^ω^)」が多用され、キャラクタ１のキャラクタ性が反映された返答がされていることがわかる。
【００４７】
図６は、本実施形態における入出力システム１００によるキャラクタ性の表現について行った実験結果の一例である。ここでは、キャラクタデータ対として、顔文字「(///ω///)」を多用するキャラクタ２についての会話対を、キャラクタ表現ベクトル算出部１２０へ入力した。その他については図５における条件と同様である。
顔文字「(///ω///)」が多用され、キャラクタ２のキャラクタ性が反映された返答がされていることがわかる。
【００４８】
図７から９は、本実施形態における入出力システム１００によるキャラクタ性の合成について行った実験結果の一例である。ここでは、図５、６において生成されたキャラクタ１、２の２つのキャラクタ表現ベクトルを入出力演算部１１０に入力した場合の各入力文に対する出力文の変化を示している。また、キャラクタ表現ベクトル合成時の重み係数についてはそれぞれをキャラクタ１については０から１まで、キャラクタ２については１から０まで、０．１刻みで変化させていった。
それぞれの結果において、顔文字だけではなく、居住地や年齢についても、キャラクタ２からキャラクタ１へと変化していることがわかる。
【００４９】
［効果］
以上のように、本実施形態１における入出力システム１００は、入出力演算部１１０がキャラクタ表現空間を備える入出力モデルを有するように構成されているため、キャラクタ表現空間上のベクトルを入力することで、キャラクタ性が表現された出力をすることができる。
また、入力されるキャラクタ表現ベクトルの変更のみで、容易に新たなキャラクタ性を反映した出力を得ることができる。
また、複数のキャラクタ表現ベクトルの合成をすることで、キャラクタ性の合成が可能である。
また、キャラクタ表現空間上に各キャラクタ性に対応するキャラクタ表現ベクトルをプロットすることにより、キャラクタ性をキャラクタ表現空間上に可視化したキャラクタマップを生成することができ、キャラクタ同士の類似度や相関性を可視化することができる。
また、本実施形態１における入出力システム１００は、キャラクタ表現ベクトル算出部１２０が、入出力演算部１１０にて固定された入出力モデルを利用し、キャラクタデータ対に表現されたキャラクタ性が反映されたキャラクタ表現ベクトルを生成可能に構成されているため、入出力演算部１１０を再構築することなく、所望するキャラクタ性を表現したキャラクタ表現ベクトルを容易に得ることができる。そのため、入出力演算部１１０の構築のための学習データには存在しなかったキャラクタについてのキャラクタ性を表現した出力をすることができる。また、キャラクタの追加に必要なキャラクタデータ対は、従来の学習で通常必要とされるデータ対の１／１０００程度で済むので、キャラクタ表現空間内へのキャラクタ追加が容易である。したがって、キャラクタ表現空間におけるキャラクタマップの充実を図ることができ、マップから簡易に所望のキャラクタ性を表現したキャラクタ表現ベクトルを特定することができる。より具体的には、多くのプロットからベクトルを構成する要素の代表点の算出が容易になり、所望のキャラクタ性を精度高く表現することができる。
このように、本実施形態における入出力システム１００は、新たなキャラクタ性を表現するために入出力演算部１１０を再構築する必要がない。そのため、特に学習過程におけるシステム上、制御上の負荷を低減することが可能である。なお、スマートフォン等の携帯端末において、入出力演算部１１０におけるキャラクタ表現ベクトルの算出が可能な程度に負荷を低減することができる。また、キャラクタデータ対としてスマートフォン等の携帯端末において蓄積される会話対データを用いることでキャラクタの抽出が可能になるので、例えば、サーバがあらゆる会話対データを取得すれば該サーバは容易に多様なキャラクタを収集することができる。また、サーバが各携帯端末において算出されたキャラクタ表現ベクトルを取得することで、同一キャラクタ表現空間を用いたサービスにおいて多様なキャラクタを簡易に提供することができる。
【００５０】
＜実施形態２＞
［チャットシステム］
以下に本実施形態２における入出力システム２００を用いたチャットシステム２について説明する。
チャットシステム２は、入出力システム２００を備え、ネットワーク等により接続されたユーザ端末から入力された入力文に対して、キャラクタ性を反映した出力文を出力するチャットシステムである。
本実施形態２における入出力システム２００は、通信機能等を備えたサーバ装置にて構成され、入出力制御部２３０を備える点以外については、実施形態１における入出力システム１００と同様であるため、実施形態１と同様の構成については説明を省略する。
なお、以下に記載する各動作は、入出力システム２００に対して接続されたそれぞれのユーザ端末に対して独立しており、また、並列に動作を行う。
【００５１】
入出力制御部２３０はユーザからの入力及びユーザへの出力を制御する入出力制御部２３０を備える。また、入出力制御部２３０は図示しない入力部等により入力される制御信号等に基づき、以下に説明する動作１から４を選択、切替可能に構成されている。
【００５２】
［動作１：事前に設定されたキャラクタによる対話］
まず、チャットシステム２におけるユーザ端末からの入力に対して、事前に設定されたキャラクタ性を反映した出力を行う動作について説明する。
この場合、まず、入出力制御部２３０に、ネットワーク等を介してユーザ端末から入力文が入力される。
次に、入出力制御部２３０は、事前に設定されたキャラクタに対応する、入出力演算部１１０におけるキャラクタ表現空間内のキャラクタ表現ベクトルと、入力文と、を入出力演算部１１０に出力する。
そして、入出力演算部１１０は入力文に対応し、かつ、事前に設定されたキャラクタのキャラクタ性が反映された出力文を演算し、入出力制御部２３０に出力する。
このように、入出力制御部２３０に出力文が入力されると、入出力制御部２３０は、当該入力を行ったユーザ端末へ、事前に設定されたキャラクタ性を反映した出力文を送信する。
【００５３】
［動作２：ユーザにより指定されたキャラクタによる対話］
次に、チャットシステム２がユーザ端末上に表示されたＵＩ等（不図示）によりキャラクタを指定されるように構成されている例につき説明する。この場合、入出力制御部２３０が、ユーザにより指定されたキャラクタのＩＤ等と、入出力演算部１１０におけるキャラクタ表現空間内のキャラクタ表現ベクトルとの対応テーブル等を備える。
入出力制御部２３０は、ユーザ端末から入力文及び指定されたキャラクタのＩＤ等の情報が入力されると、対応テーブルに基づき、ユーザ端末から指定されたキャラクタについてのキャラクタ表現ベクトルと、入力文と、を入出力演算部１１０に出力する。
その他の動作については上記の動作１と同様である。
【００５４】
［動作３：ユーザにより指定されたキャラクタ合成による対話］
次に、チャットシステム２が、ユーザ端末上に表示されたＵＩ等（不図示）により指定された複数のキャラクタを合成し、合成されたキャラクタ性を反映した出力を行うように構成されている例につき説明する。この場合、入出力制御部２３０は、上述の動作２の場合と同様に、ユーザにより指定されたキャラクタのＩＤ等と、入出力演算部１１０におけるキャラクタ表現空間内のキャラクタ表現ベクトルとの対応テーブル等を備える。
入出力制御部２３０は、ユーザ端末から入力文及び指定された複数のキャラクタのＩＤ等の情報が入力されると、対応テーブルに基づき、ユーザ端末から指定された複数のキャラクタについてのキャラクタ表現ベクトルと、入力文と、を入出力演算部１１０に出力する。
入出力演算部１１０は入力された複数のキャラクタ表現ベクトルに基づき、キャラクタ合成ベクトルを生成し、入力文に対応し、かつ、合成されたキャラクタ性が反映された出力文を演算し、入出力制御部２３０に出力する。
その他の動作については上記の動作１と同様である。
【００５５】
なお、キャラクタの合成における各キャラクタ表現ベクトルの割合については、ユーザ端末上に表示されたＵＩ等（不図示）において指定されるように構成されていてもよく、全てのキャラクタについて均等に合成されるように構成されていてもよい。
なお、キャラクタ表現ベクトルの合成は、ユーザ端末にて指定された複数のキャラクタに対応するキャラクタ合成ベクトルを、入出力演算部１１０が合成する例につき記載したが、キャラクタ合成ベクトルについては、ユーザ端末側、又は入出力制御部２３０にて合成し、入出力演算部１１０に出力するように構成されていてもよい。
【００５６】
［動作４：入出力データ対によるキャラクタ性の反映］
次に、チャットシステム２が、ユーザ端末よりキャラクタデータ対が入力され、キャラクタデータ対に表現されているキャラクタ性を反映した出力を行うように構成されている例につき説明する。
入出力制御部２３０は、ユーザ端末からキャラクタデータ対が入力されると、キャラクタデータ対をキャラクタ表現ベクトル算出部１２０へと出力する。キャラクタ表現ベクトル算出部１２０は、入力されたキャラクタデータ対に対応するキャラクタ表現ベクトルを算出し、入出力制御部２３０へと出力する。
【００５７】
入出力制御部２３０に、キャラクタ表現ベクトル算出部１２０からキャラクタ表現ベクトルが入力されると、以降、キャラクタの更新等の指示がなされるまで、入出力制御部２３０は入力文とともに入力されたキャラクタデータ対に対応するキャラクタ表現ベクトルを入出力演算部１１０に出力する。
そして、入出力演算部１１０は入力文に対応し、かつ、キャラクタデータ対に対応するキャラクタ性が反映された出力文を演算し、入出力制御部２３０に出力する。
その他の動作については上記の動作１と同様である。
【００５８】
ここでは、入出力システム２００がキャラクタ表現ベクトル算出部１２０を備える例につき記載したが、キャラクタ表現ベクトル算出部１２０は、ユーザ端末側に備えられていてもよい。チャットシステム２がこのような構成を備えることで、データの送信コスト等を考慮することなく、ユーザ自ら収集した入出力データ対からキャラクタ性を反映したチャットを楽しむことができる。また、チャットシステム２がユーザ端末側で算出したキャラクタ表現ベクトルを収集することでチャットメンバーになりすました返答ができるようになるなど、興趣の高いシステムを提供することができる。
【００５９】
また、ここではチャットシステム２が、ユーザによりキャラクタデータ対を入力される例につき記載したが、種々の方法によりキャラクタデータ対が取得されるように構成されていてもよい。以下に例を示す。
【００６０】
ユーザ端末からの指示等に基づき、入出力システム２００が、チャットサービス等における該当ユーザの対話を収集し、これをキャラクタデータ対としてキャラクタ表現ベクトル算出部１２０に入力し、該当ユーザを表現するキャラクタ表現ベクトルを算出するように構成されていてもよい。ユーザ端末からの指示として、例えば、キャラクタデータ対として必要なデータが蓄積されたことにより収集の指示が出されることが考えられる。
【００６１】
また、入出力システム２００が事前に設定された質問（プロフィールに関する質問等）をユーザに出力し、その質問に対する返答を取得し、当該質問と回答のペアを入出力データ対として、該当ユーザを表現するキャラクタ表現ベクトルを算出するように構成されていてもよい。
チャットシステム２がこのような構成を備えることで、該当ユーザのキャラクタ性を表現した出力が可能なチャットシステム２を構築可能である。
【００６２】
また、チャットシステム２は、チャットユーザの自動マッチング等において、上述のようにプロフィール等から取得したキャラクタデータ対より算出したユーザ毎のキャラクタ表現ベクトルを用いるように構成されていてもよい。
すなわち、チャットシステム２は、ユーザ毎の類似度を、キャラクタ表現空間上のキャラクタ表現ベクトルの距離等により定義し、類似度の近いユーザをマッチングするように構成されている。
チャットシステム２がこのような構成を備えることで、キャラクタ表現ベクトルが近いユーザ同士のキャラクタ性は類似していると考えられるため、キャラクタ性が類似したユーザをマッチングすることが可能となる。
【００６３】
上記のように本実施形態２におけるチャットシステム２は、事前に設定されたキャラクタ性を反映したチャットを楽しむことができる。
また、ユーザにより指定されたキャラクタ性を反映したチャットを楽しむことができる。
また、ユーザにより指定された複数のキャラクタを合成したキャラクタ性を反映したチャットを楽しむことができる。
また、ユーザにより入力されたキャラクタデータ対に対応するキャラクタ性を反映したチャットを楽しむことができる。
【００６４】
以上、実施形態を参照して本発明について説明した。なお、上記各実施形態における各構成は、汎用のコンピュータ上に構成される例について記載したが、各構成の全て又は一部が、専用のハードウェア等で構成されていてもよい。
【００６５】
また、本実施形態１又は２の入出力システム１００においては、入力、出力共に文章、即ち文字データを用いた例につき説明したが、これに限定されるものではなく、画像、音声、映像といったメディアデータであってもよく、また、それらの組み合わせであってもよい。
具体例として、文章と対応づけた画像を学習し、文章を元にして特定の画家（キャラクタ）風の絵を生成するといった例や、英語から特定の翻訳者（キャラクタ）風に日本語の翻訳文を生成するといった例が考えられる。
【００６６】
また、本実施形態１又は２の入出力演算部１１０における入出力モデルについては、ＲＮＮを用いたEncoder-Decoderモデルを用いた入出力モデルを用いる例について記載したが、これに限定されるものではなく、キャラクタ表現空間を有する入出力モデルであればよい。
また、本実施形態１又は２におけるキャラクタ表現ベクトルに対応するキャラクタ性は、方言、登録名、年齢、性別等の個人情報等を用いた例を記載したが、入出力データ対において対応付けが可能な要素であればよく、数値化された感情や印象などといった任意の要素を用いてもよい。
【００６７】
また、本実施形態１又は２においては入出力演算部１１０が、複数のキャラクタ表現ベクトルが入力された場合に、入出力演算部１１０内に事前に設定された割合に基づき各キャラクタ性を合成する例を記載したが、入出力演算部１１０が、入出力複数のキャラクタ表現ベクトルと共に各キャラクタ表現ベクトルの合成割合について入力を受け付けるように構成されていてもよい。その場合、入力された割合に基づきキャラクタキャラクタ合成ベクトルを生成し、合成したキャラクタ表現ベクトルを反映した出力文を出力する。
【００６８】
また、本実施形態１又は２の入出力演算部１１０におけるキャラクタ表現ベクトルの合成については、２つのキャラクタ表現ベクトルの入力による２キャラクタの合成の例について記載したが、任意の数のキャラクタ表現ベクトルが入力されてもよい。また、キャラクタ表現ベクトルの合成については重みづけによる単純な加算の場合について記載したが、重みづけを反映可能な任意の関数を用いてもよい。
【００６９】
また本実施形態１又は２のキャラクタ表現ベクトル算出部１２０のステップＳ４３０におけるキャラクタ表現ベクトルの更新について、Ａｄａｍを用いる場合について説明したが、損失関数の勾配を利用した最適化手法であればよく、任意の手法を利用することができる。
また、ステップＳ４４０における損失関数の値の収束については、収束するのに十分な回数だけキャラクタ表現ベクトルの更新を行い、規定された回数の更新が終了した時点でステップＳ４５０に移行するように構成されていてもよい。
【００７０】
また、本実施形態２においては入出力システム２００が入出力制御部２３０を備える例につき説明したが、ユーザ端末側に備えられていてもよい。
【００７１】
本発明は上述した実施形態に限定されるものではない。本発明の構成及び動作については、本発明の趣旨を逸脱しない範囲において、当業者が理解しうる様々な変更を行うことができる。
【符号の説明】
【００７２】
１００、２００…入出力システム
１１０…入出力演算部
１２０…キャラクタ表現ベクトル算出部
２…チャットシステム
２３０…入出力制御部
【図１】
2018180720.tif 000007
【図２】
2018180720.tif 000008
【図３Ａ】
2018180720.tif 000009
【図３Ｂ】
2018180720.tif 000010
【図４】
2018180720.tif 000011
【図５】
2018180720.tif 000012
【図６】
2018180720.tif 000013
【図７】
2018180720.tif 000014
【図８】
2018180720.tif 000015
【図９】
2018180720.tif 000016
【図１０】
2018180720.tif 000017
【手続補正書】
【提出日】平成29年10月17日(2017.10.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入出力演算部を備え、
前記入出力演算部は、入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、
前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、入力データと、が前記入出力演算部に入力され、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力し、
キャラクタ表現ベクトル算出部を更に備え、
キャラクタ性を抽出するための入出力データ対であるキャラクタデータ対が前記キャラクタ表現ベクトル算出部に入力され、
前記キャラクタ表現ベクトル算出部が、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における、前記キャラクタデータ対についての演算結果に基づき、前記キャラクタデータ対に対応するキャラクタ表現ベクトルを算出する、
入出力システム。
【請求項２】
前記入出力演算部に、入力データと、複数のキャラクタ表現ベクトルと、が入力され、
前記入出力演算部が、前記複数のキャラクタ表現ベクトルのそれぞれに表現されたキャラクタ性が合成されたベクトルであるキャラクタ合成ベクトルを生成し、当該キャラクタ合成ベクトルに基づき、合成されたキャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、請求項１に記載の入出力システム。
【請求項３】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項１又は２に記載の入出力システムを備え、
事前に設定されたキャラクタに基づく、前記キャラクタ表現ベクトルが前記入出力システムに入力され、
当該設定されたキャラクタのキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項４】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項１に記載の入出力システムを備え、
前記ユーザにより指定された前記キャラクタデータ対が前記入出力システムに入力されることで、
当該キャラクタデータ対に対応するキャラクタ性を反映した前記キャラクタ表現ベクトルが算出され、前記ユーザからの入力データと前記キャラクタ表現ベクトルが前記入出力演算部に入力され、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項５】
ユーザとの間でキャラクタ性が反映された対話を行うチャットシステムであって、
請求項２に記載の入出力システムを備え、
前記ユーザにより指定された複数のキャラクタに基づく複数のキャラクタ表現ベクトルが前記入出力システムに入力され、
当該指定された複数のキャラクタを合成したキャラクタ性を反映した、前記ユーザからの入力データに対応する出力データを出力する、チャットシステム。
【請求項６】
第１の入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備え、入力された前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトル及び入力データに基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算し、出力する、入出力演算部と、
第２の入出力データ対が入力され、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における演算結果に基づき、前記第２の入出力データ対に対応したキャラクタ性を反映したキャラクタ表現ベクトルを算出する、キャラクタ表現ベクトル算出部と、
を備える情報処理装置。
【請求項７】
入出力データ対の学習により構築された、キャラクタ性が表現された空間であるキャラクタ表現空間を有する入出力モデルを備えた、入出力演算部と、
キャラクタ表現ベクトル算出部と、
を備える入出力システムにおいて、
入力データと、前記キャラクタ表現空間におけるキャラクタ性を表現したベクトルであるキャラクタ表現ベクトルと、が前記入出力演算部に入力されるステップと、
前記入出力演算部が、前記入出力モデル及び前記キャラクタ表現空間に基づき、前記キャラクタ性を反映した、前記入力データに対応する出力データを演算するステップと、
当該出力データを出力するステップと、
キャラクタ性を抽出するための入出力データ対であるキャラクタデータ対が前記キャラクタ表現ベクトル算出部に入力されるステップと、
前記キャラクタ表現ベクトル算出部が、前記入出力演算部において固定された前記入出力モデル及びキャラクタ表現空間における、前記キャラクタデータ対についての演算結果に基づき、前記キャラクタデータ対に対応するキャラクタ表現ベクトルを算出するステップと、を
実行させる入出力プログラム。