Keywords

1 Introduction

Japan is facing a hyper-aging society. According to the Cabinet Office, while the total population of Japan is decreasing, the propotion of the elderly population is rising. The elderly population is predicated to account for 30% of the total. Also, the number of people with dementia (PWD) will reach 7 million in 2025, where one-fifth of five elderly people in Japan will suffer from dementia [2]. Hence, while more people need nursing care, there is the problem that caregivers are short. According to the Ministry of Health, Labor and Welfare, 2.45 million caregivers are estimated to be needed by 2025 [4]. However, the estimated number of long-term care workers in 2025 is about 2.11 million, which is short of about 0.34 million. Therefore, care and support for elderly people and PWD who do not depend on human hand is necessary. Techniques to reduce the burden of nursing care by ICT technology are widely demanded, and various researches are progressing.

Validation therapy [3] and reminiscence [10] are known as a non-drug therapy for symptoms of dementia. For these care methods, continuous conversations between caregiver and patient are important. However, since patients have individual differences in their symptoms, it is a heavy burden for families and caregivers to respond constantly.

Among them, our research group is developing a dementia care system that PWD daily can interact at home using IoT and ICT technology [9]. This system uses a virtual agent (VA) which is a robot program with speech recognition and synthesis technologies, enabling dialog communication with PWD. This system aims to reduce the human burden by home care by doing part of the conventional care of human caregivers.

In order to implement active conversations with PWD in the dialogue system, it is important to take topics close to individuals with PWD. In previous search, we have proposed the two methods. The first method is to dynamically generate personalized dialogues with life history and Linked Open Data (LOD) [8]. The second method is to generate topics of trends and events according to user’s age. In these methods, we use the Center Method [7] in order to get personal information and knowledge, called Personal Ontology. Specifically, before the service is executed, PWD or caregiver is asked to answer the preliminary questionnaires based on the Center Method, and the service provider registers those with the system. The system generates personalized dialogues based on registered Personal Ontology.

However, the preliminary questionnaires has many questions, it is difficult for the user to answer all of them. The questions to be answered by the user may be different. There are also the questions which are unknown at the time of the questionnaires but can be answered through conversation with the agent. Furthermore, new knowledge that cannot be gotten by the questionnaires may be gotten from the conversations. Thus, conceptions that appear in Personal Ontology is widely different from individuals. In other words, collecting Personal Ontology by preliminary questionnaires has limits on what can be collected. In addition, collection of Personal Ontology by free description makes it difficult to predict the items to be described, making it difficult to manage in the system. Moreover, in order for the system to develop topics in dialogue, conceptions related to Personal Ontology are required.

In order to solve the above problem, in this study, we propose system to represent and manage user’s Personal Ontology with Linked Data and dynamically construct Personal Ontology through conversations between agent and user. Concretely the proposed method consists of the following three steps.

  • A1: Construction of the Personal Ontology through the conversations

  • A2: Management of Personal Ontology with Linked Data

  • A3: Generation of link to utilize external LOD

In A1, the agent discovers information related to the use from the dialogue with the user and adds it as an ontology. Elements constituting an ontology can basically be represented by triple of \(\langle U, P, O \rangle \). U represents a user, P is a property, and O is an object.

Next, in A2, the system converts the Personal Ontology acquired in A1 to RDF format, and represents and stores it as Linked Data. The system assigns URI to each of U, P, O acquired in A1 to be in the form of Linked Data such as below.

figure a

<http://example.org/resource/\(U\) shows resource representing the user. <http://example.org/resource/\(O\) shows resource representing the information related the user. <http://example.org/property/\(P\) shows link representing relation between the user and the information.

Finally, in A3, the system links Personal Ontology in the system and external Linked Open Data (LOD). Thus, the system can acquire related conceptions necessary for the development of topics from collective knowledge of the Internet. In this study, specifically, we use DBpedia [5] which is LOD based on Wikipedia.

