一般社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATIONAND COMMUNICATION ENGINEERS
社団法人 電子情報通信学会

信学技報
IEICE Technical Report
LOIS2019-82(2020-03)

信学技報
TECHNICAL REPORT OF IEICE.

THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS

エージェントとの個人適応対話シナリオ作成実行基盤の開発
中谷

将大†

佐伯

幸郎†

中村

匡秀†,††† 神戸大学 〒657–8501 神戸市灘区六甲台町 1–1†† 理化学研究所・革新知能統合研究センター〒103-0027 東京都中央区日本橋 1-4-1
E-mail: †shota-n@ws.cs.kobe-u.ac.jp, ††sachio@carp.kobe-u.ac.jp, †††masa-n@cs.kobe-u.ac.jp
あらまし 我々は，バーチャルエージェントと IoT，クラウドを連携して，認知症者が在宅でエージェントと日常的に対話を行える認知症カウンセリングシステムを開発している．認知症者のための対話カウンセリングでは，認知症者
個人に寄り添った話題を提供することが重要となる．そこで先行研究において個人オントロジーを活用した個人適応
話題生成を提案しているが，それを活用した対話シナリオはハードコーディングされており，現場に応じて自在に作成することが不可能となっている．本稿では，エージェントを活用した個人適応対話シナリオの作成・実行が可能な
基盤システムを開発する．本システムでは，個人オントロジーの構築や活用も可能とした対話ケアのシナリオを GUIによって作成できる．これにより，IT の非専門家でも現場に応じて容易にエージェントを活用した個人適応対話シナリオの作成が可能となることを目指す．
キーワード

オーサリングツール，個人オントロジー，在宅介護, Web サービス

Developing Platform for Creating Personalized Scenarios with Dialogue Agent
Shota NAKATANI† , Sachio SAIKI† , and Masahide NAKAMURA†,††† Kobe University Rokkodai-cho 1–1，Nada-ku，Kobe，Hyogo，657–8501 Japan†† Riken AIP, 1-4-1 Nihon-bashi, Chuo-ku, Tokyo 103-0027
E-mail: †shota-n@ws.cs.kobe-u.ac.jp, ††sachio@carp.kobe-u.ac.jp, †††masa-n@cs.kobe-u.ac.jp
Abstract We are developing a dementia counseling system that enables people with dementia to interact withagents at home on a daily basis by linking virtual agents with IoT and the cloud. In dialogue counseling for people with dementia, it is important to provide personalized topics to people with dementia. Therefore, in previous
research, we proposed personalized topic generation using personal ontology. However, the dialog scenario utilizing
this is hard-coded, making it impossible to create it freely according to the site. In this paper, we develop a basic
system that can create and execute personalized dialogue scenarios using agents. In this system, a dialogue carescenario that enables the construction and utilization of personal ontology can be created by GUI. In this way, we
aim to make it possible for non-experts in IT to easily create personalized dialogue scenarios using agents according
to the site.
Key words Authoring Tool，Personal Ontology, Home Care, Web Service
認知症の症状に対する非薬物療法として，バリデーション療

1. は じ め に

法 [2] や回想法 [3] が知られている．バリデーション療法とは，

現在，日本は超高齢化社会を迎えている．内閣府発表の高齢認知症者の混乱した行動や非現実的な言動にも必ず理由があ社会白書によると，2025 年には総人口が 1 億 2254 万人に減少

り，その背後にある意味を認め，受容と共感の対応を示すことする一方で，65 歳以上の高齢者人口は 3677 万人に増加し，総で患者に安心してもらい，会話や行動を落ち着かせるケア手法

人口の 30.0% を占めると予測されている [1]．また，2025 年にである．回想法は，過去の体験を振り返り，その過程に対しては認知症高齢者数は 730 万人を超えると言われ，これは 65 歳

共感的，受容的に対応することで患者の心理的安定を図る．こ

以上の高齢者のうちおよそ 5 人に 1 人が認知症に罹患しているれらのケア手法ではケア提供者と患者との継続的な会話が重要推計になる．このような背景のもと，認知症高齢者のためのケとなる．
認知症者に対するケアにおいては，認知症者ひとり一人を尊ア，支援が必要とされている．

- 151 -

