(第1の実施形態)
図1は、本発明の第1の実施形態の端末側装置100、およびサーバ側装置101の構成を示すブロック図である。
本発明において用いられる装置は、端末側装置100およびサーバ側装置101の組合せを基本とする。
図1に示す端末側装置100は、利用者によってテキストが入力され、入力されたテキストを音声として読み上げる装置である。また、図1に示すサーバ側装置101は、端末側装置100に、地点名称などの読み方、または、最も利用者が呼ぶ可能性の高い読み方を示す読み優先順を送信する装置である。
図1に示す端末側装置100は、読み上げるテキストが入力されるテキスト入力手段1、入力されたテキストの読みを決定する読み決定手段2、決定された読みに従って入力されたテキストを音声に変換する音声合成手段3、変換された音声を利用者に読み上げる音声出力手段9、端末側装置100に利用者が発した音声を入力する音声入力手段7、利用者によって入力された音声に従って記録されている読み履歴を更新する読み履歴更新手段6、地点名称などの読み方、読み優先順および利用者が音声入力した読み履歴などを保存した読み履歴記憶手段5、記録されている読み履歴をサーバ側装置101に送信する読み履歴送信手段4、および、サーバ側装置101から通知された読み優先順の情報を受信して読み履歴記憶手段5の情報を更新する読み優先順受信手段8を、少なくとも備える。
図1に示すサーバ側装置101は、端末側装置100から送信される読み履歴ベクトル情報を受信する読み履歴受信手段11、複数の端末側装置100から受信した読み履歴ベクトル情報を保存する読み履歴記憶手段13、保存される読み履歴ベクトル情報に基づいて地点名称などの読み方、および読み優先順を決定する読み優先順決定手段14、決定された読み優先順を端末側装置100に通知する読み優先順送信手段12を、少なくとも備える。さらに、サーバ側装置101が新規の地点名称を追加する機能を有する場合には、サーバ側装置101は、新規読み受信手段15を備える。
図2は、本発明の第1の実施形態の端末側装置100およびサーバ側装置101のハードウェアを示すブロック図である。
端末側装置100は、CPU21、メモリ22、入力装置23、出力装置24、およびNWインターフェース25を備える。また、サーバ側装置101は、CPU26、メモリ27、入力装置28、出力装置29、およびNWインターフェース30を備える。
前述の各手段は、各々メモリ22またはメモリ27に含まれるプログラムによって実行され、必要に応じて、メモリ22またはメモリ27を参照および更新する手段である。
音声出力手段9は、スピーカなどの出力装置24によって実装され、音声入力手段7は、マイクロフォンなどの入力装置23によって実装される。プログラムは、CPU21またはCPU26によって実行される。また、端末側装置100とサーバ側装置101との間は、インターネット、LANまたはWANなどのネットワーク20によって接続される。
なお、複数個の端末側装置100が、サーバ側装置101に接続されてよい。
第1の実施形態においては、図1に示す端末側装置100がカーナビゲーション装置に備わる場合を例に、端末側装置100およびサーバ側装置101に実行される処理を示す。
図3は、本発明の第1の実施形態の端末側装置100の処理を示す説明図である。
図3に示す説明図は、端末側装置100による音声を入力する処理と読み方の情報を更新する処理とを示す。カーナビゲーション装置において一般的に実施される、音声の意味を解析するなどの処理は、図3において省略される。端末側装置100とカーナビゲーション装置とは、物理的に別のハードウェアを用いてもよいし、または、ハードウェアを共用し、プログラムによってわけられていてもよい。
第1の実施形態の端末側装置100は、音声入力処理201、音声合成処理202、または読み優先順更新処理203のいずれかを実行する。そして、各々の処理の後、次の処理を待つという状態を繰り返す。
音声入力処理201は、利用者が発声した音声を端末側装置100に入力する処理である。音声入力処理201は、読み履歴更新手段6、音声入力手段7によって実行される。音声合成処理202は、入力された音声を合成する処理である。音声合成処理202は、テキスト入力手段1、読み決定手段2、音声合成手段3、および、音声出力手段9によって実行される。読み優先順更新処理203は、読み履歴送信手段4、読み履歴記憶手段5、および読み優先順受信手段8によって実行される。
図4は、本発明の第1の実施形態の端末側装置100の音声入力処理201を示す説明図である。
端末側装置100は、音声入力処理201において、音声入力処理301、音声認識処理302、および読み履歴更新処理303を実行する。音声入力処理301および音声認識処理302は、図1に示す音声入力手段7によって実行され、読み履歴更新処理303は、図1に示す読み履歴更新手段6によって実行される。
以下に示す音声入力処理201の処理は、例えば、利用者がカーナビゲーション装置に目的地を設定するために、利用者が地点名称を意味する音声を発してカーナビゲーション装置に地点名称を入力する場合の処理である。
音声入力処理201が起動された場合、まず音声入力処理301が実行される。カーナビゲーション装置の利用者、すなわち運転者が発した音声が、音声入力処理301によって端末側装置100に入力される。
音声入力処理201は、利用者によって、または自動的に起動される。端末側装置100は、音声入力処理301において、マイクロフォンなどの入力装置を介して利用者が発した音声を、端末側装置100に入力する。端末側装置100は、入力された音声を示す音声データを音声認識処理302へ送る。
ここで、利用者が、音声入力処理301において「こくぶんじひたち」という音声を発した場合を以下に示す。
続いて、端末側装置100は、音声認識処理302によって、利用者によって入力された音声データを認識する。音声認識処理302における音声データの認識は、既存の音声認識アルゴリズムを利用してもよい(例えば、非特許文献1、2参照)。非特許文献1には、音声データを、テキストデータに変換する音声認識アルゴリズムが記載されている。
この音声認識処理302の結果、利用者によって入力された音声データは、テキストデータに変換される。利用者が「こくぶんじひたち」と発声した場合、入力された音声データは、音声認識処理302によって、「こくぶんじひたち」というカナのテキストデータに変換される。
一般的なカーナビゲーション装置は、このような音声認識の処理によって認識されたテキストデータに基づいて、メモリに備わる地点名称データベースを検索し、利用者が発声した地点が具体的にどの地点を示すかを判定する。そして、カーナビゲーション装置は、判定された地点を、目的地を設定する処理などに送る。
ここで、音声認識処理302において認識されたテキストデータに基づいて、利用者が発声した地点が具体的にどの地点をさすかを判定する処理の例を、後述する。
図5は、本発明の第1の実施形態の端末側装置100による経路誘導等において用いられる地点情報が含まれた地点名称データベース400の説明図である。
なお、地点名称データベース400は、カーナビゲーション装置に備わるメモリに保存されてもよいし、端末側装置100に備わるメモリに保存されてもよい。また、カーナビゲーション装置および端末側装置100が共有するメモリに保存されてもよい。地点名称データベース400は、必要に応じて、カーナビゲーション装置または端末側装置100から参照または更新される。
図5に示す地点名称データベース400には、カーナビゲーション装置において用いられる可能性のある地点のリストと、それらの地点を音声によって入力された場合に、入力された音声データを照合する地点名称読みデータとが、複数含まれる。地点名称データベース400は、地点毎に一意に付された識別子である地点ID401、地点の一般的な名称を示す地点名称402、および、地点名称の読み方を示す地点名称読み403を、少なくとも含む。
図5に示す地点名称データベース400において、地点ID401が「1」を示す地点名称402は、「日立国分寺店」であり、地点名称402が「日立国分寺店」を示す地点名称読み403は、第1候補が「ひたちこくぶんじてん」、第2候補が「こくぶんじひたち」、第3候補が「ひたちこくぶんじ」である。
図4に示す音声認識処理302の結果、入力された音声データが「こくぶんじひたち」であると認識された場合、端末側装置100は、図5に示す地点名称データベース400を検索し、地点ID401が「1」である地点名称読み403の第2候補と、入力された音声データとが一致すると判定する。その結果、端末側装置100は、入力された音声データが示す地点の地点名称402は、地点ID401が「3」である「日立国分寺店」であると判定する。
音声認識処理302において判定された地点名称402は、一般的に、カーナビゲーション装置における目的地を設定する処理などに送られる。本発明の第1の実施形態における音声認識処理302において判定された地点名称402は、読み履歴更新処理303に送られる。
音声認識処理302から送られた音声データの判定結果に基づいて、端末側装置100は、読み履歴更新処理303において、読み履歴データベース500の更新処理を実行する。読み履歴データベース500の更新処理を、図6および図7を用いて示す。
図6は、本発明の第1の実施形態の端末側装置100における読み履歴データベース500を示す説明図である。
図6に示す読み履歴データベース500は、図1に示す読み履歴記憶手段5によって保存され、読み決定手段2によって参照されるデータベースである。読み履歴データベース500が保存されるメモリは、地点名称データベース400と同じく、端末側装置100から参照できれば、カーナビゲーション装置または端末側装置100のいずれの装置にあってもよい。なお、読み履歴データベース500は、図5に示す地点名称データベース400と同じデータによって構成されるため、後述するように地点名称データベース400を用いてもよい。
読み履歴データベース500は、地点名称を示す地点表記501、および地点名称の読み方を示す地点読み順502を、少なくとも含む。地点表記501は、地点名称データベース400における地点名称402と同じである。地点読み順502は、利用者によって最近使用された地点名称に基づいて、順位が付されており、最近使用された地点名称の読み方には、第1候補が付される。
端末側装置100は、読み履歴更新処理303において、音声認識処理302から送られた音声データの判定結果を、読み履歴データベース500において検索する。本実施形態における端末側装置100は、音声認識処理302の判定結果である地点名称の「日立国分寺店」を、読み履歴データベース500において検索し、地点表記501における「日立国分寺店」と、地点読み順502において第2候補である「こくぶんじひたち」とを、音声入力処理301において入力された音声データであると判定する。
続いて、端末側装置100は、読み履歴更新処理303において、読み履歴データベース500の地点読み順502において、判定された「こくぶんじひたち」を、最近使用された地点名称の読み方であるため、第2候補から第1候補に更新する。この読み履歴更新処理303の結果を、図7に示す。
図7は、本発明の第1実施形態の端末側装置100における読み履歴データベース500を示す説明図である。
地点表記501が「日立国分寺店」である地点読み順502のうち「ひたちこくぶんじてん」は、図6に示す地点読み順502において第2候補であったが、読み履歴更新処理303によって、図7に示す地点読み順502の下線601に示すように第1候補に更新される。また、地点表記501が「日立国分寺店」である地点読み順502のうち「ひたちこくぶんじてん」は、図6に示す地点読み順502において第1候補であったが、読み履歴更新処理303によって、図7に示す地点読み順502の下線602に示すように第2候補に更新される。
なお、本実施形態の端末側装置100は、読み履歴更新処理303においても図5に示す地点名称データベース400を用い、複数の音声入力処理201が同時に並行して処理される場合、読み履歴更新処理303における更新と音声認識処理302における検索とが同時に処理されることによって、音声認識処理302の検索結果に影響を受けることはない。
端末側装置100は、読み履歴更新処理303の後、音声入力処理201を終了する。
前述の音声入力処理201によって、端末側装置100は、利用者から入力された音声を地点名称として認識し、利用者が最近使用した地点名称の読みを、地点名称の読みの第1候補とすることができる。
次に、図3に示す音声合成処理202を、説明する。
図8は、本発明の第1の実施形態の端末側装置100における音声合成処理202を示す説明図である。
音声合成処理202は、カーナビゲーション装置において、例えば、目的地へ至る経路に沿って利用者を誘導する音声を読み上げる場合などに、起動される。音声合成処理202において、端末側装置100は、テキスト入力処理701、読み決定処理702、および音声合成処理703を実行する。テキスト入力処理701は、テキスト入力手段1によって実行され、読み決定処理702は、読み決定手段2によって実行され、音声合成処理703は、音声合成手段3によって実行される。
まず、端末側装置100は、音声合成処理202によってカーナビゲーション装置が読み上げようとする音声を示すテキストデータを、テキスト入力処理701において入力される。このテキストデータは、カーナビゲーション装置において行われる、目的地へ至る経路に沿って利用者を誘導する音声をカーナビゲーション装置が読み上げる処理から送られたり、センターサーバから受信した配信情報およびメール情報などを音声としてカーナビゲーション装置が読み上げる処理から送られたりする。
続いて、テキスト入力処理701によって入力されたテキストデータ、すなわち、カーナビゲーション装置から読み上げられる音声を示すテキストデータは、読み決定処理702へ送られる。読み決定処理702は、漢字かな混じり文として送られたテキストデータに、テキストデータに含まれる文字列の読みを付与する。
テキストデータに含まれる文字列の読みを付与する処理は、広義には、従来の音声合成技術における言語処理(読み付与処理)も含まれる。一方でこの読み決定処理702において、特定の地点名に対して振り仮名を付与するように、部分的な文字列に対して読みを指定する処理とすることも可能である。
従来の音声合成技術における読み付与処理は、形態素解析処理に基づいて構成される。形態素解析処理については、例えば文献「自然言語処理」(長尾真編、岩波書店、1996年発行)に詳細な記述がある。
図9は、本発明の第1の実施形態の端末側装置100の音声合成処理において用いられる単語辞書800を示す説明図である。
この形態素解析処理は、一般に、図9に示す単語辞書800を参照して解析処理が行われる。音声合成のための形態素解析処理において用いられる単語辞書800は、少なくとも表記801(単語エントリーとして検索される)、品詞802、アクセントを含む読み803が含まれる。
例えば、読み決定処理702に、漢字かな混じりテキスト「日立国分寺店の先を右折です」が入力され、従来の読みを付与する処理を行う場合、端末側装置100は、形態素解析処理の単語辞書に含まれる読み情報を用いて、「ひたちこくぶんじてんのさきをうせつです」のように読みを決定する。
本発明における端末側装置100は、読み決定処理702において、図9に示す単語辞書800に加えて、図6または図7に示す読み履歴データベース500を用いる。
具体的には、端末側装置100は、従来の形態素解析処理における形態素の辞書検索処理において、図9に示す単語辞書800よりも優先して読み履歴データベース500を検索し、読み履歴データベース500に含まれる地点表記501を、単語エントリーとして検索する。
これによって、端末側装置100は、読み履歴データベース500における地点表記501と地点読み順502とを優先して検索することができ、読みを付与する処理に反映することができる。具体的には、端末側装置100は、テキスト入力処理701において入力されたテキストデータに含まれる地点表記の文字列「日立国分寺店」に、図6に示す読み履歴データベース500の状態においては「ひたちこくぶんじてん」という読みが、図7に示す読み履歴データベース500の状態においては「こくぶんじひたち」という読みを、読み決定処理702において付与する。
この結果、前述の例に示した「日立国分寺店の先を右折です」が入力された場合、端末側装置100は、図7に示す読み履歴データベース500の状態において、入力されたテキストデータに「こくぶんじひたちのさきをうせつです」という読みを付与する。
前述の処理によって読みが付与されたテキストデータは、続いて、音声合成処理703に送られ、音声に変換される。この音声合成処理703は、例えば、非特許文献1、2に記載されている方法を用いればよい。そして、端末側装置100は、音声に変換されたデータを、図1に示す音声出力手段9によって読み上げてもよいし、カーナビゲーション装置の処理に出力を戻してもよい。
以上の処理によって、第1の実施形態における端末側装置100を備えるカーナビゲーション装置は、あらかじめ端末側装置100に登録されている地点名称を音声として読み上げる場合、利用者が音声によって入力したことのある読みによって読み上げることができる。すなわち、「日立国分寺店」という地点を、「こくぶんじひたち」と呼んでいる利用者には、カーナビゲーション装置も「こくぶんじひたち」という音声を読み上げ、「ひたちこくぶんじ」と呼んでいる利用者には、カーナビゲーション装置も「ひたちこくぶんじ」という音声を読み上げることができる。
これによって、本発明を適用したカーナビゲーション装置は、利用者が慣れ親しんだ名称の呼び方によって、音声ガイダンスをすることが可能となり、利用者にとって利便性が向上する。
次に、図3に示す読み優先順更新処理203を、図10を用いて説明する。
図10は、本発明の第1の実施形態の端末側装置100の読み優先順更新処理203の処理を示す説明図である。
読み優先順更新処理203は、図1に示す読み履歴送信手段4と読み優先順受信手段8とによって実行される。
カーナビゲーション装置は、登録されている地点情報(地点名称を含む)が更新されることがある。具体的には、カーナビゲーション装置が備える経路誘導用の地図データは、定期的に更新されることが多く、POI(Point Of Interest:地点)または道路情報などが、追加、修正、または削除される。
従来は、利用者がカーディーラー等の店舗に行って、CD−ROM、またはDVD−ROMなどの地図情報記録メディアを交換することによって、カーナビゲーション装置が備える地図データは、更新されていた。しかし、今後のカーナビゲーション装置は、カーナビゲーション装置に接続された携帯電話、または無線LANなどを用いて、ネットワーク経由によって更新される場合が増えていくと推測される。
カーナビゲーション装置は、本実施形態における読み優先順更新処理203を起動および実行するように構成すれば、手動によって更新しても自動によって更新しても、いずれの更新の方法を採ってもよい。本実施形態においては、ネットワーク経由において地図データを自動的に更新される場合を後述する。
カーナビゲーション装置において、地図データの更新処理が起動された場合、本発明の端末側装置100における読み優先順更新処理203が同時に実行される。
読み優先順更新処理203は、図10に示すように、読み履歴ベクトル作成処理901、読み履歴送信処理902、読み優先順受信処理903、および、読み履歴更新処理904の順に処理される。
読み優先順更新処理203が起動されると、まず、読み履歴ベクトル作成処理901が実行される。
読み履歴ベクトル作成処理901は、カーナビゲーション装置の利用者が地点をどのように呼んだか、すなわちその地点の名称がどのように音声として入力されたかを指定する読み履歴ベクトル情報1000を作成する処理である。
図11は、本発明の第1の実施形態の端末側装置100の読み履歴送信手段4から送信される読み履歴ベクトル情報1000の説明図である。
読み履歴ベクトル情報1000は、地点名称に関する様々な情報を含んでもよいが、最も簡単には、例えば、図11に示すように、利用者が端末側装置100に音声入力し、読み履歴更新処理303によって更新された読み履歴データベース500内における地点表記501と地点読み順502の第1候補との組みあわせを列挙したベクトル形式であってもよい。図11に示す地点表記1001は、図6に示す地点表記501であり、図11に示す地点読み第1候補1002は、図6に示す地点読み順502の第1候補である。
また、前述のように、読み履歴データベース500と地点データベース400とを共用する場合の、読み履歴ベクトル情報1000を示す。
図12は、本発明の第1の実施形態の端末側装置100の読み履歴送信手段4から送信される読み履歴ベクトル情報1000の説明図である。
図12に示す読み履歴ベクトル情報1000は、地点ID1101ごとの地点読み第1候補1102を列挙したベクトル形式によって示される。図12に示す地点読み第1候補1102のうち「−」を示す行は、利用者による音声の入力がまだなされていない、すなわち、読み履歴更新処理303が行われていない地点を示す。
読み履歴ベクトル作成処理901によって作成された読み履歴ベクトル情報1000は、読み履歴送信処理902によって、サーバ側装置101へ送信される。
読み履歴ベクトル作成処理901と、読み履歴送信処理902とは、読み履歴送信手段4によって実行される。
読み履歴ベクトル情報1000は、端末側装置100からサーバ側装置101へ、前述に示したカーナビゲーション装置の地図データの更新と同じく、携帯電話または無線LANのようなネットワークを経由して自動的に送信されてもよい。また、例えば、USBメモリまたはSDメモリカードのようなデータ記録メディアを用いた手作業によって、カーディーラー店舗に設置された地図データを更新するサーバ装置に入力され、カーディーラー店舗に設置されたサーバ装置からサーバ側装置101に送られてもよい。
読み履歴ベクトル送信処理902が終了すると、続いて読み優先順受信処理903が実行される。読み優先順受信処理903において、端末側装置100は、サーバ側装置101から読み優先順データ1200が送信されるまで待機する。
図13は、本発明の第1の実施形態の端末側装置100の読み優先順受信手段8によって受信される読み優先順データ1200を示す説明図である。
図13に示す読み優先順データ1200は、図12に示す読み履歴ベクトル情報1000と同じく地点ID1201ごとに読み優先順データ1200が示される形式であるが、前述のように図11に示す読み履歴ベクトル情報1000と同じベクトル形式であってもよい。
サーバ側装置101から送信される読み優先順データ1200は、端末側装置100において新たに追加すべき地点を示す地点ID1201と、その読みを示す地点読み第1候補1202とを含む。
図12に示す読み履歴ベクトル情報1000において、地点ID1101が「2」であるエントリーは、地点読み第1候補1102に「−」と記載されていた。これに対し、図13に示す読み優先順データ1200において、地点ID1201が「2」であるエントリーは、地点ID1201の地点読み第1候補1202に、「ひたちほんしゃ」という読みが指定される。すなわち、サーバ側装置101は、読みが記載されていなかった地点IDに読みを指定して、読みを指定した地点IDを端末側装置100に送る。
このように、図13に示す読み優先順データ1200は、読みを追加すべき地点と読みの組みあわせを、サーバ側装置101によって0個以上指定された情報を含む。なお、サーバ側装置101によって読みを指定された地点ID1201には、端末側装置100において新たに追加すべき旨を示すフラグを付加してもよい。
端末側装置100は、サーバ側装置101から図13に示す読み優先順データ1200を受信すると、続いて読み履歴更新処理904を実行する。
読み履歴更新処理904は、サーバ側装置101から受信した読み優先順データ1200に基づいて、読み履歴データベース500を更新する。すなわち、読み履歴データベース500に保存される各地点の地点読み順502に、受信した読み優先順データ1200に指定された読みを第1候補として設定する。
例えば、図13に示す読み優先順データ1200を受信した場合、地点ID1201が「2」である地点と、その地点読み第1候補1202が示す読みとは、新たに読み履歴データベース500に追加すべき地点とその読みとを示す。
端末側装置100は、読み優先順受信処理903において受信した読み優先順データ1200から、追加すべき地点と読みとの組み合わせをすべて抽出する。そして、抽出された組み合わせを、対応する読み履歴データベース500の地点表記501と地点読み順502とに、第1候補として追加する。
この結果、図7に示す読み履歴データベース500、または図5に示す地点データベース400は、それぞれ図14、および図15に示す内容に更新される。
図14は、本発明の第1の実施形態の端末側装置100における読み履歴データベース500を示す説明図である。
端末側装置100は、地点表記501が「日立本店」を示すエントリーの地点読み順502に、「ひたちほんしゃ」という読みを下線1301に示すように第1候補として追加する。
端末側装置100は、読み優先順データ1200から抽出した組み合わせのうち、地点ID1201について、地点データベース400において検索してから、地点表記501を検索してもよい。
図15は、本発明の第1の実施形態の端末側装置100の経路誘導等において用いられる地点情報が含まれた地点データベース400を示す説明図である。
端末側装置100は、地点表記401が「2」を示すエントリーの地点名称読み403に、「ひたちほんしゃ」という読みを下線1401に示すように第1候補として追加する。
読み履歴データベース500、または地点データベース400の更新が終了すると、読み優先順更新処理203が終了する。
前述の通り、読み優先順更新処理203によって、カーナビゲーション装置の利用者がこれまで音声によって入力したことのない地点「日立本店」に、優先すべき読み「ひたちほんしゃ」が指定される。そして、読み優先順更新処理203が行われた後、カーナビゲーション装置は、利用者に経路を誘導するために読み上げる音声に、例えば「日立本店の先を右折です」というテキストが指定された場合、前述の音声合成処理202における読み決定処理302によって、「ひたちほんしゃのさきをうせつです」という読みを読み上げる。
次に、端末側装置100と連携するサーバ側装置101の処理について示す。
サーバ側装置101の構成は、図1に示される。以下、この図1に従って、サーバ側装置101における処理を示す。
図16は、本発明の第1の実施形態のサーバ側装置101の処理を示す説明図である。
まず、図11または図12に示す読み履歴ベクトル情報1000は、端末側装置100の読み履歴送信手段4によって、サーバ側装置101に送信される。読み履歴ベクトル情報1000は、サーバ側装置101において、読み履歴送信手段4に対応する受信手段である読み履歴受信手段11によって受信され、続いて、読み履歴記憶手段13へ送られる(読み履歴受信処理1801)。
なお、サーバ側装置101は、複数の端末側装置100から送信される複数の読み履歴ベクトル情報1000を受信できる。その場合、サーバ側装置101は、一つの端末側装置100から読み履歴ベクトル情報1000を受信してから、その端末側装置100に読み優先順データ1200を送信するまでの間、他の端末側装置100からの読み履歴ベクトル情報1000の送信要求を承認せず、他の端末側装置100を待機させておいてもよい。また、複数の端末側装置100からの送信要求を、並列に処理してもよい。後者の場合、サーバ側装置101は、後述する読み履歴記憶手段13および読み優先順決定手段14を排他的に処理する。
以下に示す本実施形態のサーバ側装置101は、一つの端末側装置100から送信された読み履歴ベクトル情報1000について処理する。
読み履歴ベクトル情報1000は、端末側装置100から送信され、読み履歴受信手段11によって受信されると、読み履歴記憶手段13に送られて読み履歴ベクトルデータベース1500に保存される(読み履歴登録処理1802)。
図17は、本発明の第1の実施形態の読み履歴記憶手段13によって保存される読み履歴ベクトルデータベース1500を示す説明図である。
読み履歴ベクトルデータベース1500は、各端末側装置100から送信される読み履歴ベクトル情報1000を、端末側装置100を一意に識別する端末ID1501とともに保存する。例えば、端末ID1501が「1」(以降、端末ID1と記載する)である端末側装置100から図11または図12に示す読み履歴ベクトル情報1000が送られた場合、サーバ側装置101の読み履歴ベクトルデータベース1500には、図17に示すように端末ID1のエントリーに、受信された読み履歴ベクトル情報1000が保存される。以降、各端末ID1501に対応するエントリーを、読み履歴ベクトルと記載する。
具体的には、端末側装置100から送信された読み履歴ベクトル情報1000の地点ID1101が「1」を示す地点読み第1候補1102の値は、読み履歴ベクトルデータベース1500において、一意に決定される端末ID1501の地点ID1として保存される。また、読み履歴ベクトル情報1000の地点ID1101が「2」を示す地点読み第1候補1102の値は、読み履歴ベクトルデータベース1500における地点ID2に保存される。
他の端末ID1501が示す端末側装置100から読み履歴ベクトル情報1000が送信された場合も同じく、サーバ側装置101は、対応する端末ID1501の読み履歴ベクトルへ送られた読み履歴ベクトル情報1000を保存する。
読み履歴登録処理1802は、読み履歴記憶手段13によって保存される読み履歴ベクトルデータベース1500の読み履歴ベクトルを作成し、作成された読み履歴ベクトルを読み履歴ベクトルデータベース1500に登録する処理である。
図18は、本発明の第1の実施形態のサーバ側装置の読み履歴登録処理1802を示す説明図である。
読み履歴登録処理1802は、受信した読み履歴ベクトル情報1000に対応する端末ID1501を取得し(端末ID取得処理1901)、取得した端末ID1501を付与された読み履歴ベクトルデータベース1500の読み履歴ベクトルを作成し(登録データ作成処理1902)、読み履歴ベクトルデータベース1500に登録する(排他的DB登録処理1903)。
読み履歴登録処理1802に続いて、後述する読み優先順決定処理1803が実行される。
読み優先順決定処理1803は、読み履歴ベクトル情報1000を送信した端末側装置100に、その端末側装置100の利用者がまだ音声によって入力していない地点、すなわち受信した読み履歴ベクトル情報1000内に読みが指定されていない地点の、読みを決定する。なお、読み優先順決定処理1803は、読み優先順決定手段14によって実行される。
図19は、本発明の第1の実施形態のサーバ側装置101の読み優先順決定処理1803を示すフローチャートである。
ここで、読み履歴登録処理1802において、端末側装置100から送信された読み履歴ベクトル情報1000は、端末ID1の読み履歴ベクトルに保存されたとする。
サーバ側装置101は、読み優先順決定処理1803において、まず、読み履歴ベクトルデータベース1500から、端末ID1の読み履歴ベクトルと比較する他の読み履歴ベクトルを取得する(S2001)。
そして、サーバ側装置101は、取得された読み履歴ベクトルと端末ID1の読み履歴ベクトルとの距離、すなわち類似性を、後述する手段によって算出する(S2002)。
サーバ側装置101は、読み履歴ベクトルデータベース1500に含まれる全読み履歴ベクトルと、端末ID1の読み履歴ベクトルとの比較が、すべて終了したか否かを判定する(S2003)。
終了していない場合、サーバ側装置101は、S2001に戻り、まだ端末ID1の読み履歴ベクトルと比較していない読み履歴ベクトルを取得する。
終了した場合は、サーバ側装置101は、S2002において算出された距離の中から、最小の距離となる読み履歴ベクトルを取得する(S2004)。
サーバ側装置101は、最小の距離となる読み履歴ベクトルと、端末ID1の読み履歴ベクトルとを比較し、端末ID1の読み履歴ベクトルにおいて指定されていない地点IDに、最小の距離となる読み履歴ベクトルにおける同じ地点IDを持つ値をコピーする(S2005)。
最後に、サーバ側装置101は、S2005によって地点IDの値をコピーされた読み履歴ベクトルによって、読み履歴ベクトルデータベース1500を更新する(S2006)。
S2003の詳細を、後述する。
ここで、読み優先順決定手段14(すなわち、読み優先順決定処理1803)によって決定される読みは、利便性の向上のため、その端末側装置100の利用者が今後、その地点を音声によって入力する場合に使用する可能性の高い読みである必要がある。
利用者によって使用される可能性の高い読みを決定するためのS2003の方法には、例えば、後述する方法がある。
まず、サーバ側装置101は、読み履歴記憶手段13によって読み履歴ベクトルデータベース1500に保存される読み履歴ベクトルのうち、読み履歴ベクトル情報1000を送信した端末側装置100、すなわち本実施形態においては、端末ID1の読み履歴ベクトルに最も近い読み履歴ベクトルを検索する。
なお、最も近い読み履歴ベクトル、すなわち最も類似している読み履歴ベクトルを検索するために、地点ID1およびその他の地点IDの値の各々を要素ととらえ、一つの読み履歴ベクトルが複数の要素によってベクトルを構成しているとみなし、そのベクトルの距離を算出することによって、最も類似する読み履歴ベクトルを検索する。
ここで、ベクトルの距離には、例えば、読みの一致または不一致する地点IDの個数によって算出するハミング距離、すなわち読みが一致しなかった地点IDの個数を用いることができる。このとき、読みが指定されていない地点ID(図17に示す「−」という記号が記載されている要素)は、読みが一致したものとして算出する。
具体的には、図17に示す地点ID1、地点ID2、地点ID1000以外の要素には、「−」が記載されている場合、端末ID1の読み履歴ベクトルと、端末ID1501が「2」(以降、端末ID2と記載する)を示す読み履歴ベクトルとのベクトルの距離は、地点ID1において、双方の値が一致しないため、1と算出される。また、端末ID1の読み履歴ベクトルと、端末ID1501が「100」(以降、端末ID100と記載する)を示す読み履歴ベクトルとのベクトルの距離は、地点ID1において、双方の値が一致し、他のすべての値も一致しているとみなせるため、0と算出される。
なお、ベクトルの距離は、ハミング距離そのものではなく、距離を算出する二つの読み履歴ベクトルが各々示すベクトルにおいて算出されたハミング距離を、「−」が記載されていない地点IDの個数によって割った値を距離としてもよい。
また、ベクトルの距離は、あらかじめ地点IDごとに重みを設定しておいて、読みが一致しない地点の重みを合計した値を距離としてもよい。
このベクトルの距離を計算する処理の結果、最も距離の値が低い読み履歴ベクトルの組み合わせが、最も近い読み履歴ベクトルであると判定される。前述の具体例において、端末ID1の読み履歴ベクトルに最も近い読み履歴ベクトルを持つ端末側装置100は、ベクトルの距離が0と算出された、端末ID100を示す端末側装置100であると判定される。
続いて、サーバ側装置101は、端末ID1を示す読み履歴ベクトルから最もベクトルの距離が近いと判定された読み履歴ベクトルの中から、端末ID1の読み履歴ベクトルに読みが指定されていない地点IDを検索し、その地点IDの読みを抽出する。前述の具体例において、サーバ側端末101は、最も近いと判定された端末ID100の読み履歴ベクトルから、端末ID1の読み履歴ベクトルには読みが指定されていない読み、すなわち、地点ID2における読み「ひたちほんしゃ」を抽出する。
前述の具体例においては一つの地点とその読みとが抽出されたが、当然ながら、複数の地点とその読みとの組み合わせが抽出されてもよい。
前述に示す読み優先順決定処理1803によれば、端末ID1から受信した読み履歴ベクトルにおいて指定されていない読みを、最も距離の近い読み履歴ベクトルから抽出し、読みを指定することができる。
しかし、図19に示す処理のように最も距離の近い読み履歴ベクトルを取得するのではなく、任意の距離に存在する複数の読み履歴ベクトルから、指定されていない読みを抽出してもよい。これによって、受信した読み履歴ベクトルにおいても読みが指定されていなく、また、最も距離の近い読み履歴ベクトルにおいても読みが指定されていない場合に、2番目以降に距離が近い読み履歴ベクトルに指定されている読みから抽出することによって、り指定されていない読みをより減らすことが可能となる。
任意の距離に存在する複数の読み履歴ベクトルから読みを抽出する場合、サーバ側装置101は、図19に示すS2004において、あらかじめ定められた任意の距離に存在する読み履歴ベクトルを取得する。そして、S2005において、最も距離の近い読み履歴ベクトルから、受信した読み履歴ベクトルにおいて読みを指定されていなかった地点IDを検索し、最も距離の近い読み履歴ベクトルの地点IDに読みが指定されていない場合は、2番目に距離の近い読み履歴ベクトルを検索する。このように、読みが指定されている読み履歴ベクトルを検索し、指定されている読みの中でも距離が近い読みを抽出する。
以上の読み優先順決定処理1803は、複数の地点の読み方が同じ利用者間において、どちらか一方の利用者がいまだ音声によって入力していなかった地点を初めて呼ぶ場合、もう一方の利用者が用いる読み方と同じ読み方によって、呼ぶ傾向が高いという特徴を利用している。すなわち、「日立国分寺店」を「こくぶんじひたち」と呼ぶ端末ID1に対応する端末側装置100の利用者は、「日立国分寺店」を「こくぶんじひたち」と呼ぶ端末ID100に対応する端末側装置100の利用者と同じじように「日立本店」という地名を、「ひたちほんしゃ」と呼ぶ可能性が高い。
図12に示す読み履歴ベクトル情報1000は、前述の通り読み優先順決定処理1803によって更新され、図13に示す読み優先順データ1200のように変更される。図13に示される読み優先順データ1200は、読み優先順決定手段14から読み優先順送信手段12へ送られ、その後、携帯電話、または無線LANなどのネットワークを介して端末側装置100へ送信される(読み優先順送信処理1804)。
以上によって、サーバ側装置101における、読み履歴ベクトルへの処理を終了する。
サーバ側装置101は、新たな地点情報が追加される場合、サーバ側装置101に備わる新規読み受信手段15が実行され、新たな地点IDが追加される。
新たな地点情報を追加する処理は、まず、図17に示す読み履歴ベクトルデータベース1500において、新たな地点IDの列を追加し、新たな地点IDの列の値に未設定を示す「−」を記載する。前述のサーバ側装置101の処理は、地点の読み履歴ベクトルデータベース1500の変更のみであるため、新たに追加された地点の名称およびそれらの地点に対応する複数の読み候補を、端末側装置100に送信することができない。新たな地点情報を、端末側装置100に追加する処理は、例えばカーナビゲーション装置に備わる地図データ更新技術などを用いて、別途、カーナビゲーション装置から端末側装置100に送信されてもよい。
しかし、新たな地点情報を追加する処理によって、読み履歴ベクトルデータベース1500の読みの値に「−」を記載するだけでは、端末側装置100に優先すべき読みを送信できない。これは新たに追加された地点への読みは、すべての端末側装置101の利用者が入力していないため、前述の読み履歴ベクトルの距離、すなわち類似性に基づく読み優先順決定処理1803によって読みを決定できないためである。
後述の読み決定方法は、読み履歴ベクトルデータベース1500において、地点IDが示す地点名称の文字列を形態素解析し、解析結果の距離が近い地点IDに指定されている読みをもとにして、追加された地点の読みを決定する方法である。
なお、後述の読み決定方法は、前述の読み履歴ベクトルの距離、すなわち類似性に基づく読み決定手法の代わりに読み優先順決定処理1803において用いられてもよい。
以下、具体例を挙げて説明する。以下の説明において、サーバ側装置101は、端末ID1に対応する端末側装置100の利用者に、読み優先順決定処理1803をする。
図20は、本発明の第1の実施形態のサーバ側装置101の形態素解析処理に基づく読み優先順決定処理1803を示すフローチャートである。
まず、読み履歴ベクトルデータベース1500に、新たに「日立新宿店」という地点名称の文字列が追加されたとする。サーバ側装置101は、新規読み受信手段15によって、新たな地点名称である「日立新宿店」を受信し、受信した新たな地点名称に一意な地点IDを割り当て、読み履歴ベクトルデータベース1500の列を作成する。
サーバ側装置101は、この文字列に形態素解析処理を行う(S2101)。ここで用いる形態素解析処理は、端末側装置100による読み決定処理702において用いられる処理と同じである。
この形態素解析処理の結果、サーバ側装置101は、「日立新宿店」から図21に示す解析結果1600を得る。
図21は、本発明の第1の実施形態のサーバ側装置101の読み優先順決定手段14による地点名称の解析結果1600を示す説明図である。
図21に示す解析結果1600は、図9に示す単語辞書800と同じ列を含む。解析結果1600は、表記1601、品詞1602、および読み1603を含む。本実施形態のサーバ側装置101は、図21に示すように、地点「日立新宿店」の文字列を、「日立」、「新宿」、および「店」の形態素に分割する。
また、サーバ側装置101は、解析結果1600のうち、品詞1602の列のみを抽出し、追加された地点の品詞情報ベクトルを取得する。
次に、サーバ側装置101は、読み履歴ベクトルデータベース1500の端末ID1の読み履歴ベクトルにおいて、地点IDの読みを取得する(S2102)。そして、取得した地点IDに既に指定されている読みが有るか無しかを判定する(S2103)。指定されている読みがない場合、サーバ側装置101は、S2102に戻り、次の地点IDを取得する。
指定されている読みが有る場合、サーバ側装置101は、取得された地点IDに対応する地点名称の表記文字列を、S2101の処理と同じく形態素解析する(S2104)。なお、形態素解析処理は、地点情報が追加された際に一度だけ実行し、その解析結果を保存しておいてもよい。
例えば、サーバ側装置101は、地点ID1に対応する地点「日立国分寺店」の文字列から、形態素解析によって、図22に示す解析結果1700を取得する。
図22は、本発明の第1の実施形態のサーバ側装置101の読み優先順決定手段14による地点名称の解析結果1700を示す説明図である。
読み優先順決定手段14による解析結果1700は、図21と同じく図9に示す単語辞書800と同じ列を含む。本実施形態のサーバ側装置は、図22に示すように、地点「日立国分寺店」の文字列を、「日立」、「国分寺」、および「店」に分割する。
そして、解析結果1700のうち品詞1602の列のみを抽出し、既に読みが指定されている地点IDの品詞情報ベクトルを取得する。そして、サーバ側装置101は、S2102において取得された追加された地点の品詞情報ベクトルと、既に読みが指定されている地点の品詞情報ベクトルとの距離を算出する(S2105)。この距離計算には、前述した一致および不一致によるハミング距離などを用いてもよい。また、距離計算の手段には、品詞情報ベクトルだけではなく、表記1601または読み1603を各々情報ベクトルとし、各々の情報ベクトル間の距離を算出し、算出した距離に重みをつけて加算するなどをしてもよい。
次に、サーバ側装置101は、既に読みが指定されているすべての地点IDについて、追加された地点の品詞情報ベクトルからの距離を算出したか否かを判定する(S2106)。すべての地点IDについて距離を算出していない場合、サーバ側装置101は、S2102に戻る。すべての地点IDについて距離を算出した場合、サーバ側装置101は、追加された地点から最も距離が小さい地点を取得する(S2107)。
ここで、品詞情報ベクトルによって、最も距離が小さい(近い)地点を検索した結果、端末ID1において、地点「日立新宿店」から最も距離が近い地点として、地点「日立国分寺店」が取得されたとする。
次に、サーバ側装置101は、読み履歴ベクトルデータベース1500を参照し、S2107において取得された最も距離が近い地点における、形態素解析結果の読み情報の順序と、その地点IDに設定された読み情報とを比較する。
例えば、読み履歴ベクトルデータベース1500の端末ID1において、地点「日立国分寺店」は、「こくぶんじひたち」という読みを優先すべきものとして指定されているとする。そして、図22に示す解析結果1700の読み1603を用いて、「こくぶんじひたち」という読みを構成できるか否かを判定する。この判定処理には、入力文字列「こくぶんじひたち」に、図22に示す読み1603を用いて、最長一致法アルゴリズムによって全体が一致する文字列を構成できるか否かを判定してもよい。なお、この判定によって、読みを構成できないと判定された場合、サーバ側装置101は、S2107に戻り、次に距離が近い地点を取得してもよい。
その結果、サーバ側装置101は、図22に示す2行目の形態素の読み1603の「こくぶんじ」と、1行目の形態素の読み1603「ひたち」とを結合することによって「こくぶんじひたち」という読みが構成できると判定する。
そして、サーバ側装置101は、この2行目の形態素の品詞1602「地名」と、1行目の形態素の品詞1602「固有名詞」の順番を、追加された地点名称の解析結果1600に適用し、「しんじゅくひたち」という読みを生成する(S2108)。
前述の処理の結果から、端末ID1の利用者は、追加された地点「日立新宿店」を、「しんじゅくひたち」という呼び方によって呼ぶ可能性が高いことが推測される。この読み「しんじゅくひたち」は、図17に示す読み履歴ベクトルデータベース1500に、追加された地点「日立新宿店」に対応する地点IDに保存され、前述の処理に従って端末側装置100へ図13に示す読み優先順データ1200の形式によって送信される。
この結果、端末側装置100は、新たに追加された地点「日立新宿店」に「しんじゅくひたち」という読みを第1候補として設定される。そして、端末側装置100が備わるカーナビゲーション装置における音声ガイダンスは、これ以降、文字列「日立新宿店」に「しんじゅくひたち」という音声を読み上げる。
なお、図20に示す処理は、前述の新規に追加される地名にも、またはどの端末ID1501においても読みが指定されていない未知地名にも、適用することができる読み優先順決定処理1803である。図19および図20に示す処理は、読み履歴ベクトルデータベース1500の読み履歴ベクトル間の距離を算出する処理であり、同様の流れによって行われる。ただし、図20においては、サーバ側装置101から読み優先順データを送信する対象となる端末側装置100を示す端末ID1501の読み履歴ベクトルのみを用いる。
また、前述において読み履歴ベクトル間の距離を取得するために、品詞情報ベクトルを用いたが、品詞情報のほかにも様々な言語情報またはPOIに関する補足情報(飲食店、施設名などのカテゴリ情報など)を解析結果に含めてもよい。また、S2105における距離を算出するためのアルゴリズムには、前述の品詞情報ベクトル間におけるハミング距離のほかにも、品詞またはPOIカテゴリの近さを考慮した重み付き距離などの様々な方法を用いてもよい。
この図20に示す処理は、対象となった読み履歴ベクトルのすべての未知地名に読み情報が指定されるまで繰り返されてもよい。
(第2の実施形態)
第2の実施形態では、端末側装置100およびサーバ側装置101という区別を設けずに、同じ装置によって本発明の処理を行う。第2の実施形態は、例えば、外部との通信機能を持たないカーナビゲーション装置においても適用できるし、また、通信機能を有していても、利用者の読み履歴情報をサーバ側装置101に送信することができない場合(セキュリティ等)にも適用できる。
図23は、本発明の第2の実施形態の端末側装置2200の構成を示すブロック図である。
第2の実施形態において、サーバ側装置101は使用されない。このため、端末側装置2200は、第1の実施形態における端末側装置100が備える手段と同様な手段を備えるが、読み履歴ベクトル送信手段4および読み優先順受信手段8を備えない。また、読み優先順受信手段8の代わりに、第1の実施形態においてサーバ側装置101に備えられた読み優先順決定手段14と同じ機能を持つ読み優先順決定手段2208を備える。第1の実施形態における端末側装置100に備わる手段と異なる手段は、この読み優先順決定手段2208のみであるため、この手段についてのみ後述し、その他の手段については省略する。
この第2の実施形態において、端末側装置2200は、第1の実施形態のように他の端末側装置100の読み履歴ベクトル情報1000、または読み優先順データ1200を用いて、未知、すなわち新規の地名に読み優先順を決定できない。そのため、読み優先順決定手段2208では、第1の実施形態における読み優先順決定処理1803の中でも、形態素および品詞情報に基づく読み決定処理、すなわち、図20に示す形態素ベクトル間距離に基づく読み優先順決定処理を行うことによって、未知、すなわち新規の地名に読み優先順を決定する。これによって、端末側装置2200のみによって処理する構成が可能となる。
すなわち、第2の実施の形態によれば、端末側装置は、複数の単語を音声にて出力し、前記単語と、当該単語に対応する読みとの組み合わせを保持し、前記保持された単語を形態素解析によって、品詞毎の単位文字列に分割し、前記分割された単位文字列が同じ品詞である場合、前記単位文字列の読みが類似する単語を取得し、前記取得された単語の読みに基づいて、前記単位文字列を並べる順番を特定し、前記特定された単位文字列の順番によって、当該取得された単語と単位文字列の品詞の配列が類似する単語の単位文字列を並べ、前記並べられた単位文字列に基づいて、当該単語の読みを生成し、前記生成された読みによって、前記組み合わせに含まれる単語の読みを更新し、前記更新された組み合わせを用いて、前記単語を音声にて出力するためのデータを作成することを特徴とする。
(第3の実施形態)
また、第1および第2の実施形態の中間段階として、第3の実施形態の端末側装置100は、サーバ側装置101に利用者の読み履歴ベクトル情報1000全体を送らずに、読み優先順を決定したい地点IDのみを送信し、サーバ側装置101によって処理された結果の読み優先順データ1200を受信してもよい。この場合、第2の実施形態と同じく読み履歴ベクトル間の距離計算ができないため、サーバ側装置101における読み優先順決定処理1803において、形態素および品詞情報の近さに基づく図20の処理を行う。
例えば、端末側装置100は、通信手段を持つがサーバ側装置101に大量のデータを送ることができない場合、または端末側装置100ではCPUの処理性能などの制限によって、第2の実施形態を適用できない場合などに、第3の実施形態は適用可能である。
本発明の第1ないし第3の実施形態によれば、例えばカーナビゲーション装置に備わる端末側装置100は、音声入力された地点名の読み情報を記録しておく読み履歴記憶手段5と、その情報を音声入力ごとに更新する読み履歴更新手段6と、記憶されている読み履歴ベクトル情報1000をサーバ側装置101に送信する読み履歴送信手段4と、サーバ側装置101から送信される読み優先順情報を受信する読み優先順受信手段8と、読み履歴記憶手段5に格納されている読み履歴ベクトル情報1000を利用して漢字かなテキストへの読みを付与する読み決定手段2とを備えることによって、利用者が音声によって入力した地点名の呼び方を用いて、以降の音声ガイダンスを行うことができる。また、端末側装置100は、利用者がまだ入力していない地点名称にも、サーバ側装置101から送信された読みを用いることによって、利用者がその地点名称を呼ぶ可能性の高い読みによって地点名を読み上げることができる。
すなわち、第3の実施の形態によれば、端末側装置は、前記組み合わせのうち、一部の単語と、当該単語に対応する読みとの組み合わせを前記サーバに送信し、前記サーバ側装置は、前記送信された一部の組み合わせを使用する。