In addition, to build Personal Ontology through conversation in this research, agents use the method that the agent questions from the user and builds from the answer. Personal Ontology is triples represented by \(\langle U, P, O \rangle \), meaning “U’s P is O”. The question asked to the user to construct the ontology is “What(Who, Where) is U’s P ?” By this, the system can obtain a user’s response including a noun phrase equivalent to O. A noun phrase is extracted based on the result of dependency analysis of this response so that the system can be constructed as Personal Ontology.

We implement the above proposed method as a prototype system. We confirm that depending on the system, it is possible to appropriately extract the noun phrase corresponding to the answer from the response sentence obtained by the interactive question between the agent and the user. Then, we confirm that the system can express the obtained answer as Linked Data as Personal Ontology.

As a result of the experiment, if the response from the user to the agent’s question is not grammatically broken, and the syntax analysis is normal, it is possible to properly extract the answer section and express it as a Personal Ontology.

2 Preliminary

2.1 Communication Care System for Person with Dementia

Promotion of home care is being carried out in Japan due to an increase in the number of person with dementia (PWD) and an increase in the number of people who wish to provide care at home. As care for people with dementia, person-centered care (PCC) is an ideal care, which monitors and understand individual circumstances, and plans and executes optimized care. Unlike standardized care, it is necessary to observe the subject carefully in order to provide care that is tailored to individuals. There is a limit to doing PCC at home because it places a big mental and physical burden on caregivers.

Our research group is developing Virtual Care Giver (VCG), a system that provides communication daily communication to home demented people. Figure 1 shows the image of VCG. VCG is implemented dialogue with a PWD by utilizing a Virtual Agent (VA) with speech dialogue. Moreover, in addition to voice dialogue, content such as daily calls and reminders, images and videos can be provided. With VCG, it is possible to realize a conversation partner of the PWD who does not depend on time, and it can be expected to reduce the burden on human carers.

In order to realize an active conversation between a PWD and an agent, it is necessary to provide conversation adapted to the individual PWD. In previous research, we propose a method to dynamically generate topics close to individuals by utilizing life history and Linked Open Data (LOD) [8], and a method to generate topics of trends/events according to user’s age. These methods are aimed at realizing active conversation close to individuals by developing conversation by combining information related to the PWD and related knowledge from open data.

Fig. 1.
figure 1

Virtual Care Giver

2.2 Personal Ontology

As mentioned in Sect. 2.1, in order for the system to generate a topic close to an individual, it is necessary to acquire information concerning the individual. In this research, information and knowledge related to individuals that can be managed by the system are called Personal Ontology. Representative ones of Personal Ontology include profiles and life history.

Life history is information on what kind of life the person has lived, such as hometown, family structure, school, work, memories, hobbies. Compared to the most recent event, life history is likely to remain in memory of PWD, so it has been actively utilized in previous studies. In previous research, based on the center method [7] and Mimamori/Tunagari note [6] actually used at the site of nursing care, we prepare preliminary questionnaires about the typical data items of life history and the PWD or the caregiver answer it. The items that could not be filled in preliminary questionnaires are acquired at the time of dialogue by the agent asking questions.

2.3 Linked Data, Linked Open Data (LOD)

Linked Data [1] is data linked by meaningful links using Web technology. Linked Data is one of technical components to realize Semantic Web. It is described in the Resource Description Framework (RDF) which structurally expresses arbitrary information on the web as a resource. Tim Berners-Lee defines the following four principles regarding Linked Data [1].

  1. 1.

    Use URIs as names for things.

  2. 2.

    Use HTTP URIs so that people can look up those names.

  3. 3.

    When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL).

  4. 4.

    Include links to other URIs. So that they can discover more things.

What is commonly shared by opening Linked Data as open data on the Internet is called Linked Open Data (LOD). By linking the opened data with each other, it is possible to form a huge knowledge database on the web.

Fig. 2.
figure 2