—1—
This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.
Copyright ©2020 by IEICE

重しその人の立場に立って理解し，その人に寄り添ったケアをの懐かしい写真や音楽を用いて記憶を刺激したり，昔の思い出提供するパーソンセンタードケア (PCC) が理想的なケアの一に浸り，語る時間を持つことで精神的な安定をもたらす．そしつとされている．PCC は，画一化された従来のケアとは異なて認知症者に対するケアとしては，パーソンセンタードケア

り，ケア対象者個人をよく観察する必要がある．そのため家族(PCC) が理想とされている．個人の状況をよく観察し，そのや介護者が患者個人に合わせて絶えず対応することは負担が非人の立場に立って理解したうえで，その人に寄り添ったケアを

常に大きい．

立案し，提供するという理念である．画一化されたケアとは異そこで我々の研究グループでは IoT や ICT 技術を利用し，なり，ケア対象者個人に合わせたケアを提供するため対象者を認知症者が自宅で日常的に対話を行える認知症ケアシステムをよく観察する必要があり，ケア提供者に精神的，肉体的に大き開発している．このシステムは音声対話が可能なロボットプロ

な負担をかけるため，在宅で PCC を行うには限界がある．

グラムであるバーチャルエージェント (VA) を活用し，認知症

我々の研究グループでは，在宅認知症者に対して対話によ

者との対話コミュニケーションを可能としている．またクラウるコミュニケーションケアを提供するシステム，VirtualCare-

ドと連携することによって，音声による対話に加えて画像や映Giver(VCG) を開発している．VCG は，音声による対話が可像などの提供も可能である．

能なバーチャルエージェント (VA) を活用することで，認知症さらに先行研究において，認知症者との活発な会話を実現す

者との対話を実現している．また，音声による対話に加えて，るため，認知症者個人に寄り添った話題を動的に生成する方法

日常の声掛けやリマインダ，画像や映像などのコンテンツ提供を提案している．これらの手法では，ユーザ個人にまつわる情を行うことができる．VCG によって，時間によらない認知症

報・知識 (個人オントロジー) が重要となるため，VA とユーザ者の会話相手を実現することができ，人間の介護者の負担を軽の対話を通して，個人オントロジーを動的に構築するシステム

減することが期待できる．

を提案している．個人オントロジーは Linked Data で蓄積・管認知症者とエージェントとの間の活発な会話を実現するため理されており，次回以降のケア時に参照したり，外部の Linkedには，認知症者個人に適応した会話を提供する必要がある．先Open Data と連携することで個人適応した話題を幅広く生成

行研究において我々は，生活史と Linked Open Data(LOD) をすることが可能となっている．

活用して個人に寄り添った話題を動的に生成する方法，ユーザ

しかしながら，これらの個人適応した話題生成や個人オントの年代に応じた流行・出来事の話題を生成する方法を提案した．

ロジーを活用したケアシナリオの作成は，サービス開発者や IT

これらの方法は，認知症者本人にまつわる情報を利用して話題の専門家でなければ困難なシステムとなっている．チャットを作り出し，さらに，オープンデータから関連知識を取得してボット向けシナリオオーサリングツールには，例えば [4] や [5]会話を発展させることで，個人に寄り添った活発な会話を実現のような，プログラミング不要で GUI でシナリオを容易に作することを狙っている．同時に話題に関連した画像や音楽のコ

成でき，そのシナリオに沿ったチャットボットを作成すること

ンテンツを提供することで，より充実した会話を実現することのできるものがある．これらのサービスでは，画像や動画などを狙っている．

のメディアコンテンツを提供するシナリオやユーザの情報を保2. 2 個人オントロジー

存・利用するシナリオの作成が可能である．しかし，メディア

2. 1 で述べたように，個人に寄り添った話題をシステムが生成

コンテンツはシナリオ作成時に登録した特定のコンテンツのみするためには，その人個人にまつわる情報 (個人オントロジー)

であり，ユーザの回答内容に応じて動的に提供するコンテンツを取得する必要がある．個人オントロジーの代表的なものとしを変化させることができない．また保存されたユーザ情報は，ては，プロフィールや生活史が挙げられる．生活史とは，出身，

次回以降における情報の再利用のみを目的としており，その情

