(57)【要約】【課題】階層構造にあるワード間の関係を適切に判別すること。【解決手段】複数の文を含むデータを格納したデータベースと、前記データベースにおいて、入力された二つのワード間に特定のワードが出現した回数を算出し、前記特定のワードの出現数を軸とする仮想空間内における前記算出した回数を座標値とする座標の位置に基づいて、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する関係判別部と、を備える言語関係判別装置。【選択図】図３
2013254339.tif 000002
【特許請求の範囲】
【請求項１】
複数の文を含むデータを格納したデータベースと、
前記データベースにおいて、入力された二つのワード間に特定のワードが出現した回数を算出し、前記特定のワードの出現数を軸とする仮想空間内における前記算出した回数を座標値とする座標の位置に基づいて、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する関係判別部と、
を備える言語関係判別装置。
【請求項２】
請求項１記載の言語関係判別装置であって、
前記関係判別部は、前記仮想空間内における前記算出した回数を座標値とする座標の位置が、予めサポートベクターマシンにより決定された分離超平面に対していずれの側に存在するかにより、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する、
言語関係判別装置。
【請求項３】
請求項１又は２記載の言語関係判別装置であって、
前記入力された二つのワード間の関係の強さを示す指標値を算出する指標値算出部を備える、
言語関係判別装置。
【請求項４】
請求項３記載の言語関係判別装置であって、
入力された新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前記関係判別部による判別、及び前記指標値算出部による指標値の算出を行い、該判別の結果及び指標値の大きさに基づいて、前記新規ワードを前記階層構造内に配置する、
言語関係判別装置。
【請求項５】
請求項３又は４記載の言語関係判別装置であって、
前記指標値算出部により算出された指標値が所定値以上である場合に、前記関係判別部による判別が行われる、
言語関係判別装置。
【請求項６】
請求項３記載の言語関係判別装置であって、
装置に対するコマンドとしてユーザにより入力された新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前記関係判別部による判別及び前記指標値算出部による指標値の算出を行い、該判別の結果及び指標値の大きさに基づいて、前記新規ワードと並列関係にあるワードのうち前記新規ワードと最も関係の強さの高いワードを前記装置に対するコマンドとして決定する、
言語関係判別装置。
【請求項７】
請求項１ないし３のいずれか１項記載の言語関係判別装置であって、
情報を取得するためのキーワードとしてユーザにより入力された複数の新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前記判別部による判別を行い、前記複数の新規ワードの全てに対して上下関係に存在するワードが存在する場合に、該上位に存在するワードを、前記情報を取得するためのキーワードとして決定する、
言語関係判別装置。
【請求項８】
コンピュータに、
複数の文を含むデータを格納したデータベースにおいて、入力された二つのワード間に特定のワードが出現した回数を算出させ、
前記特定のワードの出現数を軸とする仮想空間内における前記算出した回数を座標値とする座標の位置に基づいて、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別させる、
言語関係判別プログラム。
【請求項９】
コンピュータが、
複数の文を含むデータを格納したデータベースにおいて、入力された二つのワード間に特定のワードが出現した回数を算出し、
前記特定のワードの出現数を軸とする仮想空間内における前記算出した回数を座標値とする座標の位置に基づいて、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する、
言語関係判別方法。
【請求項１０】
請求項９記載の言語関係判別方法であって、
前記コンピュータが、
前記仮想空間内における前記算出した回数を座標値とする座標の位置が、予めサポートベクターマシンにより決定された分離超平面に対していずれの側に存在するかにより、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する、
言語関係判別方法。
【請求項１１】
請求項９又は１０記載の言語関係判別方法であって、
前記コンピュータが更に、
前記入力された二つのワード間の関係の強さを示す指標値を算出する、
言語関係判別方法。
【請求項１２】
請求項１１記載の言語関係判別方法であって、
前記コンピュータが、
入力された新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前判別及び前記指標値の算出を行い、該判別の結果及び指標値の大きさに基づいて、前記新規ワードを前記階層構造内に配置する、
言語関係判別方法。
【請求項１３】
請求項１１又は１２記載の言語関係判別方法であって、
前記算出された指標値が所定値以上である場合に、前記判別が行われる、
言語関係判別方法。
【請求項１４】
請求項１１記載の言語関係判別方法であって、
前記コンピュータが、
装置に対するコマンドとしてユーザにより入力された新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前記判別及び前記指標値の算出を行い、該判別の結果及び指標値の大きさに基づいて、前記新規ワードと並列関係にあるワードのうち前記新規ワードと最も関係の強さの高いワードを前記装置に対するコマンドとして決定する、
言語関係判別方法。
【請求項１５】
請求項１１ないし１３のいずれか１項記載の言語関係判別方法であって、
前記コンピュータが、
情報を取得するためのキーワードとしてユーザにより入力された複数の新規ワードと、階層構造で関係が規定されたワード群に含まれるワードとの間で、前記判別を行い、前記複数の新規ワードの全てに対して上下関係に存在するワードが存在する場合に、該上位に存在するワードを、前記情報を取得するためのキーワードとして決定する、
言語関係判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワード間の関係を判別する言語関係判別装置、言語関係判別プログラム、及び言語関係判別方法に関する。
【背景技術】
【０００２】
従来、コンピュータによってワード間の関係を求めることについて研究が進められている。例えば、複数の文書ファイルからキーワードを抽出するキーワード抽出部と、各キーワードの各文書ファイル中における出現頻度に基づいて、一対のキーワード間の関係の強さをあらゆるキーワードの組合せについて算出し、キーワード関係の強さ表ＤＢに格納する指標値算出部を備えたキーワード間の関係の強さ算出システムが知られている（例えば、特許文献１参照）。このシステムにおける指標値算出部は、文書ファイル単位で出現実績のあるキーワードの出現頻度を算出し、各キーワードの出現頻度の二乗値を算出し、この二乗値を全文書ファイルに亘って集計し、文書ファイル単位で一対のキーワード間の出現頻度の積値を算出し、この積値を全文書ファイルに亘って集計し、各キーワードの二乗値の総和の平方根を算出し、両平方根を加算し、その和で当該キーワード間の積値の総和を除することにより、関係の強さを算出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−９８９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のシステムは、キーワード間の関係を、関係の強さという概念でのみ解析しているため、階層構造にあるワード間の関係を適切に判別することができない。
【０００５】
一側面によれば、階層構造にあるワード間の関係を適切に判別することが可能な言語関係判別装置、及び言語関係判別プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、
複数の文を含むデータを格納したデータベースと、
前記データベースにおいて、入力された二つのワード間に特定のワードが出現した回数を算出し、前記特定のワードの出現数を軸とする仮想空間内における前記算出した回数を座標値とする座標の位置に基づいて、前記二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する関係判別部と、
を備える言語関係判別装置である。
【０００７】
この本発明の一態様によれば、階層構造にあるワード間の関係を適切に判別することができる。
【発明の効果】
【０００８】
一側面によれば、階層構造にあるワード間の関係を適切に判別することが可能な言語関係判別装置、及び言語関係判別プログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施例に係るシステム１のハードウェア構成例である。
【図２】車両側装置１０が管理する階層構造のデータ２０を示す図である。
【図３】システム１の機能構成例である。
【図４】関係判別部１２２が二つのワードが概念的に上下関係にあるか並列関係にあるかを判別することを概念的に示すイメージ図である。
【図５】新規追加されるワード「ｉ−Ｐｏｄ」と、階層構造のデータ２０に含まれる各ワードとの組み合わせについての処理結果の例である。
【図６】図５に示す処理結果に基づき、配置決定部１２３により抽出された上位候補ワードの一例である。
【図７】配置決定部１２３が、スコアの平均得点に基づいて新規追加されるワードの配置を決定する様子を示す図である。
【図８】配置決定部１２３が、指標値*が閾値以上となった割合が最も高くなった上位候補ワードの下位に新規追加されるワードを配置する様子を示す図である。
【図９】配置決定部１２３が、指標値*の平均が最も大きくなった上位候補ワードの下位に新規追加されるワードを配置する様子を示す図である。
【図１０】「ソース切替」の下位に新規追加されるワード「ｉ−Ｐｏｄ」が配置された様子を示す図である。
【図１１】本実施例のサーバ装置１００により実行される処理の流れを示すフローチャートの一例である。
【図１２】教師データに含まれるデータと、分離超平面、マージン、サポートベクターの関係を二次元空間の形式で簡単に示す図である。
【図１３】ソフトマージンを採用した場合の、教師データに含まれるデータと、分離超平面、マージン、サポートベクターの関係を二次元空間の形式で簡単に示す図である。
【図１４】システム２の機能構成例である。
【図１５】第２実施例に係る車両側装置１０により実行される処理の流れを示すフローチャートの一例である。
【図１６】システム３の機能構成例である。
【図１７】第３実施例に係る車両側装置１０により実行される処理の流れを示すフローチャートの一例である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１１】
以下、図面を参照し、言語関係判別装置、言語関係判別プログラム、及び言語関係判別方法の実施例について説明する。
【００１２】
＜第１実施例＞
［ハードウェア構成］
図１は、第１実施例に係るシステム１のハードウェア構成例である。システム１は、車両に搭載される車両側装置１０と、言語関係判別装置として機能するサーバ装置１００とを備える。
【００１３】
車両側装置１０は、例えば、ＣＰＵ（Central  Processing  Unit）１１と、メモリ装置１２と、記憶装置１３と、車内通信インターフェース１４と、通信モジュール１５と、入力装置１６と、出力装置１７とを備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。また、車両側装置１０は、図示しないＲＯＭ（Read  Only  Memory）やＤＭＡ（Direct  Memory  Access）コントローラ、割り込みコントローラ等を備えてよい。
【００１４】
ＣＰＵ１１は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。また、メモリ装置１２は、例えばＲＡＭ（Random  Access  Memory）であり、記憶装置１３は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）である。車内通信インターフェース１４は、例えば、ＣＡＮ（Controller  Area  Network）や、ＬＩＮ（Local  Interconnect  Network）に代表される低速なボデー系通信プロトコル、ＭＯＳＴ（Media  Oriented  Systems  Transport）に代表されるマルチメディア系通信プロトコル、ＦｌｅｘＲａｙ等の適切な通信プロトコルを用いて制御対象５０との通信を行う。通信モジュール１５は、例えば携帯電話の電波網、無線基地局８０及びネットワーク９０を介してサーバ装置１００との通信を行う。このような通信は、別体の携帯電話を利用して行われることができ、この場合、通信モジュール１５は、携帯電話との無線又は有線通信を行うインターフェース装置である。入力装置１６は、例えば、タッチパネル、スイッチ、ボタン、マイク等である。また、出力装置１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）等の表示装置（タッチパネルを兼ねてもよい）、スピーカ等を含む。
【００１５】
一方、サーバ装置１００は、例えば、ＣＰＵ１０１と、ドライブ装置１０２と、メモリ装置１０４と、記憶装置１０５と、通信インターフェース１０６と、入力装置１０７と、出力装置１０８とを備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。また、サーバ装置１００は、図示しないＲＯＭやＤＭＡコントローラ、割り込みコントローラ等を備えてよい。
【００１６】
ドライブ装置１０２は、記憶媒体１０３からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体１０３がドライブ装置１０２に装着されると、プログラムが記憶媒体１０３からドライブ装置１０２を介して記憶装置１０５にインストールされる。記憶媒体１０３は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型の記憶媒体である。
【００１７】
また、メモリ装置１０４は、例えばＲＡＭであり、記憶装置１０５は、例えば、ＨＤＤやＳＳＤ、ＥＥＰＲＯＭである。
【００１８】
サーバ装置１００へのプログラムのインストールは、上記のように記憶媒体１０３を用いる他、通信インターフェース１０６がネットワークを介して他のコンピュータよりダウンロードし、記憶装置１０５にインストールすることによって行うこともできる。この場合のネットワークは、例えば、インターネットやＬＡＮ（Local  Area  Network）であり、ネットワーク９０が含まれてよい。また、サーバ装置１００において実行されるプログラムは、サーバ装置１００の出荷時に、予め記憶装置１０５やＲＯＭ等に格納されていてもよい。
【００１９】
通信インターフェース１０６は、上記ネットワークとの接続等を制御する。入力装置１０７は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、出力装置１０８は、例えば、ＬＣＤやＣＲＴ等の表示装置、プリンタ、スピーカ等を含む。
【００２０】
［機能構成］
車両側装置１０は、例えば、制御対象５０である車載オーディオシステム等を制御する制御装置である。車両側装置１０は、車載オーディオシステムの機能、及び各機能を呼び出して調整等を行うために表示装置の表示画面上に設定するソフトウェアスイッチを、階層構造で管理している。例えば、ルートメニュー画面においてソフトウェアスイッチ「オーディオ」がタッチ操作されて選択されると、「オーディオ」の下位に配置された「音質」、「ソース切替」、「選曲」等のソフトウェアスイッチを画面上に表示させる。次いで、「音質」がタッチ操作されると、「音質」の下位に配置された「ボリューム」、「高音」等のソフトウェアスイッチを画面上に表示させる。図２は、車両側装置１０が管理する階層構造のデータ２０を示す図である。車両側装置１０は、階層構造のデータ２０を記憶装置１３等に保持している（図３参照）。
【００２１】
このような階層構造のデータに対し、例えば「ｉ−Ｐｏｄ（登録商標）」等の新機能が追加されたときに（より具体的には、通信を介して新機能に係るアプリケーションプログラム等がインストールされたとき、或いはＣＤ等の記憶媒体が配布されてアプリケーションプログラム等がインストールされたとき）、車両側装置１０は、サーバ装置１００からの情報に応じて、新たな機能、及びソフトウェアスイッチの配置を決定する。
【００２２】
図３は、上記のような機能を実現するためのシステム１の機能構成例である。車両側装置１０は、前述のように、階層構造のデータ２０を記憶装置１３等に格納している。階層構造のデータ２０は、上記のような各機能及びソフトウェアスイッチの名称を、階層構造を有するワードデータとして格納したものである。
【００２３】
一方、サーバ装置１００は、ＣＰＵ１０１が、記憶装置１０５に格納されたプログラムを実行することにより機能する機能部として、新機能付与部１２０と、指標値算出部１２１と、関係判別部１２２と、配置決定部１２３とを備える。なお、各機能部は、明確に独立したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能部の一部が、ＬＳＩ（Large  Scale  Integrated  circuit）、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェア手段であっても構わない。
【００２４】
また、サーバ装置１００は、関係判別のためのデータとして文データベース１１０を記憶装置１０５に保持している。文データベース１１０は、例えば、複数の文を格納したものであり、ページ毎に管理されている。ページとは、例えば、Ｗｅｂサイトにおける１ページ、或いは新聞における１記事等に相当する。文データベース１１０は、一般性を有するものであれば、如何なるソースから収集されてもよい。
【００２５】
新機能付与部１２０は、上記のように車両側装置１０に新機能を追加する際に、係る新機能を実現するためのプログラムを車両側装置１０に送信する。なお、新機能を追加する機能は、サーバ装置１００とは別体の装置が備えてもよいが、本実施例では、サーバ装置１００が、車両側装置１０に新機能を追加する機能と、ワードの関係を判別して階層構造の中で新機能を配置する場所を決定する機能とを兼ねるものとした。
【００２６】
（指標値算出）
指標値算出部１２１は、新機能を表す新規追加されるワード（上記では「ｉ−Ｐｏｄ」）と、車両側装置１０が管理する階層構造のデータ２０に含まれる各ワードとの組み合わせについて関係の強さを示す指標値を算出する。階層構造のデータ２０は、サーバ装置１００が通信により車両側装置１０から取得してもよいし、車種毎にサーバ装置１００が保持していてもよい。指標値算出部１２１は、例えば、式（１）により表されるＰＭＩ（Pointwise  Mutual  Information）、或いはＰＭＩを補正した値を、ワード間の関係の強さを示す指標値として算出する。ここで、「補正」とは、ＰＭＩ算出式に、補正項を四則演算又は冪の形で付加すること等をいう。式（１）中、ｆ（ａ，ｂ）は、文データベース１１０において、ワードａとワードｂを共に含む文の数であり、Ｎ（ａ，ｂ）は、文データベース１１０において、ワードａとワードｂを共に含む文が存在するページ内の文の総数（ページが複数存在する場合は、ページ内の文の総数の和）である。なお、Ｎ（ａ，ｂ）は、文データベース１１０がそもそもページ毎に管理されていない場合、文データベース１１０における文の総数であってもよいし、文データベース１１０がジャンル毎に管理されている場合は、文データベース１１０における当該ジャンルに含まれる文の総数であってもよい。また、Ｐ（ａ）はｆ（ａ）／Ｎ（ａ，ｂ）であり、ここでｆ（ａ）は、文データベース１１０においてワードａを含む文の数である。同様に、Ｐ（ｂ）はｆ（ｂ）／Ｎ（ａ，ｂ）であり、ここでｆ（ｂ）は、文データベース１１０においてワードｂを含む文の数である。そして、Ｐ（ａ，ｂ）はｆ（ａ，ｂ）／Ｎ（ａ，ｂ）である。
【００２７】
【数１】
2013254339.tif 000003
【００２８】
なお、ワード間の関係の強さを示す指標値として、ＰＭＩ或いは補正ＰＭＩに代えて、他の種類の指標値を採用しても構わない。
【００２９】
（関係判別）
関係判別部１２２は、指標値算出部１２１により算出された指標値が閾値（例えば５０）以上であるワードの組み合わせ、すなわち関係が強いワードの組み合わせについて、概念的に上下関係にあるか並列関係にあるかを判別する。
【００３０】
関係判別部１２２は、文データベース１１０において、二つのワード間に特定のワードが出現した回数を算出し、特定のワードの出現数を軸とする仮想空間内における、上記算出した回数を座標値とする座標の位置が、予めサポートベクターマシンにより決定された分離超平面に対していずれの側に存在するかにより、二つのワードが概念的に上下関係にあるか並列関係にあるかを判別する。サポートベクターマシンによる分離超平面の決定については後述する。特定のワードとは、「と」、「における」、「中の」、「並びに」等、二つのワードが上限関係又は並列関係にある場合に、ワード間に出現する可能性が高いワードである。特定のワードは、予め教師データを用いた検証によって決定された有効なワードが用いられる。これによって、階層構造にあるワード間の関係を適切に判別することができる。
【００３１】
図４は、関係判別部１２２が二つのワードが概念的に上下関係にあるか並列関係にあるかを判別することを概念的に示すイメージ図である。図４は、仮想空間が、特定のワードの出現数を示す軸の数が二つの二次元空間であるかのように示しているが、実際には、軸の本数に制限は存在しない。
【００３２】
関係判別部１２２による判別が行われると、指標値算出部１２１により算出された指標値、及び上下関係か並列関係か、を示す処理結果が出力される。図５は、新規追加されるワード「ｉ−Ｐｏｄ」と、階層構造のデータ２０に含まれる各ワードとの組み合わせについての処理結果の例である。
【００３３】
（配置の決定）
配置決定部１２３は、指標値算出部１２１及び関係判別部１２２による処理結果を用いて、車両側装置１０に指示する「階層構造のデータにおける新機能の配置」を決定し、車両側装置１０に送信する。
【００３４】
まず、配置決定部１２３は、新規追加されるワード「ｉ−Ｐｏｄ」との組み合わせに対して算出される指標値が閾値以上であり、且つ上下関係にある上位候補ワードを抽出する。図６は、図５に示す処理結果に基づき、配置決定部１２３により抽出された上位候補ワードの一例である。
【００３５】
次に、配置決定部１２３は、所定の規則に従い、抽出された上位候補ワードに対して下位に配置されたワードと、新規追加されるワードとの間の指標値に基づき、新規追加されるワードをどの上位候補ワードの下位に配置すればよいかを決定する。係る配置の決定手法には複数の手法が採用され得るため、これらを列挙する。なお、以下では、新規追加されるワードに対して「上下関係」にあると判別されたワードについて、判断基準とされる指標値*はゼロとして扱われる（並列関係に限定された指標値であるため）。
【００３６】
手法（１）：配置決定部１２３は、例えば、指標値*が３０未満であれば−１、指標値*が３０以上且つ６０未満であれば１、指標値*が６０以上であれば２のようなスコアを算出し、上位候補ワード毎に、下位に配置されたワードについて算出されたスコアの平均を求め、平均値が最も高くなった上位候補ワードの下位に新規追加されるワードを配置する。図７は、配置決定部１２３が、スコアの平均得点に基づいて新規追加されるワードの配置を決定する様子を示す図である。
【００３７】
手法（２）：配置決定部１２３は、例えば、上位候補ワード毎に、下位に配置されたワードについて算出された指標値*が閾値（例えば６０）以上となった割合を求め、割合が最も高くなった上位候補ワードの下位に新規追加されるワードを配置する。ここでの「閾値」は、関係判別部１２２が、関係が強いワードの組み合わせであるか否かを判定する際の「閾値」とは異なってよい。図８は、配置決定部１２３が、指標値*が閾値以上となった割合が最も高くなった上位候補ワードの下位に新規追加されるワードを配置する様子を示す図である。図８では、指標値*が閾値以上となったワードに対して「○」、閾値未満となったワードに対して「×」を付与している。
【００３８】
手法（３）：配置決定部１２３は、例えば、上位候補ワード毎に、下位に配置されたワードについて算出された指標値*の平均を求め、平均値が最も大きくなった上位候補ワードの下位に新規追加されるワードを配置する。図９は、配置決定部１２３が、指標値*の平均が最も大きくなった上位候補ワードの下位に新規追加されるワードを配置する様子を示す図である。
【００３９】
手法（４）：配置決定部１２３は、例えば、手法（１）における「−１」のスコアを得たワードの数が少なくなった上位候補ワードの下位に新規追加されるワードを配置する（図示省略）。
【００４０】
図１０は、いずれかの手法によって、「ソース切替」の下位に、新規追加されるワード「ｉ−Ｐｏｄ」が配置された様子を示す図である。
【００４１】
配置決定部１２３は、例えば上記列挙した手法により新規追加されるワードの配置を決定すると、決定内容を車両側装置１０に送信する。ここで、新規追加されるワードの配置は、必ず一箇所に決定される必要はなく、例えば上記列挙した手法により評価の高い配置が複数導出された場合には、複数箇所に配置することも許容される（例えば、新規追加されるワード「ｉ−Ｐｏｄ」を「オーディオ」の下位、及び「音質」の下位の双方に配置する等）。車両側装置１０は、出力装置１７を用いて、ユーザに新たに設定されたソフトウェアスイッチの階層的な位置を案内する。
【００４２】
［フローチャート］
図１１は、本実施例のサーバ装置１００により実行される処理の流れを示すフローチャートの一例である。本フローチャートは、新機能付与部１２０により新たな機能が車両側装置１０に追加されるイベントが発生したときに開始される。
【００４３】
まず、指標値算出部１２１が、車両側装置１０から階層構造のデータ２０を取得する（Ｓ２００）。
【００４４】
次に、指標値算出部１２１は、階層構造のデータ２０からワードを（例えば先頭から順に）一つ選択する（Ｓ２０２）。
【００４５】
次に、指標値算出部１２１は、Ｓ２０２において選択されたワードと、新規追加されるワードとの間で指標値を算出し（Ｓ２０４）、指標値が閾値以上であるか否かを判定する（Ｓ２０６）。指標値算出部１２１は、指標値が閾値以上である場合、当該ワードをメモリ装置１０４等に保存する（Ｓ２０８）。
【００４６】
指標値算出部１２１は、Ｓ２０６〜Ｓ２０８の処理を終了すると、階層構造のデータ２０から全てのワードを選択済であるか否かを判定する（Ｓ２１０）。全てのワードを選択済でない場合、指標値算出部１２１は、Ｓ２０２に戻り、次のワードを選択する。
【００４７】
指標値算出部１２１が全てのワードを選択して処理を行うと、関係判別部１２２は、Ｓ２０８において保存されたワードを（例えば先頭から順に）一つ選択する（Ｓ２２０）。
【００４８】
次に、関係判別部１２２は、Ｓ２２０において選択されたワードと、新規追加されるワードが上下関係にあるか並列関係にあるかを判別し（Ｓ２２２）、関係をメモリ装置１０４等に保存する（Ｓ２２４）。
【００４９】
関係判別部１２２は、Ｓ２２４の処理を終了すると、Ｓ２０８において保存された全てのワードを選択済であるか否かを判定する（Ｓ２２６）。全てのワードを選択済でない場合、関係判別部１２２は、Ｓ２２０に戻り、次のワードを選択する。
【００５０】
関係判別部１２２全てのワードを選択して処理を行うと、配置決定部１２３は、保存されたワードから上位候補ワードを抽出し（Ｓ２３０）、上記説明した手法により、新規追加されるワードをどの上位候補ワードの下に配置すればよいか決定し（Ｓ２３２）、決定内容を車両に送信する（Ｓ２３４）。
【００５１】
［サポートベクターマシンによる分離超平面の決定］
（基本原理）
ここで、サポートベクターマシンによる分離超平面の決定について説明する。ここでは、前述した、二つのワードが上下関係又は並列関係にある場合に、ワード間に出現する可能性が高い複数の特定のワードの出現数をベクトル形式にしたものを、特徴ベクトル→ｘと称する（「→」はベクトルを示すものとする）。本実施例において必要な認識対象のクラスは、上下関係と並列関係の二種類であるため、＋１と−１の二クラスが存在する。サポートベクターマシンにより、既知の教師データから特徴ベクトル（特定のワードの出現数）と、クラス（上下関係か並列関係か）との確率的な対応関係を学習し、学習結果として得られる分離超平面を用いて、入力されたワード間に存在する特定のワードの出現数と分離超平面の関係から、入力されたワードの関係がいずれのクラスに属するかを判定することができる。
【００５２】
サポートベクターマシンは、教師データに基づき、マージンを最大化するという目的で最適なパラメータを求める。図１２は、教師データに含まれるデータと、分離超平面、マージン、サポートベクターの関係を二次元空間の形式で簡単に示す図である。図１２において、「○」はクラス「＋１」のデータ、「△」はクラス「−１」のデータ、黒塗りされた「○」と「△」はサポートベクターを示す。
【００５３】
教師データが線形分離可能であり、Ｈ１とＨ２の二枚の分離超平面で教師データが完全に分離できる場合、式（２）が成立する。式（２）中、Ｎは教師データの数であり、ｔiは教師データに含まれるそれぞれのデータ（１、２、…、Ｎ）のクラスである。なお、Ｈ１とＨ２は、それぞれ式（３）、（４）で表される。
【００５４】
【数２】
2013254339.tif 000004
【００５５】
マージンの大きさ、すなわち識別平面と分離超平面の距離は、
【００５６】
【数３】
2013254339.tif 000005
で表される。従って、式（２）を制約条件とし、目的関数（５）を最小とする最適なパラメータ（→ｗ、→ｂ）を求めることにより、最大のマージンを得ることができる。この最適化問題は、数理計画法における二次計画問題として既に知られており、種々の手法が公知となっているため、説明を省略する。
【００５７】
【数４】
2013254339.tif 000006
【００５８】
（ソフトマージン）
分離超平面によって教師データの全てを分離可能であることが理想であるが、現実には、少数の教師データが反対側に入り込むことを許容した方が、あてはまり性が向上することが多い。このように制約を緩めて分離超平面を求める手法は、ソフトマージンと称されている。
【００５９】
ソフトマージンを採用した場合、教師データの一部が分離超平面Ｈ１又はＨ２を超えて反対側に入り込むことを許容する。図１３は、ソフトマージンを採用した場合の、教師データに含まれるデータと、分離超平面、マージン、サポートベクターの関係を二次元空間の形式で簡単に示す図である。
【００６０】
ここで、反対側に入り込んだ距離を
【００６１】
【数５】
2013254339.tif 000007
と表すと、上記最適化問題は、式（６）を制約条件とし、目的関数（７）を最小とする最適なパラメータ（→ｗ、→ｂ）を求める問題に変形される。式（６）において、パラメータγは、マージンの大きさに比してどの程度のはみ出しを許容するかを決定する値である。
【００６２】
【数６】
2013254339.tif 000008
【００６３】
また、サポートベクターマシンにおいては、更に、特徴ベクトルを非線形変換し、その空間で線形の識別を行う手法が存在し、カーネルトリックと称されている。カーネルトリックを採用することにより、サポートベクターマシンの精度を向上させることができる。カーネルトリックの具体的内容については、既に公知となっているため、説明を省略する。
【００６４】
［まとめ］
以上説明した本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、文データベース１１０において、入力された二つのワード間に特定のワードが出現した回数を算出し、特定のワードの出現数を軸とする仮想空間内における算出した回数を座標値とする座標の位置に基づいて、二つのワードが概念的に上下関係にあるか並列関係にあるかを判別するため、階層構造にあるワード間の関係を適切に判別することができる。
【００６５】
なお、本出願の出願人は、本実施例に係る装置の処理結果と、対象データに対して人が評価を行った心理値との比較を行い、一定程度の相関性があることを確認した。
【００６６】
また、本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、階層構造のデータ２０に対して、新規追加されるワードと階層構造のデータ２０に含まれるワードとの間で指標値の算出及び関係判別を行い、その結果に基づいて、新規追加されるワードを階層構造のデータ２０における適切な場所に配置することができる。上記実施例のように、車両を対象とする場合、車両毎に階層構造のデータ２０が異なるため、異なる車種に対して同じ新規機能を追加する場合であっても、各車両の階層構造のデータ２０においてどの場所に新規追加されるワードを配置するかを自動的に決定することができ、好適である。
【００６７】
なお、第１実施例に係る手法は、既に階層構造のデータ２０が確立されている場面だけでなく、開発段階において階層構造のデータ２０を新規に構築する際にも利用することができる。また、新規追加されるワードを階層構造のデータ２０に配置するだけでなく、階層構造のデータ２０そのものを組み替えることも可能である。
【００６８】
＜第２実施例＞
［構成、機能等］
以下、第２実施例に係るシステム２について説明する。第２実施例に係るシステム２は、車両側装置１０と、サーバ装置１００と、を備える。ハードウェア構成については、第１実施例と同様であるため、図１を援用することとして、図示を省略する。
【００６９】
第２実施例に係る車両側装置１０は、ナビゲーション機能、空調装置やオーディオ装置の制御機能等を有し、第１実施例と同様に、各機能をユーザから呼び出すためのコマンドを階層的に管理している。従って、第２実施例に係る車両側装置１０は、第１実施例と同様に、階層構造のデータ２０を記憶装置１３等に保持している。車両側装置１０は、コマンドをタッチパネル上のソフトウェアスイッチで入力させると共に、マイクを介して入力される音声を認識して音声コマンドを受け付ける機能を有している。
【００７０】
図１４は、システム２の機能構成例である。第２実施例に係るサーバ１００は、ＣＰＵ１０１が、記憶装置１０５に格納されたプログラムを実行することにより機能する機能部として、指標値算出部１２１と、関係判別部１２２と、コマンド類推部１２４とを備える。なお、各機能部は、明確に独立したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能部の一部が、ＬＳＩ、ＩＣやＦＰＧＡ等のハードウェア手段であっても構わない。
【００７１】
第２実施例に係る車両側装置１０は、ユーザにより発話された音声の認識結果が、階層構造のデータ２０に含まれるワードに合致する場合は、該当するコマンドに応じて機能を立ち上げる。一方、第２実施例に係る車両側装置１０は、ユーザにより発話された音声の認識結果が階層構造のデータ２０に含まれるワードに合致しない場合は、音声の認識結果及び階層構造のデータ２０をサーバ装置１００に送信し、サーバ装置１００において推定されたコマンドを受け取り実行する。
【００７２】
図１５は、第２実施例に係る車両側装置１０により実行される処理の流れを示すフローチャートの一例である。本フローチャートは、ユーザにより発話された音声が認識されたときに開始される。
【００７３】
まず、車両側装置１０は、音声の認識結果が階層構造のデータ２０に含まれるワードに合致するか否かを判定する（Ｓ３００）。音声の認識結果が階層構造のデータ２０に含まれるワードに合致する場合、該当するワードに係るコマンドを実行する（Ｓ３０２）。
【００７４】
一方、音声の認識結果が階層構造のデータ２０に含まれるワードに合致しない場合、車両側装置１０は、音声の認識結果及び階層構造のデータ２０をサーバ装置１００に送信し（Ｓ３０４）、推定されたコマンドを受信するまで待機する（Ｓ３０６）。
【００７５】
推定されたコマンドを受信すると、車両側装置１０は、受信したコマンドを実行する（Ｓ３０８）。
【００７６】
第２実施例に係るサーバ装置１００では、音声の認識結果及び階層構造のデータ２０を受信すると、指標値算出部１２１及び関係判別部１２２が、図１１におけるＳ２００〜Ｓ２２６の処理と同等の処理を実行する。
【００７７】
まず、指標値算出部１２１が、音声の認識結果と、階層構造のデータ２０に含まれる各ワードとの組み合わせについて、第１実施例と同様に、関係の強さを示す指標値を算出する。
【００７８】
関係判別部１２２は、指標値算出部１２１により算出された指標値が閾値（例えば５０）以上であるワードの組み合わせ、すなわち関係が強いワードの組み合わせについて、概念的に上下関係にあるか並列関係にあるかを判別する。
【００７９】
そして、コマンド類推部１２４は、音声の認識結果と並列関係にあるワードのうち最も指標値の高いワードを、車両側装置に対してなされた音声コマンドであると類推し、該当するワードを車両側装置１０に送信する。例えば、音声の認識結果が「行き先」であり、階層構造のデータ２０に含まれるワードが「目的地」、「現在地」、「エアコン」、「オーディオ」等であった場合、「目的地」について算出される指標値が最も高く、「現在地」について算出される指標値が中程度、「エアコン」や「オーディオ」について算出される指標値はゼロに近いものとなることが想定され、コマンド類推部１２４は、ユーザの音声コマンドを「目的地」としてみなしてもよいと判断する。
【００８０】
［まとめ］
以上説明した本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、文データベース１１０において、入力された二つのワード間に特定のワードが出現した回数を算出し、特定のワードの出現数を軸とする仮想空間内における算出した回数を座標値とする座標の位置に基づいて、二つのワードが概念的に上下関係にあるか並列関係にあるかを判別するため、階層構造にあるワード間の関係を適切に判別することができる。
【００８１】
また、本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、階層構造のデータ２０に対して、ユーザの発話した音声の認識結果と階層構造のデータ２０に含まれるワードとの間で指標値の算出及び関係判別を行い、その結果に基づいて、ユーザの発話が既存のコマンドに無い場合でも、適切に類推されるコマンドを車両側装置１０に実行させることができる。
【００８２】
＜第３実施例＞
［構成、機能等］
以下、第３実施例に係るシステム３について説明する。第３実施例に係るシステム３は、車両側装置１０と、サーバ装置１００と、を備える。ハードウェア構成については、第１実施例と同様であるため、図１を援用することとして、図示を省略する。
【００８３】
図１６は、システム３の機能構成例である。第３実施例に係るサーバ１００は、ＣＰＵ１０１が、記憶装置１０５に格納されたプログラムを実行することにより機能する機能部として、指標値算出部１２１と、関係判別部１２２と、上位ワード抽出部１２５とを備える。なお、各機能部は、明確に独立したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能部の一部が、ＬＳＩ、ＩＣやＦＰＧＡ等のハードウェア手段であっても構わない。また、第３実施例に係るサーバ１００は、文データベース１１０に加えて、ワード群を格納したワードデータベース１１２を記憶装置１０５等に保持している。ワードデータベース１１２は、施設の検索に用いられる可能性が高いワードを集めたデータであり、地図データ２２に含まれる施設情報の範囲内で作成されることが望ましい。
【００８４】
第３実施例に係る車両側装置１０は、ナビゲーション装置であり、施設情報を含む地図データ２２を記憶装置１３に格納し、ＧＰＳ信号に基づき車両の現在位置を求める機能、目的地までの最適経路をユーザに提示する機能、地図データ２２において、ユーザの入力した施設が車両付近に存在するか否かを検索し、施設の位置をユーザに示す機能部（施設検索部２４）を有している。
【００８５】
第３実施例に係る車両側装置１０は、第２実施例と同様に、ユーザの発話した音声を認識する機能を有している。そして、施設検索部２４は、音声の認識結果が示す施設が地図データ２２に存在する場合は、該当する施設に関する情報を、出力装置１７を用いてユーザに提供する。
【００８６】
施設検索部２４は、ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在せず、ユーザが二度目の発話を行い、二度目の発話に係る音声の認識結果が示す施設も地図データ２２に存在しない場合、一度目及び二度目の音声の認識結果をサーバ装置１００に送信する。
【００８７】
図１７は、第３実施例に係る車両側装置１０により実行される処理の流れを示すフローチャートの一例である。本フローチャートは、ユーザにより発話された音声が認識されたときに開始される。
【００８８】
まず、施設検索部２４は、ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在するか否かを判定する（Ｓ４００）。ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在する場合、施設検索部２４は、該当する施設に関する情報を、出力装置１７を用いてユーザに提供する（Ｓ４０２）。そして、施設検索部２４は、提供された情報を受け入れる操作（又は音声入力）をユーザが行ったか否かを判定し（Ｓ４０４）、提供した情報が受け入れられなかった場合はＳ４０６に進み、受け入れられた場合は図１７のフローチャートを終了する。
【００８９】
ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在しない場合、又は、Ｓ４０４において否定的な判定を得た場合、施設検索部２４は、ユーザが次の発話を行うまで待機する（Ｓ４０６）。ユーザが次の発話を行うと、施設検索部２４は、ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在するか否かを判定する（Ｓ４０８）。ユーザの発話した音声の認識結果が示す施設が地図データ２２に存在する場合、施設検索部２４は、該当する施設に関する情報を、出力装置１７を用いてユーザに提供する（Ｓ４１０）。そして、施設検索部２４は、提供された情報を受け入れる操作（又は音声入力）をユーザが行ったか否かを判定し（Ｓ４１２）、提供した情報が受け入れられなかった場合はＳ４１４に進み、受け入れられた場合は図１７のフローチャートを終了する。
【００９０】
二度目の発話においてもユーザの発話した音声の認識結果が示す施設が地図データ２２に存在しない場合、又は、Ｓ４１２において否定的な判定を得た場合、施設検索部２４は、一度目及び二度目の音声の認識結果をサーバ装置１００に送信する（Ｓ４１４）。
【００９１】
施設検索部２４は、サーバ装置１００からワードを受信するまで待機し（Ｓ４１６）、ワードを受信すると、受信したワード（複数の場合もあり得る）が示す施設に関する情報を、出力装置１７を用いてユーザに提示する（Ｓ４１８）。
【００９２】
次に、施設検索部２４は、提示した情報を（複数の場合はいずれかを）受け入れる操作（又は音声入力）をユーザが行ったか否かを判定し（Ｓ４２０）、提示した情報が受け入れられた場合は、当該施設に関する情報を、出力装置１７を用いてユーザに提供する（Ｓ４２２）。
【００９３】
施設検索部２４は、提示した情報が受け入れられなかった場合は、本フローチャートの処理を終了して次の発話から処理を再開してもよいし、三度目の発話を待って、一度目〜三度目までの発話に係る音声の認識結果をサーバ装置１００に送信してもよい。
【００９４】
第３実施例に係るサーバ装置１００では、音声の認識結果を受信すると、指標値算出部１２１及び関係判別部１２２が、図１１におけるＳ２００〜Ｓ２２６の処理と同等の処理を、音声の認識結果（１）とワードデータベース１１２に含まれる各ワードについて実行し、更に、音声の認識結果（２）とワードデータベース１１２に含まれる各ワードについて実行する。
【００９５】
そして、上位ワード抽出部１２５は、音声の認識結果（１）に対して指標値が閾値以上であり且つ上下関係にあり、音声の認識結果（２）に対しても指標値が閾値以上であり且つ上下関係にある上位ワードを抽出し、車両側装置１０に送信する。例えば、音声の認識結果（１）が「パスタ」、音声の認識結果（２）が「ピザ」、である場合、「イタリアン」のような上位ワードが抽出されることが想定される。また、音声の認識結果（１）が「パスタ」、音声の認識結果（２）が「ラーメン」、である場合、「麺類」のような上位ワードが抽出されることが想定される。
【００９６】
このような処理によって、ユーザの発話した音声が、地図データ２２に付随した施設情報に比して狭すぎる場合に、概念的に上位のワードが抽出される（共通の下位ワードが抽出される可能性は低い）ため、ユーザが地図データ２２から施設情報を取得できる可能性を高めることができる。
【００９７】
［まとめ］
以上説明した本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、文データベース１１０において、入力された二つのワード間に特定のワードが出現した回数を算出し、特定のワードの出現数を軸とする仮想空間内における算出した回数を座標値とする座標の位置に基づいて、二つのワードが概念的に上下関係にあるか並列関係にあるかを判別するため、階層構造にあるワード間の関係を適切に判別することができる。
【００９８】
また、本実施例の言語関係判別装置、及び言語関係判別プログラムによれば、ユーザの発話した音声に対して概念的に上位のワードを抽出するため、ユーザが地図データ２２から施設情報を取得できる可能性を高めることができる。
【００９９】
［変形等］
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１００】
例えば、第１、第２実施例では、処理の主体がサーバ装置１００であるものとしたが、車両側に処理の主体が配置されてもよい。この場合、車両がインターネット等を介して文データベースにアクセスしてもよいし、車両内に文データベースを保持しても構わない。
【０１０１】
同様に、第３実施例の処理は車両側装置１０において完結してもよい。この場合、指標値算出部１２１と、関係判別部１２２と、上位ワード抽出部１２５と同等の機能部を車両側装置１０のＣＰＵ１１が実現し、車両側装置１０がワードデータベース１１２と同様のデータを保持すればよい。更にこの場合、処理を行う主体は車載装置である必要はなく、パーソナルコンピュータ、携帯電話、その他組み込みコンピュータ等、あらゆる機器が指標値算出部１２１と、関係判別部１２２と、上位ワード抽出部１２５と同等の機能部を実現してもよい。
【０１０２】
また、第１、第２実施例において、サーバ装置１００が処理の対象とする階層構造のデータ２０の保持先は車両である必要はなく、パーソナルコンピュータ、携帯電話、その他組み込みコンピュータ等、あらゆる機器を対象とすることができる。また、コンピュータが内部処理として階層構造のデータとワードの関係を求める装置として構成されてもよい。
【０１０３】
また、上記実施例では、指標値を用いて処理を行った後の指標値の処理について言及していないが、指標値を保存しておけば、例えばユーザが操作ミスをした場合に、本来ユーザがしようとしていた処理を推定して操作の提案をするといった利用が可能となる。
【符号の説明】
【０１０４】
１、２、３  システム
１０    車両側装置
１１    ＣＰＵ
１２    メモリ装置
１３    記憶装置
１４    車内通信インターフェース
１５    通信モジュール
１６    入力装置
１７    出力装置
２０    階層構造のデータ
２２    地図データ
２４    施設検索部
１００  サーバ装置
１０１  ＣＰＵ
１０４  メモリ装置
１０５  記憶装置
１０６  通信インターフェース
１１０  文データベース
１１２  ワードデータベース
１２０  新機能付与部
１２１  指標値算出部
１２２  関係判別部
１２３  配置決定部
１２４  コマンド類推部
１２５  上位ワード抽出部
【図１】
2013254339.tif 000009
【図２】
2013254339.tif 000010
【図３】
2013254339.tif 000011
【図４】
2013254339.tif 000012
【図５】
2013254339.tif 000013
【図６】
2013254339.tif 000014
【図７】
2013254339.tif 000015
【図８】
2013254339.tif 000016
【図９】
2013254339.tif 000017
【図１０】
2013254339.tif 000018
【図１１】
2013254339.tif 000019
【図１２】
2013254339.tif 000020
【図１３】
2013254339.tif 000021
【図１４】
2013254339.tif 000022
【図１５】
2013254339.tif 000023
【図１６】
2013254339.tif 000024
【図１７】
2013254339.tif 000025