Example of RDF graph

In the model of RDF, data is represented by a triple that combines three elements: a subject, a predicate, and an object. RDF is represented by a directed graph; a subject and an object are represented by an ellipse (resource), and a predicate is represented by an arrow (link) connecting two ellipses. However, it is also possible to make the object a literal rather than a URI, in which case the object is represented by a rectangle.

Figure 2 shows the example of RDF graph. The URI can be described by omitting it by using the namespace prefix. In this figure, “dbpedia:Tokyo” refers to “http://dbpedia.org/resource/Tokyo.” In this example, “URI of dbpedia:Tokyo is indicative of “Tokyo”, and “the country where Tokyo is located is Japan” are two representations.

In addition, the syntax of RDF is expressed as follows by enclosing the URI of the subject, predicate, and object with \(\texttt {<>}\), followed by a period (.).

figure b

You can also write as follows by using the namespace prefix as in the graph.

figure c

In this paper, we use “http://example.org/resource/” and “http://example.org/property/” as a namespace URI, but using each prefix “ex:” and “ex:prop”.

3 The Proposed Method

3.1 Goal and Approach

In this study, we propose a method to dynamically acquire, accumulate and use Personal Ontology which is needed for generating personal adaptation dialogue in dialogue system for PWD through conversation.

Continuation of daily conversation is important in care for dementia. Furthermore, since the conversation that is close to individual PWD is important, the more individual ontologies that trigger the topic, the more patterns of topics that can be generated. However, since the number of items in the preliminary questionnaire adopted in the current system is large, it is difficult to answer strictly to all and items to be answered by people are different. Also, it may be possible to discover new Personal Ontology that do not exist in the questionnaire item from the daily conversation. Concepts appearing in such a newly obtained Personal Ontology are greatly different for each user. When considering a system that manages and accumulates Ontology having different structures among individuals, it is difficult to apply a relational database (RDB) that requires schema to be fixed in advance. Also, in order to develop a topic based on the accumulated Personal Ontology, related concepts are necessary. However, since they are diverse, it is not realistic to manage all of them within the system.

For the above reasons, in this study, we propose a mechanism to dynamically construct Personal Ontology by expressing and managing with Linked Data through dialogue between agent and user. Specifically, the proposed method consists of the following three steps.

  • A1: Construction of the Personal Ontology through the conversations

  • A2: Management of Personal Ontology with Linked Data

  • A3: Generation of link to utilize external LOD

3.2 A1: Construction of the Personal Ontology Through the Conversations

The agent dynamically extracts and creates ontology of the user’s individual through conversation with the user. The personal ontology is defined by a set of triple of \(\langle U, P, O\rangle \). U is a user (subject), P is a property (predicate), O is an object. When U = “Nakatani”, P = “favorite sport” and O = “Tennis”, it means “Nakatani’s favorite sport is tennis”.

We consider about two approaches as a method of constructing Personal Ontology through conversation. The first method is a method in which an agent asks user questions and builds from the answer. In this method, the system generates a question asking for O based on P, inquires of user, obtains the user’s answer, and then builds a triple of Personal Ontology. For example, the agent makes a question such as “Where is Nakatani’s hometown?” and “What is your favorite sport?”, and builds Personal Ontology from the answer of “Hyogo prefecture” and “Tennis”, such as \(\langle \text{ Nakatani }, \text{ Hometown }, \text{ Hyogo } \rangle , \langle \text{ Nakatani }, \text{ Favorite } \text{ sport }, \text{ Tennis } \rangle \).

The second method is a method of building by understanding the utterance of the user by the agent. In this method, natural language processing technology is used to analyze user’s free utterance and extract what can become an Ontology. A method of extracting sentences that can become Personal Ontology from free utterances is currently being studied.

Fig. 3.
figure 3

System architecture of proposed system

3.3 A2: Management of Personal Ontology with Linked Data

