以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
また、図面を参照して、実施形態について説明するが、図面の記載において、同一または類似の部分には同一の参照番号を付して重複する説明を省く場合がある。なお、図面は模式的なものであり、厚みと平面寸法との関係、比率等は現実のものとは異なる場合がある。また、説明の都合上、図面相互間においても互いの寸法の関係又は比率が異なる部分が含まれる場合がある。
図1は、処理装置100の機能ブロック図の一例を、商品10とともに概略的に示す。本実施形態において、処理装置100は、商品10に付せられた商品情報格納部12から、商品10に関する情報を取得する。なお、処理装置100はこれに限定されない。例えば、処理装置100が取得する情報は、商品10に関する情報に限定されない。処理装置100は、サービスまたは役務に関する情報を取得してよい。処理装置100は、現在地に関する情報、販売者に関する情報、他の装置に関する情報を取得してよい。
処理装置100は、情報収集部110と、表示部120と、処理部130とを備えてよい。処理装置100は、複数の情報収集部110を備えてもよい。処理装置100は、情報収集部110が収集した情報に基づいて、実行するプログラムを選択してよい。処理装置100は、情報収集部110が収集した情報の中から、選択したプログラムの実行に必要な情報を選択してよい。
処理装置100が、3つの情報収集部110を有し、売上げを集計するプログラム、医薬品の副作用を調べるプログラムおよび商品の廃棄方法を調べるプログラムを格納し、商品10に関する情報がどの情報収集部110から入力されたかによって、実行するプログラムを選択する場合を例として、処理装置100における処理の概要を説明する。
例えば、売上げを集計するプログラムに対応付けられた情報収集部110が、商品情報格納部12から商品10に関する情報を取得すると、処理装置100は、売上げを集計するプログラムを選択する。選択されたプログラムは、当該プログラムの実行に必要な情報が不足していると判断した場合には、処理装置100に対して、当該情報を通知するよう要求する。例えば、売上げを集計するプログラムは、商品10の販売価格を通知するよう要求する。また、販売者が提供する割引のように、販売者が実施している特典に関する情報があれば、当該情報を通知するよう要求する。
情報収集部110が収集した情報の中には、商品10の名称、定価、製造業者、製造場所、製造年月日、原材料、主成分、包装容器の材質、販売店の名称、販売店の住所、販売店における販売価格、販売者の業務の種類、販売者が実施している特典など様々な情報が含まれる。そこで、処理装置100は、情報収集部110が収集した情報の中から、プログラムに通知すべき情報を選択する。これにより、処理装置100はプログラムを実行して、売上げを集計することができる。
同様に、処理装置100が医薬品の副作用を調べるプログラムを選択した場合、処理装置100は、情報収集部110が収集した情報の中から、当該プログラムに通知するのに適切な情報を選択する。処理装置100が、収集した情報に基づいて実行すべきプログラムを選択し、収集した情報の中からプログラムの実行に必要な情報を選択するので、ユーザは、容易に処理を実行することができる。
商品10および商品情報格納部12について説明する。商品10には、商品10に関する情報を格納する商品情報格納部12が付されてよい。商品10に関する情報としては、商品10の名称、定価、製造業者、製造場所、製造年月日、原材料、主成分、包装容器の材質、販売店の名称、販売店の住所、販売店における販売価格、販売者の業務の種類、販売者が実施している特典などを例示することができる。商品10に関する情報は、複数の情報の一例であってよい。
例えば、商品10の名称、定価、製造業者、製造場所、製造年月日、原材料、主成分、包装容器の材質などの情報は、商品10の製造者が商品情報格納部12に格納してよい。販売店の名称、販売店の住所、販売店における販売価格、販売者の業務の種類、販売者が実施している特典などの情報は、商品10の販売業者がが商品情報格納部12に格納してよい。
商品情報格納部12は、音、光、無線により、処理装置100との間で情報を送受してよい。商品情報格納部12は、電子タグ、ICタグ、非接触ICカードなどのRFID(Radio Frequency IDentification)であってよい。商品情報格納部12は、処理装置100に読み取られることで、処理装置100に情報を伝達してよい。商品情報格納部12は、商品ラベルのような文字または図形であってよい。商品情報格納部12は、2次元コード、バーコードなどの識別子であってよい。
本実施形態において、商品情報格納部12が商品10に付されている場合について説明する。しかし、商品情報格納部12はこれに限定されない。商品情報格納部12は、雑誌、商品カタログなどの広告媒体に付されてもよい。商品情報格納部12は、コンピュータまたはネットワークに接続される記憶装置であってよい。商品情報格納部12は、ハードディスクなどの磁気ディスク、光学ディスク、光磁気ディスク、メモリ、ビデオテープ、カセットテープなどの記憶媒体であってよい。商品情報格納部12は、ラジオ、テレビなどに情報を送信する放送設備であってよい。
商品情報格納部12は、「情報の内容」と「情報の種類」とを対応付けて格納してよい。上記の名称、定価、製造業者などは「情報の種類」の一例であってよい。例えば、商品情報格納部12は、「定価150円」という情報を格納する場合、「情報の内容」として「150円」という情報を格納し、当該情報の内容に対応づけられた「情報の種類」として「定価」という情報を格納してよい。
商品情報格納部12は、予め定められた複数の評価項目の評価値で構成される言語(比較用言語と称する場合がある。)で表された「情報の種類」を格納してよい。商品情報格納部12は、日本語、英語などの自然言語で表された「情報の種類」を格納してもよい。ここで、「自然言語で表された」とは、JISコード、ASCIIコードなどの自然言語を表す文字コードで表記される場合をも含む。
比較用言語の作成者は、比較用言語で表現しようとする事項に対して抱くイメージを、比較用言語を構成する複数の評価項目のそれぞれについて評価することで、当該事項を比較用言語で表してよい。比較用言語の作成者は、それぞれの評価項目について評価値を決定することで、上記のイメージを評価してよい。
例えば、「0、1、2、3」の4つの評価値を用いて、複数の評価項目のそれぞれについて、当該評価項目と上記のイメージとの間に関連性がないと評価する場合には評価値を0と決定し、常に関連性があるとは認められないと評価する場合には評価値を1と決定し、関連性は弱いが常に関連性があると評価する場合には評価値を2と決定し、関連性が強いと評価する場合には評価値を3と決定してよい。これにより、自然言語で表される単語を、「0、1、2、3」の数字の組合せとして表すことができる。ここで、単語とは、「みかん」のような単純語だけでなく、「冷凍みかん」のような合成語をも含む。
比較用言語の作成者は、予め定められた複数の評価項目の評価値を、予め定められた順序で組合せて、比較用言語を作成してよい。比較用言語の作成者は、予め定められた複数の評価項目の評価値または当該評価値の組合せを、予め定められた手法により他の文字などに変換して、比較用言語を作成してよい。また、使用頻度の大きな自然言語については、予め定められた比較用言語を使用してもよい。
商品情報格納部12が、「情報の種類」として自然言語で表された単語を格納する場合には、情報の作成者によって、同じ事柄を表すのに異なる単語が用いられた結果、処理装置100が適切な情報を選択することが困難になる場合がある。例えば、ある商品の「情報の種類」の欄には「定価」と入力されており、他の商品の「情報の種類」の欄には「PRICE」と入力されている状態で、「希望小売価格」をキーとして検索を実行する場合には、適切な検索結果を得ることが難しい。
一方、商品情報格納部12が、「情報の種類」として比較用言語で表わされた単語を格納する場合には、単語の表記に多少の相違がある場合であっても、情報の作成者がそれらの単語に対して抱くイメージは大きく相違しない。その結果、商品情報格納部12が「情報の種類」として自然言語で表された単語を格納する場合と比較して、処理装置100は、容易に、適切な情報を選択することができる。
比較用言語は予め定められた複数の評価項目の評価値で構成されるので、比較用言語の作成者が単語に対して抱くイメージを符合化することができる。これにより、比較用言語の作成者の母国語が異なる場合であっても、多くの場合において、同じ事項については概ね同じような評価値を有する比較用言語が作成される。特に、自己の行動または欲求について、コンピュータに対して命令するような場合には、概ね同じような評価値を有する比較用言語が作成される。
比較用言語を用いることで、複数の単語の中から、特定の単語の同義語を抽出することができる。例えば、「調査する」という単語をキーとして、「調べる」、「SEARCH」、「サーチ」などの同義語を抽出することができる。また、比較用言語を用いることで、複数の単語の中から、特定の単語に関連する単語を抽出することができる。例えば、「お金」という単語をキーとして、「店舗」、「割引」または「購入する」のような「お金」に関連する単語を抽出することができる。これにより、自然言語で表されている場合には抽出することが難しい単語であっても、容易に抽出することができる。
また、自然言語で表すと複数の異なる意味を有する単語をキーとして検索を実行する場合であっても、比較用言語を用いることで適切な情報を選択することができる。例えば、「月」という日本語は、「天体の月」と「時間の単位である月」という2つの意味を有する。しかし、比較用言語の作成者が「天体の月」に対して抱くイメージと「時間の単位である月」に対して抱くイメージとは異なるので、「天体の月」を表す比較用言語と「時間の単位である月」を表す比較用言語とは異なる。したがって、比較用言語で表された単語をキーとして検索することで、計算機の負荷の増加を抑制しつつ、適切な情報を選択することができる。
このように、自然言語を用いて検索処理を実行する場合、情報を付与する者と情報を利用する者との間で予め何らかの規格が制定されていなければ、情報を利用することが難しい。しかし、比較用言語を用いて検索処理を実行する場合には、比較用言語により情報を付与する者が単語に対して抱くイメージが符合化されているので、情報を付与する者と情報を利用する者との間で予め何らかの規格が制定されていない場合であっても、情報を利用することができる。
また、自然言語を用いて、特定の単語をキーとして複数の単語の中から1以上の単語を抽出する場合には、シソーラスの解析など複雑な処理を要する。これに対して、比較用言語は予め定められた複数の評価項目の評価値で構成されるので、比較用言語を用いて検索を実行することで、特定の単語をキーとして複数の単語の中から1以上の単語を容易に抽出することができる。
比較用言語で表された特定の単語をキーとして、比較用言語で表された複数の単語の中から、1以上の単語を抽出する検索方法の一例について説明する。特に、複数の単語の中から、特定の単語の同義語を抽出する場合(同義語検索と称する場合がある。)と、複数の単語の中から、特定の単語に関連する単語を抽出する場合(関連語検索と称する場合がある。)とについて説明する。
複数の単語の中から、特定の単語の同義語を抽出する場合には、まず、複数の単語のそれぞれと、特定の単語とを比較する。次に、比較する一方の単語に対する、他方の単語の乖離度を算出する。乖離度は、2つの単語が乖離する程度を表す指標であってよく、乖離度が小さいほど、抽出結果として優れる。この場合、複数の評価項目のそれぞれが、乖離度に対して同程度の影響を与えるように、乖離度を算出してよい。
例えば、以下の手順により、乖離度を算出してよい。まず、複数の評価項目のそれぞれについて、比較する2つの単語の評価値の差の二乗を算出する。これにより、評価項目の数だけ、評価値の差を二乗した値が得られる。次に、評価項目の数だけ得られた値を合計する。以上により得られた値を乖離度としてよい。
次に、複数の単語のそれぞれについて、算出した乖離度に基づいて、抽出結果として選択するか否かを決定する。乖離度が予め定められた閾値より小さい単語を、抽出結果としてよい。
なお、本実施形態において、乖離度を用いて同義語検索を実施する場合について説明した。しかし、同義語検索はこれに限定されない。例えば、比較する単語が類似する程度を表す類似度を用いて、同義語検索を実施してよい。類似度は、2つの単語が類似する程度を表す指標であってよく、類似度が大きいほど、抽出結果として優れる。類似度は、例えば、以下の手順により算出してよい。まず、上記の乖離度の平方根を評価値の最大値で除した値の百分率を算出する。次に、得られた百分率を100から引く。以上により得られた値を類似度としてよい。
複数の単語の中から、特定の単語に関連する単語を抽出する場合には、まず、複数の単語のそれぞれと、特定の単語とを比較する。次に、比較する一方の単語に対する、他方の単語の関連度を算出する。関連度は、2つの単語が関連する程度を表す指標であってよく、関連度が大きいほど、抽出結果として優れる。複数の評価項目のうち、評価値の大きな評価項目ほど、関連度に大きな影響を与えるように、関連度を算出してよい。
例えば、以下の手順により、関連度を算出してよい。まず、複数の評価項目のそれぞれについて、比較する2つの単語の評価値同士を乗じる。これにより、評価項目の数だけ、評価値同士を乗じた値が得られる。次に、評価値同士を乗じた値のそれぞれを、予め定められた値でべき乗する。これにより、評価項目のそれぞれについて計算結果が得られる。評価項目のそれぞれについて得られた計算結果の和を、関連度としてよい。この場合、比較する2つの単語が、同一の評価項目について大きな評価値を有する程、関連度が大きくなることがわかる。
次に、複数の単語のそれぞれについて、算出した関連度に基づいて、抽出結果として選択するか否かを決定する。関連度が予め定められた閾値より大きい単語を、抽出結果としてよい。
なお、本実施形態において、評価値同士を乗じた値のそれぞれを予め定められた値でべき乗し、評価項目のそれぞれについて計算結果を得て、関連度を算出する場合について説明した。しかし、関連度を算出する方法はこれに限定されない。評価値同士を乗じた値のそれぞれに、予め定められた値を乗じることで、評価項目のそれぞれについて計算結果を得てもよく、評価値同士を乗じた値を階乗することで、評価項目のそれぞれについて計算結果を得てもよい。
処理装置100の各部について説明する。処理装置100は、用途に特化したシステムまたはコントローラであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。処理装置100は、ネットワークを介して他の装置との間で情報を送受してよい。処理装置100としては、POSシステム(Point of sale system)、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末、無線端末などを例示することができる。
情報収集部110は、情報を収集する。情報収集部110は、「情報の内容」と「情報の種類」とが対応付けられた情報を取得してよい。「情報の種類」は、比較用言語で表されていてよい。情報収集部110は、情報取得部の一例であってよい。情報収集部110は、収集した情報を記憶してよい。情報収集部110は、収集した情報を処理部130に送信してよい。
情報収集部110は、商品情報格納部12から、商品10に関する情報を取得してよい。情報収集部110は、処理装置100に接続された記憶装置、記憶媒体などから、商品10に関する情報を取得してもよい。情報収集部110は、インターネット、専用回線、無線パケット通信網などのネットワークを介して、他のコンピュータに接続された記憶装置、記憶媒体などから、上記の情報を取得してよい。
情報収集部110は、処理装置100に接続された記憶装置、記憶媒体などから、処理装置100で実行することができるプログラム、および当該プログラムに関する情報の少なくとも一方を取得してよい。情報収集部110は、インターネット、専用回線、無線パケット通信網などのネットワークを介して、他のコンピュータに接続された記憶装置、記憶媒体などから、上記のプログラムなどを取得してよい。ここで、プログラムとは、メインルーチンだけでなく、サブルーチンまたはサブプログラムをも含む。
プログラムに関する情報としては、「プログラムの種類」、「プログラムの実行に必要な情報」などを例示することができる。「プログラムの種類」としては、プログラムの処理内容、プログラムの処理対象などを例示することができる。「プログラムの実行に必要な情報」としては、プログラムの実行時にプログラムが入力を要求する入力項目、プログラムの引数などを例示することができる。「プログラムの種類」および「プログラムの実行に必要な情報」は比較用言語で表されてよい。
情報収集部110は、情報収集部110に関する情報を保持してよい。情報収集部110に関する情報は、複数の情報の一例であってよい。情報収集部110に関する情報としては、情報収集部110の名称、所有者、設置場所、材質、製造者、販売者などを例示することができる。情報収集部110は、情報収集部110に関する情報の「情報の種類」を保持してよい。「情報の種類」は比較用言語で表されてよい。情報収集部110は、情報収集部110に関する情報を処理部130に送信してよい。
情報収集部110に関する情報には、情報収集部110に対応付けられる「処理の種類」が含まれてよい。「処理の種類」は、情報収集部110が情報を取得したときに、処理装置100が実行すべき処理の種類であってよい。「処理の種類」は、比較用言語で表されてよい。「処理の種類」は、自然言語および比較用言語で表されてもよい。情報収集部110が、「処理の種類」を処理部130に送信することで、処理部130は、実行するプログラムを迅速に選択することができる。
情報収集部110は、処理装置100が実行すべき処理の種類に関する情報と、プログラムの実行に必要な情報とを、識別可能に保持してよい。情報収集部110は、プログラムの実行に必要な情報を、さらに、ユーザの動作の対象に関する情報と、プログラムの処理条件とに識別可能に保持してよい。
例えば、ユーザが、処理装置100を用いて商品Aの代金を精算して、現金で商品Aを購入または販売する場合、処理装置100が実行すべき処理の種類は、代金の精算または売上の集計である。また、ユーザの購入または販売するという動作の対象は、商品Aであり、プログラムの処理対象は、代金または売上であり、プログラムの処理条件は、商品Aの価格、代金の支払方法などである。上記の例において、商品Aに関する情報は、ユーザの動作の対象に関する情報であり、プログラムの処理条件に関する情報でもある。
情報収集部110は、収集した情報に、情報を識別する識別記号を付してよい。情報収集部110は、上記の処理の種類に関する情報と、プログラムの実行に必要な情報とを対応付けた上で、両者を異なるデータテーブルに保存してもよい。ユーザの動作の対象に関する情報と、プログラムの処理条件とを対応づけた上で、両者を異なるデータテーブルに保存してもよい。これにより、情報収集部110は、情報を識別可能に保持することができる。
情報収集部110と処理装置100が実行すべき処理とが一対一に対応する場合、情報収集部110は、情報収集部110に関する情報に、処理装置100が実行すべき処理の種類に関する情報であることを示す識別記号を付してよい。処理装置100が実行することができるプログラムの「プログラムの種類」を表示部120に出力して、希望する処理をユーザに選択させる場合、情報収集部110は、ユーザが選択したプログラムに関する情報に、処理装置100が実行すべき処理の種類に関する情報であることを示す識別記号を付してよい。
情報収集部110は、情報を収集する手順によって、収集した情報を識別して識別記号を付してよい。例えば、処理装置100が実行することができるプログラムの「プログラムの種類」を表示部120に出力して、ユーザが希望する処理を選択した後に収集された情報に、処理装置100が実行すべき処理の種類に関する情報を示す識別記号を付してよい。また、情報収集部110は、ユーザが情報を入力する順番に応じて、取得した情報に識別記号を付してもよい。なお、情報を収集する手順と情報を識別する方法との対応関係は、これに限定されない。上記の対応関係は、ユーザが予め設定してよい。
情報収集部110は、情報を収集する手順によって、比較用言語を構成する複数の評価項目の評価値を変更して、新たな比較用言語を作成してよい。情報収集部110は、収集された比較用言語に代えて、新たに作成された比較用言語を保持してよい。例えば、処理装置100が実行すべき処理の種類に関する情報が複数回連続して収集された場合に、情報収集部110は、収集された「処理の種類」を表す比較用言語の評価項目うち、「正確性を要求される動作」を表す評価項目の値を増減させてよい。なお、情報を収集する手順と比較用言語の評価値を変更する方法との対応関係は、これに限定されない。上記の対応関係は、ユーザが予め設定してよい。
処理装置100が実行すべき処理の種類に関する情報として、複数の「処理の種類」が収集された場合に、情報収集部110は、収集された複数の「処理の種類」を表す比較用言語に基づき、新たな比較用言語を作成してよい。例えば、収集された「処理の種類」を表す比較用言語のそれぞれの評価項目について評価値の平均値、和などを算出し、算出された値を新たな比較用言語の当該評価項目の評価値としてよい。情報収集部110は、収集された比較用言語に代えて、新たに作成された比較用言語を保持してよい。
情報収集部110は、処理装置100が実行すべき処理の種類に関する情報として、「早く」、「高」、「中」または「低」のように、当該処理を修飾する情報が収集された場合にも、同様にして、収集された比較用言語に基づき、新たな比較用言語を作成してよい。情報収集部110は、収集された比較用言語に代えて、新たに作成された比較用言語を保持してよい。
情報収集部110は、ICカードリーダ、カメラ、スキャナなどの情報読み取り装置、キーボード、マウス、タッチパネル、マイクなどの入力装置、OCRなどの文字認識装置、または音声認識装置であってよい。情報収集部110は、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末または無線端末であってよい。
表示部120は、処理部130から取得した情報を表示してよい。表示部120としては、液晶ディスプレイ、有機ELディスプレイ、CRTディスプレイなどの表示装置、プリンタ、スピーカなどの出力装置を例示することができる。表示部120は、処理部130から取得した情報を、音声により表現してもよく、光の点滅または光の色により表現してもよく、点字により表現してもよい。表示部120は、バイブレータを有して、バイブレータの振動パターンまたは周波数により、処理部130から取得した情報を表現してよい。表示部120は、形状が変化する部材を有して、当該部材の形状の変化により、処理部130から取得した情報を表現してよい。
処理部130は、処理を実行する。処理部130は、情報収集部110が収集した情報に基づいて、実行するプログラムを選択してよい。処理部130は、情報収集部110が収集した情報の中から、選択したプログラムの実行に必要な情報を選択してよい。処理部130は、実行部132と、処理決定部134とを有してよい。処理部130は、処理装置の一例であってよい。
処理部130および処理部130の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。処理部130は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。上記の特化したシステムおよび情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
処理部130は、プログラムが実行されることにより、コンピュータが処理部130として機能してもよい。CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、処理部130の各部の動作を規定したソフトウエアを起動することにより、処理部130が実現されてよい。
実行部132は、処理を実行する。実行部132は、処理決定部134が選択したプログラムを実行してよい。実行部132は、処理決定部134からプログラムの実行に必要な情報を受け取り、受け取った情報を用いてプログラムを実行してよい。実行部132は、実行部132に格納されたプログラムを実行してもよい。実行部132は、記憶装置または記憶媒体からプログラムを取得して、取得したプログラムを実行してもよい。実行部132は、情報収集部110が収集したプログラムを実行してもよい。
処理決定部134は、情報収集部110が収集した情報に基づいて、ユーザが希望する処理を決定してよい。処理決定部134は、情報収集部110が収集した情報の中から、実行すべき処理に必要な情報を選択してよい。処理決定部134は、収集情報保持部142、プログラム情報保持部144、プログラム選択部146および情報選択部148を有してよい。処理決定部134は、処理装置の一例であってよい。収集情報保持部142は、情報取得部の一例であってよい。
収集情報保持部142は、情報収集部110から情報を取得してよい。収集情報保持部142は、商品10に関する情報および情報収集部110に関する情報の少なくとも一方を取得してよい。収集情報保持部142は、処理装置100が実行すべき処理の「処理の種類」を取得してよい。収集情報保持部142は、取得した情報を保持してよい。収集情報保持部142は、取得した情報のそれぞれを、当該情報の「情報の種類」と対応づけて保持してよい。
収集情報保持部142は、実行されるべき処理に関連する情報と、プログラムの実行に必要な情報に関連する情報とを、識別可能に保持してよい。これにより、プログラム選択部146および情報選択部148が効率的に情報を選択することができる。収集情報保持部142に格納される情報は、配列に格納されてもよい。これにより、実行部132がプログラムを実行するときに、複数の商品10に関する情報を一度に処理することができる。なお、実行部132は、商品10ごとにプログラムを実行してもよい。
収集情報保持部142は、ROM、RAM、キャッシュメモリなどのメモリであってよい。収集情報保持部142は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。
プログラム情報保持部144は、処理装置100が実行することのできるプログラムの情報を保持してよい。プログラム情報保持部144は、1以上のプログラムのそれぞれに対応づけて、それぞれのプログラムの「プログラムの種類」および「プログラムの実行に必要な情報の種類」の少なくとも一方を保持してよい。「プログラムの種類」および「プログラムの実行に必要な情報の種類」は、比較用言語で表されていてよい。「プログラムの種類」および「プログラムの実行に必要な情報の種類」は、比較用言語および自然言語で表されていてもよい。
プログラム情報保持部144は、ROM、RAM、キャッシュメモリなどのメモリであってよい。プログラム情報保持部144は、ハードディスク、CD−ROM、ICカード、フラッシュメモリなどの記憶装置または記憶媒体であってもよい。プログラム情報保持部144は、情報収集部110から情報を取得してもよい。
プログラム選択部146は、実行するプログラムを選択する。プログラム選択部146は、収集情報保持部142が取得した「処理の種類」と、プログラム情報保持部144が保持する「プログラムの種類」とを比較して、実行するプログラムを選択してよい。プログラム選択部146は、比較用言語で表された「処理の種類」と、比較用言語で表された「プログラムの種類」とを比較してよい。
プログラム選択部146は、収集情報保持部142が取得した「処理の種類」をキーとして、プログラム情報保持部144が保持する「プログラムの種類」の中から、同義語検索による抽出結果を算出してよい。プログラム選択部146は、同様にして、関連語検索による抽出結果を算出してもよい。プログラム選択部146は、同義語検索による抽出結果および関連語検索による抽出結果の少なくとも一方の抽出結果の中から、実行するプログラムを選択してよい。乖離度および関連度の閾値は、同義語検索を実行した場合に、関連語検索を実行した場合と比較して精度の高い抽出結果(厳格な抽出結果と称する場合がある。)が得られるように設定されてよい。
なお、抽出結果の算出方法はこれに限定されない。プログラム選択部146は、まず、収集情報保持部142が取得した「処理の種類」をキーとして、プログラム情報保持部144が保持する「プログラムの種類」の中から、同義語検索および関連語検索のうちいずれか一方による抽出結果を算出してよい。プログラム選択部146は、上記の「処理の種類」をキーとして、上記の抽出結果の中から、さらに、同義語検索および関連語検索のうちの他方による抽出を実行してよい。プログラム選択部146は、同義語検索および関連語検索のうちの他方による抽出結果の中から、実行するプログラムを選択してよい。
プログラム選択部146は、「処理の種類」に応じて、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から、実行するプログラムを選択するかを決定してよい。例えば、「処理の種類」が「購入する」である場合には、同義語検索により得られた抽出結果の中から実行するプログラムを選択し、「処理の種類」が「検索する」である場合には、関連語検索により得られた抽出結果の中から実行するプログラムを選択してよい。
プログラム選択部146は、比較用言語で表された「処理の種類」の複数の評価項目うち、予め定められた評価項目の評価値の値が、予め定められた条件を満たすか否かによって、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から、実行するプログラムを選択するかを決定してよい。例えば、比較用言語で表された「処理の種類」の複数の評価項目うち、資産または生命に関する評価項目の評価値が予め定められた値より大きい場合には、同義語検索により得られた抽出結果の中から実行するプログラムを選択し、それ以外の場合には、関連語検索により得られた抽出結果の中から実行するプログラムを選択してよい。
プログラム選択部146は、「処理の種類」に応じて、同義語検索または関連語検索における、乖離度または関連度の閾値を変更してよい。例えば、「処理の種類」が「購入する」である場合には、「処理の種類」が「検索する」である場合と比較して、抽出結果に高い精度が要求される。そこで、乖離度の閾値を小さくしたり、関連度の閾値を大きくしたりしてよい。
プログラム選択部146は、比較用言語で表された「処理の種類」の複数の評価項目のうち、予め定められた評価項目の評価値の値が、予め定められた条件を満たすか否かによって、乖離度または関連度の閾値を変更するか否かを決定してよい。例えば、比較用言語で表された「処理の種類」の複数の評価項目うち、資産または生命に関する評価項目の評価値が予め定められた値より大きい場合には、それ以外の場合と比較して、乖離度の閾値を小さくしたり、関連度の閾値を大きくしたりしてよい。
プログラム選択部146が、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から実行するプログラムを選択するかを決定する条件は、処理決定部134の抽出条件格納部に格納されてよい。プログラム選択部146は、抽出条件格納部に格納された情報を参照してよい。プログラム選択部146が、乖離度または関連度の閾値を変更する条件およびそれぞれの閾値は、処理決定部134の閾値格納部に格納されてよい。プログラム選択部146は、閾値格納部に格納された情報を参照してよい。
抽出結果として単一のプログラムが抽出された場合、プログラム選択部146は、抽出されたプログラムを、選択結果として選択してよい。プログラム選択部146は、選択したプログラムを識別する情報を情報選択部148に通知してよい。
抽出結果として2以上のプログラムが抽出された場合、プログラム選択部146は、抽出されたプログラムのうち、乖離度が最も小さいまたは関連度が最も大きいプログラムを、選択結果として選択してよい。プログラム選択部146は、選択したプログラムを識別する情報を情報選択部148に通知してよい。
抽出結果として2以上のプログラムが抽出された場合、プログラム選択部146は、抽出結果として単一のプログラムが抽出されるまで、抽出を繰り返してよい。このとき、プログラム選択部146は、乖離度または関連度の閾値を、より厳格な結果が得られるように変更して、再度、同義語検索および関連語検索の少なくとも一方を実行してよい。
プログラム選択部146は、キーを追加して、再度、同義語検索および関連語検索の少なくとも一方を実行してもよい。例えば、収集情報保持部142が取得した「処理の種類」の中に、「処理の種類」だけでなく、「処理内容」および「処理対象」の少なくとも一方に関する情報が含まれる場合には、「処理内容」および「処理対象」の少なくとも一方を新たなキーとして抽出を実行してよい。収集情報保持部142が取得した情報の中に「販売者の業務の種類」が含まれる場合には、「販売者の業務の種類」を新たなキーとして抽出を実行してよい。
プログラム選択部146は、自然言語での比較と、比較用言語での比較とを組み合わせて、実行するプログラムを選択してもよい。例えば、プログラム選択部146は、比較用言語を用いて抽出された2以上のプログラムの「プログラムの種類」と、収集情報保持部142が取得した「処理の種類」とを、自然言語で比較して、比較用言語を用いて抽出された2以上のプログラムの中から、より適切なプログラムを抽出してよい。
抽出結果として2以上のプログラムが抽出された場合、プログラム選択部146は、プログラム情報保持部144から、選択された2以上のプログラムのそれぞれに対応する、自然言語で表された「プログラムの種類」を表示部120に出力してもよい。また、抽出結果が得られなかった場合、プログラム選択部146は、プログラム情報保持部144が保持する、自然言語で表された「プログラムの種類」を表示部120に出力してよい。
自然言語で表された「プログラムの種類」を表示部120に出力することより、プログラム選択部146が単一のプログラムを選択できない場合であっても、処理装置100のユーザは、表示部120に表示されたプログラムの中から、希望するプログラムを選択することができる。情報収集部110は、ユーザが選択したプログラムの「プログラムの種類」を取得して、プログラム選択部146に送信してよい。
プログラム選択部146は、ユーザが選択したプログラムの「プログラムの種類」を取得し、選択結果として情報選択部148に通知してよい。なお、プログラム選択部146は、上記の比較を実行せずに、プログラム情報保持部144が保持する、自然言語で表された「プログラムの種類」を表示部120に出力し、ユーザが選択した「プログラムの種類」を取得することで、実行するプログラムを選択してもよい。
抽出結果が得られなかった場合、プログラム選択部146は、乖離度または関連度の閾値を変更して、再度、同義語検索および関連語検索の少なくとも一方を実行してよい。このとき、プログラム選択部146は、乖離度の閾値を大きくしてよく、関連度の閾値を小さくしてよい。プログラム選択部146は、「処理の種類」が予め定められた条件を満たす場合には、乖離度または関連度の閾値を変更して再度の検索を実行することなく、上記の通り、自然言語で表された「プログラムの種類」を表示部120に出力してよい。予め定められた条件としては、比較用言語で表された「処理の種類」の複数の評価項目のうち、資産または生命に関する評価項目の評価値が予め定められた値より大きいときのように、厳格な抽出結果が要求される場合を例示することができる。
情報選択部148は、収集情報保持部142が保持する複数の情報の中から、プログラムの実行に必要な情報を選択する。情報選択部148は、プログラム選択部146から、選択されたプログラムの「プログラムの種類」を受け取ってよい。情報選択部148は、プログラム情報保持部144から、選択されたプログラムの「プログラムの種類」に対応付けられた、プログラムの実行に必要な情報の「情報の種類」を受け取ってよい。
情報選択部148は、収集情報保持部142が保持する情報の「情報の種類」と、プログラム情報保持部144から受け取った、プログラムの実行に必要な情報の「情報の種類」とを比較して、プログラムの実行に必要な情報を選択してよい。情報選択部148は、両者を比較用言語で比較してよい。情報選択部148は、自然言語での比較と、比較用言語での比較とを組み合わせて、プログラムの実行に必要な情報を選択してもよい。
情報選択部148は、プログラムの実行に必要な情報の「情報の種類」をキーとして、収集情報保持部142が保持する情報の「情報の種類」の中から、同義語検索による抽出結果を算出してよい。情報選択部148は、同様にして、関連語検索による抽出結果を算出してよい。情報選択部148は、同義語検索による抽出結果および関連語検索による抽出結果の少なくとも一方の抽出結果の中から、プログラムの実行に必要な情報を選択してよい。
情報選択部148は、選択されたプログラムの「プログラムの種類」に応じて、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から、プログラムの実行に必要な情報を選択するかを決定してよい。情報選択部148は、比較用言語で表された「プログラムの種類」の複数の評価項目うち、予め定められた評価項目の評価値の値が、予め定められた条件を満たすか否かによって、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から、プログラムの実行に必要な情報を選択するかを決定してよい。
例えば、情報選択部148は、比較用言語で表された「プログラムの種類」の複数の評価項目のうち、資産または生命に関する評価項目の評価値が予め定められた値より大きい場合には、同義語検索の抽出結果の中から、プログラムの実行に必要な情報を選択してよい。乖離度および関連度の閾値は、同義語検索を実行した場合に、関連語検索を実行した場合と比較して精度の高い抽出結果が得られるように設定されてよい。
情報選択部148は、選択されたプログラムの「プログラムの種類」に応じて、乖離度または関連度の閾値を変更してよい。情報選択部148は、比較用言語で表された「プログラムの種類」の複数の評価項目のうち、予め定められた評価項目の評価値の値が、予め定められた条件を満たすか否かによって、乖離度または関連度の閾値を変更するか否かを決定してよい。
なお、抽出結果の算出方法はこれに限定されない。情報選択部148は、選択されたプログラムの「プログラムの種類」をキーとして、収集情報保持部142が保持する情報の「情報の種類」の中から、同義語検索および関連語検索のうちいずれか一方による抽出結果を算出してよい。情報選択部148は、上記の「プログラムの種類」をキーとして、上記の抽出結果の中から、さらに、同義語検索および関連語検索のうちの他方による抽出を実行してよい。情報選択部148は、同義語検索および関連語検索のうちの他方による抽出結果の中から、プログラムの実行に必要な情報を選択してよい。
情報選択部148が、同義語検索および関連語検索のいずれの検索方法により得られた抽出結果の中から実行するプログラムを選択するかを決定する条件は、処理決定部134の抽出条件格納部に格納されてよい。情報選択部148は、抽出条件格納部に格納された情報を参照してよい。情報選択部148が、乖離度または関連度の閾値を変更する条件およびそれぞれの閾値は、処理決定部134の閾値格納部に格納されてよい。情報選択部148は、閾値格納部に格納された情報を参照してよい。
情報選択部148は、複数のプログラムのそれぞれについて、「プログラムの種類」と、厳格な抽出結果を要求するか否かとを対応付けた情報を、取得または保持してよい。選択されたプログラムが厳格な抽出結果を要求する場合、情報選択部148は、同義語検索による抽出結果の中から、プログラムの実行に必要な情報を選択してよい。また、選択されたプログラムが厳格な抽出結果を要求する場合、情報選択部148は、乖離度の閾値を小さくしたり、関連度の閾値を大きくしたりしてよい。
情報選択部148は、複数のプログラムのそれぞれについて、「プログラムの種類」と、同義語検索および関連語検索のいずれを要求するかとを対応付けた情報を、取得または保持してよい。情報選択部148は、選択されたプログラムが同義語検索を要求する場合には、同義語検索による抽出結果の中から、プログラムの実行に必要な情報を選択してよい。
単一のプログラムの実行に必要な情報に対する抽出結果として単一の情報が抽出された場合、情報選択部148は、抽出された情報を選択結果として選択してよい。情報選択部148は、選択した情報の「情報の内容」および「情報の種類」と、プログラム選択部146により選択されたプログラムを識別する情報とを、実行部132に通知してよい。
単一のプログラムの実行に必要な情報に対する抽出結果として2以上の情報が抽出された場合、情報選択部148は、乖離度が最も小さいまたは関連度が最も大きい情報を選択結果として選択してよい。情報選択部148は、選択した情報の「情報の内容」および「情報の種類」と、プログラム選択部146により選択されたプログラムを識別する情報とを、実行部132に通知してよい。
単一のプログラムの実行に必要な情報に対する抽出結果として2以上の情報が抽出された場合、情報選択部148は、抽出結果として単一の情報が抽出されるまで、抽出を繰り返してよい。このとき、情報選択部148は、乖離度または関連度の閾値を、より厳格な結果が得られるように変更して、再度、同義語検索および関連語検索の少なくとも一方を実行してよい。
情報選択部148は、キーを追加して、再度、同義語検索および関連語検索の少なくとも一方を実行してもよい。例えば、プログラム情報保持部144が保持する情報の中に、「プログラムの種類」だけでなく、プログラムの「処理内容」および「処理対象」の少なくとも一方に関する情報が含まれる場合には、「処理内容」および「処理対象」の少なくとも一方を新たなキーとして抽出を実行してよい。プログラム選択部146において選択されたプログラムの「プログラムの種類」と、収集情報保持部142が取得した「処理の種類」とが異なる場合には、収集情報保持部142が取得した「処理の種類」を新たなキーとして抽出を実行してもよい。
情報選択部148は、自然言語での比較と、比較用言語での比較とを組み合わせて、実行するプログラムを選択してもよい。例えば、情報選択部148は、比較用言語を用いて抽出された2以上の情報の「情報の種類」と、プログラム情報保持部144から受け取った、プログラムの実行に必要な情報の「情報の種類」とを、自然言語で比較して、比較用言語を用いて抽出された2以上の情報の中から、より適切な情報を抽出してよい。
単一のプログラムの実行に必要な情報に対する抽出結果として2以上の情報が抽出された場合、情報選択部148は、プログラム情報保持部144から、自然言語で表された、プログラムの実行に必要な情報の「情報の種類」を取得して、表示部120に出力してよい。情報選択部148は、収集情報保持部142から、抽出した情報の「情報の種類」を取得して、表示部120に出力してもよい。また、抽出結果が得られなかった場合、情報選択部148は、プログラム情報保持部144が保持する、自然言語で表されたプログラムの実行に必要な情報の「情報の種類」を表示部120に出力してよい。
自然言語で表された「情報の種類」を表示部120に出力することより、情報選択部148が単一の情報を選択できない場合であっても、処理装置100のユーザは、表示部120に表示された「情報の種類」の中から、希望するプログラムの実行に必要な情報を選択することができる。情報収集部110は、ユーザが選択した「情報の種類」を取得して、情報選択部148に送信してよい。情報選択部148は、取得した「情報の種類」および当該「情報の種類」に対応づけられた「情報の内容」と、選択されたプログラムの「プログラムの種類」とを、実行部132に通知してよい。
抽出結果が得られなかった場合、情報選択部148は、乖離度または関連度の閾値を変更して、再度、同義語検索および関連語検索の少なくとも一方を実行してよい。このとき、情報選択部148は、乖離度の閾値を大きくしてよく、関連度の閾値を小さくしてよい。情報選択部148は、「情報の種類」が予め定められた条件を満たす場合には、乖離度または関連度の閾値を変更して再度の検索を実行することなく、上記の通り、プログラム情報保持部144が保持する、自然言語で表されたプログラムの実行に必要な情報の「情報の種類」を表示部120に出力してよい。予め定められた条件としては、比較用言語で表された「情報の種類」の複数の評価項目うち、資産または生命に関する評価項目の評価値が予め定められた値より大きいときのように、厳格な抽出結果が要求される場合を例示することができる。
以上において、処理装置100に含まれる構成の機能について説明した。しかし、各構成の機能は厳密に区別されるものではなく、処理装置100のそれぞれの構成はこれに限定されない。例えば、収集情報保持部142またはプログラム情報保持部144が、情報収集部110の機能の一部を担ってもよく、情報収集部110が、収集情報保持部142またはプログラム情報保持部144の機能の一部を担ってもよい。また、収集情報保持部142およびプログラム情報保持部144が同一の記憶装置または記憶媒体に設けられてもよい。
図2は、自然言語と比較用言語とを対比するデータテーブル200の一例を概略的に示す。データテーブル200を用いて、比較用言語について説明する。データテーブル200は、自然言語で表された単語210と、比較用言語220および評価項目230とを対応付けて格納してよい。評価項目230は、動作に関する評価項目232と、状態に関する評価項目234とを含んでよい。
比較用言語は、予め定められた複数の評価項目の評価値で構成される。比較用言語は、予め定められた複数の評価項目の評価値の組合せであってよい。比較用言語は、複数の評価項目の評価値を予め定められた手順で並べることで作成されてよい。比較用言語は、動作に関する評価項目232に対応する複数の符号と、状態に関する評価項目234に対応する複数の符号とを、識別可能に含んでよい。
例えば、動作に関する評価項目232に対応する複数の符号と、状態に関する評価項目234に対応する複数の符号とを、ハイフンまたはアンダーバーで連結することで作成されてよい。また、複数の評価項目のそれぞれを識別する識別子と、当該識別子に対応する評価項目の評価値とを予め定められた手順で並べることで作成されてよい。これにより、評価値が入力されていない評価項目の表記が不要になるので、データ量を減少させることができる。
動作に関する評価項目232としては、動作の開始または終了に関する項目、所要時間の長短に関する項目、動作の実行またはやり直しに関する項目、仮想的な動作であるか否かに関する項目、能動的な動作であるか否かに関する項目、正確性を要求される動作であるか否かに関する項目、達成の可能性が高い動作であるか否かに関する項目、先行して実行する動作であるか否かに関する項目、肯定または否定に関する項目の少なくとも1つを含んでよい。
上記で例示した項目は、さらに細分化されてもよい。例えば、仮想的な動作であるか否かに関する項目は、仮想空間における動作であるか否かに関する項目と、現実世界における動作であるか否かに関する項目とに細分化されてよい。また、先行して実行する動作であるか否かに関する項目は、先行して実行する動作であるか否かに関する項目と、遅延して実行する動作であるか否かに関する項目とに細分化されてよい。
状態に関する評価項目234としては、生存に関する項目、こころに関する項目、ものに関する項目および社会的な価値に関する項目の少なくとも1つを含んでよい。上記で例示した項目は、さらに細分化されてよい。
生存に関する項目としては、安心または不安に関する項目、生存リスクに関する項目、健康に関する項目、自然環境に関する項目などを例示することができる。安心または不安に関する項目は、安心の増加に関する項目と、不安の増加に関する項目とを含んでよい。生存リスクに関する項目は、生存リスクの増加に関する項目と、生存リスクの減少に関する項目とを含んでよい。健康に関する項目は、健康の増進に関する項目と、健康の悪化に関する項目とを含んでよい。自然環境に関する項目は、自然環境の改善に関する項目と、自然環境の悪化に関する項目とを含んでよい。
こころに関する項目としては、将来の価値、希望または夢に関する項目、怒りに関する項目、愛または幸福に関する項目、恐怖または不安に関する項目、嫌悪または感謝に関する項目、興味に関する項目、驚きに関する項目などを例示することができる。将来の価値、希望または夢に関する項目は、将来の価値、希望または夢の増加に関する項目と、将来の価値、希望または夢の減少に関する項目とを含んでよい。怒りに関する項目は、怒りの増加に関する項目と、怒りの減少に関する項目とを含んでよい。愛または幸福に関する項目は、愛または幸福の増加に関する項目と、愛の減少または寂しさもしくは悲しみの増加に関する項目とを含んでよい。
恐怖または不安に関する項目は、恐怖または不安の増加に関する項目と、恐怖または不安の減少に関する項目とを含んでよい。嫌悪または感謝に関する項目は、嫌悪の増加または感謝の減少に関する項目と、嫌悪の減少または感謝の増加に関する項目とを含んでよい。興味に関する項目は、興味、恋愛感情、楽しさまたは喜びの増加に関する項目と、興味、恋愛感情、楽しさまたは喜びの減少に関する項目とを含んでよい。驚きに関する項目は、驚きの増加に関する項目と、驚きの減少に関する項目とを含んでよい。
ものに関する項目としては、付加価値に関する項目、技または技術に関する項目、流動資産に関する項目、固定資産に関する項目、知識に関する項目などを例示することができる。付加価値に関する項目は、芸術性などの付加価値資産の増加に関する項目と、付加価値資産の減少に関する項目とを含んでよい。技または技術に関する項目は、技または技術の蓄積量の増加に関する項目と、技または技術の蓄積量の減少に関する項目とを含んでよい。
流動資産に関する項目は、流動資産の増加に関する項目と、流動資産の減少に関する項目とを含んでよい。固定資産に関する項目は、固定資産の増加に関する項目と、固定資産の減少に関する項目とを含んでよい。知識に関する項目は、知識の増加に関する項目と、知識の減少に関する項目とを含んでよい。
社会的な価値に関する項目としては、規制に関する項目、責任に関する項目、第三者からの評価に関する項目、善悪に関する項目、公開または非公開に関する項目、勝敗に関する項目、権利に関する項目、信用に関する項目、金融に関する項目などを例示することができる。規制に関する項目は、ルール、行動制限などの規制の増加に関する項目と、規制の減少に関する項目とを含んでよい。責任に関する項目は、責任の増加に関する項目と、責任の減少に関する項目とを含んでよい。第三者からの評価に関する項目は、名誉などの肯定的な評価の増加に関する項目と、批判、悪評、恥などの否定的な評価の増加に関する項目とを含んでよい。
善悪に関する項目は、善の増加に関する項目と、悪の増加に関する項目とを含んでよい。公開または非公開に関する項目は、公開性の増加に関する項目と、非公開性または秘匿性の増加に関する項目とを含んでよい。勝敗に関する項目は、勝利の増加に関する項目と、敗北の増加に関する項目とを含んでよい。権利に関する項目は、権利の増加に関する項目と、権利の減少に関する項目とを含んでよい。信用に関する項目は、信用の増加に関する項目と、信用の減少に関する項目とを含んでよい。金融に関する項目は、お金の増加に関する項目と、お金の減少に関する項目とを含んでよい。
自然言語の動詞に対応する比較用言語は、動作に関する評価項目232に対応する複数の符号および状態に関する評価項目234に対応する複数の符号とを含むことが好ましい。自然言語の副詞に対応する比較用言語は、動作に関する評価項目232に対応する複数の符号と、状態に関する評価項目234に対応する複数の符号とを含んでよい。自然言語の名詞および形容詞に対応する比較用言語は、動作に関する評価項目232に対応する複数の符号を含まなくてよい。
実行されるべき処理の「処理の種類」は、自然言語の動詞に対応する単語が格納されている可能性が高い。そのため、収集情報保持部142またはプログラム選択部146は、動作に関する評価項目232に対応する符号の列を含む比較用言語を「処理の種類」として判断することができる。これにより、収集情報保持部142またはプログラム選択部146が、情報収集部110が収集した情報の中から、「処理の種類」を効率よく選択することができる。
図3は、収集情報保持部142に保持されるデータテーブル300の一例を概略的に示す。データテーブル300は、情報の帰属先310ごとに、自然言語で表された情報の種類320と、比較用言語で表された情報の種類330と、情報の内容340と、比較用言語で表された処理の種類350と、情報の取得経路360とを格納してよい。
情報の帰属先310は、何に関する情報であるかを表す識別記号であってよい。例えば、商品10に関する情報の帰属先は、商品10であってよい。情報収集部110に関する情報の帰属先は、情報収集部110であってよい。図3の例では、複数の情報312は、情報収集部Aに関する情報であることを示す。また、複数の情報314は、商品Bに関する情報であることを示す。情報の内容340は、自然言語で表されてよい。処理の種類350は、情報の内容340に処理の種類が含まれる場合に記載されてよい。
情報の取得経路360は、当該情報がどのようにして取得されたかを示す識別記号であってよい。図3の例では、複数の情報312および複数の情報314が、情報収集部Aから取得されたことを示す。これにより、収集情報保持部142またはプログラム選択部146は、複数の情報314が情報取得部Aにより取得されたことを判断できる。また、プログラム選択部146は、複数の情報314に対する実行すべき処理の種類が「代金の集計」であることを判断できる。
図4は、プログラム情報保持部144に保持されるデータテーブル400の一例を概略的に示す。データテーブル400は、プログラムの識別記号410ごとに、自然言語で表されたプログラムの種類420と、比較用言語で表されたプログラムの種類430と、自然言語で表されたプログラムの入力項目440と、比較用言語で表されたプログラムの入力項目450とを格納してよい。
プログラムの種類420およびプログラムの種類430は、プログラムの種類、プログラムの処理対象およびプログラムの処理内容の少なくとも1つに関する情報を含んでよい。プログラムの入力項目440は、プログラムの実行に必要な情報の一例であってよい。
図5は、処理装置100における処理の一例を概略的に示す。例えば、S502において、収集情報保持部142が、情報収集部110から、商品10または情報収集部110に関する複数の情報を取得する。S504において、プログラム選択部146が、収集情報保持部142が取得した情報の中から、「処理の種類」が含まれる情報を抽出する。プログラム選択部146は、抽出した情報の「処理の種類」と、プログラム情報保持部144が保持するプログラムの「プログラムの種類」とを比較して、実行するプログラムを選択する。
S506において、情報選択部148が、選択されたプログラムの実行に必要な情報の「情報の種類」と、収集情報保持部142が取得した情報に含まれる「情報の種類」とを比較して、収集情報保持部142が取得した情報の中から、プログラムの実行に必要な情報を選択する。プログラムの実行に必要な情報が複数ある場合には、プログラムの実行に必要な情報のそれぞれについて、情報を選択してよい。
S508において、表示部120が、プログラム選択部146が選択したプログラムの「プログラムの種類」と、情報選択部148が選択したプログラムの実行に必要な情報の「情報の種類」とをユーザに表示して、ユーザに当該処理を実行してよいか確認する。情報収集部110は、ユーザからの実行指示を受け付けると、S510においてプログラムを実行する。
図6は、処理システム600の機能ブロック図の一例を概略的に示す。処理システム600は、情報収集端末602と、処理端末604とを備える。情報収集端末602と処理端末604とは、ネットワーク60を介して接続されてよい。ネットワーク60は、インターネット、専用回線、無線パケット通信網などであってよい。
処理システム600および処理端末604は、処理装置の他の例であってよい。処理システム600は、情報収集部110および表示部120と、処理部130とが異なる端末に配される点で、処理装置100と相違する。処理システム600において、情報収集端末602のユーザと、処理端末604のユーザとが異なってもよい。
情報収集端末602は、ネットワーク60を介して処理端末604と通信できる装置であればよく、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末、無線端末などであってよい。情報収集端末602は、情報収集部110と、表示部120と、通信制御部622と、格納部624とを備えてよい。格納部624は、処理情報格納部626を有してよい。通信制御部622は、ネットワーク60を介して処理端末604と通信するインターフェースであってよい。
処理情報格納部626は、情報収集端末602において対応することができる処理に関する情報を格納してよい。処理情報格納部626は、上記の処理と、当該処理の「処理の種類」とを対応付けて格納してよい。処理の種類は、処理の対象、処理の対象および処理の内容の少なくとも1つに関する情報を含んでよい。処理情報格納部626は、格納する処理のそれぞれについて、処理の実行に必要な情報を格納してよい。
処理情報格納部626は、自然言語で表された「処理の種類」と、比較用言語で表された「処理の種類」とを、上記の処理に対応づけて格納してよい。処理情報格納部626は、自然言語で表された「処理の実行に必要な情報」と、比較用言語で表された「処理の実行に必要な情報」とを、上記の処理に対応づけて格納してよい。
処理情報格納部626は、情報収集端末602のユーザに関する情報を格納してもよい。処理情報格納部626は、情報収集端末602のユーザに関する情報を、処理部130に通知してよい。情報収集端末602のユーザに関する情報として、当該ユーザの氏名、住所、連絡先、代金の精算方法の優先順位などを例示することができる。情報収集端末602のユーザに関する情報は、複数の情報の一例であってよい。
処理端末604は、ネットワーク60を介して情報収集端末602と通信できる装置であればよく、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末、無線端末などであってよい。処理端末604は、処理部130と、通信制御部642と、格納部644とを備えてよい。格納部644は、プログラム情報格納部646を有してよい。通信制御部642は、ネットワーク60を介して情報収集端末602と通信するインターフェースであってよい。
プログラム情報格納部646は、データテーブル400を格納してよい。処理部130のプログラム情報保持部144は、プログラム情報格納部646からデータテーブル400に格納された情報を取得してよい。
これにより、情報収集端末602のユーザは、処理情報格納部626に格納された「処理の種類」のいずれかを選択することで、処理端末604に実行すべき処理を通知することができる。情報収集端末602のユーザは、処理端末604における処理の手順がわからない場合であっても、ユーザが情報収集端末602で選択した処理を、処理端末604に実行させることができる。
例えば、情報収集端末602の利用者が、処理端末604上のショッピングサイトにアクセスして、商品を購入する場合を考える。このとき、商品を購入する手順がショッピングサイトによって異なり、ショッピングサイトの利用者が商品を購入する手順が理解できない場合がある。また、商品を購入する手順が外国語で記載されており、ショッピングサイトの利用者が商品を購入する手順が理解できない場合がある。
このような場合であっても、処理システム600を利用することで、情報収集端末602のユーザは、自己の情報収集端末602の操作方法を理解していれば、商品を購入することができる。例えば、以下の手順で処理端末604における処理が実行される。まず、情報収集端末602のユーザが、購入を希望する商品を情報収集端末602上で特定する。次に、ユーザは、情報収集端末602に、情報収集端末602において対応することができる処理の「処理の種類」を表示させる。
ユーザは、表示された「処理の種類」の中から、実行することを希望する処理を選択する。ユーザは、情報収集端末602は、選択された処理に「処理の実行に必要な情報」が対応づけられている場合、表示部120に「処理の実行に必要な情報」を表示する。ユーザは、情報収集端末602の指示に従って、「処理の実行に必要な情報」を入力する。情報収集端末602は、選択された「処理の種類」および取得した「処理の実行に必要な情報」を、処理端末604に送信する。情報収集端末602は、比較用言語で表された情報を、処理端末604に送信してよい。
処理端末604は、情報収集端末602から送信された「処理の種類」に基づいて、実行するプログラムを選択する。処理端末604は、情報収集端末602から送信された「処理の実行に必要な情報」の中から、実行するプログラムの「プログラムの実行に必要な情報」を選択してよい。処理端末604は、選択したプログラムおよび選択した情報を用いて、処理を実行することができる。
図7は、処理情報格納部626に保持されるデータテーブル700の一例を概略的に示す。データテーブル700は、情報収集端末602で対応することができる処理の識別記号710ごとに、自然言語で表された処理の種類720と、比較用言語で表された処理の種類730と、自然言語で表された処理の入力項目740と、比較用言語で表された処理の入力項目750とを格納してよい。
処理の種類720および処理の種類730は、処理の種類、処理の処理対象および処理の処理内容の少なくとも1つに関する情報を含んでよい。処理の入力項目740は、処理の実行に必要な情報の一例であってよい。
図8は、情報収集端末602の選択画面の一例を概略的に示す。情報収集端末602は、表示部120の上にタッチパネル812を有してよい。また、情報収集端末602は、無線通信部814を有してよい。無線通信部814は、商品10に付された商品情報格納部12から情報を取得してよい。無線通信部814は、商品情報格納部12に情報を追加してよい。無線通信部814は、ICカードリーダであってよい。タッチパネル812および無線通信部814は、情報収集部110の一例であってよい。
情報収集端末602は、表示部120に、処理情報格納部626に格納された処理の種類を示す選択画面822を表示してよい。情報収集端末602のユーザは、タッチパネル812上の選択したい処理に対応する領域を選択することで、希望の処理を選択することができる。図8において、選択画面822に表示される「購入する」、「副作用を調べる」、「廃棄方法を調べる」、「経路を調べる」、「テレビをつける」および「テレビを消す」は、「処理の種類」の一例であってよい。
処理端末604は、処理を実行した後、商品10の商品情報格納部12に情報を追加してよい。例えば、ユーザが選択画面822から「購入する」という「処理の種類」を選択して、処理端末604が商品10の代金を精算する処理を実行した後、処理端末604は、商品10の商品情報格納部12に、ユーザが代金を精算したことを示す情報を追加してよい。処理端末604は、比較用言語で表された情報を商品情報格納部12に追加してもよく、商品情報格納部12に代金精算の終了を示すフラグがある場合には当該フラグをセットしてもよい。
図9は、処理システム900の機能ブロック図の一例を概略的に示す。処理システム900は、情報収集端末902と、処理端末904とを備える。情報収集端末902と処理端末904とは、ネットワーク60を介して接続されてよい。処理システム900および情報収集端末902は、処理装置の他の例であってよい。処理システム900は、処理決定部134と、実行部132とが異なる端末に配される点で、処理システム600と相違する。
情報収集端末902は、情報収集部110と、表示部120と、処理決定部134と、通信制御部622と、格納部624とを備えてよい。処理端末904は、実行部132と、通信制御部642と、格納部644とを備えてよい。情報収集端末902および処理端末904は、ネットワーク60を介して通信できる装置であればよく、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯電話、携帯端末、無線端末などであってよい。
処理システム900において、情報収集端末902は、処理端末904のプログラム情報格納部646から、処理端末904で実行することができるプログラムに関する情報を取得してよい。情報収集端末902は、処理端末904で実行するプログラムの種類と、当該プログラムの実行に必要な情報とを、処理端末904に送信してよい。情報収集端末902は、処理端末904から、処理の結果を受け取ってよい。これにより、情報収集端末902は、処理端末904に格納されたプログラムを実行させることができる。
図10は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
コンピュータ1900にインストールされ、コンピュータ1900を処理装置、例えば処理装置100として機能させるプログラムは、処理装置の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、処理装置の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段として機能する。
そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の処理装置、例えば処理装置100を構築できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。