以下、図面を参照しながら本発明の実施形態について詳細に説明する。なお、以下の実施形態において説明する構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
<構成>
図1は、実施形態にかかる検索式提示システム100を含む構成の一例を示す図である。検索式提示システム100は、受付部110、修正部120、出力部130、修正エンジン部140、制御部150、及び検索処理部160を有する。修正エンジン部140は、エキスパートシステムエンジン141、類語辞書エンジン142、及び学習モデルエンジン143を含む。図1は構成の一例を示したものに過ぎず、他の構成を含んでもよい。また、図1に記載された構成の全てが必須の要件であるとは限らない。
検索式提示システム100は、情報処理装置として実現することができる。情報処理装置は、CPU、メモリ、HDD、及びネットワークインタフェースを有してよい。図1に示す各部は、HDDに格納されたプログラムが一時的にメモリに読み出され、CPUがメモリに読み出されたプログラムを実行することで、CPUが図1に示す各部として機能してよい。また、図1に示す各部のうちの少なくとも一部が、各種のネットワークを通じて相互に接続された複数の情報処理装置によって実現されてよい。また、図1に示す各部のうちの少なくとも一部は、複数の情報処理装置による分散処理によって実現されてよい。修正エンジン部140に含まれる各エンジンは、それぞれ固有の処理を行う処理部である。各エンジンは、それぞれが上述したような情報処理装置として構成されてもよい。複数のエンジンが1つの情報処理装置に含まれる構成でもよい。あるいは、一部のエンジン(例えば学習モデルエンジン143)は、複数の情報処理装置による分散処理によって実現されてよい。
検索式提示システム100は、ユーザが使用する端末(以下、ユーザ端末10と呼ぶ)との間で各種のネットワーク(インターネットやLANやWANなど)を通じて通信が可能に構成されている。検索式提示システム100は、検索に用いるユーザインタフェース画面をユーザ端末10に出力する。検索式提示システム100は、このユーザインタフェース画面を通じてユーザ端末10から検索式の入力を受け付けたり、修正した検索式を提示したりすることができる。なお、本実施形態においては、検索に用いるユーザインタフェース画面は出力部130から出力される形態を例に挙げて説明するが(この形態の実装方法の一つとして、ASP(Application Service Provider)による提供形態がある)、これに限られるものではない。例えば、ユーザ端末10が予め本検索式提示システムに対応するアプリケーションをインストールしている場合がある。この場合、検索に用いるユーザインタフェース画面は、ユーザ端末10にインストール済みのアプリケーションによってユーザ端末10に表示されてもよい。
ユーザ端末10は、パーソナルコンピュータ、タブレット、モバイル端末など任意の種類の端末であってよい。本実施形態においてユーザ端末10は、検索式を入力する入力部11と、検索式を含むユーザインタフェース画面を表示する表示部12とを有する。ユーザ端末10は、入力部11および表示部12以外の機能を有していてもよい。検索式提示システム100は、ユーザをログイン管理しており、ログインしたユーザに固有の検索式の修正を行うことも可能である。詳細は後述する。
受付部110は、ユーザ端末10から入力された第一の検索式を受け付ける。例えば、表示部12で表示されているユーザインタフェース画面上において、入力部11から第一の検索式がユーザによって入力される。そして、入力された検索式がユーザ端末10から検索式提示システム100に送られる。受付部110は、ユーザ端末10において入力された第一の検索式を受け付ける。このようにして、受付部110は、ユーザ端末10からの他の操作指示を受け付けることが可能である。
修正部120は、受付部110においてユーザ端末10からの入力を受け付けた第一の検索式を修正して第二の検索式を生成する。具体的には、修正部120は、修正エンジン部140に含まれる複数の修正エンジンの少なくとも1つを用いて第一の検索式を修正する。図1の例では、複数の修正エンジンとして、エキスパートシステムエンジン141、類語辞書エンジン142、および学習モデルエンジン143が含まれている。検索式を修正する処理の詳細については後述する。
出力部130は、修正部120によって生成された第二の検索式を、修正が行われた個所がユーザインタフェース画面上で識別可能に表示されるように、ユーザ端末10に出力する。例えば、ユーザ端末10において、修正が行われた個所がユーザインタフェース画面上で強調して表示される。
制御部150は、第二の検索式の修正が行われた個所に対するユーザ端末10からの操作指示に従った制御をする。例えば、修正した内容を学習モデルエンジン143で用いられる学習モデルに反映させる制御を行う。詳細については後述する。
検索処理部160は、指定された検索式を用いて公報データベースを検索し、検索結果を取得する処理を行う。
<ユーザインタフェース画面の例>
次に、ユーザインタフェース画面の例を用いながら、具体的な例を説明する。
図2は、ユーザ端末10上で表示されるユーザインタフェース画面200の一例を示す図である。この例では、ユーザは、第一の検索式210の検索項目として「出願人・権利者」を指定し、検索キーワードとして「山田太郎」を入力している。
このとき、検索ボタン280をユーザが押下すると、通常の検索処理が行われる。すなわち、第一の検索式210がユーザ端末10から検索式提示システム100に送信され、受付部110にて受け付けられる。受付部110は、検索処理部160に第一の検索式を送り、検索処理部160で検索された結果が出力部130によってユーザ端末10に出力される。図2の例では、この第一の検索式210では、検索結果が0件であることが示されている。このとき、第一の検索式210の入力事項に誤りがあったこと気がついたユーザは、自身で検索式を修正して再度検索ボタン280を押下する。これにより、修正された検索式に基づく検索結果が出力される。
一方、例えば検索に熟練していないユーザは、第一の検索式210の何が間違っているのか直ちに理解ができない場合がある。また、仮に間違っていたとして、どのように修正すべきかを直ちに判断ができない場合もある。本実施形態においては、図2に示すように第一の検索式210が入力されている状態において、ユーザが添削ボタン220を押下する。ユーザの観点から見ると、この添削ボタン220を押下するだけで、第一の検索式210が添削された結果の第二の検索式を確認することができることになる。以下、説明する。
第一の検索式210が入力されている状態において添削ボタン220が押下されると、ユーザ端末10から第一の検索式210が検索式提示システム100に送信される。受付部110は、この第一の検索式210の入力を受け付ける。修正部120は、第一の検索式210を修正エンジン部140に含まれる少なくとも1つの修正エンジンに送信する。本実施形態では、修正部120は、第一の検索式210をエキスパートシステムエンジン141、類語辞書エンジン142、および学習モデルエンジン143のそれぞれに送信する。修正部120は、各エンジンによって修正された内容を受信し、検索式の形態に再構築する。すなわち、修正部120は、各エンジンによって修正された内容に基づいて第二の検索式を生成する。第二の検索式のうち、修正が行われた個所については、例えば修正エンジンの種類と修正内容とを表す修正フラグが関連付けられる。すなわち、修正部120は、どの修正エンジンによってどのような修正が行われたのかを示す修正フラグを、修正が行われた個所に関連付けることができる。出力部130は、第二の検索式を含むユーザインタフェース画面をユーザ端末10に出力する。なお、先に説明したように、出力部130は、第二の検索式を含むユーザインタフェース画面を送るのではなく、第二の検索式をユーザ端末10に送信する形態でもよい。
図3は、図2の状態において添削ボタン220が押下された後に、ユーザ端末10で表示されるユーザインタフェース画面300の例を示す図である。図3においては、図2で示した第一の検索式210が引き続き表示される。また、図3においては、修正部120による修正が行われて生成された第二の検索式320が表示される。なお、この例では、第一の検索式210が修正されることで2つの検索式330および340が生成されている。第二の検索式320は、これらの生成された検索式330、340を総称するものである。つまり、第一の検索式と第二の検索式との数が一致していなくてもよい。本実施形態においては、ユーザインタフェース画面300内において、第一の検索式210と第二の検索式320とが共に表示される。かかる構成によれば、ユーザは、自身が入力した検索式と、検索式提示システムによって修正された(添削された)検索式とを対比して確認することができる。このように、検索式の添削結果を確認することができるので、例えばユーザの検索スキルを向上させる用途に用いることが可能である。
図3のユーザインタフェース画面300においては、第二の検索式320のうち、修正部120によって修正が行われた個所が強調して表示されている。この例では、修正が行われた個所の背景色を、修正が行われていない箇所と異ならせることで、修正が行われた個所が強調されている例を示している。また、図3の例においては、修正が行われた個所とその修正内容とが視覚的に分かるように、修正が行われた個所の背景色を使い分けている。しかしながら、この例に限られることはない。例えば文字の色、サイズ、フォント、下線などの装飾を変更してもよいし、文字の背景の色、パターンを変更してもよい。また、修正が行われた個所を変更するのではなく、逆に修正が行われていない箇所を変更することで、修正箇所を識別可能に表示してもよい。かかる構成によれば、ユーザは、第二の検索式320のうち、修正が行われた個所を確認することができる。また、図3の例では第一の検索式210と第二の検索式320とを併せて表示している形態を示しているが、第二の検索式320のみが表示されている形態においても、ユーザは修正が行われた個所を確認することができる。
本実施形態では、出力部130からユーザ端末10に出力されるユーザインタフェース画面300に第二の検索式320を配置し、その第二の検索式320のうち、修正フラグが関連付けられた箇所を、その修正フラグの内容に応じて表示態様を変更すればよい。そして、このように表示態様が変更された第二の検索式320を含むユーザインタフェース画面300が出力部130からユーザ端末10に送信され、ユーザ端末10でユーザインタフェース画面300が表示されればよい。なお、ユーザインタフェース画面300自体が検索式提示システム100から送信されないような形態においては、修正フラグが関連付けられた第二の検索式が出力部130からユーザ端末10に送信され、ユーザ端末10の検索式提示システム100に対応するアプリケーションによって、この修正フラグに基づく表示態様の変更がなされてもよい。ここでは修正フラグを用いる形態を例に挙げて説明したが、これに限られるものではない。修正箇所と修正内容とを特定できればいずれの手法を採用してもよい。
図3の例においては、検索式330のうちの検索項目331が修正されたことが明示されている。検索式340のうちの検索項目341と、検索キーワード342、343、344、345、346とが修正されたことが明示されている。
また、図3の例においては、修正エンジンの種類と修正内容とを表す索引パネル351〜357が表示されている。ユーザは、この索引パネル351〜357を参照することで、エキスパートシステムエンジン141、類語辞書エンジン142、および学習モデルエンジン143のいずれの修正エンジンによって、どのような修正がなされたのかを確認することができる。索引パネル351は、類語辞書エンジン142が追加した項目であることを示す。索引パネル352は、エキスパートシステムエンジン141が追加した項目であることを示す。索引パネル353は、学習モデルエンジン143が追加した項目であることを示す。索引パネル354は、類語辞書エンジン142が変更した項目であることを示す。索引パネル355は、エキスパートシステムエンジン141が変更した項目であることを示す。索引パネル356は、学習モデルエンジン143が変更した項目であることを示す。索引パネル357は、エキスパートシステムエンジン141が削除した項目であることを示す。本実施形態においては、索引パネル356の色と修正箇所として明示されている色とが一致しており、ユーザは、どの修正エンジンによってどのような修正がなされたのかを索引パネルを351〜357を参照することで確認することができる。
なお、図3の例では、索引パネル351〜357を用いる形態を例に挙げて説明するが、これに限られるものではない。例えば、索引パネル351〜357をユーザ端末10で表示させずに、カーソルが修正箇所の上にマウスオーバーされたときに、修正エンジンの種類と修正内容とを表示させてもよい。あるいは、修正箇所からの吹き出し表示によって、修正エンジンの種類と修正内容とを表示させてもよい。また、図3の例では、表示形態を変更する例を示しているが、これに限られない。カーソルが修正箇所の上にマウスオーバーされたときに、音を出力させ、この出力音を修正エンジンの種類や修正内容に応じて異ならせてもよい。あるいは、音声出力機能を設けて、カーソルが修正箇所の上にマウスオーバーされたときに、修正エンジンの種類と修正内容とを音声で出力させる形態でもよい。
このような処理によれば、ユーザは、修正エンジンの種類と修正内容とを確認することができる。したがって、ユーザは、その修正をそのまま適用して検索を実行するか、さらに修正を加えた上で検索を実行するか、あるいはその修正を適用しないかなどの判断をし易くなる。例えば特定の検索項目に対しては、特定の修正エンジンの信頼性が高い、あるいは低いなどの知識をユーザが既に得ている場合には、修正エンジンが行った修正の精度をユーザが速やかに判断することが可能となる。
また、特定の種類の修正エンジンの中にも、複数の修正エンジンが含まれるような場合には、その修正エンジンを識別する情報が明示されてもよい。例えば、学習モデルエンジン143に複数の種類の学習モデルが含まれる場合には、学習モデルを識別する情報が明示されてもよい。
また、図3に示すように、本実施形態においては、修正箇所を例えば右クリックするなどして選択をした場合に、各種の操作指示のメニュー361〜365が表示される。メニュー361〜365のうちの一部のメニューが選択(入力)されると、ユーザ端末10から受付部110に操作指示が送られる。制御部150は、この操作指示に基づく制御を行う。
メニュー361は、修正箇所の内容をユーザが編集して変更する指示である。メニュー362は、修正箇所の内容を削除する指示である。これらのメニューが選択されると、修正された検索式に対するさらなる修正が行われる。
メニュー363は、修正箇所のキーワードを含む文献一覧を検索させる指示である。この指示が受付部110で受け付けられると、制御部150は、指示された検索キーワードを用いた検索を検索処理部160に実行させる。この検索結果は、出力部130によってユーザ端末10に提示される。
メニュー364は、修正箇所の内容を人工知能(学習モデル)に学習させる指示である。この指示が受付部110で受け付けられると、制御部150は、学習モデルエンジン143に含まれる学習モデルに修正箇所の内容を学習させる。詳細は後述する。
メニュー365は、修正箇所のキーワードに関するシソーラス用語(類語)を表示させる指示である。この指示が受付部110で受け付けられると、制御部150は、類語辞書エンジン142に修正箇所のキーワードを投入し、類語辞書エンジン142から得られた結果を出力部130に送信し、出力部130がその結果をユーザ端末10に出力する。
次に、各修正エンジンについて説明する。エキスパートシステムエンジン141は、特定の分野についての情報を解析するルール群から構成されるプログラムである。エキスパートシステムエンジン141は、例えば推論エンジンと知識データベースとを有する。本実施形態におけるエキスパートシステムエンジン141は、検索サービスにおける各種のノウハウを格納した知識データベースを有しており、知識データベースに基づいて推論エンジンによる修正が行われる。例えば、「出願人・権利者」は、企業名であることが多いことや、「特許請求の範囲」に検索キーワードとして単に「装置」と入力すると、ほとんど検索の意味を成さないことなどの、各種のノウハウを格納した知識データベースを有している。エキスパートシステムエンジン141は、このような知識データベースに基づく修正を行う。
類語辞書エンジン142は、類語辞書データベースを有しており、入力された用語に関連する類語に基づく修正を行う。
学習モデルエンジン143は、検索項目に応じた複数の学習モデルを有しており、検索式の検索項目に対応した学習モデルに検索キーワードを投入して出力データを出力する。修正部120は、出力データに基づく修正を行う。
図3の具体例を説明する。第一の検索式210においては、先に説明したように、検索項目として「出願人・権利者」が指定され、検索キーワードとして「山田太郎」という個人名が入力されている。「出願人・権利者」は企業名であることが多く、個人名は発明者として用いられる場合が多いことが知られている。このような知識を有する知識データベースに基づいて、エキスパートシステムエンジン141は、検索項目を「出願人・権利者」から「発明者(最新)」に修正する結果を出力する。これを受けて、修正部120は、検索式330を生成する。出力部130は、エキスパートシステムエンジン141によって変更されたことを明示した検索式330をユーザ端末10に出力する。なお、出力部130は、検索式330を用いた場合の検索結果の件数を検索処理部160に問い合わせ、その結果も併せてユーザ端末10に出力する。
また、個人名は同性同名の存在確率が高いことが知られている。そこで、エキスパートシステムエンジン141は、検索式340に示すように、「山田太郎」という発明者が含まれる出願人・権利者を抽出して提示する。これにより、ユーザは所望の検索結果にたどり着き易くなる。そして、例えばユーザは、不要な出願人・権利者の上で右クリックをして、メニュー362を選択することで、不要な出願人・権利者を検索式340から削除することができる。
チェックボックス370〜372は、添削後の第二の検索式を適用して検索を行うか否かをユーザが指示するボタンである。チェックボックス370がチェックされると、チェックボックス371および372のいずれもチェックがされることになる。チェックボックス371またはチェックボックス372がチェックされ、検索ボタン380がユーザによって押下されると、検索実行の指示が受付部110によって受け付けられ、検索処理部160が、チェックされた検索式(第二の検索式)に従った検索を行い、出力部130が検索結果をユーザ端末10に出力する。
このように、本実施形態の処理によれば、第二の検索式のうち、修正が行われた個所が識別可能に表示される。したがって、ユーザは修正箇所を容易に確認することができる。また、本実施形態の処理によれば、修正エンジンの種類と修正内容とが明示して表示される。したがって、ユーザは、修正エンジンの種類と修正内容とを参照して、その修正箇所に対してさらなるアクションを指示することができる。
なお、上記で説明した例では、「山田太郎」と入力し、検索項目として「出願人・権利者」を指定しているが、この検索項目を指定していない場合も想定され、そのような想定であっても、本実施形態によれば検索項目として「出願人・権利者」を指定することができる。
図4は、別の検索式を用いた場合のユーザインタフェース画面400を示す図である。ユーザインタフェース画面400には、第一の検索式410と、第一の検索式410を修正して生成された第二の検索式450とが表示されている。
修正箇所451は、学習モデルエンジン143によって追加された個所である。例えば学習モデルエンジン143は、大量の特許データをコンテキスト語彙集として利用し、ミススペルを特許明細書中の文脈上での利用に基づいて修正することができる。ここでは単語canserのスペルミスを学習モデルエンジン143が単語cancerに修正している(単語cancerを検索式に追加している)。このようなミススペルの単語は類語辞書エンジン142では発見ができないことが多い。ここでは学習モデルエンジン143が修正する例を説明したが、類語辞書エンジン142が、単語canserに関する、ミススペルを含む類語に関するデータを格納しているデータベースを有するような場合には、類語辞書エンジン142が修正して単語cancerを追加してもよい。
修正箇所452は、エキスパートシステムエンジン141によって削除された個所(検索式)である。図4の例では、同じ検索キーワードを用いて、検索項目として「全項目(全文)」が指定された検索式と、「要約」が指定された検索式とを含む第一の検索式410が入力されている。「全項目(全文)」には、「要約」が含まれていることが知られている。したがって、エキスパートシステムエンジン141は、「要約」が検索項目として指定されている検索式を削除する。
操作指示461は、当該英語の単語を辞書で和訳させる指示である。操作指示462は、削除された検索式を復活させる指示である。
図5は、別の検索式を用いた場合のユーザインタフェース画面500を示す図である。ユーザインタフェース画面500には、第一の検索式510と、第一の検索式510を修正して生成された第二の検索式550とが表示されている。第一の検索式510は、検索項目として「発明者(最新)」が指定され、検索キーワードとして「野村総研」が入力された例である。この例では、実際にはユーザは、「出願人・権利者」が「株式会社野村総合研究所」である文献を検索したいと考えていたが、第一の検索式510のように入力が行われた場合の例である。
企業名を省略した形で入力すると、企業名シソーラスには合致しないので、類語辞書エンジン142では修正が行われない場合がある。また、エキスパートシステムエンジン141においても、「野村総研」という個人名であると認識して修正が行われない場合がある。これに対して、学習モデルエンジン143では、修正を行うことが可能である場合がある。例えば、大量の公報のデータを用いて学習が行われた学習モデルを用意する。この学習モデルにおいては、「野村総研」という単語と「株式会社野村総合研究所」という単語とは関連するという特徴が、既に学習済みであると仮定する。この場合、学習モデルエンジン143に第一の検索式510の情報を入力することで、修正箇所552に示すように「野村総研」が「株式会社野村総合研究所」に修正される。また、修正エンジンによって修正が行われた結果を用いて、他の修正エンジンで再度の修正が行われてもよい。図5の例では、学習モデルエンジン143によって「株式会社野村総合研究所」と修正された結果、エキスパートシステムエンジン141は、修正箇所551に示すように、検索項目を「出願人・権利者(最新)」に修正している。このように、第一の修正エンジンで修正された結果に基づいて第二の修正エンジンがさらなる修正を行ってもよい。
学習モデルの構築方法は、教師あり学習においても複数の方法があり、本願発明の構築方法を特定の一方法に限定する意図はないが、一例を説示する。上記の例であれば、入力値「発明者(最新)」「野村総研」と出力値「出願人・権利者」「株式会社野村総合研究所」を教師ありデータとしてニューラルネットワークに学習させる。別例としては、入力値を具体的な名前(氏名、会社名等)とし、出力値を検索項目名とする教師ありデータを無数に用意して学習させ、具体的な名前を入力するとその入力値がどの検索項目と対応するのかを出力する学習モデルαを構築することも可能である。これに加え、入力値を誤った具体的な名前若しくは正式名称ではない名前(氏名、会社名等)とし、出力値を正式名称である名前(氏名、会社等)とする教師ありデータを無数に用意して学習させ、略称を入力すると正式名称を出力する学習モデルβを構築することも可能である。これらの学習モデルα、βを用い、学習モデルβに「野村総研」を入力することで「株式会社野村総合研究所」が出力され、出力された「株式会社野村総合研究所」を学習モデルαに入力することで「出願人・権利者」を出力させることで、前説の修正を実現することもできる。
さらに、検索熟練者はある検索タームに対する類義語を検索式にセットすることを往々にして行うが、検索初心者は類義語を用いることなく検索を行うことがある。そこで、類義語を出力する学習モデルを構築することもできる。類義語の学習モデル構築の一例としては、検索熟練者の検索式や特許庁の審査官の検索式を用いることができ、より具体的には、それらの検索式のうち(検索式例:A*B*(C+C'+C''))、OR論理演算のパラメータを用いて構成される検索式の一部(検索式の一部の例: C+C'+C'')を取り出し、取り出した検索式の一部を用いて教師有データを作成し(教師有りデータの例:教師有りデータ1(入力値C、出力値C+C'+C'')、教師有りデータ2(入力値C'、出力値C+C'+C''))、教師有りデータ3(入力値C''、出力値C+C'+C''))学習モデルを構築することで、C、C'、C''のいずれのみをユーザが入力した場合でも、出力値としてC+C'+C''が生成されることになる。
図6は、図5と同じ検索式を用いたユーザインタフェース画面600を示す図である。ユーザインタフェース画面600には、第一の検索式610と、第一の検索式610を修正して生成された第二の検索式650とが表示されている。図6の例では、第二の検索式650の提示にさらに加えて、推薦メッセージ660がユーザインタフェース画面600に含まれている。推薦メッセージ660は、第二の検索式650に含まれていない、お勧めの検索条件を示している。出力部130は、ユーザ端末10を用いてログインしているユーザの過去の検索履歴情報に基づいて、頻繁に用いる分野の分類コードを推薦メッセージ660として出力する。図6の推薦メッセージ660においては、ユーザの過去の検索履歴を学習した学習モデルから得られる出力データに基づいて、推薦する分野の分類コードが提示されている。
図7は、別のユーザインタフェース画面700を示す図である。図7は、図2と同様に、ユーザが任意に検索式(第一の検索式710)を入力する画面を示している。また、ユーザインタフェース画面700には、検索結果として欲しい件数である目標ヒット件数を入力する項目750が含まれている。ユーザの中には、例えば200件の公報のリストが欲しい、というように、特定の数の公報が抽出されるように検索式を構築したいという要望がある。ここで、ユーザが第一の検索式710を入力して検索ボタン780を押下した際に得られた検索結果の件数が、所望の件数(この例では200件)ではない場合がある。このとき、ユーザは、目標検索結果の件数を入力する項目750で「200件」を指定し、添削ボタン720を押下する。すると、この指定された目標検索結果の件数を受付部110が受け付ける。修正部120は、目標検索結果の件数に近い値となるように検索式を修正する(目標検索結果の件数に近い母集団を作成するために検索式の修正を行う場合に、各検索項目に入力する値を修正(検索期間を変更するなど)することも可能であるが、図7に示す複数の検索項目式を組み合わせた論理式を修正することもできる。論理式の組み立て方で抽出される件数は、一般的に、大きくことなることから、その中でも最も目標検索結果の件数に近い論理式を提示することが一例となる。また、最も目標検索結果の件数に近い論理式だけでなく、その件数に近い順に複数の論理式をユーザに提示して選択して貰う構成であってもよい。)。
なお、修正部120は、目標検索結果の件数以下となるように修正してもよいし、目標検索結果の件数から所定の範囲内の件数となるように修正してもよい。例えば、目標検索結果が200件である場合、修正部120は、検索結果の件数が200件以下となるように検索式を修正してもよいし、検索結果の件数が180件以上220件以下となるように検索式を修正してもよい。修正部120は、第一の検索式710を修正して生成した第二の検索式の検索結果の件数が、目標検索結果の件数から所定の範囲内にない場合、目標検索結果の件数に近づくように第二の検索式をさらに修正して第三の検索式を生成することができる。ここで、目標検索結果の件数が抽出され、抽出された公報をスクリーニングした後に所望の公報がなかった場合に、更に、追加でユーザが望む件数の公報を抽出するように第三の検索式を修正して新たな検索式を生成することができる。つまり、新たな検索式で抽出された公報からスクリーニングした公報(第三の検索式で抽出された件数)を取り除いた件数がユーザが望む件数となるように新たな検索式を生成することとなる。
図8は、別のユーザインタフェース画面800を示す図である。ユーザインタフェース画面800には、第一の検索式810と、第一の検索式810を修正して生成された第二の検索式850、860とが表示されている。図8では、複数の添削モードが用意されており、それぞれの添削モードに応じた第二の検索式850、860が表示されている例を示している。図8の例では、知財部モードと審査官モードとが用意されている。このような複数の添削モードは、学習モデルエンジン143で用いられる学習モデルを、それぞれのモードに対応する学習モデルとして構築しておき、学習モデルエンジン143が使用する学習モデルを切り替えることで実現できる。例えば、特定のグループや特定のユーザの過去の検索式(特許庁の審査官の検索式情報(審査官毎の検索式)は特許の包袋に格納されており、知財部の検索式情報は特許検索システム上に記録されているため、それぞれ取得することが可能である。日本特許庁に限らず、海外特許庁の審査官の検索式情報であってもよく、米国特許庁は包袋に検索式を登録している。)などを用いた学習モデルをそれぞれ構築しておく。図8の例では、知財部モードの検索式を出力する学習モデルと、審査官モードの検索式を出力する学習モデルとをそれぞれ構築しておく。学習モデルエンジン143は、それぞれの学習モデルに対して第一の検索式を入力し、学習モデルから出力データを得る。修正部120は、それぞれの学習モデルから出力された出力データに基づいて、それぞれの第二の検索式を生成する。図8の例では、知財部の担当者が頻繁に調査で用いる検索式に基づく第二の検索式850と、審査官が頻繁に審査で用いる検索式に基づく第二の検索式860とを含むユーザインタフェース画面800が表示されている。なお、更に細分化して知財部の特定の担当者別の学習モデル、審査官毎の学習モデルを構築してもよく、この場合、ユーザは特定の知財担当者若しくは審査官を指定して添削処理を指示する。
また、このような複数の添削モードは、図7で説明した目標検索結果の件数と併せて用いてもよい。例えば、目標検索結果の件数が200件と設定された場合、第二の検索式の結果が200件よりも大きい場合、どのように絞り込みを行うかを決める指針として、添削モードが選択されてもよい。図8の例では、修正箇所854によって200件以内に件数が絞り込めることを示している。図8には示していないが、絞り込みの検索式は、知財部モードと審査官モードとで異なる場合がある(同じになる場合もある)。なお、図8の修正箇所851、852、861、862は、類語辞書エンジン142が追加した箇所を示している。
<フローチャート>
図9は、本実施形態における検索式提示システムで行われる検索式提示方法の一例を示すフローチャートである。図9の処理は、ユーザがユーザ端末10を用いて検索式提示システム100にログインし、検索用の画面の表示要求がユーザ端末10から検索式提示システム100に送信された後の処理を示している。
ステップS901において出力部130は、検索に用いるユーザインタフェース画面をユーザ端末10に提示する。ユーザ端末10は、表示部12にユーザインタフェース画面を表示し、ユーザからの第一の検索式の入力を待つ。
ユーザ端末10において第一の検索式が入力され、第一の検索式の添削要求ボタンが押下されると、ステップS902において、受付部110は、第一の検索式とその添削要求との入力を受け付ける。受け付けられた第一の検索式は、修正部120に送信される。
ステップS903において修正部120は、第一の検索式を複数の修正エンジンのうちの少なくとも1つに送信する。本実施形態では、エキスパートシステムエンジン141、類語辞書エンジン142、および学習モデルエンジン143に送信する。
ステップS904において修正部120は、修正エンジンによって修正がされた事項を特定する。すなわち、第一の検索式のうち、修正がされた検索項目および検索キーワードを特定する。
ステップS905において修正部120は、修正された事項を検索式として反映させた第二の検索式を生成する。また、修正がされた内容を示す修正フラグを修正箇所に関連付ける。
ステップS906において出力部130は、第一の検索式と第二の検索式とが含まれるユーザインタフェース画面を、修正箇所が識別可能な態様でユーザ端末10に提示する。例えば第二の検索式は、修正された個所が強調されてユーザ端末10の表示部12に表示されることになる。
以上説明したように、本実施形態によれば、検索に用いられるユーザインタフェース画面上において、修正された検索式の箇所が識別可能に表示される。これにより、当初入力した検索式のうちのどの箇所が修正されたのかをユーザが確認することができる。また、本実施形態によれば、ユーザが入力した検索式と修正後の検索式とが併せて表示される。ユーザは、自身が入力した検索式と、検索式提示システムによって修正された(添削された)検索式とを対比して確認することができる。
図10は、ユーザインタフェース画面1000のレイアウトの例を示す図である。これまで説明した例においては、添削前の検索式と添削後の検索式とが画面の上下に分かれて表示される形態を説明した。しかしながら、画面のレイアウトは、このような例に限られない。例えば図10のユーザインタフェース画面1000に示すように、添削前の検索式と添削後の検索式とが画面の左右に表示される形態でもよい。領域1010は、第一の検索式が表示される領域であり、領域1020は、第二の検索式が表示される領域である。このように左右に分かれて表示されることで、ユーザが、添削前の検索式と添削後の検索式とを比較し易くなる。なお、レイアウトはユーザが任意に変更することも可能であり、添削前の検索式と添削後の検索式とが画面の上下に配置したり、左右に配置したりするなど、任意に変更することもできる。また、添削前の検索式と添削後の検索式の配置を、上述した例と逆となるようなレイアウトにしてもよい。また、例えばスマートフォンなどのようにユーザ端末10の表示部12が小さい場合には、切り替えボタンなどを表示させ、切り替えボタンをユーザが押下するたびに、添削前の検索式と添削後の検索式とが切り替わってユーザ端末10の表示部12で表示される形態でもよい。
<実施形態2>
実施形態2においては、実施形態1で説明した修正エンジンのうちの学習モデルエンジン143を用いる形態を詳細に説明する。
<構成>
実施形態2に係る検索式提示システムの基本的な構成は、図1で示したものと同様である。図1で示す修正部120と、学習モデルエンジン143と、制御部150とを詳細に説明する。
図11は、本実施形態における検索式提示システムの構成を示す図である。なお、図11では、修正エンジン部のうち、学習モデルエンジン143を抜粋して示している。修正部120は、投入部1111、取得部1112、修正処理部1113を有する。制御部150は、モデル構築部1151を有する。学習モデルエンジン143は、複数の学習モデルを含む学習モデル群を有しており、学習モデル群は、第一の学習モデル1161、第二の学習モデル1162、第三の学習モデル1163、第四の学習モデル1164、および第五の学習モデル1165を有する。ここでは5つの学習モデルを例に挙げて示しているが、これに限られるものではない。また、それぞれの学習モデルは、説明の便宜上区別しているものに過ぎない。
学習モデルは例えば図12に示すようなニューラルネットワークによって構成されていてよい。ニューラルネットワークは、入力層1210、中間層1220、及び出力層1230を含む。それぞれの層は、複数のノードで構成される。図12では、入力層1210は、ノード1211、1212、1213を含み、中間層1220は、ノード1221、1222、1223を含み、出力層1230は、ノード1231、1232、1233を含む例を示している。各層に含まれるノードの数は図示した例に限られるものではなく、多数のノードから構成される形態が一般的である。中間層1220は一層に限られるものではなく、複数の層から構成されてよい。それぞれのノードには重みが設定されており、入力されたデータに重みを掛け合わせた値を後段のノードに伝えていく。ニューラルネットワークは、CNN(Convolutional Neural Network)を用いてもよいし、RNN(Recurrent Neural Network)を用いてもよい。その他の手法を用いてもよい。ニューラルネットワークではなく、SVM(Support Vector Machine)で学習モデルを構築してもよい。本実施形態において学習モデルそれ自体は任意の種類のものを用いてよい。また、学習モデルは、教師あり学習で構築されていてもよく、半教師あり学習で構成されていてもよく、教師なし学習で構成されていてもよい。
投入部1111は、受付部110でユーザ端末10からの入力を受け付けた検索式の情報を学習モデル群の中の少なくとも1つの学習モデルに投入する。
本実施形態においては、検索項目に応じた複数の学習モデルが用意されている。例えば、検索項目として「出願人・権利者(最新)」が指定された場合の学習モデル、検索項目として「発明者(最新)」が指定された場合の学習モデル、および検索項目として「全文」が指定された場合の学習モデルなどが用意されている。
投入部1111は、受付部110において入力を受け付けた検索式に含まれる検索項目に対応する学習モデルに、検索式に含まれる検索キーワードを投入する。先の図5で説明した具体例を用いて説明する。検索式(第一の検索式)に含まれる検索項目は「発明者(最新)」であり、検索キーワードは、「野村総研」である。検索項目が「発明者(最新)」という書誌的情報であるので、投入部1111は、書誌的情報を用いて構築された第一の学習モデル1161に検索キーワード「野村総研」を投入する。なお、ここで、第一の学習モデル1161は、「出願人・権利者(最新)」が指定された場合の学習モデル、検索項目として「発明者(最新)」が指定された場合の学習モデルのように、さらに細分化した学習モデルであってもよい。
取得部1112は、投入部1111による投入に応じて学習モデルから出力される出力データを取得する。上記の例では、第一の学習モデル1161から出力される出力データを取得する。例えば、「出願人・権利者(最新)」が指定された場合の学習モデルからは、「株式会社野村総合研究所」を示す出力データが出力され、検索項目として「発明者(最新)」が指定された場合の学習モデルからは、「該当者なし」を示す出力データが取得される。ここで、教師あり学習データとして、これまでに公開されている特許公報を用いることで、どのようなタームが出願人となる傾向があるのか、どのようなタームが発明者となる傾向があるのかを反映した学習モデルが構築されていることになる。前説の例で言えば、「野村総研」というタームで検索項目が「発明者(最新)」とされている案件はないため「該当者なし」となり、学習モデル内で紐づいている評価値の高い検索項目が「出願人・権利者(最新)」であり「株式会社野村総合研究所」という値が出力されることになる。
修正処理部1113は、取得部1112において取得された出力データに基づいて、検索式を修正する。上記の例では、検索キーワードを「株式会社野村総合研究所」に修正する。なお、先に説明した図5の例では、検索項目はエキスパートシステムエンジン141によって修正される形態を説明したが、上述したように、第一の学習モデル1161から出力される出力データに基づいて修正されてもよい。
修正された検索式(修正された第二の検索式)は、出力部130によってユーザ端末10に出力される。
このように、検索項目に応じた学習モデル(第一の学習モデル1161)を用意することで、検索項目の指定間違いや、検索項目の入力間違いを修正した出力データが第一の学習モデル1161から出力される。例えば、次のような入力間違いが修正される。
・「審判官・審査官」を検索項目として指定した場合に、企業名を検索キーワードとして入力
・「代理人」を検索項目として指定した場合に、企業名を検索キーワードとして入力
・「出願人(完全一致)」を検索項目として指定した場合に、企業名の一部を入力(例えば、株式会社野村総合研究所を、「野村」と入力)
・「出願人(後方一致)」を検索項目として指定した場合に、企業名の冒頭のみを入力(例えば、株式会社野村総合研究所を、「野村」と入力)
・「審判官・審査官」を検索項目として指定した場合に、外国人の名前を入力
・「出願人・権利者」を検索項目として指定した場合に、英字社名を入力(たとえばIBMは、出願においてはインターナショナル・ビジネス・マシーンズというカタカナ表記が用いられている)
・表記ゆれ(例えば、「野村」を「里予木寸」と入力など)
上記の例は一例に過ぎず、これに限られるものではない。
第二の学習モデル1162は、少なくとも公報に含まれる分類を用いて構築された学習モデルである。分類の中には、互いに密接に用いられる分類がある。第二の学習モデル1162は、このような分類の関連性を学習した学習モデルである。例えば投入部1111が、検索式に含まれる分類コードを第二の学習モデル1162に投入すると、関連する分類コードが第二の学習モデル1162から出力される。また、例えば全文検索などで用いられる検索キーワードを第二の学習モデル1162に投入した場合に、関連する分類コードが第二の学習モデル1162から出力される。修正処理部1113は、関連する分類コードを用いて検索式を修正し、出力部130は、修正された検索式をユーザ端末10に提示する。なお、出力部130は、関連する分類コードを提示して、例えば「別分類コードYにも類似公報がN件存在します」といった通知メッセージをユーザ端末10に出力してもよい。
学習モデルの中には、ユーザに固有の学習モデルが用意されている。第三の学習モデル1163は、ユーザが予め選別した公報を用いて構築された学習モデルである。つまり、ユーザ固有の学習モデルである。例えば、ユーザが予め選別した公報の公報全文、特許請求の範囲、または要約などのデータから、学習モデルエンジン143が形態素分析を行い、学習用の学習キーワードを抽出する。そして、抽出した学習キーワードとその公報とを教師データとして用いて第三の学習モデル1163を構築する。このように構築された第三の学習モデル1163に、検索キーワードを投入すると、関連する学習キーワードが出力データとして出力される。
なお、先に説明したように、第三の学習モデル1163もさらに細分化した学習モデルとして構成されることができる。例えば、特許分類のサブクラスレベルの学習モデルの集合を総称して第三の学習モデル1163と呼んでよい。また、学習モデルを構築する際に用いる公報は、ユーザが予め選別した公報に加えて、その公報の引用公報または被引用公報を含めてもよい。すなわち、公報Xの明細書中の先行技術文献に記載されている公報、公報Xの出願経過において拒絶理由通知で引用されている公報、他の公報であって公報Xを拒絶理由通知で引用している公報、他の公報であって先行技術文献に公報Xが記載されている公報などを含めてもよい。
また、学習キーワードの公報における分布状況を加味した第三の学習モデル1163が構築されてもよい。例えば、学習キーワードW1が公報の全体にわたって分布されている場合、または学習キーワードW1が公報の中の特許請求の範囲や要約に記載されている場合には、その学習キーワードW1を重要なキーワードとして扱ってよい。例えば、公報の一部のみに存在し、特許請求の範囲や要約などの重要な箇所に記載されていない学習キーワードW2よりも、学習キーワードW1を重要なキーワードであるとして扱ってよい。この場合、学習キーワードの重みを変更した教師データとして使用され、第三の学習モデル1163が構築されてもよい。
また、学習キーワードは、例えばユーザが公報を選別している際に、所定の用語にラベリングを行うことで得られるものを用いてもよい。ラベリングの例としては、「学習モデルに追加」、「後で確認」、「学習モデルから削除」などが挙げられる。「学習モデルから削除」がラベリングされた場合、学習モデルエンジン143は、対応する学習モデルに当該用語の特徴量を低くする教師あり学習を行わせることで、当該学習モデルから削除を行う。
学習モデルの中には、ユーザが過去に入力した検索式のデータに基づいて構築されているものがある。第四の学習モデル1164は、所定のユーザ単位で構築された学習モデルである。所定のユーザ単位とは、単一のユーザ単位でもよいし、複数のユーザ単位でもよい。例えば、知財部のユーザを単位としてもよいし、特定の技術分野の審査官を単位としてもよい。例えば審査官の場合には、審査で用いられた検索式を用いて学習モデルを構築すればよい。受付部110は、どのユーザのモードを用いるかの指定を受け付けてよく、投入部1111は、指定を受け付けたユーザ単位に対応する第四の学習モデル1164に検索式の情報を投入する。これにより、所定のユーザ単位に対応する出力データが得られることになる。この結果、修正処理部1113が修正した検索式は、所定のユーザ単位ごとに変わる場合もある。
また、学習モデルの中には、検索目的に応じて構築された学習モデルが含まれている。第五の学習モデル1165は、検索目的に応じて構築された学習モデルである。検索目的は、例えば審査官が行う先行調査、熟練者が行う先行調査、無効調査、技術動向調査などが挙げられる。第五の学習モデル1165は、これらの検索目的の類型に応じて構築された、細分化された学習モデルを含んでよい。受付部110は、検索目的の指定をユーザ端末10から受け付け、投入部1111は、指定された検索目的に対応する第五の学習モデル1165に検索式の情報を投入する。たとえば、無効調査を検索目的として指定したユーザに対して、第五の学習モデル1165が入力された検索式を参照して、「分野を絞らない方がよい」や「公開公報や実用新案も検索対象にすべき」というアドバイスがユーザ端末10に提示されることもできる。なお、第五の学習モデル1165は、国別に対応する学習モデルを含んでもよく、技術分野別の学習モデルを含んでもよい。
このように、学習モデルから出力された出力データに基づいて修正処理部1113が修正した検索式(生成した第二の検索式)は、出力部130によってユーザ端末10に出力される。第二の検索式がユーザ端末10で提示される態様については、実施形態1で説明した通りである。なお、提示された第二の検索式に対してユーザ端末10から操作指示がされる場合がある。例えば、図3のメニュー364がユーザ端末10において選択される場合である。この操作指示を受付部110が受け付けると、モデル構築部1151は、操作指示で指定された修正箇所に関する事項を教師データとして用いて、学習モデルを再構築する。再構築する対象となる学習モデルは、当該修正箇所の修正に用いられた学習モデルのみを再構築してもよいし、その学習モデルに関連する学習モデルを含めて再構築してもよいし、学習モデルエンジンに含まれる学習モデル群の全ての学習モデルを再構築してもよい。
以上説明した例では、説明の便宜上、第一の学習モデル1161から第五の学習モデル1165の5つの類型を説明したが、これに限られるものではない。各学習モデルがさらに細分化されたものであってもよいし、複数の学習モデルが一体となっている学習モデルを用いてもよい。また、投入部1111は、検索式の情報を、少なくとも1つ以上の学習モデルに投入してもよいし、検索式の情報を複数の学習モデルに投入してもよい。
図13は、本実施形態における検索式提示システムにおける検索式提示方法の一例を示す図である。
ステップS1301において受付部110は、ユーザ端末10から検索式の入力を受け付ける。
ステップS1302において修正部120は、検索式に含まれる検索項目を特定する。
ステップS1303において投入部1111は、ステップS1302において特定された検索項目に対応する学習モデルに対して、検索式の情報を投入する。検索項目と検索キーワードの両方を投入してもよいし、検索キーワードを投入してもよい。
ステップS1304において取得部1112は、ステップS1303における投入に応じて学習モデルから出力された出力データを取得する。
ステップS1305において修正処理部1113は、ステップS1304で取得された出力データに基づいてステップS1301で入力を受け付けた検索式を修正する。
ステップS1306において出力部130は、ステップS1305で修正された検索式をユーザ端末10に出力する。
以上説明したように、本実施形態によれば、検索式の情報を学習モデルに投入し、学習モデルから出力された出力データに基づいて検索式が修正される。したがって、エキスパートシステムエンジン141や類語辞書エンジン142などで行われる画一的な(あるいは機械的な)修正に限られず、熟練者などのより人間が行う修正により近い修正が行われる。したがって、適切な検索式をユーザ端末10に提示することができる。また、入力された検索式が形式的に問題ない場合であっても、あたかも検索実務を熟知しているユーザによって修正がされたような検索式をユーザ端末10に出力することができる。
なお、前記実施形態では、検索式の情報を学習モデルに投入し、学習モデルから出力された出力データに基づいて検索式が修正される構成であったが、これらの修正候補に加え、過去の実施された検索式のうち類似性/関連性が高いものをソートして参考として表示し、表示されている参考の検索式から検索式の要素(検索式の一部)を修正候補として切り出すことが可能な構成であってもよい。ここで、学習モデルを構築する過程で、過去の検索式を入力しているため、現在添削対象としている検索式と類似の過去検索式を取り出すことは可能である。また、学習モデルから出力された出力データに基づいて検索式が修正されるのに加え、類似性/関連性が高い過去検索式を表示する構成を説明したが、学習モデルから出力された出力データに基づいて検索式が修正されることなく、類似性/関連性が高い過去検索式を表示する構成であってもよい。
上述した実施形態の機能を実現するための各部は、例えばハードウェアまたはソフトウェアによって実装することができる。ソフトウェアによって実装される場合、ハードウェアを制御するプログラムコードをCPU、MPUなどの各種のプロセッサによって実行されてもよい。プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。プログラムコードの一部をハードウェアで実現し、残りの部分を各種プロセッサが実行してもよい。
上述した実施形態に記載された発明は、特許請求の範囲に記載された発明と表現することができる他、以下の別記に記載された発明として表現することもできる。また、特許請求の範囲に記載された内容と、下記別記の内容を組み合わせた内容も、本発明である。
[別記1]
ユーザ端末において入力された第一の検索式を受け付ける受付部と、
前記入力を受け付けた第一の検索式を修正して第二の検索式を生成する修正部と、
修正が行われた個所が前記ユーザ端末のユーザインタフェース画面上で識別可能に表示されるように前記第二の検索式を前記ユーザ端末に出力する出力部と
を有する検索式提示システム。
[別記2]
前記出力部は、前記入力を受け付けた第一の検索式とともに前記第二の検索式が前記ユーザインタフェース画面で表示されるように、前記第二の検索式を前記ユーザ端末に出力する、別記1に記載の検索式提示システム。
[別記3]
前記修正部は、複数の修正エンジンを用いて前記第一の検索式を修正し、
前記出力部は、修正を行った修正エンジンの種類若しくは修正を行った修正エンジンの識別情報と修正内容とを前記ユーザ端末に出力する、別記1または2に記載の検索式提示システム。
[別記4]
前記修正エンジンは、エキスパートシステムエンジン、類語辞書エンジン、および学習モデルエンジンの少なくとも1つを含む、別記3に記載の検索式提示システム。
[別記5]
前記受付部は、前記第二の検索式のうち、修正が行われた個所に対する前記ユーザ端末からの操作指示をさらに受け付け可能であり、
前記操作指示に従って制御をする制御部をさらに有する、別記4に記載の検索式提示システム。
[別記6]
前記操作指示が、修正の内容を学習させることを示す場合、前記制御部は、前記修正が行われた内容に基づいて前記学習モデルエンジンで用いられる学習モデルを再構築する、別記5に記載の検索式提示システム。
[別記7]
前記出力部は、前記ユーザインタフェース画面を前記ユーザ端末に出力する、別記1から6のいずれか一項に記載の検索式提示システム。
[別記8]
前記出力部は、前記第二の検索式に含まれていない、お勧めの検索条件を前記ユーザ端末に出力する、別記1から7のいずれか一項に記載の検索式提示システム。
[別記9]
前記受付部は、目標検索結果の件数の入力を前記ユーザ端末からさらに受け付け、
前記修正部は、前記件数から所定の範囲内の件数となる第三の検索式を生成し、
前記出力部は、前記第三の検索式を前記ユーザ端末に出力する、別記1から8のいずれか一項に記載の検索式提示システム。
[別記10]
前記受付部は、複数のモードの指定の入力を前記ユーザ端末からさらに受け付け、
前記修正部は、前記モードに応じた前記第二の検索式を生成する、別記1から9のいずれか一項に記載の検索式提示システム。
[別記11]
前記修正部は、少なくとも学習モデルを用いて前記第一の検索式を修正し、
前記受付部は、ユーザ単位の指定を受け付け、
前記学習モデルは、所定のユーザ単位で構築された学習モデルであり、前記指定されたユーザ単位の情報が投入される、別記1から10のいずれか一項に記載の検索式提示システム。
[別記12]
前記修正部は、少なくとも学習モデルを用いて前記第一の検索式を修正し、
前記受付部は、検索目的の指定を受け付け、
前記学習モデルは、検索目的に応じて構築された学習モデルであり、前記指定された検索目的で前記第一の検索式の少なくとも一部を投入される、別記1から10のいずれか一項に記載の検索式提示システム。
[別記13]
ユーザ端末において入力された第一の検索式を受け付けるステップと、
前記入力を受け付けた第一の検索式を修正して第二の検索式を生成するステップと、
修正が行われた個所が前記ユーザ端末のユーザインタフェース画面上で識別可能に表示されるように前記第二の検索式を前記ユーザ端末に出力するステップと
を有する検索式提示方法。
[別記14]
コンピュータを、別記1から12のいずれか一項に記載の検索式提示システムの各部として機能させるためのプログラム。