The system dynamically converts the Personal Ontology acquired in A1 to RDF format, expresses it as Linked Data and accumulates it. Specifically, for each \(\langle U, P, O \rangle \) acquired in A1, let U be a resource representing the user, O be a resource representing information related to the user, and P be a link representing the relationship between the user and the information.

Next, URIs are assigned to P and O. For the assignment method, let P for “ex-prop:P”, O for “ex:O”. Also, U refers to the name of the user, but assigning a URI in the same way as P and O will make it impossible to distinguish information of those users if they have the same name. In order to prevent this, ID is given for each user beforehand, URI is assigned to user ID (uid), and it is “ex:uid”. Then, in order to express what the URI means to human to understand easily, describing with the character string label (“rdfs:label”). In this way, it is possible to express “ex:uid represents U”.

figure d

Similarly for “ex-prop:P”, “ex:O”, the following description is added so that you can directly obtain what the URI means as a character string.

figure e

In this way, by describing \(\langle U, P, O \rangle \) acquired in A1 in RDF format as follows, it expresses the same meaning as “U’s P is O”.

figure f

The previous example, \(\langle \text{ Nakatani }, \text{ Favorite } \text{ sport }, \text{ Tennis } \rangle \), is converted to RDF format as follows.

figure g

Also, if O consists of multiple words and phrases, use “rdf:Bag” to group resources. According to the principle of Linked Data (see Sect. 2.3), resources should be referred to by URIs based on word. Therefore, when O is composed of a multiple words and phrases, it is not preferable to express it with the URI of the aforementioned method. Besides, it makes it difficult to create a link to a resource in external LOD which is described later. Therefore, when O contains plural words o1, o2, it is converted using “rdf:Bag” as follows. As a result, resources can be generated only with words contained in O, and can be expressed without information loss.

figure h

As an example, converting \(\langle \)Nakatani, Memories of childhood, reading comics and playing tennis\(\rangle \) to RDF format is as follows.

figure i

This allows to divide O into word level resources and assign URIs to each. It is easier to create a link to a resource in external LOD. The RDF data obtained by the above conversion is stored in a dedicated database called an RDF store.

3.4 A3 : Generation of Link to Utilize External LOD

By dynamically linking the Linked Data in the system accumulated in A2 with the external LOD, it becomes possible to procure related knowledge necessary for the development of the topic from the LOD. In this research, we use DBpedia [5] which is LOD extracted from Wikipedia. DBPedia is used to link between various publicly available LODs, and functions as a hub of the data set.

In this case, for each resource “ex:O” constructed in A2, if there is a resource, “http://ja.dbpedia.org/resource/O(dbpedia:O)” pointing to the same concept in DBpedia, link “ex:O” to “dbpedia:O”. For the link, use a property, “http://www.w3.org/2002/07/owl#sameAs(owl:sameAs)” indicating that the two resources are the same. Specifically, when “dbpedia:O” exists, the following RDF data is additionally registered in the system.

figure j

By doing this, “ex:O” and “dbpedia:O” are referenced differently but are regarded as the same object, and can be connected to external LOD. When the agent develops a topic based on “ex:O”, it is possible to retrieve information related to “dbpedia:O” for an external RDF store with “ex:O”. This allows to efficiently procure from external LODs without having to manage the huge knowledge related to “ex:O” on own system.

3.5 System Architecture

The overall architecture of the proposed system is shown in the Fig. 3. First, from the response of the user U obtained through the conversation with the agent, the property P and the object O are extracted by A1 and the system constructs the set of triplet Personal Ontology \(\langle U, P, O \rangle \). Next, each \(\langle U, P, O \rangle \) generated in A1 is converted into RDF format data by A2 and stored in the RDF store dedicated to Personal Ontology. Finally, in order to procure the knowledge related to O obtained in A1 from the external LOD, the system creates a link by DBpedia URIs by A3 and store it in the RDF store.

