JP2009110420A - 電子機器、その制御方法およびコンピュータプログラム - Google Patents
電子機器、その制御方法およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2009110420A JP2009110420A JP2007283955A JP2007283955A JP2009110420A JP 2009110420 A JP2009110420 A JP 2009110420A JP 2007283955 A JP2007283955 A JP 2007283955A JP 2007283955 A JP2007283955 A JP 2007283955A JP 2009110420 A JP2009110420 A JP 2009110420A
- Authority
- JP
- Japan
- Prior art keywords
- sentence
- conversation
- input
- word
- conversation sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】翻訳文書を出力する電子機器において利便性を向上させる。
【解決手段】携帯型翻訳機1では、プロファイルデータ記憶部133に「体型(洋服のサイズ)」等のプロファイル項目に関連付けられてユーザの特性を示す値が記憶されており、ユーザに提示される返答例にプロファイル項目に関連した値が挿入される。また、携帯型翻訳機1では、入力された会話文からプロファイル項目の値の候補となる値が抽出され、当該値がプロファイル項目とともに更新用情報記憶部136Aに記憶され、プロファイルデータ記憶部133に記憶されるプロファイルデータの更新に利用される。
【選択図】図1
【解決手段】携帯型翻訳機1では、プロファイルデータ記憶部133に「体型(洋服のサイズ)」等のプロファイル項目に関連付けられてユーザの特性を示す値が記憶されており、ユーザに提示される返答例にプロファイル項目に関連した値が挿入される。また、携帯型翻訳機1では、入力された会話文からプロファイル項目の値の候補となる値が抽出され、当該値がプロファイル項目とともに更新用情報記憶部136Aに記憶され、プロファイルデータ記憶部133に記憶されるプロファイルデータの更新に利用される。
【選択図】図1
Description
この発明は、電子機器およびその制御方法に関し、特に、翻訳文書を出力する電子機器、その制御方法およびコンピュータプログラムに関する。
従来から、母国語とする言語の異なる者同士がより円滑にコミュニケーションを図るために、種々の方法が存在している。たとえば、母国語と異なる言語を習得することや、通訳者を同行することも、円滑なコミュニケーションのための方法であると言える。ただし、外国語の習得には比較的長い期間を要し、また、通訳者を同行するには多額の費用を要するという問題がある。なお、円滑なコミュニケーションのための他の方法として、翻訳機を利用するという方法がある。そして、従来から、翻訳機に関する種々の技術が開示されている。
たとえば、特許文献1には、電子メール作成支援システムにおいて、システムに他人の個人情報を記憶させておき、電子メールに含まれる文書の翻訳の際に送信相手の個人情報の解析結果に基づいて求められた翻訳属性に従って当該文書の翻訳を行なう技術が開示されている。つまり、この特許文献には、読み手の属性に応じた訳文書を得るための技術が開示されている。
また、特許文献2には、翻訳機に関して、当該翻訳機が置かれている場所の位置情報を取得し、当該位置情報に基づいて翻訳に使用する言語を設定する技術が開示されている。つまり、この特許文献には、翻訳機における翻訳時の使用言語を容易に設定するための技術が開示されている。
また、特許文献3には、コミュニケーション支援装置に関して、辞書から訳語を選択する際に、スケジュール等のイベント情報を参照し、当該イベント情報に基づいて選択する訳語を決定する技術が開示されている。つまり、ユーザの入力した言語を状況に応じた訳語を利用して翻訳するための技術が開示されている。
特開2000−10975号公報
特開2003−114887号公報
特開2005−25380号公報
上記したように、従来の翻訳機では、ユーザが入力した文章に対して状況に応じた訳文を出力するための技術やユーザに選択のための操作をさせることなく適切な使用言語を設定する技術など、ユーザの利便性を考慮した技術が種々開示されている。
なお、ユーザは、そのコミュニケーション能力によっては、翻訳機に対してどのような文章を入力すればよいのか戸惑いを覚える場合もある。
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、翻訳文書を出力する電子機器において利便性を向上させることである。
本発明に従った電子機器は、会話文が記憶されている会話文記憶手段を備えた電子機器において、前記会話文記憶手段は、会話文とユーザの特性の種類を表す特定の単語とを関連付けて記憶し、前記特定の単語と、前記特定の単語に対応するユーザの特性を表す単語である特性用単語とを関連付けて記憶するプロファイルデータ記憶手段と、前記特定の単語と、前記特定の単語に対応する前記特性用単語の候補を特定する情報とを関連付けて記憶する候補記憶手段と、会話文の入力を受付ける会話文入力手段と、前記会話文入力手段に入力された会話文についての形態素解析を行なう会話文解析手段と、前記会話文解析手段による解析結果として得られた前記入力会話文中の単語の中から、前記特定の単語を抽出する抽出手段と、前記会話文記憶手段から、前記抽出手段により抽出された特定の単語に関連付けられて記憶された会話文を検索する会話文検索手段と、前記会話文検索手段により検索された会話文に、前記候補記憶手段において前記抽出手段により抽出された特定の単語と関連付けられた特性用単語を挿入して、前記会話文入力手段により入力された入力会話文に対する応答文として出力する会話文出力手段とを備え、前記抽出手段は、さらに、前記入力会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出し、前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶させる制御手段をさらに備えることを特徴とする。
また、電子機器は、前記会話文入力手段に入力された会話文が、前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断する第1の判断手段と、前記第1の判断手段が前記入力された会話文が前記電子機器のユーザ以外の人物のものであると判断した場合に、前記入力された会話文が疑問文であるか否かを判断する第2の判断手段と、前記第2の判断手段が疑問文であると判断した場合に、前記入力された会話文を一時的に記憶する一時的記憶手段と、前記一時的記憶手段に会話文が記憶された後に入力された会話文について前記第1の判断手段が前記入力された会話文が前記電子機器のユーザのものであると判断した場合に、前記入力された会話文が肯定文であるか否かを判断する第3の判断手段とをさらに備え、前記抽出手段は、前記第3の判断手段が肯定文であると判断した場合に、前記一時的記憶手段に記憶された会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出し、前記一時的記憶手段は、前記抽出手段が前記一時的記憶手段に記憶された会話文に対する前記特性用単語の候補の抽出の後、記憶している会話文を消去することが好ましい。
また、電子機器では、前記抽出手段は、前記第2の判断手段が疑問文ではないと判断した場合には、前記電子機器のユーザ以外の人物のものであると判断した会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出することが好ましい。
また、電子機器は、ユーザを特定するための音声データであるサンプルデータを記憶するサンプルデータ記憶手段をさらに備え、前記第1の判断手段は、前記サンプルデータに基づいて、前記会話文入力手段に入力された会話文が前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断することが好ましい。
また、電子機器は、外部から操作される操作部をさらに備え、前記第1の判断手段は、前記会話文入力手段に入力された会話文が前記操作部が操作された状態で入力されたか否かに基づいて、前記会話文入力手段に入力された会話文が前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断することが好ましい。
また、電子機器では、前記制御手段は、前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶されている前記特性用単語と入れ替えて前記プロファイルデータ記憶手段に記憶させることが好ましい。
また、電子機器では、前記制御手段は、前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶されている前記特性用単語に加えて前記プロファイルデータ記憶手段に記憶させる
本発明に従った電子機器の制御方法は、会話文がとユーザの特性の種類を表す特定の単語とを関連付けて記憶されている会話文記憶手段を備えた電子機器の制御方法であって、前記特定の単語と、前記特定の単語に対応するユーザの特性を表す単語である特性用単語とを関連付けて記憶するステップと、前記特定の単語と、前記特定の単語に対応する前記特性用単語の候補を特定する情報とを関連付けて記憶するステップと、会話文の入力を受付けるステップと、前記入力された会話文についての形態素解析を行なうステップと、前記形態素解析による解析結果として得られた前記入力会話文中の単語の中から、前記特定の単語を抽出するステップと、前記会話文記憶手段から、前記抽出された特定の単語に関連付けられて記憶された会話文を検索するステップと、前記検索された会話文に、前記抽出された特定の単語と関連付けられた特性用単語を挿入して、前記入力された会話文に対する応答文として出力するステップと、前記入力会話文中の単語の中から抽出した前記特定の単語と関連付けて記憶されている前記特性用単語の候補を抽出するステップと、前記抽出した特性用単語の候補を、前記特定の単語に対応するユーザの特性を表す単語として前記特定の単語に関連付けて記憶するステップとを備えることを特徴とする。
本発明に従った電子機器の制御方法は、会話文がとユーザの特性の種類を表す特定の単語とを関連付けて記憶されている会話文記憶手段を備えた電子機器の制御方法であって、前記特定の単語と、前記特定の単語に対応するユーザの特性を表す単語である特性用単語とを関連付けて記憶するステップと、前記特定の単語と、前記特定の単語に対応する前記特性用単語の候補を特定する情報とを関連付けて記憶するステップと、会話文の入力を受付けるステップと、前記入力された会話文についての形態素解析を行なうステップと、前記形態素解析による解析結果として得られた前記入力会話文中の単語の中から、前記特定の単語を抽出するステップと、前記会話文記憶手段から、前記抽出された特定の単語に関連付けられて記憶された会話文を検索するステップと、前記検索された会話文に、前記抽出された特定の単語と関連付けられた特性用単語を挿入して、前記入力された会話文に対する応答文として出力するステップと、前記入力会話文中の単語の中から抽出した前記特定の単語と関連付けて記憶されている前記特性用単語の候補を抽出するステップと、前記抽出した特性用単語の候補を、前記特定の単語に対応するユーザの特性を表す単語として前記特定の単語に関連付けて記憶するステップとを備えることを特徴とする。
本発明に従ったコンピュータプログラムは、電子機器において上記したような制御方法を実現するためのコンピュータプログラムである。
本発明によれば、制御手段が抽出手段によって抽出された特性用単語をプロファイルデータ記憶手段に記憶させるため、特定の単語に関連付けて特性用単語の候補として記憶された単語の中で入力された会話文に実際に含まれる単語が、出力される会話文(応答文)に挿入されるようになる。
したがって、本発明に従った電子機器は、実際にユーザやその会話相手によって選択されて発言された会話の中から抽出された単語を、それ以降出力される応答文に含めることができるため、ユーザの特性に応じた応答文を出力でき、利便性の高いものとなる。
以下に、図面を参照しつつ、本発明の一実施の形態である携帯型翻訳機について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1に、本実施の形態の携帯型翻訳機の機能を説明するための模式的な図を示す。
図1を参照して、携帯型翻訳機1は、たとえば、日本語で会話を行なうユーザ901によって、日本語以外の言語で会話をする会話相手902と会話をするために利用される。なお、本明細書では、翻訳を必要とする日本語以外の言語の一例として英語を挙げるが、本発明に従った携帯型翻訳機が訳文を出力する際の翻訳先の言語は英語に限定されない。
図1を参照して、携帯型翻訳機1は、たとえば、日本語で会話を行なうユーザ901によって、日本語以外の言語で会話をする会話相手902と会話をするために利用される。なお、本明細書では、翻訳を必要とする日本語以外の言語の一例として英語を挙げるが、本発明に従った携帯型翻訳機が訳文を出力する際の翻訳先の言語は英語に限定されない。
携帯型翻訳機1は、ユーザ901または会話相手902からの情報の入力の受付けおよびユーザ901または会話相手902への情報の出力を行なう会話エンジン100を含む。
会話エンジン100は、会話相手902からたとえばテキストデータや音声による質問文の入力を受付け、かつ、当該質問文の内容を解析する、解析機能101を備えている。なお、解析機能101は、基本的に質問文の入力の受付けおよびその内容の解析(形態素解析を含む)を行なうものであるが、入力を受付けまたその内容を解析する文章の種類は必ずしも質問文に限られない。また、解析機能101は、会話相手902から音声で文章を入力された場合には、当該入力された音声(会話相手902が発した音声)の認識および認識結果の補正を行なう機能を含む。
また、会話エンジン100は、会話相手902から入力された質問文に対する返答の例文をユーザに提示する返答作成エンジン102を含む。返答作成エンジン102は、質問文に対する返答として回答文を作成して出力する回答作成機能102Aと、質問文に対する回答として依頼文を作成して出力する依頼文作成機能102Bを備えている。なお、返答作成エンジン102は、GPS(Global Positioning System)910から得た現在位置等に基づいて得られた携帯型翻訳機1の現在位置についての詳細な情報に基づき、ユーザ901に対して、返答例を提示する機能も有する。また、返答作成エンジン102は、後述する参照用情報記憶部136に記憶されたスケジュール情報に基づき、返答例を提示する機能も有する。
また、会話エンジン100は、携帯型翻訳機1に対してユーザ901が入力した音声についての解析機能103も備えている。解析機能103は、解析機能101と同様に入力された文に対する内容の解析(形態素解析も含む)を行なうものである。
携帯型翻訳機1は、さらに、翻訳・辞書データベース(以下、「データベース」を「DB」と略す)131、場面情報DB132、プロファイルデータ記憶部133、属性DB134、分類DB135、参照用情報記憶部136、および、会話文DB140を記憶している。会話文DB140は、会話事例DB141、回答事例DB142、依頼事例DB143、および、会話履歴DB144を含む。参照用情報記憶部136は、後述するプロファイルデータの更新に利用する情報を記憶する更新用情報記憶部136Aを含む。また、参照用情報記憶部136には、後述する属性・プロファイル関連テーブルおよび分類・プロファイル関連テーブルが記憶されている。
翻訳・辞書DB131には、一般的な翻訳機において利用される辞書データが記憶されており、具体的には、たとえば、複数の言語についての、言語対の辞書データおよびその例文が記憶されている。
場面情報DB132には、後述する店情報等、携帯型翻訳機1の現在位置に関する情報(場面情報)が記憶されている。なお、場面情報とは、たとえば、後述する表8,表9に記載されるような、場所を特定することのできる情報である。
表1に、プロファイルデータ記憶部133に記憶されているデータ(プロファイルデータ)の一例を示す。
表1を参照して、プロファイルデータでは、「項目名」の欄に挙げられた各項目についてのユーザの情報が「値」の欄に記憶されている。本実施の形態の携帯型翻訳機1では、ユーザが後述する入力部11を利用して入力した各「値」が、プロファイルデータに記憶される。なお、プロファイルデータでは、すべての項目名に対応する値が記憶されていても良いし、表1に示されるように値が記憶されていない項目名を含んでも良い。
表2に、属性DB134に記憶されているデータ(属性テーブル)の一例を示す。
表2を参照して、属性テーブルでは、「属性」の欄に、会話で利用される単語に関する属性を表す単語が挙げられ、「内容」の欄に、属性の内容を表す単語が挙げられている。たとえば、表2の属性の欄には、「サイズ」という日本語の単語と、当該日本語の単語に対応する英語の(入力される文章の言語の)単語「size」が挙げられている。また、表2の内容には、英語の(入力される文章の言語の)文章中でサイズについての言及がなされる際に利用されることが想定される単語(文字列)として、「L」「M」「S」「large」「medium」「small」という衣服等のサイズを言及する際に一般的に利用される文字列が挙げられている。
また、属性テーブルでは、「属性」の欄に、「色」という日本語の単語と、それに対応する英語の単語「color」が挙げられ、そして、これらに対応する「内容」として、「blue」「red」「yellow」「green」という具体的な色を特定する単語が挙げられている。
表3に、分類DB135に記憶されているデータ(分類テーブル)の一例を示す。
表3を参照して、分類テーブルでは、「分類」の欄に、入力された文章(以下、入力文と呼ぶ)における話題に関する分類を表す単語(衣服、車種、食品、かばん、靴、雑貨)が対応する英語(clothes, car type, food, bag, shoes, sundries)とともに挙げられている。また、各分類に対応する「内容」の欄には、「分類」の欄に挙げられた各分類に属する単語(たとえば、「clothes」(衣類)に属する内容として「T-shirts」等)挙げられている。
表4に、回答事例DB142に記憶されているデータ(回答事例テーブル)の一例を示す。
表4を参照して、回答事例テーブルでは、複数の会話例(回答文)が、内容(1)、内容(2)、内容(3)等のように、互いに独立した情報として記憶されている。また、回答事例テーブルでは、各会話例に関連付けられて、属性、属性の重み、分類、および、分類の重みに関する情報が記憶されている。表4において、属性とは、回答文がどのような属性について回答するものであるかを示す情報であり、分類とは、回答文がどのような分類についての会話であるかを示す情報であり、属性の重みおよび分類の重みは、後述するような態様で各会話例に対して属性または分類について重み付けされた結果を示す値である。なお、表4では、内容(1)、つまり、「My size is large.」という会話例およびそれに関連付けられた情報の中で、分類の欄に「衣類」と「食品」の2つが「/」で仕切られて記載されている。これは、回答例の文章に、「衣類」の分類に対応するキーワードと「食品」の分類に対応するキーワードが含まれていることを意味する。そして、分類の重みの欄には、「衣類」と「食品」のそれぞれに基づいた重みが、分類の欄と同様に「/」で仕切られて記載されている。
表5に、依頼事例DB143に記憶されているデータ(依頼事例テーブル)の一例を示す。
表5を参照して、依頼事例テーブルでは、複数の会話例(依頼文)が、内容(5)、内容(6)等のように互いに独立した情報として記憶されている。つまり、依頼事例テーブルでも、回答事例テーブルと同様に、各会話例に関連付けられて、属性、属性の重み、分類、および、分類の重みに関する情報が記憶されている。表5において、属性とは、依頼文がどのような属性に関する依頼を行なうものであるかを示す情報であり、分類とは、依頼文がどのような分類についての会話であるかを示す情報であり、属性の重みおよび分類の重みは、後述するような態様で各会話例に対して重み付けされた結果を示す値である。
表6に、会話事例DB141に記憶されているデータ(会話事例テーブル)の一例を示す。
表6を参照して、会話事例テーブルでは、複数の会話例が、回答事例テーブルおよび依頼事例テーブルと同様に、互いに独立した情報として記憶されている。なお、会話事例テーブルに記憶される会話例は、回答文および依頼文以外の会話文が記憶されている。そして、会話事例テーブルでも、各会話例に関連付けられて、属性、属性の重み、分類、および、分類の重みに関する情報が記憶されている。表6において、属性とは、会話例がどのような属性に関する会話であるかを示す情報であり、分類とは、会話例がどのような分類についての会話であるかを示す情報であり、属性の重みおよび分類の重みは、後述するような態様で各会話例に対して重み付けされた結果を示す値である。
また、会話事例テーブルには、後述するように、お店の種類、お店で扱われる商品の分類、キーワード、および、会話例の各フィールドに対応した値が定義されている。
以上説明した会話事例テーブル、回答事例テーブル、および、依頼事例テーブルに記憶される情報は、予め携帯型翻訳機1に記憶されていても良いし、ユーザによって後述する入力部11を介して入力されても良いし、また、ワークを介してダウンロードされても良い。携帯型翻訳機1では、解析機能101によって、後述するように、入力文に対して、属性、属性の重み、分類、および、分類の重みの各情報を与えることができる。このため、ユーザによって会話例を入力されるだけで、これらのテーブルのいずれかに、会話例とそれに関連付けられた属性等の情報を記憶させることができる。なお、入力文を、会話事例テーブル、回答事例テーブル、または、依頼事例テーブルのどのテーブルに記憶させるかについては、ユーザによって指定されても良いし、解析機能101に指定する機能を備えさせても良い。このような機能は、たとえば、解析機能101が、入力文中に回答文に指定するためのキーワード(「is」等)または依頼文に指定するためのキーワード(「please」等)が含まれているか否かを判断し、含まれていればキーワードに対応するテーブル(回答事例テーブルまたは依頼事例テーブル)を指定し、含まれていなければ会話事例テーブルを指定することによって達成される。
会話履歴DB144には、携帯型翻訳機1がユーザに提示した返答例の中でユーザが選択した会話文の履歴が記憶されている。会話履歴DB144では、各会話文が、たとえば会話事例テーブルと同様の形式で、つまり、会話文(会話例)が、それぞれ、属性、属性の重み、分類、および、分類の重みが関連付けられて記憶される。
なお、会話履歴DB144では、表7に示されるように、各会話文に、さらに、その会話文がユーザに選択されたときの日時と携帯型翻訳機1がどのような場所に位置していたかについての情報が関連付けられても良い。
表7において、「種類」「名前」「住所」とは、それぞれ、携帯型翻訳機1が位置していた場所についての情報であり、たとえば、後述するように店舗の種類、名前、住所が記憶される。
図2は、携帯型翻訳機1のハードウェア構成を示す図である。
図2を参照して、携帯型翻訳機1は、当該携帯型翻訳機1の動作を全体的に制御する制御部10を備えている。制御部10は、CPU(Central Processing Unit)を含む。また、携帯型翻訳機1は、ユーザが情報を入力する入力部11と情報を表示する表示部12を含む。入力部11は、ボタン、表示部12に表示されるタッチキーやタッチパネル、および/または、音声を入力するマイクを含み、また、音声を出力するためのD/A変換部13、出力アンプ14、スピーカ15を含む。
図2を参照して、携帯型翻訳機1は、当該携帯型翻訳機1の動作を全体的に制御する制御部10を備えている。制御部10は、CPU(Central Processing Unit)を含む。また、携帯型翻訳機1は、ユーザが情報を入力する入力部11と情報を表示する表示部12を含む。入力部11は、ボタン、表示部12に表示されるタッチキーやタッチパネル、および/または、音声を入力するマイクを含み、また、音声を出力するためのD/A変換部13、出力アンプ14、スピーカ15を含む。
また、携帯型翻訳機1は、複数の言語の会話の例文および所定の言語対の辞書データおよび例文を記憶する辞書データ記憶部16、会話の例文の音声データを記憶する音声データ記憶部17、種々の情報を記憶する情報記憶部18、および、インターネット等のネットワーク上のサーバやGPS衛星と通信を行なう通信部19を含む。
なお、本実施の形態では、携帯型翻訳機1が自機の位置情報をGPS衛星と通信することによって取得するように記載されているが、携帯型翻訳機1が自機の位置情報を取得する方法はこれに限定されない。建物や店頭に設置される電灯やLED(Light Emitting Diode)の点滅パターンの中に位置情報を埋め込み、当該電灯やLEDが発する光を通信部19が受光させ、そして、当該通信部19が受けた光のパターンを解析する、という方法によって携帯型翻訳機1が自機の位置情報を取得しても良い。
情報記憶部18に格納されている情報には、制御部10が実行する処理のプログラム、場面情報DB132、プロファイルデータ記憶部133、属性DB134、分類DB135、参照用情報記憶部136、および、会話文DB140が含まれる。辞書データ記憶部16に格納されている情報には、翻訳・辞書DB131が含まれる。
また、携帯型翻訳機1では、制御部10が情報記憶部18に格納されるプログラムを適宜実行することによって、会話エンジン100が実現される。なお、解析機能101、回答作成機能102A、および/または、依頼文作成機能102Bについて、それぞれの専用のLSI(Large Scale Integration)によって実現されても良い。
図3は、携帯型翻訳機1において、当該携帯型翻訳機1の位置に応じた会話例が提示される際に制御部10が実行する処理のフローチャートである。
図3を参照して、入力部11に対してユーザが会話例の提示を要求するための操作を行なうと、ステップS101で、制御部10は、通信部19にGPS衛星と通信させることにより、自機の位置情報を取得する。
なお、上記したように、自機の位置情報を取得する方法は、GPS衛星との通信に限定されない。
次に、ステップS102で、制御部10は、現在位置の<建物情報>を取得する。なお、ステップS102の処理内容を、当該処理のサブルーチンのフローチャートである図4を参照して詳細に説明する。
図4を参照して、制御部10は、ステップS201で、通信部19を介してネットワークに接続することにより、当該ネットワーク上の地図情報等を提供するサーバから、ステップS101で取得した現在位置に基づいて現在位置を中心とした地図情報と当該地図内に含まれる建物の名前を取得し、地図情報を表示部12に表示させる。
次に、制御部10は、ステップS202で、ユーザに自機を使用している場所を地図上で選択させ、選択した情報の入力を受付ける。ここで、ユーザが選択する情報としては、たとえば、地図上の建物の名称が挙げられる。
次に、制御部10は、ステップS203で、ステップS202でユーザが選択した情報によって特定される場所(建物)が、2つ以上の建物情報(店舗等の情報)に対応するかどうかを判断し、対応すると判断した場合にはステップS204で、当該2つ以上の建物情報を表示部12に表示させる。一方、ない場合には、制御部10はステップS220に処理を進める。
なお、情報記憶部18に記憶されるデータベースには、場所または建物と、それに対応する建物情報(店舗等)とが、互いに関連付けられて記憶されているものが含まれる。具体的には、たとえば、情報記憶部18には、あるビルと、当該ビルに入っているすべての店舗の名称とが互いに関連付けられて記憶されていたり、または、ある地域の名称と当該地域内に存在する建物の名称とが互いに関連付けられて記憶されている。そして、制御部10は、上記のデータベースを参照することにより、ステップS203における判断を行なう。
ステップS204で建物情報を表示した後、制御部10は、ステップS205で、ユーザからの、複数の建物情報の中から1つの建物情報を選択する情報の入力を受付け、ステップS220に処理を進める。なお、ステップS204で表示される建物情報は、たとえば、複数の建築物の名前であっても良いし、同じ建築物内の異なる複数の店舗の名称であっても良い。
ステップS220では、制御部10は、ステップS203からステップS205の処理によって、後述する建物情報テーブルの名前のフィールドにセットする建物の情報(店名)が得られたか否かを判断し、得られたと判断するとステップS221へ、得られていないと判断するとステップS222へ、それぞれ処理を進める。なお、ステップS220では、制御部10は、具体的には、ステップS202において選択された情報によって特定される場所に対して1つの建物情報が対応する場合であってユーザが当該建物情報を正しいという情報を入力した場合、または、ステップS205においてユーザから1つの建物情報を選択する情報が入力された場合に、上記した建物の情報や店名が得られたと判断する。
ここで、建物情報テーブルについて説明する。建物情報テーブルの一例を表8に示す。
建物情報テーブルは、参照用情報記憶部136(図1参照)に記憶される。
建物情報テーブルでは、建物の種類、名前、住所という各フィールドについての値が定義され、これらが互いに関連付けられて記憶されている。なお、建物の種類として格納される値の具体例としては、たとえば、一般の人が居住する家(一般家)、会社、店舗、公共施設、道、空港を含む。また、名前として格納される値の具体例としては、家に居住する人の名前、会社名、店名、公共施設の名前、道路の名前を含む。住所として格納される値は、対応する建物や店舗や家の住所を示す情報である。
建物情報テーブルでは、建物の種類、名前、住所という各フィールドについての値が定義され、これらが互いに関連付けられて記憶されている。なお、建物の種類として格納される値の具体例としては、たとえば、一般の人が居住する家(一般家)、会社、店舗、公共施設、道、空港を含む。また、名前として格納される値の具体例としては、家に居住する人の名前、会社名、店名、公共施設の名前、道路の名前を含む。住所として格納される値は、対応する建物や店舗や家の住所を示す情報である。
ステップS221では、制御部10は、建物情報テーブルの「名前」のフィールドに対応する値として、建物の名称または店舗の名称を記憶させる。なお、ステップS202で選択した場所に2つ以上の建物や店舗の名称がある場合には、ステップS203からステップS205の処理によって取得した名称を記憶させ、また、ステップS202で選択した場所の建物または店舗の名称が1つである場合には、その名称を記憶させて、ステップS206に処理を進める。
一方、ステップS222では、制御部10は、建物情報テーブルの「名前」のフィールドに、「不明」という値を記憶させて、ステップS206に処理を進める。
ステップS206では、制御部10は、ステップS202で選択された情報に対応する住所を、インターネット等のネットワーク上の上記したサーバから取得して、ステップS207に処理を進める。
図5を参照して、ステップS207では、制御部10は、ステップS206の処理により住所が取得できたか否かを判断し、取得できたと判断するとステップS208へ、取得できなかったと判断するとステップS212へ、それぞれ処理を進める。なお、制御部10は、ステップS207では、具体的には、ステップS201において提示された現在位置情報(経度、緯度)と一致する地図上において、ステップS202で、ユーザが選択した地図上の場所に付随した住所データが存在するか(住所を特定するデータであることを示すデータが存在するか)どうかを判断する。そして、制御部10は、存在すると判断するとステップS208へ、存在しないと判断するとステップS212へ、それぞれ処理を進める。
ステップS208では、制御部10は、建物情報テーブルの[住所]のフィールドの値として、ステップS207で存在すると判断した住所データをセットする。なお、ステップS208では、制御部10は、ユーザがステップS202で複数の建物情報に対応する場所(建物)を選択した場合、住所だけではなく、建物情報が対応する詳細な場所を示す情報(建物の中の何階かを示す情報)を付随情報としてセットする。通信部19は、建物の場所の何階かを特定する情報として、GPSから受信する情報の他に、建物に設置された装置(センサ等)からの信号を受信できる。具体的には、制御部10は、たとえば建物内の異なる場所に設置された複数のセンサから通信部19が受信した信号を解析することにより、携帯型翻訳機1と当該複数のセンサのそれぞれとの距離を特定し、これにより、何階のどこにいるかということを特定することができる。そして、制御部10は、ステップS208において、[住所]のフィールドに、当該付随情報を付加することも可能である。
次に、制御部10は、ステップS209で、ステップS208でセットした住所に関する情報がインターネット等のネットワーク上のサーバに存在するか否かを確認し、ステップS211に処理を進める。なお、ステップS209では、制御部10は、具体的には、たとえば、ステップS208でセットした住所またはステップS221でセットした店名をキーワードとして検索エンジンを利用すること等により、インターネット等のネットワーク上のサーバに格納された情報の検索を行なう。
ステップS211では、制御部10は、ステップS209での確認の結果として、住所に関する情報があるか否かを判断し、あると判断するとステップS215に処理を進め、無いと判断するとステップS214に処理を進める。なお、ステップS211では、制御部10は、たとえば、ステップS202においてユーザが選択した住所に対して店舗等のホームページへのリンクが設定されているか否か、または、施設(店舗)に関するデータベースであって施設名(店舗名)と住所とホームページアドレスとを含むデータベースにおいて住所をキーワードとして施設名を検索した上で検索結果である施設名に対応したホームページアドレスを取得することができたか否か、等によって、住所に関する情報があるか否かを判断する。
ステップS212では、制御部10は、ステップS202においてユーザが選択した住所が、インターネット等のネットワーク上で提供される地図情報において道に対応しているか否かを判断し、そうであると判断するとステップS213へ、そうではないと判断するとステップS214へ、それぞれ処理を進める。
ステップS213では、上記した建物情報テーブルにおいて、ステップS206で取得した住所を「住所」のフィールドにセットし、そして、セットした住所に対応する種類のフィールドに「道」という値を、そして、セットした住所に対応する名前のフィールドに「不明」という値をセットして、処理をステップS102にリターンさせる。
ステップS214では、制御部10は、建物情報テーブルにおいて、ステップS208でセットした建物情報に対応する種類および名前のフィールドに「不明」という値をセットして、処理をステップS102にリターンさせる。
ステップS215では、制御部10は、ステップS209の検索結果として取得された情報の中に、建物情報テーブル中の「種類」のフィールドの値として適切な情報を検索する。そして、制御部10は、ステップS216において、そのような情報が含まれているか否かを判断する。なお、制御部10は、具体的には、ホームページのソースに対して、「種類」のフィールドの値の候補とされるテキストや、後述する会話事例DBや会話履歴DBの「種類」のフィールドに記憶されている内容(デパート/スーパー/…等)と合致するテキストが含まれるかどうか、または、ホームページ作成上のフォーマットとして「種類:種類名」をソース上に入れておくという規定があるときには、その規定に基づいたデータがホームページのソースに含まれるか否かを判断する。そして、制御部10は、含まれていると判断するとステップS217に、含まれていないと判断するとステップS218に、それぞれ処理を進める。
ステップS217では、制御部10は、建物情報テーブルに対して、ステップS208でセットした住所に対応する種類のフィールドの値として、ステップS215の検索結果として得られた情報をセットして、ステップS102に処理をリターンさせる。
一方、ステップS218では、制御部10は、建物情報テーブルに対して、ステップS208でセットした住所に対応する種類のフィールドの値として「不明」をセットして、ステップS102に処理をリターンさせる。
再度図3を参照して、ステップS102では、図4および図5を参照して説明されたように、携帯型翻訳機1が現在位置する建物(または店舗)の情報が、表8に示された建物情報テーブルとして得られる。
そして、制御部10は、ステップS102において得られた建物情報テーブルの[種類]のフィールドの値に応じて、その後の処理を進める。たとえば、値が「一般家(一般の人が居住する家)」である場合にはステップS103へ、「店」である場合にはステップS104へ、それぞれ処理を進める。
ステップS103では、携帯型翻訳機1に格納されたアドレス帳の中で、現在位置の建物情報テーブルの住所のフィールドの値に対応した住所があるかどうかを検索する。そして、当該住所がある場合には、ステップS103Aで、アドレス帳における、当該住所に対応する個人についての登録内容(プロファイルデータ)や会話履歴等に基づいた英語の会話例を提示する。
一方、ステップS104では、制御部10は、建物情報テーブルを利用して、携帯型翻訳機1の現在位置についてのさらに詳細な情報を取得する。ここで言う「さらに詳細な情報」とは、たとえば以下の表9に示される店情報テーブルを挙げることができる。
店情報テーブルには、種類、名前、住所、取扱商品の大分類、および、データ入手先という各フィールドに値が定義されている。
そして、種類のフィールドの値としては、デパート、スーパー(マーケット)、飲食店、衣料品店、雑貨店、免税店等の店舗の種類を示すデータが格納される。
また、名前のフィールドの値としては、店舗の名称を示すデータが格納され、住所のフィールドの値としては、店の所在地の住所を示すデータが格納される。なお、名前および住所のフィールドの値は、表8として示した建物情報テーブルに格納された対応する値をコピーされる。
なお、携帯型翻訳機1では、上述の表8,表9に挙げられたような座標情報や位置情報が取得された場合、これらの情報を取得された時刻情報とともに記憶されていても良い。つまり、たとえば、表8において、建物ごとの情報に、情報が取得された時刻情報がさらに記憶されていても良い。
ここで、ステップS104の処理内容を、当該処理のサブルーチンのフローチャートである図6を参照して説明する。
図6を参照して、制御部10は、まずステップS301およびステップS302のそれぞれで、建物情報テーブル(表8参照)の名前と住所のフィールドのそれぞれの値を、店情報テーブル(表9参照)の対応するフィールドの値としてコピーし、ステップS303の処理を進める。
ステップS303では、制御部10は、店情報テーブルの名前と住所の2つのフィールドの値をキーワードとして、インターネット等のネットワーク上のサーバに格納された情報を検索する。なお、このような検索は、たとえば検索エンジンを利用して行なわれる。そして、なんらかの検索結果が得られた場合には、表示部12に当該検索結果が表示される。
そして、ステップS304で、制御部10は、ステップS303における検索の結果として情報が得られたかどうかを判断する。なお、ステップS304では、ステップS303で表示された検索結果の中の少なくとも1つの情報がユーザによって選択されたか否かも判断される。そして、選択されたと判断するとステップS305へ、選択されなかったまたはステップS303における検索の結果が1件も得られなかったと判断するとステップS314へ、制御部10はそれぞれ処理を進める。
ステップS314では、制御部10は、店情報テーブルの種類および取扱商品の大分類のフィールドの値としてそれぞれ「不明」をセットして、処理をステップS104へとリターンさせる。
一方、ステップS305では、制御部10は、店情報テーブルのデータ入手先のフィールドに、ステップS303の検索結果として得られた値の中から当該情報の提供先を示す情報を抽出して値としてセットする。なお、ステップS305における値のセットは、本発明が実施される条件に適した方法で行なわれれば良いが、たとえば、ホームページのトップページのアドレス(URL:Uniform Resource Locator)に基づいて決定した値をセットする方法が挙げられる。具体的には、制御部10は、たとえば、ホームページのトップページのアドレスに、店名に対応するテキストが含まれているか否かを判断し、含まれていれば、提供先として「店のデータベース」という情報をセットする。また、当該トップページのアドレスに、商店街の名称に対応するテキストが含まれているか否かを判断し、含まれていれば、提供先として「商店街のホームページ」という情報をセットする。また、他の方法としては、ホームページのトップページのアドレスに特定のテキストが含まれているかどうかによって決定した値をセットする方法も挙げられる。たとえば、ホームページのトップページのアドレスにデータベースを意味する“db”や店舗を意味する“shop”等のテキストが含まれているか否かを判断し、含まれていれば、提供先として「店のデータベース」という情報をセットする。さらに別の方法としては、ホームページのソースに特定のテキストが含まれる場合であって、さらに、当該特定のテキストに対して一定の関係にあるテキストが所定の条件を満たす場合に、提供先として「店のデータベース」という情報をセットする方法も挙げられる。具体的には、ホームページのソースにおいて“title”というテキストを検索し、含まれる場合には、当該テキストの後に“のホームページ”というテキストが含まれるかどうかを判断し、含まれる場合には、当該“のホームページ”の直前のテキストが店名であるか否かを判断し、店名である場合には、提供先として「店のデータベース」という情報をセットする。また、“title”というテキストに限らず、ホームページのソースにおいて店名の属性を表す属性コードを検出し、当該属性コードについている名前が店名であるか否かに応じて、提供先として「店のデータベース」という情報をセットするか否かが決定されても良い。
次に、制御部10は、ステップS306で、ステップS303で取得した情報の中に店の種類に相当する情報を検索し、ステップS307で、検索することによってそのような情報が得られたかどうかを判断する。そして、得られたと判断するとステップS308へ、得られなかったと判断するとステップS309に処理を進める。なお、ステップS307での判断として、制御部10は、ステップS216と同様に、ホームページのソースに対して、「種類」のフィールドの値の候補とされるテキストや、後述する会話事例DBや会話履歴DBの「種類」のフィールドに記憶されている内容(デパート/スーパー/…等)と合致するテキストが含まれるかどうか、または、ホームページ作成上のフォーマットとして「種類:種類名」をソース上に入れておくという規定があるときには、その規定に基づいたデータがホームページのソースに含まれるか否かを、判断する。そして、制御部10は、含まれていると判断するとステップS308に、含まれていないと判断するとステップS309に、それぞれ処理を進める。
ステップS308では、制御部10は、店情報テーブルの種類のフィールドの値として、ステップS307の検索結果として得られた情報をセットして、ステップS310に処理を進める。一方、ステップS309では、制御部10は、店情報テーブルの種類のフィールドの値として「不明」をセットして、ステップS310に処理を進める。
ステップS310では、制御部10は、ステップS303で取得した情報の中に店の取扱商品に相当する情報を検索し、ステップS311で、そのような情報が含まれるか否かを判断する。なお、ここでの判断は、具体的には、ステップS305で判断したデータ入手先が、店のホームページ、データベースなどで判断された場合、該データ入手のサーバ上に「商品ラインナップ」、「製品一覧」などのページまたはデータベースが存在するか確認し、存在すれば、取扱商品の分類に相当する“衣服”、“食品”、“家電製品”、“車”などのテキストが含まれるか検索することで判断する。また、ステップS305で判断したデータ入手先が、商店街のホームページで判断された場合は、商店街のホームページ上に店の紹介ページなどが存在するか確認し、存在すれば、取扱商品の分類に相当する“衣服”、“食品”、“家電製品”、“車”などのテキストが含まれるか検索することで判断することにより行なわれる。そして、制御部10は、情報が含まれると判断するとステップS312へ、含まれないと判断するとステップS313へ、それぞれ処理を進める。
ステップS312では、制御部10は、ステップS311において含まれると判断した情報を、店情報テーブルの取扱商品の大分類のフィールドの値としてセットして、処理をステップS104へとリターンさせる。一方、ステップS313では、制御部10は、店情報テーブルの取扱商品の大分類のフィールドの値として「不明」をセットして、処理をステップS104へとリターンさせる。
再度図3を参照して、制御部10は、ステップS104において、図6を用いて説明したように店情報を取得すると、ステップS105で、店情報に追加情報を付加してキーワードを作成する。
本実施の形態では、ステップS103において、表8に建物情報テーブルとして示すような携帯型翻訳機1の現在位置についての情報を取得し、さらに、ステップS103またはS104において、アドレス帳に登録されている情報の中から、または、表9に店情報テーブルとして示すような、携帯型翻訳機1が現在位置する場所または店舗についての情報を取得する、制御部10により、現在位置の詳細情報を取得する詳細情報取得手段が構成される。
そして、以下に、ステップS105における処理内容を当該処理のサブルーチンのフローチャートである図7を参照して説明する。なお、当該処理では、キーワードの作成のために、表10に示すようなキーワードテーブルが作成される。
キーワードテーブルでは、種類、名前、住所、分類、信頼度、頻度、および、優先会話パターンの各フィールドに対して値が定義されている。
図7を参照して、制御部10は、まずステップS401で、キーワードテーブルの中の、種類、名前、住所、および、分類のフィールドの値として、表9に示した店情報テーブルの中の対応する値をセットする(分類のフィールドには、店情報テーブル中の「取扱商品の大分類」の値をセットする)。
次に、制御部10は、ステップS402で、信頼度参照レコードに格納された情報を参照することにより、店情報テーブルの中のデータ入手先に対応した信頼度を、キーワードテーブルの中の信頼度のフィールドの値としてセットする。なお、信頼度参照テーブルの一例を表11に示す。
表11では、データの入手先の種類に関連付けられて、高、中、または、低という3段階で信頼度が記憶されている。各入手先に対する信頼度は、予め携帯型翻訳機1において決められていても良いし、当該携帯型翻訳機1のユーザによって設定されても良い。
なお、表11では、データの入手先が、店舗のデータベース(店のDB)および店舗のホームページ(店のHP)である場合には信頼度が「高」とされ、店舗が所属する商店街のホームページである場合には信頼度が「中」とされ、その他の場合には信頼度が「低」とされている。
再度図7を参照して、ステップS402で信頼度をセットした後、制御部10は、ステップS403で、店情報テーブルの住所と名前に基づいて、会話履歴DBの会話履歴テーブルに対応する履歴があるか否かを判断する。なお、会話履歴テーブルには、表7に示したように、各会話文が、店舗の種類、名前および住所に関連付けられて、会話を行なった日時および会話文(会話履歴)が格納されている。なお、会話履歴DBは、後述するように、1つの店等の場所において会話例が提示されるごとに作成される履歴情報である。
そして、ステップS403では、会話履歴DBにおいて、現在の店情報テーブルの住所と名前のフィールドの値が一致する履歴を検索し、ステップS404で、そのような履歴があるか否かを判断する。そして、あると判断するとステップS405へ、無いと判断するとステップS413へ、処理を進める。
ステップS413では、制御部10は、キーワードテーブルに対して、頻度のフィールドの値として「初めて」をセットし、優先会話パターンのフィールドの値として「なし」をセットして、処理をリターンさせる。
一方、ステップS405では、制御部10は、会話履歴DBにおいて該当するすべての履歴(ステップS403において名前とフィールドの値が一致すると判断した履歴)を、日時のフィールドの値に基づいて順に並べる。
そして、ステップS406で、制御部10は、並べられた履歴が、毎日存在するものであるか否かを判断し、そうであると判断するとステップS407へ、そうではないと判断するとステップS408へ、それぞれ処理を進める。
ステップS408では、制御部10は、並べられた履歴が、週一回(または、週一回以上毎日未満)の間隔で存在するものであるか否かを判断し、そうであると判断すればステップS409へ、そうではないと判断するとステップS410へ、それぞれ処理を進める。
ステップS410では、制御部10は、並べられた履歴が、月一回の間隔(または、月一回以上週一回未満)で存在するものであるか否かを判断し、そうであると判断すればステップS411へ、そうではないと判断するとステップS412へ、それぞれ処理を進める。ステップS407、ステップS409、および、ステップS411では、制御部10は、キーワードテーブルの頻度のフィールドの値として、それぞれ「毎日」「週一回」「月一回」をセットして、ステップS412に処理を進める。なお、ステップS410において月一回ではないと判断された場合には、キーワードテーブルの頻度のフィールドの値に「不明」という情報を入力しても良い。
ステップS412では、制御部10は、該当するすべての履歴の会話履歴のフィールドに格納されたデータ内に、優先会話パターン参照レコードのキーワードフィールドに記憶されている語句が存在するかどうか検索し、該当するものがあれば、該当する語句に対応した優先会話パターンフィールドにセットして、処理をリターンさせる。
表12に、優先会話パターン参照レコードの一例を示す。
優先会話パターン参照レコードのキーワードフィールドには、同じ種類の語句が記憶されており、その各キーワードフィールドに対応して、それらの語句がどのような種類のキーワードであるかを分類した語句が優先会話パターンフィールドに記憶されている。すなわち、優先会話パターン参照レコードはキーワードとなる語句を、汎用性のある語句へ変換するための記憶部である。
例えば、会話履歴に“my shoes”や“my watch”があれば、自分の物を買うために会話をしたと考えられるので、それらの語句の分類は、“My shopping”とし、その値を優先会話パターンフィールドに格納している。同様に、会話履歴に“present”があれば、それは、プレゼントを買うために会話をしたと考えられるので、その語句の分類は、“Present”としている。
この優先会話パターンフィールドの語句は、会話事例から関係する事例を抽出する際に使用する。具体的には、現在位置情報に関係する会話履歴が抽出された後、その会話履歴の中に、優先会話パターン参照レコードのキーワードフィールドと同じ語句があるかどうか検索し、それがあれば、そのキーワードフィールドに対応する優先会話パターンフィールドの汎用性のある語句を取り出す。更に、取り出した優先会話パターンフィールドの汎用性のある語句を持つ会話事例があるかどうか検索し、そのような事例があれば、それらの事例を優先的に出力するように処理を行なっているので、ユーザは、関連する会話事例を早く見つけ出し、使用することが出来る。
再度図3を参照して、図7を参照して説明したように、ステップS105でキーワードテーブルを作成すると、制御部10は、ステップS106で、キーワードに基づいて、ユーザに対して提示する会話事例を、会話事例DBの会話事例テーブル(表6参照)から検索する。
会話事例テーブルには、上記した属性や分類の他に、お店の種類、お店で扱われる商品の分類、キーワード、および、会話例の各フィールドに対応した値が定義されている。
ステップS106における処理内容を、当該処理のフローチャートである図8を参照して説明する。
図8を参照して、まず制御部10は、ステップS501において、キーワードテーブルの種類、分類、頻度の各値を検索対象として、会話事例DBに格納された情報を検索する。なお、会話事例DB(表6の会話事例テーブル)には、頻度に関する値(「every day」「once a week」等)は、キーワードフィールドに格納されている。したがって、キーワードテーブルの頻度の値が検索対象とされる際には、当該頻度の値が会話事例のDBのキーワードフィールドに格納された情報と一致するか否かの検索が行なわれる。また、この場合、制御部10は、キーワードテーブルにおける信頼度の値が「高」の場合には、上記各値のAND検索を行ない、「低」の場合には、上記の値のOR検索を行なう。
次に、制御部10は、ステップS502において、会話事例DBの中に、キーワードテーブルに現在格納されている種類、分類、および、頻度の値と同じ値を有する同じ事例があるか否かを判断する。そして、制御部10は、そのような事例があると判断するとステップS503に処理を進め、そのような事例がないと判断するとステップS504に処理を進める。
ステップS503では、制御部10は、検索結果として得られた事例のリストの中で、キーワードテーブルの優先会話パターンフィールドの値と同じ値を持つ事例が、持たない事例よりも先に並ぶように、事例を並び替える。このことによって、ユーザが必要とする事例をより優先的に提示することが可能となる。
ステップS504では、制御部10は、キーワードテーブルの頻度が「初めて」以外であるか否かを判断し、「初めて」以外であると判断するとステップS505へ、「初めて」であると判断するとステップS506へ、それぞれ処理を進める。
ステップS505では、制御部10は、会話履歴DBにおいて、キーワードテーブルの住所と名前のフィールドに格納された値と同じ値を持つ履歴を抽出し、そのような履歴がある場合には、当該履歴の中の会話履歴のフィールドに格納された値(会話文)をユーザに提示する会話リストに追加して、ステップS506に処理を進める。
ステップS506では、制御部10は、抽出した会話例リストを表示部12に表示する等によりユーザに提示して、処理をリターンさせる。
再度図3を参照して、図8を説明したようにステップS106で会話例リストを提示した後、制御部10は、ステップS107で、会話例を提示させる。なお、ステップS107における処理内容を、当該処理のサブルーチンのフローチャートである図9を参照して説明する。
図9を参照して、まず制御部10は、ステップS601で、ステップS506で提示した会話例リストに対して、ユーザの選択を受付ける。具体的には、ステップS506の処理により、表示部12には、たとえば図10において(A)および(B)として示すように、会話パターン1から会話パターンnまでのnパターンの会話例が提示される(ちなみに、図10では、(A)において「会話パターン1」が示され、(B)において「会話パターンn」が示されている)。なお、図10において、「I:」以下に記載された文章は、携帯型翻訳機1のユーザが発話するべき文章を意味し、「Clark:」以下に記載されている文章は店員が話していると考えられる文章を意味する。また、ここで提示される会話パターンの数は、ステップS501からステップS502で抽出された会話事例の数と、ステップS505において抽出された会話履歴の数の合計となる。なお、表示された会話パターンの数が「1」である場合には、ステップS601の処理は省略されて、直接ステップS602の処理が実行されるようにされても良い。
そして、制御部10は、ステップS601において受付けた選択内容に基づいて、ステップS602において、選択された会話例の会話パターンを表示する。
そして、制御部10は、ステップS603において、ステップS602で表示された会話パターンの中で置換可能な箇所があるかどうかを判断する。ここで、置換可能な箇所とは、たとえば、図10において(B)として示された会話パターンnに含まれる「T-shirt」のように、話す場面によって変更されることが容易に想定できる箇所である。なお、このような箇所は、表示部12において、下線を付したり(図10(B)参照)または会話パターン中の他の部分とは色を変えたりというように、態様を変えて表示させることが好ましい。なお、会話パターンの中にこのような箇所があるか否か、そして、どこがこのような箇所であるかを特定する情報は、会話パターンのデータ自体に含まれているものとする。
そして、制御部10は、ステップS603において置換可能な箇所があると判断するとステップS604へ処理を進める。一方、そのような箇所は無いと判断するとそのまま処理をリターンさせる。
ステップS604では、制御部10は、会話パターンを、置換可能な箇所をユーザが置換するように指定するデータで置換して、再度表示させる。なお、置換可能な箇所に置換するように指定するデータも、会話パターンのデータ自体に関連付けられて格納されていることが好ましい。
そして、ステップS605で、制御部10は、ユーザの個人的な情報が入力されたか否かを判断する。
具体的には、たとえば、図10に(B)として示された会話パターンnには、同図に(C)および(D)として示された会話が続くものとする。なお、(C)では、店員がTシャツのサイズを問う文章が記載され、(D)では、店員に対してサイズの計測を依頼する文章が記載されている。なお、(D)の文章が表示されることにより、ユーザは、(C)に続く会話の内容を認識するとともに、携帯型翻訳機1に対して、個人的な情報(Tシャツのサイズ)の入力を促されている。なお、制御部10は、図10(B)の会話パターンが選択されたときに、ステップS602において、(B)に示された文章と合わせて、(C)および(D)に記載の会話文も表示部12に表示させるが、このとき、さらに、(D)に表示された内容に対応するように、Tシャツのサイズの入力を促す情報(メッセージ等)を表示させても良い。
再度、図9を参照して、制御部10は、ステップS605において、ユーザ情報(上記したようなユーザの個人的な情報)が入力されたと判断するとステップS606で入力された情報をユーザプロファイルデータとして格納して処理をリターンさせる。一方、そのような情報が入力されていないと判断すると制御部10はそのまま処理をリターンさせる。
また、以上説明した本実施の形態では、ステップS506において会話例リストが提示(表示)される。なお、会話例リストとして表示される会話パターンが複数ある場合、各会話パターン(会話文)が対応するキーワードテーブルの中の信頼度が高いものから順に表示されることが好ましい。本実施の形態では、信頼度は「高」「中」「低」の3段階で区分けされていたが、本発明における信頼度の表現はこれに限定されず、たとえば0%から100%の間の値で表現される等、別の態様で表現されても良い。
また、以上説明した本実施の形態では、図10に(A)および(B)として示したように、翻訳後の言語で、つまり、英語で、会話例リストが表示される例が示されたが、会話例リストは、その翻訳前の言語で、つまり、日本語で、表示されても良い。翻訳前の言語で表示される際には、その都度、機械翻訳により、英文が日本語に翻訳されて、表示される。また、翻訳後の言語と、その翻訳前の言語の両方で、表示されても良い。
さらに、本実施の形態の携帯型翻訳機1では、会話エンジン100は、ユーザが店員等の会話相手から話し掛けられた場合、そのときの音声を入力されることにより、当該入力された音声を文章として認識し、当該文章に対応した返答例を提示する機能を有する。
このような機能について図11を参照して説明すると、たとえば、携帯型翻訳機1を携帯するユーザが、店員から、応答文として記載されているように「What is your size of T-shirts ?」と声をかけられた場合、携帯型翻訳機1は、その音声を文章として認識し、そして、文章に対して解析を行なう。
具体的には、周知の音声認識に関する技術等に基づいて入力文を構成する単語を取得し、当該単語から構成される文章の解析を行なうことにより、解析の対象となっている文章(以下、入力文と呼ぶ)に、属性テーブル(表2参照)に格納されている単語が含まれるか、および、分類テーブル(表3参照)に格納されている単語が含まれるかという検索が行なわれ、それぞれ、入力文に対し属性および分類を決定する。そして、携帯型翻訳機1では、決定した属性および分類を利用して、入力文に対する返答として適すると考えられる文(返答例)を会話文DB140に格納されている文(会話例)から選択し、表示部12に表示させる等して、ユーザに対して提示する。なお、以下の説明では、入力文に対する返答とされる文を総称して「返答文」と記載する。「返答文」には、入力文に対する回答である文である「回答文」と、会話相手に依頼する文である「依頼文」が含まれるものとする。
図12および図13は、制御部10が実行する、返答文の文例である返答例を提示するための処理である返答例提示処理のフローチャートである。
まず、図12を参照して、返答例提示処理では、まずステップSA10で、制御部10は、入力部11に対して音声の入力があったか否かを判断し、音声が入力されたと判断するとステップSA20へ処理を進める。
ステップSA20では、ステップSA10で入力された音声について、当該音声を入力した人物を判別する処理を実行して、ステップSA30へ処理を進める。ステップSA30では、制御部10は、ステップSA10で入力されたと判断した音声を入力した人物が、携帯型翻訳機1のユーザ以外の人物(会話相手)であるか否かを判断し、そうであると判断するとステップSA40へ処理を進め、そうではないと判断すると(つまり、携帯型翻訳機1のユーザであると判断すると)、ステップSA140(図13参照)に処理を進める。なお、ステップSA20における判別は、たとえば、予め参照用情報記憶部136に、携帯型翻訳機1のユーザの声のサンプルデータ(当該ユーザであることを特定するための音声データ)を記憶させておき、制御部10が入力された音声と当該サンプルデータとを比較することにより実現される。なお、携帯型翻訳機1に、当該携帯型翻訳機1のユーザ自身が音声を入力する際に操作するための操作部を設け、制御部10は、当該操作部が操作されている期間中に入力された音声はユーザ自身の声であると判断し、当該操作部が操作されていない期間中に入力された音声はユーザ以外の人物の音声であると判断しても良い。
ステップSA40では、ステップSA10で入力された音声に基づいて、会話相手が話した内容を解析する処理を実行して、ステップSA50へ処理を進める。なお、ステップSA40における処理内容を、当該処理のサブルーチンのフローチャートである図14を参照して説明する。
図14を参照して、会話相手が話した内容を解析する処理では、制御部10は、まずステップSB10で、入力文が疑問文であるかまたは疑問詞を含むかをチェックし、疑問文であるかまたは疑問詞を含むと判断するとその旨を意味するフラグ(以下、疑問文フラグと呼ぶ)をオンにして、ステップSB20に処理を進める。なお、疑問文フラグは、携帯型翻訳機1の初期状態ではオフされている。なお、初期状態とは、たとえば図3を参照して説明した処理が開始されるときを意味する。また、ステップSB10における疑問文であるか否かのチェックは、制御部10が、入力された音声に対して既存の音声認識技術を適用することによりテキストデータを取得し、当該テキストデータに対して形態素解析を行ない、そして、当該解析後の文に対してパターン認識を行なうか、または、「is」「are」などのBe動詞が文頭に配置されているかなどのように、入力された文の言語において疑問文であるための条件として一般的に認識されている条件を満たすかどうかを判断することにより実現される。なお、ステップSB10では、入力された音声において文末のトーンが上がっていたか否かが判断され、上がっていた場合には疑問文であると判断し上がっていなければ疑問文ではないと判断することによって、実現されてもよい。
ステップSB20では、制御部10は、入力文から、主語、動詞、目的語などの文法要素に対応する単語(または、句)を抽出し、処理を図12にリターンさせる。
図12に戻って、ステップSA40の処理の後、制御部10は、ステップSA50で、入力された文が疑問文であるか否かを判断し、そうであると判断するとステップSA60へ処理を進め、そうではないと判断するとステップSA90へ処理を進める。なお、ステップSA50における判断は、上記した疑問文フラグがオンであるか否かを判断することによって実現される。
ステップSA60では、制御部10は、入力された文(疑問文)を情報記憶部18等に一時的に保存して、ステップSA70へ処理を進める。なお、ステップSA60で保存されるデータは、たとえば、ステップSA40(ステップSB10)で取得されたテキストデータである。
ステップSA70では、制御部10は、入力された文(疑問文)に対する返答文を作成する処理を実行して、ステップSA80へ処理を進める。なお、ステップSA70で実行される処理の内容について、当該処理のサブルーチンのフローチャートである図17〜図21を参照して説明する。
まず、図17を参照して、まず制御部10は、ステップSC10で、入力文がYES(肯定)またはNO(否定)で回答できる疑問文であるか否か、つまり、疑問詞ではなくBe動詞や助動詞(do,can等)が文頭に位置する文章であるか否かを判断する。そして、そのような文章であると判断すると、ステップSC20に処理を進め、そうではないと判断するとステップSC50へ処理を進める。
ステップSC20では、制御部10は、YESの回答例(回答文)とNOの回答例(回答文)を作成し、制御部10内の所定の記憶領域に格納させて、ステップSC30へ処理を進める。なお、YESの回答例は、「Yes,」の次に、入力文中のBe動詞と主語を所定の変換を行なった上で並べることによって作成し、NOの回答例は、「No,」の次に、入力文中のBe動詞に対して所定の変換を行なった後、「not」を付加して並べ、その次に入力文中の主語を所定の変換を行なった後で並べることによって作成する。Be動詞および主語に関する所定の変換とは、入力文中のBe動詞が、二人称であれば一人称に、一人称であれば二人称に、三人称であれば三人称のまま、という態様の変換である。なお、助動詞が文頭に来る疑問文に対するYES(肯定)の回答例、NO(否定)の回答例は、上記したようなBe動詞を用いた回答例と同様の作成手順により、Be動詞の代わりに助動詞を使用して作成する。
ステップSC30では、制御部10は、当該制御部10内の所定のフラグ(以下、YES/NO回答フラグと呼ぶ)をオンにセットして、ステップSC40へ処理を進める。
ステップSC40では、制御部10は、付加的な会話文を作成できるか否かを判断し、作成できると判断するとステップSC50へ処理を進め、作成できないと判断するとステップSA40へ処理をリターンさせる。なお、ここでは、入力文中に、上述の属性テーブルまたは分類テーブルの属性、分類、内容のいずれかの欄に記憶される語句が含まれれば付加的な会話文を作成できると判断され、含まれなければ作成できないと判断される。
ステップSC50では、制御部10は、入力文中において、上述の属性テーブルおよび分類テーブルを利用した検索を行なう処理を実行する。なお、この処理の内容を、当該処理のサブルーチンのフローチャートである図22および図23を参照して説明する。
なお、本実施の形態では、回答事例テーブル(表4参照)および依頼事例テーブル(表5参照)に記憶されるすべての会話例について、入力文との関連性についての重み付けが行なわれる。各会話例についての重み付けは、たとえば表13に示されるような態様で制御部10内のメモリに格納される。表13中の「合計」とは、各会話例についての、属性についての属性と分類についての重みの値の合計を意味する。
まず図22を参照して、この処理では、制御部10は、まずステップSD10で、後述する表15,表16に示したような、会話例の属性および分類の重みを0に設定(クリア)して、ステップSD20に処理を進める。
ステップSD20では、制御部10は、入力文(図22では「会話文」と記載)の最初の語(文頭の単語)を抽出して、ステップSD30に処理を進める。
ステップSD30では、制御部10は、品詞と重み付けの値を関連付けられたテーブルを参照することにより、直前の処理で抽出された単語に対して付与された品詞情報(ステップSA20参照)に基づいて、当該単語に対する重み付けの値を付与し、ステップSD40に処理を進める。ここで参照されるテーブルの一例を表14に示す。なお、表14において、「疑問詞付きの品詞」とは、「What size do you want ?」といった英文中の「size」のように、疑問詞と組み合わされた状態で構文の成分となる語句(上記例文であれば目的部となる「what size」)の中の疑問詞以外の単語の品詞を意味する。また、表14では、疑問詞付きの品詞の重みの値を他の品詞よりも大きくすることにより、疑問文の中で、回答するにあたって最も重要な語句の重みの値が大きくなるように、重み付けがなされている。
ステップSD40では、制御部10は、直前の処理で品詞情報に基づいた重み付けの値を付与した単語が、属性DB中の属性テーブルの「属性」または「内容」に含まれるか否かをチェックする。そして、含まれると判断するとステップSD50へ、含まれないと判断するとステップSD80(図23参照)へ、それぞれ処理を進める。
ステップSD50では、制御部10は、上記の単語が、属性テーブル中の「内容」の欄に含まれるか否かを判断し、そうであると判断するとステップSD60へ、そうではない(つまり、「属性」の欄に含まれる単語である)と判断するとステップSD70へ、それぞれ処理を進める。
ステップSD60では、制御部10は、上記の単語が含まれる「内容」に対応する「属性」を取得して、ステップSD70へ処理を進める。たとえば、「large」という単語を処理対象とされた場合、ステップSD60では、「large」が含まれる「内容」に対応する属性、つまり、「サイズ」という属性が取得される(表2参照)。
ステップSD70では、制御部10では、ステップSD60で取得した属性(または、ステップSD50で単語が含まれる「属性」)に対して、現在処理対象となっている単語の品詞情報に基づいた重みの値を加算して、ステップSD80に処理を進める。
たとえば、「size」という単語が入力文に含まれていた場合、この単語に対応する「サイズ」という属性に対して、この単語の品詞情報に基づいた重みの値が加算される。より具体的に説明すると、入力文が「What is your size of T-shirt ?」である場合、当該入力文中「size」は主語として機能しており、品詞情報に基づいた重みの値は「3」となる(表14参照)。これにより、「size」という単語を処理対象としてステップSD40からステップSD70の処理が実行されると、当該単語に対応する「サイズ」という属性に対して「3」という値の重みが追加される。
図23を参照して、ステップSD80では、制御部10は、直前のステップSD40〜ステップSD70の処理で対象とされた単語が、分類DB中の分類テーブルの「分類」または「内容」に含まれるか否かをチェックする。そして、含まれると判断するとステップSD90へ、含まれないと判断するとステップSD120へ、それぞれ処理を進める。
ステップSD90では、制御部10は、上記の単語が、分類テーブル中の「内容」の欄に含まれるか否かを判断し、そうであると判断するとステップSD100へ、そうではない(つまり、「分類」の欄に含まれる単語である)と判断するとステップSD110へ、それぞれ処理を進める。
ステップSD100では、制御部10は、上記の単語が含まれる「内容」に対応する「分類」を取得して、ステップSD110へ処理を進める。たとえば、「T-shirt」という単語が処理対象とされた場合、ステップSD100では、「T-shirt」が含まれる「内容」に対応する分類、つまり、「衣類」という分類が取得される。
ステップSD110では、制御部10では、ステップSD100で取得した分類(または、ステップSD90で単語が含まれる「分類」)に対して、現在処理対象となっている単語の品詞情報に基づいた重みの値を加算して、ステップSD120に処理を進める。
たとえば、「T-shirt」という単語が入力文に含まれていた場合、この単語に対応する「衣類」という分類に対して、この単語の品詞情報に基づいた重みの値が加算される。より具体的に説明すると、入力文が「What is your size of T-shirt ?」である場合、当該入力文中「T-shirt」の品詞情報は表14中の「その他」に対応するため、品詞情報に基づいた重みの値は「1」となる。これにより、「T-shirt」という単語を処理対象としてステップSD80からステップSD110の処理が実行されると、当該単語に対応する「衣類」という属性に対して「1」という値の重みが追加される。
ステップSD120では、制御部10は、入力文中に、ステップSD40からステップSD110の処理対象とされていない単語があるか否かを判断し、あると判断すると、ステップSD130で、入力文中の現在処理対象としている単語の次の単語を処理対象として抽出してステップSD30に処理を戻す。一方、無いと判断すると、制御部10は、ステップSC50に処理を戻す。
以上図22および図23を参照して説明した処理により、入力文に対して、当該入力文に含まれる各単語が処理対象とされることにより、属性テーブル中の各属性についての重みの値と、分類テーブル中の各分類についての値が算出される。これらの値は、たとえば、それぞれ表15,表16に示されるような態様で制御部10内のメモリに記憶される。なお、表15および表16は、入力文が「What is your size of T-shirt ?」である場合の例として示されている。
なお、上記した例の入力文では、含まれる単語が、属性テーブル(表2)中の1つの属性にしか対応せず、さらに、分類テーブル(表3)中の1つの分類にしか対応しないため、表15および表16ではそれぞれ1つの属性または分類に対してのみ重みの値が与えられているが、入力文が、複数の属性に対応する単語を含む場合には表15は複数の属性に対して重みの値が与えられるように作成され、また、複数の分類に対応する単語を含む場合には表16は複数の分類に対して重みの値が与えられるように作成される。
再度図17を参照して、ステップSC50の処理の後、制御部10は、ステップSC60で、後述するような表17〜表20において格納されるような重みの値をすべてクリアして、ステップSC70に処理を進める。
ステップSC70では、制御部10は、ステップSC50の結果として、入力文について、表15または表16に示したような属性または分類についての重みの値を付与できたかを判断し、付与できたと判断するとステップSC90へ、属性および分類のいずれについても重みの値を付与できなかったと判断するとステップSC80へ、それぞれ処理を進める。
ステップSC80では、場面情報を検索して、ステップSC90に処理を進める。ステップSC90の処理内容を、当該処理のサブルーチンのフローチャートである図24を参照して詳細に説明する。
図24を参照して、この処理では、制御部10は、まずステップSE10で、表9に示したような、現在携帯型翻訳機1が位置している店舗についての店情報が得られているかどうかを判断し、得られていると判断するとステップSE30へ処理を進め、得られていないと判断するとステップSE20で店情報を得るための処理を行なった後でステップSE30へ処理を進める。なお、店情報を得るための処理の内容は、表9に示した店情報テーブルを作成するための処理として上述しているため、説明を繰返さない。
ステップSE30では、制御部10は、店情報に基づいて、表16に示したような分類についての重みの値を作成し、ステップSC90へ処理を戻す。なお、ここでは、制御部10は、たとえば、店情報テーブルの取扱商品の大分類の欄に含まれる語句が分類テーブル(表3)の「分類」または「内容」の欄に含まれるかどうかを判断し、含まれる場合には、当該分類(または、当該内容に対応する分類)について、「1」等の値を重みとして与えるように、表16に示したような各分類についての重みの情報を作成する。
再度図17を参照して、ステップSC90では、制御部10は、入力文についての属性データ(表15に示したような、各属性についての重みの情報)が当該制御部10内のメモリにあるか否かを判断し、あるとステップSC110(図18参照)へ、無いと判断するとステップSC100へ、それぞれ処理を進める。
ステップSC100では、制御部10は、入力文についての分類データ(表16に示したような、各分類についての重みの情報)が当該制御部10内のメモリにあるか否かを判断し、あるとステップSC280(図20参照)へ処理を進め、無いと判断すると図12へ処理をリターンさせる。
図18を参照して、ステップSC110では、制御部10は、属性データの1つ目の属性についてのデータを取り出し、ステップSC120へ処理を進める。
ステップSC120では、制御部10は、取り出したデータを基に、回答事例DB142、会話事例DB141、会話履歴DB144の順番に、各DBに記憶されるテーブルにおいて、取り出したデータに含まれる属性を「属性」のフィールドの値に持つ会話例を検索する。そして、制御部10は、ステップSC130で、そのような会話例があるか否かを判断し、あったと判断するとステップSC140へ処理を進め、無かったと判断するとステップSC190(図19参照)へ処理を進める。
ステップSC140では、制御部10は、ステップSC120の検索結果として得られた会話例のそれぞれについて、現在の処理対象の属性データに含まれる属性についての重みを抽出し、入力文の当該属性の重みとの積を算出して、表13に示したような重み情報に格納する。
次に、制御部10は、ステップSC150で、入力文に対して回答文の候補が存在することを示すフラグ(以下、「回答文ありフラグ」と呼ぶ)をオンにセットする。
次に、制御部10は、ステップSC160で、現在処理対象となっている回答文がそれまでのステップSC160で処理対象とされた回答文と同じ回答文であるか否かを判断し、そうであると判断するとステップSC180へ、そうではないと判断するとステップSC170へ、処理が進められる。そして、ステップSC170では、現在処理対象となっている回答文に対して属性の欄の重みの値を重みの合計に付加して、ステップSC190へ処理を進める。また、ステップSC180では、現在処理対象となっている回答文について、前回処理対象となった同じ回答文に対して与えられている重みの合計(表13参照)を現在処理対象となっている回答文の重みの合計に加算して、ステップSC190へ処理を進める。ステップSC180は、ステップSC120で複数のDBにおいて検索がなされることなどにより実質的に同じ会話例が複数回検索結果として挙げられた場合、これらについて重みの合計をまとめる処理に相当する。また、ステップSC180では、制御部10は、前回処理対象となった回答文が重複して表示リストに登録されるのを回避するために、同じ回答文が重複して表示リストに登録されている場合には1つを残して残りを削除する処理を行なう。
ステップSC190では、制御部10は、ステップSC110(または、後述するステップSC270)で取り出したデータを基に、依頼事例DB143に記憶されるテーブルにおいて、取り出したデータに含まれる属性を「属性」のフィールドの値として持つ会話例を検索する。そして、制御部10は、ステップSC200で、そのような会話例があるか否かを判断し、あったと判断するとステップSC210へ処理を進め、無かったと判断するとステップSC260へ処理を進める。
ステップSC210では、制御部10は、ステップSC190における検索の結果として得られた会話例のそれぞれについて、ステップSC140と同様に、現在の処理対象の属性データに含まれる属性についての重みを抽出し、入力文の当該属性の重みとの積を算出して、表13に示したような重み情報に格納する。
次に、制御部10は、ステップSC220で、入力文に対して依頼文の候補が存在することを示すフラグ(以下、「依頼文ありフラグ」と呼ぶ)をオンにセットする。
次に、制御部10は、ステップSC230で、現在処理対象となっている依頼文がそれまでのステップSC230で処理対象となった依頼文と同じ依頼文であるか否かを判断し、そうであると判断するとステップSC250へ、そうではないと判断するとステップSC240へ、処理が進められる。そして、ステップSC240では、現在処理対象となっている依頼文に対して属性の欄の重みを重みの合計に付加して、ステップSC260へ処理を進める。また、ステップSC250では、現在処理対象となっている依頼文について、前回処理対象となった同じ依頼文に対して与えられている重みの合計(表13参照)を現在処理対象となっている依頼文の重みの合計に加算して、ステップSC260へ処理を進める。ステップSC250は、ステップSC190における検索がなされることにより実質的に同じ会話例が複数回検索結果として挙げられた場合、これらについて重みの合計をまとめる処理に相当する。また、ステップSC240では、制御部10は、前回処理対象となった依頼文が重複して表示リストに登録されるのを回避するために、同じ依頼文が重複して表示リストに登録されている場合には1つを残して残りを削除する処理を行なう。
ステップSC260では、制御部10は、入力文の属性データにおいて、まだステップSC110または後述するステップSC270でデータを取り出されていない属性があるか否かを判断し、あると判断するとステップSC270で、属性データから現在処理対象となっている属性の次の属性を取り出して、ステップSC120へ処理を戻す。一方、無いと判断するとステップSC100へ処理を戻す。
図20を参照して、ステップSC280では、制御部10は、分類データの1つ目の分類についてのデータを取り出し、ステップSC290へ処理を進める。
ステップSC290では、制御部10は、取り出したデータを基に、回答事例DB142、会話事例DB141、会話履歴DB144の順番に、各DBに記憶されるテーブルにおいて、取り出したデータに含まれる分類を「分類」のフィールドの値として持つ会話例を検索する。そして、制御部10は、ステップSC300で、そのような会話例があるか否かを判断し、あったと判断するとステップSC310へ処理を進め、無かったと判断するとステップSC360へ処理を進める。
ステップSC310では、制御部10は、ステップSC290の検索結果として挙げられた会話例のそれぞれについて、現在の処理対象の分類データに含まれる分類についての重みを抽出し、入力文の当該分類の重みとの積を算出して、表13に示したような重み情報に格納する。
次に、制御部10は、ステップSC320で、入力文に対して回答文ありフラグをオンにセットする。
次に、制御部10は、ステップSC330で、現在処理対象となっている回答文がそれまでのステップSC330で処理対象とされた回答文と同じ回答文であるか否かを判断し、そうであると判断するとステップSC350へ、そうではないと判断するとステップSC340へ、処理が進められる。そして、ステップSC340では、現在処理対象となっている回答文について分類の欄の重みを重みの合計に付加して、ステップSC360へ処理を進める。また、ステップSC350では、現在処理対象となっている回答文について、前回処理対象となった同じ回答文に対して与えられている重みの合計(表13参照)を現在処理対象となっている回答文の重みの合計に加算して、ステップSC360へ処理を進める。ステップSC350は、ステップSC290で複数のDBにおいて検索がなされることなどにより実質的に同じ会話例が複数回検索結果として挙げられた場合、これらについて重みの合計をまとめる処理に相当する。また、ステップSC340では、制御部10は、前回処理対象となった回答文が重複して表示リストに登録されるのを回避するために、同じ回答文が重複して表示リストに登録されている場合には1つを残して残りを削除する処理を行なう。
ステップSC360では、制御部10は、ステップSC280(または、後述するステップSC440(図21))で取り出したデータを基に、依頼事例DB143に記憶されるテーブルにおいて、取り出したデータに含まれる分類を「分類」のフィールドの値に持つ会話例を検索する。そして、制御部10は、ステップSC370で、そのような会話例があるか否かを判断し、あったと判断するとステップSC380へ処理を進め、無かったと判断するとステップSC430(図21)へ処理を進める。
ステップSC380では、制御部10は、ステップSC360の検索結果として挙げられた会話例のそれぞれについて、ステップSC310と同様に、現在の処理対象の分類データに含まれる分類についての重みを抽出し、入力文の当該分類の重みとの積を算出して、表13に示したような重み情報に格納する。
次に、制御部10は、ステップSC390で、入力文に対して依頼文ありフラグをオンにセットする。
次に、制御部10は、ステップSC400で、現在処理対象となっている依頼文がそれまでのステップSC400で処理対象となった依頼文と同じ依頼文であるか否かを判断し、そうであると判断するとステップSC420へ、そうではないと判断するとステップSC410へ、処理が進められる。そして、ステップSC410では、現在処理対象となっている依頼文について分類の欄の重みを重みの合計に付加して、ステップSC430へ処理を進める。また、ステップSC420では、現在処理対象となっている依頼文について、前回処理対象となった同じ依頼文に対して与えられている重みの合計(表13参照)を現在処理対象となっている依頼文の重みの合計に加算して、ステップSC430へ処理を進める。ステップSC420は、ステップSC360における検索がなされることにより実質的に同じ会話例が複数回検索結果として挙げられた場合、これらについて重みの合計をまとめる処理に相当する。また、ステップSC410では、制御部10は、前回処理対象となった依頼文が重複して表示リストに登録されるのを回避するために、同じ依頼文が重複して表示リストに登録されている場合には1つを残して残りを削除する処理を行なう。
ステップSC50〜ステップSC420の処理により、会話文DB140中の各会話例について、入力文に対応した重み付けがなされたことになる。ここで、たとえば、入力文が「What is your size of T-shirt?」であり、会話文DB140に、表2の属性テーブルおよび表3の分類テーブルが利用され、表4および表5に示した6つの会話例(内容(1)〜内容(6))だけが記憶されている場合において、ステップSC50〜ステップSC420の処理によって各会話例に対してどのように重み付けがなされるかについて、具体的に説明する。
ステップSC50により、入力文に対して、「サイズ」という属性に対して「3」とい重みが付され、「衣類」という分類に対して「1」という重みが付される(表15および表16参照)。
そして、ステップSC110〜ステップSC180の処理により、内容(1)〜内容(4)(回答事例DB142、会話事例DB141、会話履歴DB144に記憶される会話例)の「サイズ」という属性についての重みが抽出され、入力文の「サイズ」という属性についての重み(表15参照)との積が算出されて、表17のようにそれぞれの重み情報の「属性」の欄に格納される。
表15において入力文の「サイズ」についての重みが「3」であり、表4において内容(1)の「サイズ」についての重みが「10」であるため、表17の内容(1)の属性の欄には、これらの積である「30」が記載されている。
また、表4では、内容(3),(4)の「サイズ」についての重みがそれぞれ「8」,「7」であるため、表17の内容(3),(4)の属性の欄には、これらの「3」との積である「24」,「21」がそれぞれ記載されている。
さらに、ステップSC190〜ステップSC250の処理により、内容(5)〜内容(6)(依頼事例DB143に記憶される会話例)の「サイズ」という属性についての重みが抽出され、入力文の「サイズ」という属性についての重み(表15参照)との積が算出されて、表18のようにそれぞれの重み情報の「属性」の欄に格納される。
上記のように入力文の「サイズ」についての重みが「3」である。表5では、内容(5),(6)の「サイズ」についての重みが「10」,「6」であるため、表18の内容(5),(6)の属性の欄には、これらの「3」との積である「30」,「18」が記載されている。
さらに、ステップSC280〜ステップSC350の処理により、内容(1)〜内容(4)(回答事例DB142、会話事例DB141、会話履歴DB144に記憶される会話例)の「衣類」という分類についての重みが抽出され、入力文の「衣類」という分類についての重み(表16参照)との積が算出されて、表19のようにそれぞれの重み情報の「分類」の欄に格納される。
表16において入力文の「分類」についての重みが「1」であり、表4において内容(1)の「分類」についての重みが「10」であるため、表19の内容(1)の分類の欄には、これらの積である「10」が記載されている。
また、表4では、内容(2),(3),(4)の「衣類」についての重みがそれぞれ「8」,「10」,「10」であるため、表19の内容(2),(3),(4)の分類の欄には、これらの「1」との積である「8」,「10」,「10」がそれぞれ記載されている。
さらに、ステップSC360〜ステップSC420の処理により、内容(5)〜内容(6)(依頼事例DB143に記憶される会話例)の「衣類」という分類についての重みが抽出され、入力文の「衣類」という分類についての重み(表16参照)との積が算出されて、表20のようにそれぞれの重み情報の「分類」の欄に格納される。
上記のように入力文の「衣類」についての重みが「1」である。表5では、内容(5),(6)の「分類」についての重みが「9」,「7」であるため、表20の内容(5),(6)の分類の欄には、これらの「1」との積である「9」,「7」が記載されている。
また、後述するステップSC460において、各会話例について、重みの合計が算出される。表20には、各会話例についての重みの合計も記載されている。
なお、入力文が「What is your size of T-shirt?」である場合、この文の文頭にBe動詞ではなく疑問詞が位置することから、ステップSC10では、YESまたはNOで回答できる疑問文ではないと判断される。
図21を参照して、ステップSC430では、制御部10は、入力文の分類データにおいて、まだステップSC280または後述するステップSC440でデータを取り出されていない分類があるか否かを判断し、あると判断するとステップSC440で、分類データから現在処理対象となっている分類の次の分類を取り出して、ステップSC290へ処理を戻す。一方、無いと判断するとステップSC450へ処理を進める。
ステップSC450では、制御部10は、回答文があるか否かを判断し、あると判断するとステップSC460へ、無いと判断するとステップSC470へ、それぞれ処理を進める。なお、制御部10は、回答文ありフラグがオンされている場合に回答文があると判断し、オフされている場合に回答文が無いと判断する。
ステップSC460では、制御部10は、回答文を重みが大きい順に並べ変えて、当該制御部10内の所定の記憶領域に記憶し、ステップSC470へ処理を進める。ここで、回答文とは、入力文と同じ属性または同じ分類について重みに値を有する会話例であって、回答事例DB142、会話事例DB141、または、会話履歴DB144に記憶された会話例のことである。また、重みが大きい順に並べ変えるとは、表20に示したような各会話例についての重みの合計値が大きい順に、各会話例を並べ替えるということを意味する。なお、制御部10は、「回答文を記憶する」場合、回答文(会話例)そのもののテキストを記憶しても良いし、各回答文に対応する符号(各会話例に付された通し番号のようなもの)を記憶しても良い。
ステップSC470では、制御部10は、依頼文があるか否かを判断し、あると判断するとステップSC480へ処理を進め、無いと判断すると図12へ処理をリターンさせる。
ステップSC480では、制御部10は、依頼文を重みが大きい順に並べ変えて、当該制御部10内の所定の記憶領域に記憶し、図12へ処理をリターンさせる。ここで、依頼文とは、入力文と同じ属性または同じ分類について重みに値を有する会話例であって、依頼事例DB143に記憶された会話例のことである。また、重みが大きい順に並べ変えるとは、表20に示したような各会話例についての重みの合計値が大きい順に、各会話例を並べ替えるということを意味する。なお、制御部10は、「依頼文を記憶する」場合、依頼文(会話例)そのもののテキストを記憶しても良いし、各依頼文に対応する符号(各会話例に付された通し番号のようなもの)を記憶しても良い。
再度図12を参照して、ステップSA70の処理の後、制御部10は、ステップSA80で、返答文を表示部12に表示させて、ステップSA10に処理を戻す。なお、ステップSA80の処理内容を、当該処理のサブルーチンのフローチャートである図25を参照して詳細に説明する。
図25を参照して、この処理では、制御部10は、まずステップSF10で、上記したYES/NO回答フラグがオンにセットされているか否かを判断し、オンにセットされていると判断するとステップSF20へ、オフにされていると判断するとステップSF30へ、それぞれ処理を進める。
ステップSF20では、制御部10は、ステップSC20で作成し所定の記憶領域に格納させたYESの回答例およびNOの回答例を表示部12に表示させ、ステップSF30へ処理を進める。
ステップSF30では、回答文ありフラグ(ステップSC150またはステップSC320でセットされるフラグ)および依頼文ありフラグ(ステップSC220またはステップSC390でセットされるフラグ)がオンされているか否かを判断し、両方のフラグがオンにセットされていると判断するとステップSF40へ、両方のフラグがオンにセットされていない(いずれか一方がオンされている状態も含む)と判断するとステップSF50へ、それぞれ処理を進める。
ステップSF40では、制御部10は、ステップSF40で、回答文および依頼文を表示部12に表示させる処理を実行し、図12へ処理をリターンさせる。ステップSF40の処理内容を、当該処理のサブルーチンのフローチャートである図26を参照して詳細に説明する。
図26を参照して、この処理では、制御部10は、まずステップSH10で、上記したYES/NO回答フラグがオンにセットされているか否かを判断し、オンにセットされていると判断するとステップSH20へ、オフにされていると判断するとステップSH30へ、それぞれ処理を進める。
ステップSH20では、ステップSF20(図25参照)で表示させた回答文の中で、ユーザからのYESの回答例かNOの回答例のいずれかを選択する情報の入力を待機し、情報の入力があったと判断するとステップSH30へ処理を進める。
ステップSH30では、制御部10は、プロファイル項目(プロファイルデータを構成する項目)の値を埋め込んだ回答文および依頼文を表示させる処理を実行して、ステップSF40(図25)に処理を戻す。ステップSH30の処理内容を、当該処理のサブルーチンのフローチャートである図27を参照して詳細に説明する。
図27を参照して、この処理では、制御部10は、まずステップSH31で、ステップSC460またはステップSC480で重みの値の順に並べられた回答文と依頼文の中で1番目の回答文と1番目の依頼文を取り出し、ステップSH32へ処理を進める。
ステップSH32では、制御部10は、プロファイルデータの検索および置換の処理を行ない、ステップSH33に処理を進める。なお、ステップSH32の処理内容を、当該処理のサブルーチンのフローチャートである図28および図29を参照して詳細に説明する。
図28を参照して、当該処理では、制御部10は、まずステップSG10で、返答文から最初の単語を抽出し、ステップSG20へ処理を進める。ここで言う返答文とは、その時点で取り出されている回答文および依頼文である。なお、以下説明するステップSG10〜ステップSG200の処理は、回答文と依頼文のそれぞれについて独立して実行される。
ステップSG20では、制御部10は、その単語が属性DBの属性テーブル(表2参照)の内容の欄に含まれる単語であるか否かを判断し、含まれると判断するとステップSG30へ、含まれないと判断するとステップSG60へ、それぞれ処理を進める。
ステップSG30では、制御部10は、当該内容に対応する属性をすべて抽出し、ステップSG40へ処理を進める。なお、上記の単語が複数の属性についての内容に含まれる場合には、ステップSG30では、当該複数の属性が抽出される。具体的には、単語「a」が属性「A」の内容であってかつ属性「B」の内容である場合には、ステップSG30では、「A」および「B」が抽出される。
ステップSG40では、属性・プロファイル関連テーブルに基づいて、ステップSG30で抽出した属性に関連するプロファイル項目を取得し、ステップSG50へ処理を進める。なお、属性・プロファイル関連テーブルとは、属性とプロファイルデータ(表1参照)の各項目とを関連付けるテーブルであり、その一例を表21に示す。
表21では、属性とプロファイルデータ(表1)を構成する個々の項目が関連付けられている。ステップSG40では、制御部10は、属性・プロファイル関連テーブルにおいて、ステップSG30で抽出された属性と関連付けられたプロファイル項目を取得する。
ステップSG50では、制御部10は、ステップSG40で得られたプロファイル項目にポイントを付して、ステップSG60へ処理を進める。
例えば、ステップSG10で「short」という単語が抽出された場合、ステップSG30でサイズ(size)および期間(period)という属性が抽出され、そして、ステップSG40で、サイズという属性からは「体型」というプロファイル項目が、期間という属性から「旅行日程」というプロファイル項目が、それぞれ抽出される。この場合、ステップSG50では、「体型」「旅行日程」の双方のプロファイル項目に「1」のポイントが付される。なお、たとえば、属性・プロファイル関連テーブルが、「X」というプロファイル項目が「Y」および「Z」の複数の属性に関連付けられている場合であって、ステップSG10で抽出された単語から「Y」および「Z」という属性が抽出された場合には、ステップSG50では、「X」というプロファイル項目について「Y」という属性と「Z」という属性について2回ずつポイントが付され、合計「2」のポイントが付される。
ステップSG60では、制御部10は、ステップSG10で抽出された単語が分類DBの分類テーブル(表3参照)の内容の欄に含まれる単語であるか否かを判断し、含まれると判断するとステップSG70へ、含まれないと判断するとステップSG100(図28参照)へ、それぞれ処理を進める。
ステップSG70では、制御部10は、当該内容に対応する分類をすべて抽出し、ステップSG80へ処理を進める。なお、上記の単語が複数の分類についての内容に含まれる場合には、ステップSG70では、当該複数の属性が抽出される。
ステップSG80では、分類・プロファイル関連テーブルに基づいて、ステップSG70で抽出した分類に関連するプロファイル項目を取得し、ステップSG90へ処理を進める。なお、分類・プロファイル関連テーブルとは、分類とプロファイルデータ(表1参照)の各項目とを関連付けるテーブルであり、その一例を表22に示す。
表22では、分類とプロファイルデータ(表1)を構成する個々の項目が関連付けられている。ステップSG80では、制御部10は、分類・プロファイル関連テーブルにおいて、ステップSG70で抽出された分類と関連付けられたプロファイル項目を取得する。
ステップSG90では、制御部10は、ステップSG80で得られたプロファイル項目の集計を行ない、ステップSG100(図29参照)へ処理を進める。なお、ステップSG90では、ステップSG40と同様に、ステップSG80で得られたプロファイル項目に対してポイントが付される。
図29を参照して、ステップSG100では、制御部10は、取得されたステップSG50またはステップSG90の処理においてポイントを付されたプロファイル項目が少なくとも1つはあったか否かを判断し、無いと判断すると処理をステップSG190へ進め、あると判断するとステップSG110へ処理を進める。
ステップSG110では、制御部10は、プロファイル項目を出現回数が多い順(ポイント数が大きい順)にソートし、ステップSG120へ処理を進める。
ステップSG120では、最初の(ポイント数が最も大きい)プロファイル項目を取得し、ステップSG130へ処理を進める。
ステップSG130では、制御部10は、プロファイルデータ(表1参照)にステップSG120で取得したプロファイル項目が存在するか否かを判断し、存在すると判断するとステップSG140へ、存在しないと判断するとステップSG160へ、それぞれ処理を進める。
ステップSG140では、制御部10は、ステップSG130で存在すると判断したプロファイル項目に値が登録されているか否かを判断し、登録されていると判断するとステップSG150へ、されていないと判断するとステップSG160へ、それぞれ処理を進める。
ステップSG150では、制御部10は、ステップSG140で登録されていると判断した値を、ステップSG10で抽出した単語の置換リストに追加して、ステップSG160へ処理を進める。
ステップSG160では、制御部10は、ポイントを付されたプロファイル項目の中でステップSG130〜150の処理の対象とされていないプロファイル項目が残っているか否かを判断し、残っていると判断するとステップSG170へ、残っていないと判断するとステップSG180へ、それぞれ処理を進める。
ステップSG170では、制御部10は、現在処理対象としていたプロファイル項目の次にポイントの大きいプロファイル項目を取出し、ステップSG130へ処理を戻す。
ステップSG180では、制御部10は、ステップSG10で抽出された単語の置換リストに、表2および表3において当該単語と同じ属性および分類に含まれる単語を追加して、ステップSG190へ処理を進める。
ステップSG190では、制御部10は、現在処理対象としている返答文のすべての単語に対してステップSG10〜ステップSG180の処理を実行したか否かを判断し、まだ処理対象となっていない単語があると判断するとステップSG200で当該返答文中の現在の処理対象の次の単語を抽出してステップSG20へ処理を戻す。一方、すべての単語を処理対象としたと判断すると、図27のステップSH32へ処理をリターンさせる。
再度図27を参照して、ステップSH32の処理の後、制御部10は、ステップSH33で、現在処理対象としている回答文および依頼文を表示リストに追加して、ステップSH34へ処理を進める。
ステップSH34では、制御部10は、ステップSC460またはステップSC480で重みの値の順に並べられた回答文と依頼文の中で、ステップSH32〜ステップSH33の処理対象とされていないものがあるか否かを判断し、あると判断するとステップSH35へ、無いと判断するとステップSH36へ、それぞれ処理を進める。
ステップSH35では、制御部10は、現在処理対象とされていた回答文および依頼文の次に大きな重みの値を付された回答文および依頼文を抽出し、ステップSH32へ処理を戻す。
ステップSH36では、制御部10は、表示リストにある回答文および依頼文を表示部12に表示させて、図26のステップSH30に処理をリターンさせる。なお、ステップSH30の処理が終了すると、制御部10は、図25のステップSF40へ処理をリターンさせる。ステップSF40の処理の後、制御部10は、図12へ処理をリターンさせる。
再度図25を参照して、ステップSF50では、回答文ありフラグがオンにセットされているか否かを判断し、セットされていると判断するとステップSF60へ処理を進める。ここで、ステップSF60の処理内容を、当該処理のサブルーチンのフローチャートである図30を参照して詳細に説明する。
図30を参照して、この処理では、制御部10は、まずステップSJ10で、YES/NO回答フラグがオンされているか否かを判断し、オンされていると判断するとステップSJ20へ、されていないと判断するとステップSJ30へ、それぞれ処理を進める。
ステップSJ20では、ステップSF20(図25参照)で表示させた回答文の中で、ユーザからのYESの回答例かNOの回答例のいずれかを選択する情報の入力を待機し、情報の入力があったと判断するとステップSJ30へ処理を進める。
ステップSJ30では、制御部10は、プロファイル項目の値を埋め込んだ回答文を表示させる処理を実行して、ステップSF60(図25)に処理を戻す。ステップSJ30の処理内容を、当該処理のサブルーチンのフローチャートである図31を参照して詳細に説明する。
図31を参照して、この処理では、制御部10は、まずステップSJ31で、ステップSC460で重みの値の順に並べられた回答文の中で1番目の回答文を取り出し、ステップSJ32へ処理を進める。
ステップSJ32では、制御部10は、プロファイルデータの検索および置換の処理を行ない、ステップSJ33に処理を進める。なお、ステップSJ32の処理内容は、図28および図29を参照して説明した処理内容と同様のものであるため、ここでは説明を繰り返さない。なお、図28および図29を参照した上記の説明では、回答文および依頼文においてプロファイルデータの検索および置換を行なうよう説明がなされていたが、SJ32では、回答文に対してのみ、処理が行なわれる。
ステップSJ32の処理の後、制御部10は、ステップSJ33で、現在処理対象としている回答文を表示リストに追加して、ステップSJ34へ処理を進める。
ステップSJ34では、制御部10は、ステップSC460で重みの値の順に並べられた回答文の中で、ステップSJ32〜ステップSJ33の処理対象とされていないものがあるか否かを判断し、あると判断するとステップSJ35へ、無いと判断するとステップSJ36へ、それぞれ処理を進める。
ステップSJ35では、制御部10は、現在処理対象とされていた回答文の次に大きな重みの値を付された回答文を抽出し、ステップSJ32へ処理を戻す。
ステップSJ36では、制御部10は、表示リストにある回答文を表示部12に表示させて、図30のステップSJ30に処理をリターンさせる。なお、ステップSJ30の処理が終了すると、制御部10は、図25のステップSF60へ処理をリターンさせる。ステップSF60の処理の後、制御部10は、図12へ処理をリターンさせる。
再度図25を参照して、ステップSF70では、依頼文ありフラグがオンにセットされているか否かを判断し、セットされていると判断するとステップSF80へ処理を進める。ここで、ステップSF80の処理内容を、当該処理のサブルーチンのフローチャートである図32を参照して詳細に説明する。
図32を参照して、この処理では、制御部10は、まずステップSK10で、YES/NO回答フラグがオンされているか否かを判断し、オンされていると判断するとステップSK20へ、されていないと判断するとステップSK30へ、それぞれ処理を進める。
ステップSK20では、ステップSF20(図25参照)で表示させた回答文の中で、ユーザからのYESの回答例かNOの回答例のいずれかを選択する情報の入力を待機し、情報の入力があったと判断するとステップSK30へ処理を進める。
ステップSK30では、制御部10は、プロファイル項目の値を埋め込んだ回答文を表示させる処理を実行して、ステップSF80(図25)に処理を戻す。ステップSK30の処理内容を、当該処理のサブルーチンのフローチャートである図33を参照して詳細に説明する。
図33を参照して、この処理では、制御部10は、まずステップSK31で、ステップSC480で重みの値の順に並べられた依頼文の中で1番目の回答文を取り出し、ステップSK32へ処理を進める。
ステップSK32では、制御部10は、プロファイルデータの検索および置換の処理を行ない、ステップSK33に処理を進める。なお、ステップSK32の処理内容は、図28および図29を参照して説明した処理内容と同様のものであるため、ここでは説明を繰り返さない。なお、図28および図29を参照した上記の説明では、回答文および依頼文においてプロファイルデータの検索および置換を行なうよう説明がなされていたが、SK32では、依頼文に対してのみ、処理が行なわれる。
ステップSK32の処理の後、制御部10は、ステップSK33で、現在処理対象としている依頼文を表示リストに追加して、ステップSK34へ処理を進める。
ステップSK34では、制御部10は、ステップSC480で重みの値の順に並べられた依頼文の中で、ステップSK32〜ステップSK33の処理対象とされていないものがあるか否かを判断し、あると判断するとステップSK35へ、無いと判断するとステップSK36へ、それぞれ処理を進める。
ステップSK35では、制御部10は、現在処理対象とされていた依頼文の次に大きな重みの値を付された依頼文を抽出し、ステップSK32へ処理を戻す。
ステップSK36では、制御部10は、表示リストにある回答文を表示部12に表示させて、図32のステップSK30に処理をリターンさせる。なお、ステップSK30の処理が終了すると、制御部10は、図25のステップSF80へ処理をリターンさせる。ステップSF80の処理の後、制御部10は、図12へ処理をリターンさせる。
再度図25を参照して、制御部10は、ステップSF90では、返答文が無いことを表示部12に表示させて、図12へ処理をリターンさせる。ステップSF90の処理内容を、当該処理のサブルーチンのフローチャートである図34を参照して詳細に説明する。
図34を参照して、制御部10は、まずステップSL10で、YES/NO回答フラグがオンされているか否かを判断し、オンされていると判断するとステップSL20へ処理を進め、されていないと判断するとステップSL30へ処理を進める。
ステップSL20では、ユーザからのYESの回答例かNOの回答例のいずれかを選択する情報の入力を待機し、情報の入力があったと判断するとステップSK30へ処理を進める。たとえば、「Do you like venison which is a kind of meat?」(あなたは食肉の一種であるシカ肉は好きですか?)という入力文に対しては、「Yes, I do.」の回答例と「No, I don't.」の回答例が、選択肢として表示され(SL20)。
ステップSL30では、制御部10は、表示部12に、再度文章を入力することを要求するメッセージを表示させて、図25のステップSF90へ処理をリターンさせる。なお、再度文章を入力することを要求するメッセージとしては、たとえば、「もう1度お願いします。」「別の言い方でお願いします。」のようなユーザの会話相手に対して再度会話文を発音することを要求するメッセージや、ユーザ自信に対して別の文章の入力を要求するメッセージが挙げられる。
なお、とりあえず肉が嫌いならば、ステップSL20で「No, I don't.」を選択した後、ステップSL10からステップSL30へ処理を進め、「Venison」の単語が分からないので、ステップSL30で、「What is venison? Could you tell me with the other expression.」という会話文を出すというように、利用することができる。なお、携帯型翻訳機1においてこのような処理が実行される場合、SL30は、入力された質問文の中の名詞句を取り出し「What is (取り出された名詞句)?」という質問文(入力された質問文中の名詞句の内容を問い合わせる質問文)を作成するとともに、当該作成した質問文の後に、「別の表現でお願いします」という英文に対応する固定データ(たとえば情報記憶部18に格納されたデータ)を読み出して付けて、出力する処理とされる。
図12に戻って、ステップSA50で入力された文が疑問文ではないと判断すると、制御部10は、ステップSA90でプロファイルデータを抽出する処理を実行して、ステップSA100へ処理を進める。なお、ステップSA90における処理内容を、当該処理のサブルーチンのフローチャートである図15を参照して説明する。
図15を参照して、プロファイルデータを抽出する処理では、制御部10は、まずステップSA902において、ステップSA10で入力されたと判断した会話文(ステップSB10でテキストデータを取得した会話文)から最初(文頭)の単語を取出して、ステップSA904へ処理を進める。
ステップSA904では、制御部10は、直前の処理で取出した単語が属性DB(属性テーブル(表2参照))の内容の欄に含まれる単語であるか否かを判断し、そうであると判断するとステップSA906へ処理を進め、そうではないと判断するとステップSA910へ処理を進める。
ステップSA906では、制御部10は、現在処理対象となっている単語が属性テーブルにおいて関連付けて記憶されている属性を取得して、ステップSA908へ処理を進める。
ステップSA908では、属性・プロファイル関連テーブル(表21参照)において、直前のステップSA906で取得した属性に関連付けられて記憶されているプロファイル項目を取得し、現在処理対象となっている単語(ステップSA901またはステップSA918で取出された単語)と関連付けて更新用情報記憶部136Aに記憶させて、ステップSA910へ処理を進める。
ステップSA910では、制御部10は、ステップSA904において処理対象とした単語が分類DB(分類テーブル(表3参照))の内容の欄に含まれる単語であるか否かを判断し、そうであると判断するとステップSA912へ処理を進め、そうではないと判断するとステップSA916へ処理を進める。
ステップSA912では、制御部10は、現在処理対象となっている単語が分類テーブルにおいて関連付けて記憶されている分類を取得して、ステップSA914へ処理を進める。
ステップSA914では、分類・プロファイル関連テーブル(表22参照)において、直前のステップSA912で取得した分類に関連付けられて記憶されているプロファイル項目を取得し、現在処理対象となっている単語(ステップSA901またはステップSA918で取出された単語)と関連付けて更新用情報記憶部136Aに記憶させて、ステップSA916へ処理を進める。
ステップSA916では、制御部10は、入力された会話文の中でまだステップSA902からステップSA914までの処理の対象となっていない単語があるか否かを判断し、あると判断するとステップSA918で、当該会話文の中から現在処理対象としていた単語の次に位置している単語を取出して、ステップSA904へ処理を戻す。一方、そのような単語がないと判断すると、制御部10は、処理を図12に戻す。
以上図15を参照して説明したプロファイルデータを抽出する処理では、たとえば、「Your size is medium.」という会話相手の音声が入力された場合、「medium」という単語が含まれることから、ステップSA904で、制御部10は、属性テーブルにおいて当該「medium」に関連付けられて記憶されている属性である「サイズ(size)」を取得する。そして、ステップSA908において、制御部10は、属性・プロファイル関連テーブルにおいて、属性「サイズ(size)」に関連付けられて記憶されているプロファイル項目である「体型」を取得し、更新用情報記憶部136Aに、単語「medium」とプロファイル項目「体型」とを関連付けて記憶させる。
図12に戻って、ステップSA90でプロファイルデータを抽出する処理を実行した後、制御部10は、ステップSA100で、入力された会話文がプロファイルデータを含むか否かを判断し、含むと判断するとステップSA200(図13参照)へ処理を進め、含んでいないと判断するとステップSA110へ処理を進める。なお、ここでの判断は、たとえば直前のプロファイルデータを抽出する処理において更新用情報記憶部136Aへの単語と属性(または分類)の記憶がなされたか否かが判断されることにより実現される。
ステップSA110では、制御部10は、会話相手が話した内容の訳文を表示部12に表示させて、ステップSA120へ処理を進める。なお、訳文を表示させる処理は、たとえば、ステップSB10で取得したテキストデータに対して既存の翻訳処理を施し、当該処理後のデータを表示部12に表示させることにより実現される。
ステップSA120では、GPS910を介して現在の位置情報を取得して、ステップSA130へ処理を進める。
ステップSA130では、制御部10は、当該返答例提示処理が実行される前に取得された最も新しい位置情報と直前のステップSA120で取得された位置情報とを比較し、これらの間に予め定められた距離以上の変化があったか否かを判断し、あったと判断するとステップS102(図3参照)に処理を戻し、ないと判断するとステップS106(図3参照)へ処理を戻す。
ステップSA30において、制御部10は、音声を入力した人物が携帯型翻訳機1のユーザ自身であると判断すると、ステップSA140へ処理を進める。図13を参照して、ステップSA140では、制御部10は、自分(携帯型翻訳機1のユーザ自身)が話した内容の解析を行なって、ステップSA150へ処理を進める。なお、ステップSA140における解析は、たとえば、入力された音声に対して既存の音声認識技術を適用することによりテキストデータを取得し、当該テキストデータに対して形態素解析を行なうことにより実現される。
ステップSA150では、制御部10は、ステップSA140における解析結果を参照することにより入力された文がYESを含む回答文(肯定文)であったか否かを判断し、そうであると判断するとステップSA160へ処理を進め、そうではないと判断するとステップSA180へ処理を進める。なお、ステップSA150では、制御部10は、YESを含む文以外であっても、入力された文が肯定文であるという条件を満たす場合には、ステップSA160へ処理を進める。このような条件を特定する情報は、参照用情報記憶部136に予め登録されておいても良いし、ユーザによって参照用情報記憶部136に登録されても良いし、または、ネットワークを介してダウンロードされて参照用情報記憶部136に登録されても良い。
ステップSA160では、制御部10は、ステップSA60で保存しておいた疑問文からプロファイルデータを抽出する処理を実行して、ステップSA170へ処理を進める。なお、ステップSA160におけるプロファイルデータを抽出する処理は、ステップSA90(図15を参照して説明したプロファイルデータを抽出する処理)と同様の内容とすることができるため、ここでは説明を繰返さない。
ステップSA170では、ステップSA160における処理の結果として、プロファイルデータを含むか否かを判断し、含むと判断するとステップSA200へ処理を進め、含まないと判断するとステップSA201へ処理を進める。なお、ステップSA60で保存された疑問文がプロファイルデータを含むか否かの判断は、ステップSA160における処理の結果として更新用情報記憶部136Aへの単語と属性(または分類)の記憶がなされたか否かが判断されることにより実現される。
ステップSA200ではプロファイルデータ(表1参照)を更新する処理を実行して、ステップSA201へ処理を進める。
ここで、ステップSA200における処理の内容を、当該処理のサブルーチンのフローチャートである図16を参照して説明する。
図16を参照して、プロファイルデータを更新する処理では、制御部10は、まずステップSA202で、プロファイルデータ(表1)における最初のプロファイル項目を取得し、ステップSA204処理を進める。
ステップさ204では、更新用情報記憶部136A(図1参照)に、現在取得しているプロファイル項目に対応する情報が記憶されているか否かを判断し、記憶されていると判断すると、プロファイルデータにおける当該項目の値を更新して、ステップSA206へ処理を進める。ステップSA206では、制御部10は、プロファイルデータにおいてまだステップSA204の処理対象とされていないプロファイル項目がある否かを判断し、あると判断するとステップSA208へ処理を進め、ないと判断すると図13へ処理を戻す。
ステップSA208では、制御部10は、プロファイルデータにおいて、その時点で処理対象とされていたプロファイル項目の次のプロファイル項目を取得して、ステップSA204へ処理を戻す。
以上図16を参照して説明したプロファイルデータを更新する処理では、更新用情報記憶部136Aに記憶されている情報を利用してプロファイルデータ(表1)の更新がなされるため、ステップSA202を実行する前に更新用情報記憶部136Aに何ら情報が記憶されていなければその時点でプロファイルデータを更新する処理は終了するように構成されても良い。また、プロファイルデータを更新する処理が終了して、処理が図13に戻される際には、更新用情報記憶部136Aに記憶された情報がクリアされることが好ましい。
また、プロファイルデータを更新する処理において、ステップSA204では、更新用情報記憶部136Aに対応する情報が記憶されているプロファイル項目については、プロファイルデータにおける値が当該記憶されていた情報によって更新されていたが、本実施の形態では、プロファイルデータの対応する値に、更新情報記憶部136Aに記憶されている情報を追加して記憶させることもできる。
図13に戻って、ステップSA190またはステップSA200の後、ステップSA201では、制御部10は、ステップSA60で保存した文(疑問文)を消去して、ステップSA210へ処理を進める。
ステップSA210で、制御部10は、表示部12に自分(携帯型翻訳機1のユーザ)の話した内容の訳文を表示させて、ステップSA10へ処理を戻す。なお、ステップSA210における訳文の表示は、ステップSA140で取得したテキストデータに対して既存の翻訳処理を施し、当該翻訳処理の結果が表示部12に表示されることにより実現される。
ステップSA180では、自分が話した内容(携帯型翻訳機1のユーザ自身が入力した音声)に対して、プロファイルデータを抽出する処理を実行して、ステップSA190へ処理を進める。なお、ステップSA180における処理内容は、図15を参照して説明したステップSA90における処理内容と同様のものとすることができるため、ここでは詳細な説明は繰返さない。
ステップSA190では、ステップSA180の処理の結果、携帯型翻訳機1のユーザ自身が入力した音声に対応した文においてプロファイルデータが含まれるか否かを判断し、含まれると判断するとステップSA200へ処理を進め、含まれないと判断するとステップSA210へ処理を進める。なお、ここでの判断は、たとえばステップSA180における処理によって更新用情報記憶部136Aに情報が記憶されたか否かの判断によって実現される。
以上(特に、図11〜図34を参照して)説明した本実施の形態では、文章が入力された場合であって、それが質問文(疑問文)である場合には、携帯型翻訳機1は、返答文として、当該質問文に返答する文章を表示部12に表示させることができる。また、携帯型翻訳機1は、ユーザのプロファイルデータ(表1参照)を記憶しておき、提示する返答文においてユーザのプロファイルデータを組み込ませることができる。
以上説明した本実施の形態では、入力文と同じ属性または分類である各回答例に対して、入力文についての当該属性または分類の重みと、各回答例についての当該属性または分類の重みの積が算出されて、各回答例を当該入力文の返答例として表示する際の順序に関する重みとされた。なお、当該順序に関する重みは、入力文についての当該属性または分類の重みに、各回答例についての当該属性または分類の重みが付加されることによって、算出されても良い。
なお、本実施の形態では、図35(A)に示されるように入力文(質問文)が入力されると、その入力文に含まれる属性または分類に対応したプロファイル項目について、プロファイルデータにおいて当該プロファイル項目に関連付けられて値が登録されている場合には、図35(B)に示されるように回答文が表示される。当該回答文には、プロファイル項目に関連付けられた値が組み込まれる。なお、回答文は、図35(C)に示されるように、ユーザの属性に対応する部分をプルダウンメニューが適用されたように表示される。プルダウンメニューには、回答文中の属性に対応する部分(図35(C)では、洋服等のサイズ)について入力されるのに適するとされる情報であって予め登録された情報が表示される。なお、プルダウンメニューに表示されるメニューは、属性DB134において、プロファイル項目に対応した属性または分類(図35に示された例では、属性「サイズ」)についての値の候補として登録されている項目が示される。
一方、入力文(質問文)に含まれる属性または分類に対応したプロファイル項目について、プロファイルデータにおいて当該プロファイル項目に関連付けられた値が登録されていない場合には、図35(D)に示されるように、当該属性または分類についてわからない旨を示す回答文が表示される。そして、その次に、当該属性または分類について、測定を依頼したりする依頼文が表示される。なお、図35(F)に示されるように、プルダウンメニューとして、測定を依頼する文の他に、想定される文を返答文の候補として複数表示させても良い。この場合、回答例に付された重みの大きい順に、プルダウンメニューの上から縦方向に並べて表示される。
また、以上説明した本実施の形態では、ユーザが特に操作をすることが無くとも、入力される会話文に基づいて、プロファイルデータに登録されている値が更新される。具体的には、たとえば、携帯型翻訳機1において、プロファイルデータとして表1に示されるような情報が登録されている場合、「Your size is medium.」という会話相手の音声が入力された場合には、表23に示されるように、「体型」というプロファイル項目に対応した値が「medium」に更新される。
つまり、図15を参照して説明したように、たとえば「Your size is medium.」という会話相手の音声が入力された場合、「medium」という単語が含まれることから、制御部10は、属性テーブルにおいて当該「medium」に関連付けられて記憶されている属性である「サイズ(size)」を取得し、属性・プロファイル関連テーブルにおいて、属性「サイズ(size)」に関連付けられて記憶されているプロファイル項目である「体型」を取得し、更新用情報記憶部136Aに、単語「medium」とプロファイル項目「体型」とを関連付けて記憶させる。そして、更新用情報記憶部136Aに記憶された情報は、図16を参照して説明したように、プロファイル項目の更新に利用される。
なお、プロファイル項目によっては、データを入れ替えるのではなく、データを追加することによって、更新用情報記憶部136Aに記憶された情報を用いたデータの更新がなされる場合がある。このような更新が行なわれた後のプロファイルデータの一例を、表24に示す。
表24では、好きな色に関連付けられた値の欄に、「赤(10)」と「青(1)」というデータが記憶されている。括弧内の数値は、「重み」を意味する。
たとえば「My favorite color is blue.」という携帯型翻訳機1のユーザ自身の声が入力された場合、属性テーブルまたは分類テーブルの「内容」に含まれる単語に一致する単語が含まれているか否かを監視し、「blue」という単語が含まれることから、制御部10は、属性テーブルにおいて当該「blue」に関連付けられて記憶されている属性である「色(color)」を取得する。
そして、制御部10は、属性・プロファイル関連テーブルにおいて、属性「色(color)」に関連付けられて記憶されているプロファイル項目である「好きな色」「嫌いな色」を取得する。なお、制御部10は、さらに、上記の「blue」が含まれている文に対して、「好き」または「嫌い」という感情を特定できる文言(たとえば、好意的な感情を特定できる文言としては「favorite」「like」、否定的な感情を特定できる文言としては「don't like」「dislike」)が含まれるか否かを検知する。そして、含まれていると判断すると、検出した単語(上記した、属性テーブルまたは分類テーブルの「内容」に含まれる単語)をプロファイル項目の「好きな色」または「嫌いな色」に関連付けて記憶させる。つまり、たとえば、上記の例であれば、「favorite」が含まれているので、更新用情報記憶部136Aに、単語「blue」をプロファイル項目「好きな色」に関連付けて記憶させる。そして、更新用情報記憶部136Aに記憶された情報は、図16を参照して説明したように、プロファイル項目の更新に利用される。
なお、プロファイルデータにおいて、「好きな色」や「嫌いな色」のように、複数の値を持つことができるプロファイル項目については、プロファイル項目の更新は、上記のように入力文から取得された情報を、追加するような態様で行なわれる。具体的には、表1に示したプロファイルデータに対して、表24に示されたプロファイルデータは、「好きな色」に対応する値が「赤」だけでなく「青」も含むように更新されている。
なお、このような更新が行なわれる際には、ステップSA204(図16参照)において、入力文に含まれる単語をプロファイルデータに追加する際には、日本語への翻訳処理を施した後で、追加するようにされることが好ましい。
また、データを追加する際には、追加した回数を、表24に示されるプロファイルデータの括弧内の数値として表すことが好ましい。このようにプロファイルデータが更新されることにより、再度「My favorite color is blue.」という携帯型翻訳機1のユーザ自身の声が入力された場合、プロファイルデータは、表25のように更新される。表25では、「好きな色」に関連付けられた値への「青」の追加が2回目となることから、「青」に対応する括弧内の数値が「2」とされている。
上記のように「好きな色」または「嫌いな色」への単語の振り分けは、当該単語が検出された文章に感情を特定できる文言の種類(好意的または否定的)に応じて実現することができる。なお、プロファイルデータにおける各欄ごとについて専用の文言を情報記憶部18に記憶させておき、そして、制御部10は、入力された会話文の中から属性テーブルまたは分類テーブルの「内容」に記憶されている単語の中から或る単語が抽出された場合、さらに、同じ文から上記した専用の文言の抽出を試み、専用の文言が抽出された場合には、最初に抽出した「或る単語」を、抽出した専用の文言が対応する項目名の値として登録する。
具体的には、たとえば、入力された会話文に「egg」が含まれる場合、制御部10は、当該単語が含まれることを検知する。当該単語は、分類テーブルに含まれているからである。そして、制御部10は、さらに、入力された会話文から上記した専用の文言の抽出を試みる。専用の文言とは、たとえば、色に関して上記した「favorite」「like」「don't like」「dislike」や、アレルギーに関する「allergic」が挙げられる。そして、「allergic」が入力された会話文に含まれると判断すると、つまり、入力された会話文から当該単語を抽出すると、制御部10は、最初に抽出した単語「egg」(またはそれに対応する日本語である「卵」)を、プロファイルデータにおける、「allergic」が対応する項目名「アレルギー」の値として記憶させる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 携帯型翻訳機、10 制御部、11 入力部、12 表示部、13 D/A変換部、14 出力アンプ、15 スピーカ、16 辞書データ記憶部、17 音声データ記憶部、18 情報記憶部、19 通信部、100 会話エンジン、101 質問解析機能、102 返答作成エンジン、102A 回答作成機能、102B 依頼文作成機能、131 翻訳辞書DB、132 場面情報DB、133 プロファイルデータ記憶部、134 属性DB、135 分類DB、136 参照用情報記憶部、136A 更新用情報記憶部、140 会話文DB、141 会話事例DB、142 回答事例DB、143 依頼事例DB、144 会話履歴DB、901 ユーザ、902 会話相手。
Claims (9)
- 会話文が記憶されている会話文記憶手段を備えた電子機器において、
前記会話文記憶手段は、会話文とユーザの特性の種類を表す特定の単語とを関連付けて記憶し、
前記特定の単語と、前記特定の単語に対応するユーザの特性を表す単語である特性用単語とを関連付けて記憶するプロファイルデータ記憶手段と、
前記特定の単語と、前記特定の単語に対応する前記特性用単語の候補を特定する情報とを関連付けて記憶する候補記憶手段と、
会話文の入力を受付ける会話文入力手段と、
前記会話文入力手段に入力された入力会話文についての形態素解析を行なう会話文解析手段と、
前記会話文解析手段による解析結果として得られた前記入力会話文中の単語の中から、前記特定の単語を抽出する抽出手段と、
前記会話文記憶手段から、前記抽出手段により抽出された特定の単語に関連付けられて記憶された会話文を検索する会話文検索手段と、
前記会話文検索手段により検索された会話文に、前記候補記憶手段において前記抽出手段により抽出された特定の単語と関連付けられた特性用単語を挿入して、前記会話文入力手段により入力された入力会話文に対する応答文として出力する会話文出力手段とを備え、
前記抽出手段は、さらに、前記入力会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出し、
前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶させる制御手段をさらに備える、電子機器。 - 前記会話文入力手段に入力された会話文が、前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断する第1の判断手段と、
前記第1の判断手段が前記入力された会話文が前記電子機器のユーザ以外の人物のものであると判断した場合に、前記入力された会話文が疑問文であるか否かを判断する第2の判断手段と、
前記第2の判断手段が疑問文であると判断した場合に、前記入力された会話文を一時的に記憶する一時的記憶手段と、
前記一時的記憶手段に会話文が記憶された後に入力された会話文について前記第1の判断手段が前記入力された会話文が前記電子機器のユーザのものであると判断した場合に、前記入力された会話文が肯定文であるか否かを判断する第3の判断手段とをさらに備え、
前記抽出手段は、前記第3の判断手段が肯定文であると判断した場合に、前記一時的記憶手段に記憶された会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出し、
前記一時的記憶手段は、前記抽出手段が前記一時的記憶手段に記憶された会話文に対する前記特性用単語の候補の抽出の後、記憶している会話文を消去する、請求項1に記載の電子機器。 - 前記抽出手段は、前記第2の判断手段が疑問文ではないと判断した場合には、前記電子機器のユーザ以外の人物のものであると判断した会話文中の単語の中から抽出した前記特定の単語と前記候補記憶手段において関連付けて記憶されている前記特性用単語の候補を抽出する、請求項2に記載の電子機器。
- ユーザを特定するための音声データであるサンプルデータを記憶するサンプルデータ記憶手段をさらに備え、
前記第1の判断手段は、前記サンプルデータに基づいて、前記会話文入力手段に入力された会話文が前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断する、請求項2または請求項3に記載の電子機器。 - 外部から操作される操作部をさらに備え、
前記第1の判断手段は、前記会話文入力手段に入力された会話文が前記操作部が操作された状態で入力されたか否かに基づいて、前記会話文入力手段に入力された会話文が前記電子機器のユーザのものであるかそれ以外の人物のものであるかを判断する、請求項2または請求項3に記載の電子機器。 - 前記制御手段は、前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶されている前記特性用単語と入れ替えて前記プロファイルデータ記憶手段に記憶させる、請求項1〜請求項5のいずれかに記載の電子機器。
- 前記制御手段は、前記抽出手段が抽出した前記特性用単語の候補を、前記プロファイルデータ記憶手段に記憶されている前記特定用単語に加えて前記プロファイルデータ記憶手段に記憶させる、請求項1〜請求項5のいずれかに記載の電子機器。
- 会話文がとユーザの特性の種類を表す特定の単語とを関連付けて記憶されている会話文記憶手段を備えた電子機器の制御方法であって、
前記特定の単語と、前記特定の単語に対応するユーザの特性を表す単語である特性用単語とを関連付けて記憶するステップと、
前記特定の単語と、前記特定の単語に対応する前記特性用単語の候補を特定する情報とを関連付けて記憶するステップと、
会話文の入力を受付けるステップと、
前記入力された会話文についての形態素解析を行なうステップと、
前記形態素解析による解析結果として得られた前記入力会話文中の単語の中から、前記特定の単語を抽出するステップと、
前記会話文記憶手段から、前記抽出された特定の単語に関連付けられて記憶された会話文を検索するステップと、
前記検索された会話文に、前記抽出された特定の単語と関連付けられた特性用単語を挿入して、前記入力された会話文に対する応答文として出力するステップと、
前記入力会話文中の単語の中から抽出した前記特定の単語と関連付けて記憶されている前記特性用単語の候補を抽出するステップと、
前記抽出した特性用単語の候補を、前記特定の単語に対応するユーザの特性を表す単語として前記特定の単語に関連付けて記憶するステップとを備える、電子機器の制御方法。 - 電子機器において請求項8に記載の制御方法を実現するためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007283955A JP2009110420A (ja) | 2007-10-31 | 2007-10-31 | 電子機器、その制御方法およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007283955A JP2009110420A (ja) | 2007-10-31 | 2007-10-31 | 電子機器、その制御方法およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009110420A true JP2009110420A (ja) | 2009-05-21 |
Family
ID=40778818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007283955A Pending JP2009110420A (ja) | 2007-10-31 | 2007-10-31 | 電子機器、その制御方法およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009110420A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013073355A (ja) * | 2011-09-27 | 2013-04-22 | Toshiba Corp | 対話支援装置、方法及びプログラム |
KR20140001536A (ko) * | 2012-06-27 | 2014-01-07 | 한국전자통신연구원 | 위치정보 및 프로파일링 정보를 이용한 통번역 장치 및 방법 |
JP5998298B1 (ja) * | 2016-01-13 | 2016-09-28 | 株式会社リクルートライフスタイル | 音声翻訳装置、音声翻訳方法、及び音声翻訳プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003030187A (ja) * | 2001-07-18 | 2003-01-31 | Nec Corp | 自動通訳システム、会話学習装置、自動通訳装置及びその方法並びにそのプログラム |
JP2006277119A (ja) * | 2005-03-28 | 2006-10-12 | Toshiba Corp | コミュニケーション支援装置、コミュニケーション支援方法およびコミュニケーション支援プログラム |
-
2007
- 2007-10-31 JP JP2007283955A patent/JP2009110420A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003030187A (ja) * | 2001-07-18 | 2003-01-31 | Nec Corp | 自動通訳システム、会話学習装置、自動通訳装置及びその方法並びにそのプログラム |
JP2006277119A (ja) * | 2005-03-28 | 2006-10-12 | Toshiba Corp | コミュニケーション支援装置、コミュニケーション支援方法およびコミュニケーション支援プログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013073355A (ja) * | 2011-09-27 | 2013-04-22 | Toshiba Corp | 対話支援装置、方法及びプログラム |
KR20140001536A (ko) * | 2012-06-27 | 2014-01-07 | 한국전자통신연구원 | 위치정보 및 프로파일링 정보를 이용한 통번역 장치 및 방법 |
KR101945258B1 (ko) * | 2012-06-27 | 2019-02-08 | 한국전자통신연구원 | 위치정보 및 프로파일링 정보를 이용한 통번역 장치 및 방법 |
JP5998298B1 (ja) * | 2016-01-13 | 2016-09-28 | 株式会社リクルートライフスタイル | 音声翻訳装置、音声翻訳方法、及び音声翻訳プログラム |
WO2017122657A1 (ja) * | 2016-01-13 | 2017-07-20 | 株式会社リクルートライフスタイル | 音声翻訳装置、音声翻訳方法、及び音声翻訳プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719507B2 (en) | System and method for natural language processing | |
CN110301117B (zh) | 用于在会话中提供响应的方法和装置 | |
US10127226B2 (en) | Method for dialogue between a machine, such as a humanoid robot, and a human interlocutor utilizing a plurality of dialog variables and a computer program product and humanoid robot for implementing such a method | |
KR100792208B1 (ko) | 음성 대화 시스템에서 답변 문장 생성 방법 및 장치 | |
CN105930452A (zh) | 一种识别自然语言的智能应答方法 | |
JP4186992B2 (ja) | 応答生成装置、方法及びプログラム | |
CN107408107A (zh) | 文本预测整合 | |
WO2013059726A1 (en) | Systems, devices and methods for list display and management | |
JP7038884B1 (ja) | ユーザアシストシステム | |
JP4881147B2 (ja) | 情報検索装置 | |
JP2009110420A (ja) | 電子機器、その制御方法およびコンピュータプログラム | |
JP2005115867A (ja) | 私的情報蓄積装置及び私的情報蓄積方法、並びに、私的情報管理装置及び私的情報管理方法 | |
KR20050035072A (ko) | 개인정보 축적장치 및 개인정보 관리장치와, 방법 | |
KR101506757B1 (ko) | 자연어로 된 본문의 명확한 모델을 형성하는 방법 | |
KR101994856B1 (ko) | 전환이미지를 이용한 장기기억 유도 학습장치 | |
JP2008158985A (ja) | 電子機器およびその制御方法 | |
JP2017059014A (ja) | 解析装置およびデータ検索装置,ならびにこれらの制御方法 | |
JP4079275B2 (ja) | 会話支援装置 | |
JP5019367B2 (ja) | 電子機器およびその制御方法 | |
JP4795452B2 (ja) | 検索システム及び検索プログラム | |
US11257479B2 (en) | Chat and knowledge domain driven task-specific query and response system | |
JP5163855B2 (ja) | 電子機器およびその制御方法 | |
JP2008027348A (ja) | 電子機器およびその制御方法 | |
JP4953305B2 (ja) | 電子機器およびその制御方法 | |
JP2022018724A (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130205 |