(58)【調査した分野】(Int.Cl.,DB名)
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶装置と、端末と通信可能な通信インターフェースと、を有し、前記プロセッサが、製品の不具合に関する記述データである文書群を記憶する文書データベースと、前記文書群の各文書について重要または不要を示す重要性に関する入力回数を管理する文書管理データベースと、にアクセス可能な検索制御装置であって、
前記プロセッサは、
前記文書データベースを検索する検索部によって検索された文書について重要または不要を示す重要性に関する入力を前記端末から受け付けると、前記文書管理データベースにおいて、前記重要性に関する入力を受け付けた場合の入力回数を前記重要性に応じて更新する更新処理と、
前記端末から検索キーワードが入力された結果前記検索部によって検索された前記検索キーワードを含む特定の文書について、前記検索キーワードの出現回数に基づいて検索の確度を示すスコアを前記検索部から取得する取得処理と、
前記特定の文書について前記取得処理によって取得されたスコアを、前記更新処理によって更新された入力回数に基づいて修正する修正処理と、
前記修正処理によって修正されたスコアに基づく、前記特定の文書のランキング結果を、前記端末に出力する出力処理と、を実行し、
前記更新処理では、前記プロセッサは、前記特定の文書について不要を示す重要性に関する入力が利用者からあった場合に、さらに、前記特定の文書が前記利用者にとって価値がないことを示す第1の指定、または、前記利用者にとって良く理解している内容が前記特定の文書に記載されていることを示す第2の指定のうちいずれか一方の指定があった場合、前記いずれか一方の指定が前記第1の指定であれば、前記特定の文書について不要を示す重要性に関する入力を受け付けた場合の入力回数を減算することを特徴とする検索制御装置。
【発明を実施するための形態】
【0009】
<システム構成例>
図1は、本実施例にかかる検索システムのシステム構成例を示す説明図である。検索システム100は、検索制御装置101と、DB(Database)群102と、端末103とを有する。検索制御装置101、DB群102、および端末103は、インターネットやLAN(Local Area Network),WAN(Wide Area Network)などのネットワーク104に通信可能に接続される。
【0010】
検索制御装置101は、検索処理を実行したり、検索結果を制御する処理を実行するコンピュータである。DB群102は、文書DBと、文書管理DBと、利用者情報DBと、を含む。文書DB、文書管理DB、および利用者情報DBの少なくとも1つは、検索制御装置101に内蔵されていてもよい。文書DBは、製品の不具合に関する記述データである文書群を記憶するデータベースである。文書群は、検索制御装置101の検索処理による検索対象となる。文書の具体例については、
図3で後述する。文書管理DBは、文書群を管理する情報を記憶するデータベースである。文書管理DBの詳細については、
図4で後述する。利用者情報DBは、端末103を操作して検索要求する利用者の情報を記憶するデータベースである。
【0011】
端末103は、検索条件を入力して検索要求として検索制御装置101に送信し、検索制御装置101から検索結果を受信して表示するコンピュータである。なお、端末103を介さずに、検索制御装置101が、検索条件の入力や検索結果の表示を実行してもよい。
【0012】
<コンピュータのハードウェア構成例>
図2は、
図1に示したコンピュータ(検索制御装置101および端末103)のハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶装置202と、入力装置203と、出力装置204と、通信インターフェース(通信IF205)と、を有する。プロセッサ201、記憶装置202、入力装置203、出力装置204、および通信IF205は、バスにより接続される。プロセッサ201は、コンピュータ200を制御する。記憶装置202は、プロセッサ201の作業エリアとなる。また、記憶装置202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶装置202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力装置203は、データを入力する。入力装置203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力装置204は、データを出力する。出力装置204としては、たとえば、ディスプレイ、プリンタがある。通信IF205は、ネットワーク104と接続し、データを送受信する。
【0013】
<DBの記憶内容例>
文書DBに格納される文書は、マトリクス状のセル群である表データ(スプレッドシート)に、製品の不具合に関する記述データが記述された不具合報告書である。なお、文書の形式は、表データに限らず、テキストファイルやHTML(HyperText Markup Language)ファイルでもよい。不具合報告書に含まれる内容は、製品名とその不具合内容、不具合原因とその対策、発生日などの日付、製品を構成する部品や素材名、数量、顧客名、生産数、生産工場や製造ライン、加工機械の種類、関係者の名前、などについて記載されているものであり、発生した不具合の再発防止時を抑止するための項目である。
【0014】
図3は、文書DBに格納される文書の一例を示す説明図である。文書FR1は、品番「XT1500」、製品名「○○」である製品に関する不具合報告書の一例である。なお、文書中、「P11」および「P13」は、不具合が発生した製品を構成する部品名(部材名や品番でもよい)である。
【0015】
図4は、文書管理DBの記憶内容例を示す説明図である。文書管理DB400は、文書IDフィールド401と、入力回数フィールド402と、参照回数フィールド403と、を有し、文書ごとに各フィールドの値を格納する。各フィールド401〜403の値の組み合わせが文書を特定するエントリとなる。
【0016】
文書IDフィールド401は、文書IDを格納する領域である。文書IDは、文書を一意に特定する識別情報である。
【0017】
入力回数フィールド402は、入力回数を格納する領域である。入力回数とは、重要または不要を示す重要性に関する入力の回数である。当該入力は、文書に対して端末103から実行される。また、重要を示す重要性に関する入力(以下、「重要入力」)は、端末103において現在参照されている文書がその端末103の利用者にとって重要であることを示す入力であり、たとえば、いわゆる「いいね」ボタンの押下に相当する。また、不要を示す重要性に関する入力(以下、「不要入力」)は、端末103において現在参照されている文書がその端末103の利用者にとって不要であることを示す入力であり、たとえば、いわゆる「やだね」ボタンの押下に相当する。
【0018】
また、入力回数フィールド402の値である入力回数は、あらかじめ設定された視座VP1〜VPnごとに格納される。視座とは、端末103の利用者が検索する際の視点であり、具体的には、たとえば、部署、当該部署での所属期間、役職などの社歴情報が挙げられる。視座VP1〜VPnは、あらかじめ設定される。たとえば、視座VP1が「部長」であり、端末103の利用者の役職も部長であり、当該端末103の利用者が、文書ID:FR2の文書について重要入力をした場合、視座VP1の入力回数「0」が「1」になる。逆に、当該端末103の利用者が、文書ID:FR2の文書について不要入力をした場合、視座VP1の入力回数「0」が「−1」になる。なお、視座については、検索キーワードなどの検索条件も視座として採用することができる。
【0019】
入力回数の初期値は「0」である。また、重要入力があると1だけ加算され、不要入力があると1だけ減算される。なお、加算される値または減算される値は、1に限らず任意に重みを設定可能である。また、入力回数フィールド402を重要入力の入力回数と不要入力の入力回数とにわけてもよい。また、この場合、重要入力の入力回数ではなく、重要入力した利用者IDを格納してもよい。これにより、重要入力の入力回数は、利用者IDの件数を集計することにより算出される。同様に、不要入力の入力回数ではなく、不要入力した利用者IDを格納してもよい。これにより、不要入力の入力回数は、利用者IDの件数を集計することにより算出される。
【0020】
参照回数フィールド403は、参照回数を格納する領域である。参照回数とは、文書を参照した回数である。参照回数の初期値は「0」である。具体的には、たとえば、端末103から文書が指定された場合に、当該文書について参照回数が1加算される。また、文書が指定されただけでは、実際に利用者が文書を読んでいるかどうかわからない。したがって検索制御装置101は、文書が指定されてから当該文書が閉じられるまでの時間に応じて、当該文書について参照回数を1加算する。たとえば、参照時間がしきい値以上であれば、検索制御装置101は、利用者が当該文書を参照していると判断して、当該文書について参照回数を1加算する。また、入力回数と同様、参照回数フィールド403の値である参照回数は、あらかじめ設定された視座VP1〜VPnごとに格納されてもよい。
【0021】
図5は、利用者情報DBの記憶内容例を示す説明図である。利用者情報DB500は、利用者IDフィールド501と、経歴情報フィールド502と、不要入力文書IDフィールド503と、を有し、利用者ごとに各フィールドの値を格納する。各フィールド501〜503の値の組み合わせが文書を特定するエントリとなる。
【0022】
利用者IDフィールド501は、利用者IDを格納する領域である。利用者IDは、利用者を一意に特定する識別情報である。
【0023】
経歴情報フィールド502は、経歴情報を格納する領域である。経歴情報は、たとえば、利用者IDで特定される利用者の会社における経歴情報である。経歴情報には、入社年度、所属、役職、所属期間がある。利用者IDおよび経歴情報は、検索制御装置101の管理者により設定される。
【0024】
不要入力文書IDフィールド503は、不要入力文書IDを格納する領域である。不要入力文書IDは、利用者の所属ごとに格納される。
【0025】
<検索制御装置101の機能的構成例>
図6は、検索制御装置101の機能的構成例を示すブロック図である。検索制御装置101は、検索部601と、更新部602と、取得部603と、修正部604と、出力部605と、設定部606と、を有する。検索部601〜設定部606は、具体的には、たとえば、
図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることによりその機能を実現する。
【0026】
検索部601は、端末103から検索条件および利用者IDを含む検索要求を受信する。検索条件は、1以上の検索キーワードである。検索部601は、受信した検索条件により文書DB600を検索する。検索方法は既存の方法でよく、たとえば、密度法やTF−IDF法が用いられ、検索部601は、当該検索方法による検索により、文書ごとに検索キーワードの出現回数に基づくスコアを算出する。スコアの値が高いほど、検索の確度が高いことを示す。なお、検索部601は、検索制御装置101外の検索エンジンでもよい。この場合、検索制御装置101は、端末103から受信した検索条件を外部の検索エンジンに転送し、検索エンジンから検索結果を受信する。
【0027】
更新部602は、検索部601によって検索された文書について重要入力または不要入力が端末103から受け付けられると、文書管理DB400において、重要入力または不要入力が受け付けられた場合の入力回数を重要性に応じて更新する。具体的には、たとえば、重要入力が受け付けられた場合、更新部602は、利用者IDに関連付けられる社歴情報や検索キーワードから視座を特定する。そして、更新部602は、文書管理DB400における当該文書のエントリにおいて、特定した視座(複数でもよい)の入力回数に1加算する。逆に、不要入力が受け付けられた場合には、更新部602は、特定した視座(複数でもよい)の入力回数から1減算する。
【0028】
また、更新部602は、検索部601によって検索された文書が検索元の端末103において参照されると、検索された文書についての参照回数を更新する。具体的には、たとえば、検索された文書が検索元の端末103で参照された場合、更新部602は、検索元の端末103を利用した利用者の利用者IDに関連付けられる経歴情報や検索キーワードから視座を特定する。そして、更新部602は、文書管理DB400における当該文書のエントリにおいて、特定した視座(複数でもよい)の参照回数に1加算する。
【0029】
取得部603は、端末103から検索キーワードが入力された結果、検索部601によって検索された検索キーワードを含む特定の文書について、検索キーワードの出現回数に基づくスコアを検索部601から取得する。スコアは検索部601により算出されているため、取得部603は、文書ごとのスコアを取得する。
【0030】
修正部604は、特定の文書について取得部603によって取得されたスコアを、更新部602によって更新された入力回数に基づいて修正する。具体的には、たとえば、修正部604は、端末103の利用者の社歴情報や検索キーワードに該当する視座を特定する。そして、修正部604は、文書管理DB400における特定の文書のエントリから、特定した視座の入力回数を取得する。特定した視座が複数ある場合は、最大入力回数を取得してもよく、複数の入力回数の平均値や中央値を取得してもよい。
【0031】
そして、修正部604は、特定の文書のスコアを、取得した入力回数により修正する。具体的には、たとえば、修正部604は、特定の文書のスコアに、取得した入力回数を加算する。なお、修正部604は、取得した入力回数をあらかじめ設定された手法で正規化して正規化後の入力回数を特定の文書のスコアに加算してもよい。これにより、入力回数が正の値であれば、スコアが増加するため、検索結果のランキングにおいて特定した文書の順位も高くなる。逆に、入力回数が負の値であれば、スコアが減少するため、検索結果のランキングにおいて特定した文書の順位も低くなる。
【0032】
また、修正部604は、特定の文書について取得部603によって取得されたスコアを、端末103の利用者の社歴情報に該当する視座に対応する参照回数に基づいて修正する。具体的には、たとえば、修正部604は、特定の文書のスコアに、取得した参照回数を加算する。なお、修正部604は、取得した参照回数をあらかじめ設定された手法で正規化して正規化後の参照回数を特定の文書のスコアに加算してもよい。これにより、端末103の利用者の視座と共通するほど文書のスコアが高くなり、参照回数が多いとさらにスコアが高くなり、検索結果のランキングにおいて特定した文書の順位も高くなる。なお、修正部604では、入力回数と参照回数のうち少なくとも一方を用いればよい。
【0033】
出力部605は、修正部604によって修正されたスコアに基づく、特定の文書のランキング結果を、端末103に出力する。具体的には、出力部605は、修正部604によるスコア修正後におけるスコアの降順(スコアが高い順)に、特定の文書をランキングする。出力部605は、検索要求元の端末103に、ランキング結果を出力する。なお、ランキング結果には、文書ごとに文書の一部を抜粋したサマリと当該文書へのリンクが埋め込まれる。利用者は、端末103からリンクを指定することで、端末103は、文書DB600から、リンクを指定した文書を取得して表示することができる。
【0034】
このように、利用者と視座が共通する文書について、入力回数が高ければランキングが上がり、入力回数が低ければランキングが下がる。したがって、検索された特定の文書の数が多くても、利用者に必要な文書ほどランキングが上位となり、利用者に不要な文書ほどランキングが低くなるため、利便性の向上を図ることができる。
【0035】
設定部606は、特定の文書について不要入力をした利用者の識別情報に、特定の文書をランキング対象外文書に関連付ける設定処理を実行する。具体的には、たとえば、利用者情報DB500の当該利用者のエントリの不要入力文書IDフィールド503に、特定の文書の文書IDを格納する。修正部604は、検索部601によって検索された文書のうち、不要入力文書IDに該当する文書については、修正処理を実行せず、出力部605も、不要入力文書IDに該当する文書のスコアをランキングから除外する。これにより、利用者が過去に不要入力した文書についてはランキングされないため、ランキングされる文書は利用者に必要な文書に絞りこまれるため、利便性の向上を図ることができる。
【0036】
<表示画面例>
図7は、端末103における表示画面例を示す説明図である。表示画面700は、第1ペイン701と第2ペイン702と検索ボタンとを有する。第1ペイン701には、製造規格書が表示される。製造規格書には、検索キーワードの入力欄があればよい。本例では、部材名フィールドが検索キーワードの入力欄となる。
図7では、2個のモジュールMA,MBについて表示されているため、モジュールMAについては部材名であるP11〜P14のうち1個以上の組み合わせのAND検索が実行される。すなわち、検索ボタンの押下により、モジュールMAについては、15通りの検索が実行される。また、モジュールMBについては部材名P21〜P25のうち1個以上の組み合わせのAND検索が実行される。すなわち、検索ボタンの押下により、モジュールMBについては、31通りの検索が実行される。
【0037】
第2ペイン702には、検索ボタン703の押下により、検索結果であるランキング結果が表示される。
図7の例では、部材P11と部材P13の組み合わせに関連する文書がランキング表示される。利用者は、カーソル704を操作してリンク705を指定することで、文書FR1を文書DB600から取得することができる。
【0038】
図8は、
図7において取得した文書の表示例を示す説明図である。表示画面800には、
図7で指定した文書FR1と、重要ボタン801と、不要ボタン802と、が表示される。利用者は、文書FR1を参照して、カーソル804で重要ボタン801を押下すると、検索制御装置101の更新部602は、文書FR1について、利用者の経歴情報または検索キーワード(この場合は、P11とP11の組み合わせ)である利用者の視座に該当する視座の入力回数を1加算する。また、カーソル804で不要ボタン802を押下すると、検索制御装置101の更新部602は、文書FR1について、利用者の経歴情報または検索キーワード(この場合は、P11とP11の組み合わせ)である利用者の視座に該当する視座の入力回数を1減算する。そして、更新部602は、利用者のエントリにおける不要入力文書IDフィールド503に、文書FR1を追加する。
【0039】
<検索処理手順>
図9は、検索制御装置101による検索処理手順例を示すフローチャートである。まず、検索制御装置101は、検索キーワードについての検索条件の入力を待ち受け(ステップS901:No)、検索条件が入力された場合(ステップS901:Yes)、検索部601により、検索条件に該当する文書を文書DB600から特定する(ステップS902)。特定された文書を「特定の文書」と称す。そして、検索制御装置101は、取得部603により、特定の文書ごとのスコアを検索部601から取得する(ステップS903)。そして、検索制御装置101は、修正部604により、特定の文書ごとに、利用者の視座に該当する視座の入力回数を文書管理DB400から取得し、取得した視座の入力回数に応じて、特定の文書のスコアを修正する(ステップS904)。
【0040】
このあと、検索制御装置101は、利用者の経歴情報または検索キーワードである利用者の視座に該当する視座の参照回数を文書管理DB400から取得し、取得した視座の参照回数を用いて、特定の文書のスコアを修正する(ステップS905)。
【0041】
そして、検索制御装置101は、出力部605により、修正後の特定の文書のスコアでランキング結果を出力し、端末103にランキング表示させる(ステップS906)。これにより、一連の処理を終了する。
【0042】
図10は、ランキング表示時における検索制御装置101の参照回数更新処理を示すフローチャートである。まず、検索制御装置101は、たとえば、端末103による参照指定を待ち受け(ステップS1001:No)、参照指定があった場合(ステップS1101:Yes)、参照回数増加処理を実行して(ステップS1002)、一連の処理を終了する。
【0043】
図11は、
図10に示した参照回数増加処理(ステップS1002)の詳細な処理手順例1を示すフローチャートである。検索制御装置101は、文書管理DB400において、端末103の利用者の視座に該当する視座の参照回数を1加算する(ステップS1101)。そして、検索制御装置101は、参照指定された文書がクローズされるのを待ち受け(ステップS1102:No)、クローズされた場合(ステップS1102:Yes)、参照回数増加処理(ステップS1002)を終了する。これにより、参照指定されただけで参照回数を増加することができる。
【0044】
図12は、
図10に示した参照回数増加処理(ステップS1002)の詳細な処理手順例2を示すフローチャートである。検索制御装置101は、参照指定された文書がクローズされるのを待ち受け(ステップS1201:No)、クローズされた場合(ステップS1201:Yes)、参照指定されてからクローズされるまでの参照時間を算出する(ステップS1202)。そして、検索制御装置101は、算出した参照時間がしきい値以上であるか否かを判断する(ステップS1203)。しきい値以上でない場合(ステップS1203:No)、参照回数増加処理(ステップS1002)を終了する。一方、しきい値以上である場合(ステップS1203:Yes)、検索制御装置101は、文書管理DB400において、端末103の利用者の視座に該当する視座の参照回数を1加算し(ステップS1204)、参照回数増加処理(ステップS1002)を終了する。これにより、参照時間がしきい値以上である場合に利用者が参照指定した文書を参照したとみなして、参照回数を増加することができる。
【0045】
図13は、
図10に示した参照回数増加処理(ステップS1002)の詳細な処理手順例2を示すフローチャートである。まず、表示画面800において、検索制御装置101は、端末103において任意の文字列(たとえば、部品名、部材名、品番、不具合の事例部分の文字列)のコピーがあったか否かを判断する(ステップS1301)。コピーがあった場合は端末103からその旨およびコピーした文字列が検索制御装置101に送信される。
【0046】
コピーがない場合(ステップS1301:No)、ステップS1303に移行する。一方、コピーがあった場合(ステップS1301:Yes)、検索制御装置101は、文書管理DB400において、端末103の利用者の視座に該当する視座の参照回数を1加算する(ステップS1302)。そして、検索制御装置101は、参照指定された文書がクローズされるのを待ち受け(ステップS1303:No)、クローズされていない場合(ステップS1303:No)、ステップS1301に戻る。一方、クローズされた場合(ステップS1303:Yes)、参照回数増加処理(ステップS1002)を終了する。
【0047】
図14は、検索制御装置101の入力回数更新処理手順例を示すフローチャートである。まず、検索制御装置101は、
図8の表示画面において、端末103からの重要性入力を待ち受け(ステップS1401:No)、重要性入力があった場合(ステップS1401:Yes)、重要入力であるか不要入力であるかを判断する(ステップS1402)。重要入力であると判断された場合(ステップS1403:重要)、検索制御装置101は、利用者の経歴情報や検索キーワードである利用者の視座に該当する視座の入力回数を1加算して(ステップS1403)、一連の処理を終了する。
【0048】
一方、不要入力であると判断された場合(ステップS1403:不要)、検索制御装置101は、利用者の視座に該当する視座の入力回数を1減算する(ステップS1404)。そして、検索制御装置101は、利用者情報DB500において利用者のエントリの不要入力文書IDフィールド503に、
図8の表示画面に表示されている文書の文書IDを格納して(ステップS1405)、一連の処理を終了する。
【0049】
このように、本実施例によれば、利用者からの重要入力または不要入力に応じて文書検索で得られた文書のスコアを修正することができるため、重要入力した文書についてはスコアを高くして優先的に表示されるようにし、不要入力された文書についてはスコアを低くして表示優先度を下げることができる。したがって、検索結果を活用する際の利便性の向上を図ることができる。
【0050】
また、不要入力した利用者は、不要入力した文書を以降参照する必要がない。したがって、不要入力した利用者からの検索の場合、不要入力した文書について、修正部604および出力部605の処理を実行させないことにより、検索結果を活用する際の利便性の向上を図ることができる。
【0051】
また、経歴情報や特定のキーワードなどの視座ごとに文書管理DB400において入力回数を管理することにより、利用者の経歴情報や利用者が入力した検索キーワードなどの利用者の視座に一致する視座の入力回数を更新することができる。したがって、視座が一致する入力回数ほど文書のスコアを高くすることができる。なお、一致する視座の入力回数が負の値である場合は、修正をしなくてもよい。
【0052】
また、文書の参照回数を用いてスコアを修正することにより、過去の参照回数が多い文書ほどスコアを高くして優先的に表示させることができる。また、経歴情報や特定のキーワードなどの視座ごとに文書管理DB400において参照回数を管理することにより、利用者の経歴情報や利用者が入力した検索キーワードなどの利用者の視座に一致する視座の参照回数を更新することができる。したがって、視座が一致する参照回数ほど文書のスコアを高くすることができる。
【0053】
なお、上述した実施例の不要入力は、そのユーザにとっても価値がない文書である(第1の指定)、または、文書自体に価値はあるが、そのユーザ本人にとっては良く理解している内容が書かれているので見る必要がない(第2の指定)、のいずれかに該当する場合に実行されるが、当該第1または第2の指定のいずれかをユーザに指定させることとしてもよい。この場合、第1の指定がされた場合には、入力回数を減算し、第2の指定がされた場合には、入力回数を減算しないように制御してもよい。これにより、第1の指定がされた場合だけスコアを下方修正することができる。
【0054】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。