The Personal Ontology stored in the RDF store is used when the system generates topics for individuals. It is also possible to acquire related knowledge from external LOD and make it a trigger to develop topics.

4 Implementation of Prototype

In this section, prototype implementation of the system having the functions of A1, A2, A3 mentioned in Sect. 3 is performed. In implementing the system, the function A1 for extracting the answer part from the user’s response for the agent’s question is important. The triple \(\langle U, P, O \rangle \) which is a representation of a Personal Ontology means “U’s P is O”. The question to construct an Ontology is “What(Who, Where) is U’s P?”. This allows to obtain a response including a noun phrase equivalent to O. In implementing this processing for extracting noun phrase from the response sentence of the user, we used the “Communication Engine “COTOHA\(\textregistered \) API”” in this research. This API can analyze the structure of Japanese text and analyze dependency between morphemes. Based on the result obtained by applying this API to the response of the user, by extracting the noun phrase including the modifier part for the noun, it is set as the user’s answer O to the agent’s question. From the above, we generate triple \(\langle U, P, O \rangle \). In the function A2, when the noun phrase O extracted from the user’s response is not a single noun or a proper noun, morphological analysis and named entity recognition are performed with “COTOHA\(\textregistered \) API”, and the system registers multiple words in the RDF store.

We use Apache Jena Fuseki for the RDF store which manages and accumulates these constructed Personal Ontology. Apache Jena is a Java library for processing data in RDF format. Apache Jena Fuseki has a server function that can manage and search RDF data by SPARQL.

The technology used for implementing the system for constructing the Personal Ontology is as follows.

  • Development Language: Java

  • Java Library: Apache Jena

  • Web Server: Apache Tomcat

  • Web Service FrameWorks: Apache Axis2

  • RDF Store: Apache Jena Fuseki

  • Web API: Communication Engine “COTOHA\(\textregistered \) API”

5 Evaluation Experiment

In this section, experiments are conducted to determine by the prototype system whether the noun phrase corresponding to the answer can be appropriately extracted from the user’s response sentence, and whether the obtained answer can be expressed as Personal Ontology with Linked Data format.

Below is a partial excerpt of the question contents of the agent and the user’s response to it. The actual dialogue is performed in Japanese. The following is the English translation by the authors. A represents an utterance from an agent, and U represents a utterance from a user.

figure k

Next, the Personal Ontology constructed by the above question-answering is shown below. Theactual Personal Ontology is also constructed in Japanese. The following is English translation by the authors.

figure l

In the question-answering above, the system was able to extract noun phrases and express them as RDF form as Personal Ontology. Particularly as a noun phrase corresponding to “memory of school life”, the part of “Having a variety of mahjong with friends, reading comics, playing soccer and playing video games” existed in the user response sentence, so it was able to extract the answer appropriately. However, in the dialogue experiments not described above, there were errors in extraction of answers due to Japanese grammar errors and disappointing in response to users and misunderstanding of API.

Therefore, in the case where there is a correct response as a Japanese grammar from a user to an agent’s question, the system can appropriately extract the noun phrase corresponding to the answer of the user.

6 Conclusion

In this paper, we propose a method to accumulate and manage knowledge (Personal Ontology) about individual users in a dialog system that dynamically generates personalized topics. In the proposed method, Personal Ontology is acquired dynamically through conversation between user and agent, and the acquired information is expressed as Linked Data and accumulates in RDF format. We also implemented a Personal Ontology construction system using agents based on the proposed method. Using the system, we confirmed whether the system appropriately extracts the part corresponding to the answer from the response sentence of the user to the agent’s question in an interactive manner. Then we confirmed whether the system can express the obtained answer as Personal Ontology in the form of Linked Data. When response sentence from the user to the agent’s question can be obtained without grammar breakdown, appropriate processing could be done.

In our future works, we improve error extraction of answers from user response sentences and study methods to generate new dialogue from the constructed Personal Ontology.