家族構成，学校，仕事，思い出，趣味といった，その人がこれ報を活用して動的に話題を生成するなどの拡張性に欠けている．

までどのような生活を送ってきたかの情報である．直近の出来

そこで本研究では，既存のシナリオオーサリングツールでは事に比べて，生活史は認知症者の記憶に残っている可能性が高作成することのできない個人適応対話シナリオを作成・実行す

いため，先行研究において積極的に活用してきた．先行研究でることが可能な基盤システムを開発する．具体的には，本シス

は，介護の現場で実際に利用されているセンター方式 [6] や，みテムによって，ユーザの回答内容に応じて動的なコンテンツをまもり・つながりノート [7] を参考にしている．

提供したり，個人オントロジーを蓄積・活用することのできる

先行研究において我々は，エージェントとユーザの対話を通

個人適応対話シナリオの作成を，GUI を用いて行うことが可能

して，動的に個人オントロジーを構築するシステムを提案してとなる．これにより，IT の非専門家が現場に応じて容易に個人

いる．個人オントロジーは Linked Data で蓄積・管理されてお適応対話シナリオを作成できることを目指す．

り，継続的にケアを実行するにあたり，蓄積された情報を再利

2. 準用したり，外部 LOD と連携することで個人適応した話題の幅

備

広い生成を可能にすることを目指している．

2. 1 認知症者のためのコミュニケーションケアシステム

3. 個人適応対話シナリオ作成実行基盤

現在，日本では認知症者数の増加，自宅での介護を希望する
人の増加により，在宅介護の推進が行われている．認知症の症

2. で述べたとおり，我々の研究グループは個人に寄り添った状に対する代表的な心理療法に回想法 [3] がある．回想法は昔

話題の動的生成や個人オントロジーの動的構築について研究し- 152 -

—2—

ている．しかしながら，これらを活用したケアシナリオの作成

3ODWIRUPIRU&UHDWLQJ DQG([HFXWLRQ3HUVRQDOL]HG 6FHQDULRV

6FHQDULR:ULWHUはサービス開発者や IT の専門家でなければ困難で，現場に応

HGLW

プログラミング不要で非専門家であるユーザが簡単に GUI

8VHUXQGHU&DUH(GLWRU6HUYLFHJHW

6FHQDULR'%VWDUW VFHQDULR,GXVHU,G
FRQWHQW

ングツールには，[4] や [5] のようなサービスがある．これらの3OD\HU6HUYLFH

QH[W VHVVLRQ,GUHVSRQVH
8VHUXQGHU&DUH

UHJLVWHUVHOHFW

9LUWXDO$JHQW

でシナリオを作成できるチャットボット向けシナリオオーサリ
サービスを用いることで，エージェントの発話内容やユーザの

SRVW(GLWRU&OLHQW

じて非専門家が自由に作成・変更できるシステムではない．

VHOHFW&KDWERW

応答内容に応じた対話シナリオを制作することができ，制作し

UHJLVWHU

た対話シナリオをもとにチャットボットを容易に作成すること&OLHQWができる．これらのサービスでは，対話シナリオの中で画像やVHOHFW

3HUVRQDO2QWRORJ\5')6WRUH

6HUYHU

図 1 全体アーキテクチャ

動画などのメディアコンテンツを提供したり，ユーザの発話内
容の一部を保存しユーザ情報を蓄積することも可能である．しかしながら，メディアコンテンツはシナリオ制作時に登録した

オーサリングツールと異なり，シナリオ実行時にユーザの応答

特定のコンテンツのみであり，ユーザの応答内容に応じて動的に応じて動的に提供するコンテンツを変化させるシナリオを作に提供するコンテンツを変化させることができない．またユー成することができる．

•

ザの発話内容の保存は，対話シナリオの実行時に，それ以前の個人オントロジーを活用したシナリオを作成できる．こ

対話において記憶した情報を参照することが可能になることのれによって，対話を通して個人オントロジーを構築したり，個みを目的としており，その情報を活用して動的に話題を生成す

人オントロジーから取得したデータを実行時に反映させることるなどの拡張性に欠けている．

で個人適応した対話を行えるシナリオを作成できる．また，将そこで本研究では，既存のチャットボット向けシナリオオー
サリングツールでは作成することのできない個人適応対話シナ

来的に LOD を活用した話題発展可能なシナリオを作成することができる拡張性を持たせる．

•

リオを作成・実行することが可能な基盤システムを開発する．

以上の対話シナリオを，GUI を用いて作成することを可

具体的には，本システムによって，ユーザの回答内容に応じて能とする．これによって，プログラミング不要で，IT の非専門

動的なコンテンツを提供したり，個人オントロジーを蓄積・活家でも現場に応じて容易に対話シナリオを作成・編集すること

用することのできるシナリオを作成することが可能とする．まができるようにする．

たこれらのシナリオを GUI を用いて作成することができるよ3. 2 全体アーキテクチャ

うにし，現場に応じて IT の非専門家でも容易に個人適応対話

図 1 に個人適応対話シナリオ作成実行基盤の全体アーキテク
チャを示す．図中枠線で囲った部分が個人適応対話シナリオ作

シナリオを作成できることを目指す．

3. 1 機 能 要 求成実行基盤である．まず，シナリオ作成者は Editor Client を用先行研究と既存のシナリオオーサリングツールの考察から，

いて，Web ブラウザ上で GUI で対話シナリオを作成する．作本研究における個人適応対話シナリオ基盤の機能要求は以下の成したシナリオ構成データは Editor Service の Web API 群にとおりとする．

よって Scenario DB に格納される．作成した対話シナリオの実

ユーザとエージェントの対話パターンを次の 3 つとする．

行は Player Service を通じて行われる．具体的には，バーチャ

1 つは，ユーザに対して語り掛ける tell である．これによって，

ルエージェントやチャットボットなどのエージェントサービス

ユーザの応答を必要としないユーザに話しかけることができる．

から Player Service の Web API 群を実行することで，サービ

2 つ目は，ユーザに対して質問を行う ask である．これによっス内で Scenario DB から任意のシナリオ構成データを取得し，て，ユーザに自由回答を求める質問を行うことができ，質問に個人適応した対話データを呼び出し元に返す．呼び出し元はこ

対する回答を抽出することができる．3 つ目は，ユーザに対しのデータに従ってエージェントの発話やコンテンツの提供を制て選択肢付きの質問を行う ask_with_choice である．これに御することで，ケア対象者に対して個人に寄り添った対話シナ

よって，ユーザに回答を選択させる質問を行うことができ，そリオを提供することが可能となる．

•

3. 3 対話シナリオのデータモデルの回答からシナリオを分岐させることができる．
他のシナリオを組み込んだシナリオを作成できる．これ

図 2 に対話シナリオを構成するデータモデルを ER 図で示によって，話題ごとにシナリオを作成し，これらのシナリオをす．この ER 図は文献 [8] で示された記法に基づいている．四再利用することで，容易にシナリオを組み直すことができる．

角はエンティティを表しており，(＋―∈ )，(＋―◦∈ ) は親子関

また複数のシナリオで利用するようなテンプレート部分を切り係，(＋―…) は参照関係，(＋―◦＋) は派生関係を表す．各テー

分けておき再利用することで，シナリオ作成の手間を一部省く

ブルの詳細を以降で詳述する．

ことが可能となる．

scenario scenario テーブルは対話シナリオに関する情報を格•

ユーザの応答によって動的なコンテンツ提供を行うシナ

納する．具体的には，シナリオ ID，シナリオ名，シナリオに関リオを作成できる．これによって，シナリオ作成時に指定したする説明を持つ．シナリオ ID は作成したシナリオを識別する

メディアコンテンツの提供しか行えなかった既存のシナリオ

主キーである．

•- 153 -

—3—

scenarioを持つ．また，対話時に画像や動画のようなメディアコンテンツ

id, name, descrip!on
2,໌઴, “໌઴Νซ͚εψϨΨ”
3,टັ, “टັΝซ͚εψϨΨ”
scenario_element_scenario

を提供可能とするために，mediaType 項目，mediaSourceTypescenarioId, elementId, anotherScenarioId

項目，mediaSource 項目を持つ．これらの項目はメディアコン

3, 2, 2
scenario_element

テンツを提供する場合に指定する．mediaType 項目はメディア

scenarioId, elementId, type2, 1, dialogue
2, 2, dialogue
2, 3, dialogue
2, 4, dialogue
3, 1, fork
3, 2, scenario
3, 3, dialogue
3, 4, dialogue

コンテンツのタイプを示す．mediaSourceType 項目は “変数”
または “URL” を指定することができる．mediaSource 項目は，

mediaSourceType 項目が “変数” の場合，変数名を示し，変数

scenario_element_dialogue

scenarioId, elementId, type, mediaType, mediaSourceType mediaSource
2, 1, ask, null, null
2, 2, ask_with_choice, null, null
2, 3, tell, null, null
2, 4, tell, null, null
3, 3, ask, null, null
3, 4, tell, image, variable, hobby

tell

ツを提供する．同様に mediaSourceType 項目が “URL” の場
合，予め指定された URL のメディアコンテンツを対話実行時に提供する．

scenarioId, elementId, text

tell tell テーブルは scenario_element_dialogue テーブルと2, 3, “${name}͠ΞɾΓΘ͚͕͢‫͢͏ب‬Ήͤ”2, 4, “͟ΌΞ͵͠͏ɿ΍͑Ҳౕ͕໌઴Ν‫”͏͚ͫ͠ͱ͓گ‬3, 4, “टັͺ${hobby}͵ΞͲͤ͸ɿ͏͏Ͳͤ͸”

派生関係にあり，対話要素として 3. 1 に示した tell に関する情

scenarioId, elementId, text, variable, variableTarget, ontologyProperty

ask

報を格納する．エージェントの発話テキストを示す text 項目

2, 1, “͕໌઴ͺ͵ΞͲ͖ͤʃ”, name, PSN, ໌઴
3, 3, “${name}͠Ξ͹टັͺ͵ΞͲ͖ͤʃ”, hobby, NOUN, टັ
ask_with_choiceを持つ．text 項目には変数を利用することができ，例えば変数

scenarioId, elementId, text
2, 2, “͕໌઴ͺ#{name}͠ΞͲ͖ͤʃ”choicename を利用する場合にテキスト中に${name}のように記述すscenarioId, elementId, choiceId, text

ることで変数の活用が可能となる．

2, 2, 1, “ͺ͏”
2, 2, 2, “͏͏͓”scenario_element_fork

ask ask テーブルは scenario_element_dialogue テーブルと

scenarioId, elementId, variable
3, 1, namescenario_ﬂow

派生関係にあり，対話要素として 3. 1 に示した ask に関する情

senarioId, elementId, forkId, nextElementId

報を格納する．エージェントの発話テキストを示す text 項目，

2, 1, 1, 2
2, 2, 1, 3
2, 2, 2, 4
2, 4, 1, 2
3, 1, 1, 2
3, 1, 2, 3
3, 2, 1, 3
3, 3, 1, 4
scenario_ﬂow_start

ユーザの回答を格納する変数の名前を示す variable 項目，ユー
ザ応答から抽出する回答の対象を示す variableTarget 項目を持
つ．また変数に格納されたユーザの回答を個人オントロジーに

senarioId, elementId

登録する際のプロパティ名を示す ontologyProperty 項目を持

2, 1
3, 1
variable_from_ontologyに格納された値をもとに対話実行時に動的にメディアコンテン

つ．tell と同様に text 項目には変数を利用することが可能で

senarioId, variable, ontologyProperty
3, name, ໌઴ある．

図 2 対話シナリオのデータモデル

ask_with_choice ask_with_choice テーブルは scenario_element_dialogue テーブルと派生関係にあり，対話要素としてscenario_element scenario_element テ ー ブ ル は scenario

3. 1 に示した ask_with_choice に関する情報を格納する．エー

テーブルと親子関係にあり，それぞれのシナリオを構成す

ジェントの発話テキストを示す text 項目を持つ．tell と同様にる要素に関する情報を格納する．シナリオは複数の構成要素

text 項目には変数を利用することが可能である．

から成り立つので，シナリオ ID とそのシナリオ上の構成要素

choice choice テーブルは ask_with_choice テーブルと親子を識別するための要素 ID との複合主キーを持つ．またシナリ関係にあり，選択肢付き質問の選択肢に関する情報を格納する．

オの構成要素には複数のタイプがあるため，scenario_element

選択肢を識別する choiceId 項目を持ち，質問に対し複数の選択テーブルは，scenario_element_scenario テーブル，scenario_

肢を登録することができる．また，選択肢の内容を示す text 項

element_dialogue テーブル，scenario_element_fork テーブ

目を持つ．tell と同様に text 項目には変数を利用することが可ルに派生し，派生関係にあるこれらのテーブルを参照するとき能である．

に参照先を識別するための構成要素区分を持つ．

scenario_element_fork scenario_element_fork テーブルはscenario_element_scenario scenario_element_scenario テー

scenario_element テーブルと派生関係にあり，シナリオを構

ブルは scenario_element テーブルと派生関係にあり，シナリ

成する要素として，シナリオ上の分岐を定義する情報を格納す

オを構成する要素として他のシナリオを定義する情報を格納す

る．これによって，変数に値が設定されているかでシナリオをる．scenario テーブルと参照関係を持ち，他のシナリオ ID を分岐させることを可能とし，値が設定されているか確認したい

参照する anotherScenarioId 項目を持つ．

変数名を示す variable 項目を持つ．

scenario_element_dialogue scenario_element_dialogue テー

scenario_flow_start scenario_flow_start テ ー ブ ル は sce-

ブルは scenario_element テーブルと派生関係にあり，シナリ

nario テーブルと派生関係にあり，シナリオを実行する際のオを構成する要素としてエージェントの対話要素に関する情報開始に関する情報を格納する．シナリオ実行時にどの構成要素を格納する．対話要素には複数のタイプがあるため，scenario_

から開始するかを示す要素 ID を持ち，scenario_element テー

element_dialogue テーブルは，tell テーブル，ask テーブル，

ブルの要素 ID を参照する．

ask_with_choice テーブルに派生し，派生関係にあるこれらのscenario_flow scenario_flow テーブルは scenario_element

テーブルを参照するときに参照先を識別するための対話要素区分

テーブルと親子関係にあり，シナリオを実行する際の流れに関- 154 -

—4—

する情報を格納する．シナリオ ID とシナリオ上の要素 ID との発話テキストに反映させたり，画像や動画のようなメディア

分岐 ID を複合主キーとし，分岐 ID は，ask_with_choice や

コンテンツを動的に提供する個人適応対話シナリオを作成する

scenario_element_fork のようなシナリオを分岐させる構成要ことを可能とする．

素による分岐先を識別するために利用される．複合主キーの要素

4. 実

ID によって識別されるシナリオ構成要素が ask_with_choice

装である場合，choice テーブルの choiceId 項目と同じ値が分岐

3. において述べたケアシナリオ作成実行基盤をプロトタイプ

ID となる．同様に scenario_element_fork である場合，変数として実装した．シナリオの作成・実行に関する Web API のに値が設定されている場合と設定されていない場合で分岐 ID

実装には以下の技術を用いた．

が設定される．また，シナリオの遷移先を示す nextElementId•

開発言語 : Java 1.8

項目を持つ．

•

データベース : MariaDB 10.3.18

variable_from_ontology variable_from_ontology テーブル•Web サーバ : Apache Tomcat 9.0.26

は scenario テーブルと親子関係にあり，シナリオに利用する•

Web サービスフレームワーク : Spring Boot 2.2.0

個人オントロジーに関する情報を格納する．個人オントロジー

またシナリオを作成・編集するための GUI を，以下の技術から取得する値のプロパティ名を示す ontologyProperty 項目，

を用いて実装した．

取得した際に値を格納する変数の名前を示す variable 項目を•

開発言語 : HTML, JavaScript

持つ．

•

JavaScript ライブラリ : jQuery 3.4.1，JointJS 3.1.1•

CSS ライブラリ : Bootstrap 4.4.1，JointJS 3.1.1

3. 4 シナリオ実行サービス
シナリオ実行サービスは図 1 に示される Player Service と

図 3，図 4 にシナリオ作成・編集 GUI のプロトタイプ画面をScenario DB から構成される．Player Service は，Scenario

示す．画面下部に 3. 3 のデータモデルで示したシナリオ構成

DB から 3. 3 に従って登録されているシナリオデータを取得し，要素である tell，ask，ask_with_choice，scenario，fork が左

シナリオを実行し，進行を制御する Web サービスである．

から順に並んでいる．これらのシナリオ構成要素をドラッグ&

この Web サービスは以下の 2 つの Web API を持つ．

ドロップで画面中央に配置し，要素同士を矢印で結ぶことによ/webapi/start

りシナリオの流れを制作することができる．またシナリオの構

シナリオの再生開始を実行する．パラメータとして，scenari-

成要素を選択することで画面右部にインスペクタが表示され，oId ，userId を渡す．scenarioId は実行するシナリオの識別子

エージェントの発話内容などそれぞれの構成要素特有の設定をを示す．userId はシナリオ開始時に個人オントロジーからデー

行うことができる．

タを取得したり，シナリオ終了時に個人オントロジーへデータ

5. ケーススタディを登録するために利用するユーザの識別子を示す．この API を実行することで，セッション ID を示す session や 3. 3 で示した

本節では，先行研究において認知症者を相手に実験を行った

scenario_element_dialogue テーブルと派生関係にあるテーブ

対話ケアシナリオの一部と同等のシナリオを，4. で実装したプルのデータ，つまりエージェントの対話内容に関するデータがロトタイプシステムを用いて作成した．

格納された JSON が返り，対話シナリオが開始する．

5. 1 自己紹介をし，ユーザに名前を尋ねるシナリオ/webapi/{session}/next

図 3 に，エージェントが自己紹介をし，ユーザに名前を尋ねユーザの応答に応じてシナリオの進行を実行する．パラメータ

る質問を行うシナリオを示す．本シナリオではユーザの応答かとして，session ，respose を渡す．session はセッション ID をらユーザの名前を個人オントロジーに登録する設定をしている．

示し，/webapi/start を実行した際に取得する値を利用する．

本シナリオの実行例を次に示す．まず，エージェントサービ

このセッション ID を用いて，本 Web サービスはシナリオの状

スから/webapi/start を実行することで，「初めまして．私の態を記憶する．また respose はユーザからの応答文を示す．こ

名前はメイといいます．
」という対話要素 tell と「あなたのお名の API を実行することで，ユーザの応答をもとに，次のエー

前はなんですか？」という対話要素 ask のテキストが返り値とジェントの対話内容に関するデータが格納された JSON が返して得られる．これをもとにエージェントはユーザに対して発り，対話シナリオが進行する．

話を行う．そして得られたユーザ応答「中谷です．」をもとに，

3. 5 シナリオ作成サービス/webapi/{session}/next を実行する．先の対話要素 ask でシナリオ作成サービスは，図 1 に示される Editor Client ，は，ユーザの応答から人名を抽出し，変数 name に格納する設

Editor Service ，Scenario DB から構成される．Editor Client

定がされており，name=中谷として処理をされる．これによっは，3. 4 に従って実行される対話シナリオを，GUI によって作成て次の対話要素 ask_with_choice である「お名前は「中谷」さすることを可能とするクライアントである．また Editor Service

んですね？」というテキストと選択肢「はい」「いいえ」が返る．

は，Editor Client 上で作成・編集するシナリオを Scenario DB

これらをユーザに提供し，得られたユーザ応答「はい」をもとに登録，または Scenario DB から取得するための Web API かに/webapi/{session}/next を実行することで，エージェン

らなる Web サービスである．ユーザ応答や個人オントロジー

トのテキスト「中谷さん，よろしくおねがいします．」が返り，から任意の変数へ値を格納し，その変数をもとにエージェント

シナリオ終了となる．シナリオ終了と同時に，変数 name の値- 155 -

—5—

図 3 ユーザに名前を尋ねるシナリオの GUI 画面

図 4 ユーザに趣味を尋ねるシナリオの GUI 画面

はユーザ名と紐づけて個人オントロジーに登録される．

ジーに登録されている場合は個人オントロジーからデータを取

5. 2 名前シナリオを再利用し，趣味を尋ねるシナリオ

得することができ，変数 name の値が存在するかどうかに応じ

図 4 に，5. 1 で作成したシナリオを再利用し，ユーザに趣味てシナリオが進行することを確認できた．そして，これらの対を尋ねる質問を行うシナリオを示す．本シナリオでは，個人オ

話シナリオによってユーザの個人オントロジーが正しく構築さントロジーからユーザの名前を取得する設定をしており，取得れたことも確認できた．

できた場合と取得できなかった場合に応じてシナリオが分岐す

6. お わ り にるようになっている．
すでにユーザの名前が個人オントロジーに登録されている

本稿では，個人オントロジーを活用した動的な個人適応対話

場合の本シナリオの実行例を次に示す．まず，エージェント

シナリオを GUI によって作成することのできる個人適応対話

サービスから/webapi/start を実行することで，名前が既知

シナリオ作成実行基盤の提案・実装を行った．これにより，プのユーザであるため，「中谷さんと趣味についてお話ししたい

ログラミング不要で IT の非専門家でも現場に応じて，個人適です．
」というテキストと「趣味はなんですか？」という質問テ

応する対話シナリオを容易に作成することが可能となる．

キストが得られる．そして，この質問に対するユーザ応答とし

今後の課題として，Linked Open Data と連携し，個人オンて「テニスです。
」が得られたとする．このユーザ応答をもとにトロジーから話題の発展を考慮した対話シナリオの作成が可能/webapi/{session}/next を実行することで，質問に対するになるようにシステムを拡張することが考えられる．

回答として変数 hobby に名詞「テニス」が格納され，「なるほ謝辞

本 研 究 の 一 部 は JSPS 科 研 費 JP19H01138,

ど．テニスなんですね．
」というテキストと同時に，変数 hobby

JP17H00731,

をもとに動的に取得したメディアコンテンツを返り値に含んでJP19K02973 の助成を受けている．

いる．さらに同時に質問テキストとして「いつごろからその趣味をされているんですか？」が返され，エージェントがこれらの対話を提供したことで得られた「小学生のころからやっていました。
」というユーザ応答をもとに/webapi/{session}/nextを実行することで，さらなるエージェントの対話とコンテンツ提供を行ってシナリオが終了する．
ユーザの名前が個人オントロジーに登録されていない場合の実行では，変数 name による分岐によって 5. 1 のシナリオが実行される．その後，前例と同様のシナリオが展開される．

5. 3 考察

先行研究において，これらの対話シナリオはハードコーディ
ングされており，プログラミングができる人でなければシナリ
オを作成・編集することができなかった．しかし，本プロトタ
イプシステムを用いることで図 3，図 4 で示したように GUI でシナリオを作成することができる．5. 2 のシナリオ実行において，ユーザの趣味に応じて提供するメディアコンテンツを動的に個人適応することができることを確認した．また同様に 5. 2のシナリオ実行において，事前にユーザの名前が個人オントロ- 156 -

JP18H03242,
文

JP18H03342,

JP19H04154,

献[1] 内閣府，“平成 29 年度版高齢社会白書,” https://www.cao.go.
jp/，June 2017．
[2] N. Feil, V.D. Klerk-Rubin, and D. Nilson, The Validation
Breakthrough: Simple Techniques for Communicating With
People With Alzheimer’s and Dementia, Health Professions
Pr, 2012.
[3] 教彰桑原，伸治安部，清 安田，俊世田村，和宏桑原，“Tv 電話とコンテンツ共有を用いた高齢者への遠隔からの対話や回想法を可能とするシステムの実現と評価,” ヒューマンインタ
フェース学会論文誌，vol.9，no.2，pp.111–122，may 2007．
https://ci.nii.ac.jp/naid/10019930566/[4] N. Docomo, “Repl-AI,” https://repl-ai.jp.
[5] heuristicInc., “bot3d StoryGraphEditor,” https://www.
bot3d.com/storygraph.
[6] R. Rokkaku, “Care management sheet pack for the elderlywith dementia: The center method ver. 03,” Nihon Ronen
Igakkai zasshi. Japanese journal of geriatrics, vol.42, no.3,
pp.318–319, 2005.
[7] 大阪大学大学院医学系研究科精神医学講座神経心理研究室，“みまもり・つながりノート,” http://www.handaichiikirenkei.
com/．
[8] 渡辺幸三，販売管理システムで学ぶモデリング講座，翔泳社，
2008．

—6—