(57)【要約】【課題】システム特有の知識辞書を自動的に構築し利用することができる実績管理支援システムなどを提供すること。【解決手段】「ＣＬ１３フリーズ」という検索質問文が入力されたとすると、Ｓ６０１、Ｓ６０２、Ｓ６０４を行わないでＳ６０６又はＳ６０８で検索質問文として「ＣＬ１３フリーズ」という文字列が取得される。そしてＳ６０７又はＳ６０９においては、インデックスＤＢのデータテーブルが参照され当該インデックスＤＢに格納された重要語Ｗと一致する一致文字列が「ＣＬ１３フリーズ」の全体又は一部に含まれるか否かが判断され、含まれると判断されると当該一致文字列が検索キーとして切り出される。この検索キーを用いて検索がなされる。【選択図】図９Ｂ
2005063284.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数のフィールドからなるレコードを単位とするトラブル情報が格納された知識抽出対象データベース（以下単に「ＤＢ」とする）から当該トラブル情報を取り出して処理を行う実績管理支援システムであって、
前記トラブル情報に含まれるサフィックスを取り出してサフィックス群を生成し、当該サフィックス群を構成する各サフィックスどうしを比較して、その比較結果に基づいて文字列クラスを切り出し文字列クラス群を生成する文字列クラス群生成手段と、
前記文字列クラス群を構成する各文字列クラスの出現頻度に基づいて文字列クラスを選択する文字列クラス選択手段と、
少なくとも、前記各文字列クラスが当該各文字列クラス以外の他の文字列クラスと包含関係にあるか否かに基づいて重要語を抽出し重要語辞書を構築する第一知識抽出／辞書構築手段、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて当該下位文字列クラスを重要語として抽出し重要語辞書を構築する第二知識抽出／辞書構築手段、及び、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて前記下位文字列クラスを前記上位文字列クラスと見なして重要語として抽出し重要語辞書を構築する第三知識抽出／辞書構築手段のうちいずれかを含む知識抽出／辞書構築手段と、
前記知識抽出／辞書構築手段により抽出された重要語と、当該重要語が前記知識抽出対象ＤＢのどこに格納されているかを示す位置情報とを含むインデックスを前記重要語又は前記位置情報をキーとして生成するインデックス生成手段と、
任意の文字列が検索質問文として入力される検索質問文入力手段と、
前記インデックスを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、当該検索質問文がその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーとして切り出す検索キー生成手段とを備えたことを特徴とする実績管理支援システム。
【請求項２】
前記検索キーを検索するのに前記知識抽出対象ＤＢのどのフィールドを検索範囲とするかを選択するフィールド選択手段と、
前記フィールド選択手段によって検索範囲として選択されたフィールド（以下単に「選択フィールド」という）を検出するフィールド検出手段と、
前記選択フィールドに属するセルのうち前記検索キーを含むセル（以下単に「含有セル」という）を検索する検索手段と、
前記重要語の出現頻度に基づいて当該重要語の重要度を求める重要度演算手段と、
前記検索キーを要素とし、前記重要度演算手段により求められた重要度をその値とする検索キーベクトルと、前記含有セルに含まれる重要語を要素とし、前記重要度演算手段により求められた重要度をその値とする索引ベクトルとに基づいて当該含有セルの類似度を求める類似度演算手段とを備えたことを特徴とする請求項１に記載の実績管理支援システム。
【請求項３】
当該含有セル以外のセルであって当該含有セルが含まれるレコードと同じレコードに含まれるいずれかのセル（以下単に「非含有セル」という）に格納されたデータを検索質問文として設定する連想検索設定手段を備え、
前記検索キー生成手段は、前記インデックスを参照することにより、当該非含有セルに含まれる重要語を検索キーとして切り出すことを特徴とする請求項２に記載の実績管理支援システム。
【請求項４】
前記含有セルに格納されたデータと、前記非含有セルに格納されたデータとを識別可能に表示する表示手段を備えたことを特徴とする請求項３に記載の実績管理支援システム。
【請求項５】
前記表示手段は、前記類似度に基づいてデータを表示することを特徴とする請求項４に記載の実績管理支援システム。
【請求項６】
一又は複数のフィールドからなるレコードを単位とするトラブル情報が格納された知識抽出対象データベース（以下単に「ＤＢ」とする）から当該トラブル情報を取り出してコンピュータに処理を行わせるための実績管理支援プログラムであって、
コンピュータを、
前記トラブル情報に含まれるサフィックスを取り出してサフィックス群を生成し、当該サフィックス群を構成する各サフィックスどうしを比較して、その比較結果に基づいて文字列クラスを切り出し文字列クラス群を生成する文字列クラス群生成手段、
前記文字列クラス群を構成する各文字列クラスの出現頻度に基づいて文字列クラスを選択する文字列クラス選択手段、
少なくとも、前記各文字列クラスが当該各文字列クラス以外の他の文字列クラスと包含関係にあるか否かに基づいて重要語を抽出し重要語辞書を構築する第一知識抽出／辞書構築手段、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて当該下位文字列クラスを重要語として抽出し重要語辞書を構築する第二知識抽出／辞書構築手段、及び、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて前記下位文字列クラスを前記上位文字列クラスと見なして重要語として抽出し重要語辞書を構築する第三知識抽出／辞書構築手段のうちいずれかを含む知識抽出／辞書構築手段、
前記知識抽出／辞書構築手段により抽出された重要語と、当該重要語が前記知識抽出対象ＤＢのどこに格納されているかを示す位置情報とを含むインデックスを前記重要語又は前記位置情報をキーとして生成するインデックス生成手段、
任意の文字列が検索質問文として入力される検索質問文入力手段、
前記インデックスを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、当該検索質問文がその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーとして切り出す検索キー生成手段として機能させるための実績管理支援プログラム。
【請求項７】
コンピュータを、
前記検索キーを検索するのに前記知識抽出対象ＤＢのどのフィールドを検索範囲とするかを選択するフィールド選択手段、
前記フィールド選択手段によって検索範囲として選択されたフィールド（以下単に「選択フィールド」という）を検出するフィールド検出手段、
前記選択フィールドに属するセルのうち前記検索キーを含むセル（以下単に「含有セル」という）を検索する検索手段、
前記重要語の出現頻度に基づいて当該重要語の重要度を求める重要度演算手段、
前記検索キーを要素とし、前記重要度演算手段により求められた重要度をその値とする検索キーベクトルと、前記含有セルに含まれる重要語を要素とし、前記重要度演算手段により求められた重要度をその値とする索引ベクトルとに基づいて当該含有セルの類似度を求める類似度演算手段として機能させるための請求項６に記載の実績管理支援プログラム。
【請求項８】
コンピュータを、
当該含有セル以外のセルであって当該含有セルが含まれるレコードと同じレコードに含まれるいずれかのセル（以下単に「非含有セル」という）に格納されたデータを検索質問文として設定する連想検索設定手段として機能させるととともに、
前記検索キー生成手段を、前記インデックスを参照することにより、当該非含有セルに含まれる重要語を検索キーとして切り出すものとして機能させることを特徴とする請求項７に記載の実績管理支援プログラム。
【請求項９】
コンピュータを、
前記含有セルに格納されたデータと、前記非含有セルに格納されたデータとを識別可能に表示する表示手段として機能させるための請求項８に記載の実績管理支援プログラム。
【請求項１０】
前記表示手段を、前記類似度に基づいてデータを表示するものとして機能させることを特徴とする請求項９に記載の実績管理支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実績管理支援システム及び実績管理支援プログラムに関し、更に詳しくは、工場やオフィスで発生するトラブル保全管理を支援するために有用な情報をデータベースから取り出して容易に利用する技術に関する。
【背景技術】
【０００２】
高度な設備保全管理システムの運用によって設備の安定稼働は飛躍的に向上したが、設備保全管理担当者がトラブルに遭遇する機会が減り、担当者が交代することも要因となって担当者個人にとっては初めて体験するトラブルが増えている。そのためトラブル対応策の特定に時間がかかることもありトラブル対応高速化のための支援システムが求められている。その一つとしてオフィスや工場において、現場業務に関連した様々な情報を蓄積・管理するための高機能なリレーショナルデータベースシステム（以下単に「ＲＤＢシステム」という）に蓄積されたデータを利用する技術が種々提案されている。
【０００３】
このＲＤＢシステムは情報が蓄積され続けるため時間が経つに従って大規模化・複雑化する。そのためＲＤＢシステムを効果的に運用するためには、ＲＤＢに格納されているデータを取りだして再構築し再利用する必要があるため専門的な知識や熟練した操作経験が必要とされる。例えば、予防保全の実施計画を策定するには、蓄積情報の分類や解析が不可欠である。蓄積情報の分類や解析には、ある程度の専門的知識が必要となる。従って誰もがＲＤＢシステムを気軽に且つ容易に利用できる状況ではない。そのため大量な業務関連情報が蓄積されているにも関わらず、それらが効率的に利用されていないという問題が生じている。
【０００４】
ＲＤＢシステムを現場業務に再利用する技術としては以下のものが周知である。例えば、非特許文献１には日報として記述された文章から知識辞書を用いて重要概念を抜き出し、個々の重要概念の因果関係を示す構造を抽出する技術が開示されている。
【０００５】
また特許文献１に開示された情報サービスシステムは、形態素解析を利用してユーザからの自然言語文による問い合わせを構造化し、その問い合わせに対する情報を事例情報データベース及び製品情報データベースから検索して取り出し表示するものである。
【０００６】
特許文献２に開示された情報共有システムの情報保守管理装置は、効率的に情報の点検作業を行える情報共有システムであり、蓄積された情報の信頼性を形態素解析を利用して行い管理者に通知するというものである。
【０００７】
特許文献３に開示されたヘルプデスク支援装置は、ある製品に関する問題を解決するために形態素解析を利用して事例情報に関連づけられた付帯情報と、事例情報を元に分類された分類項目とを呈示するというものである。
【０００８】
上記の非特許文献１及び特許文献１〜３に開示された技術はいずれも自然言語処理技術として形態素解析を使用することを前提としているため、いわゆる国語辞典のようなあらゆる単語や品詞をカバーした形態素解析用知識辞書が必要となる。そのため不要なデータまでサポートすることになる一方、専門用語に弱いという欠点があった。形態素解析用知識辞書では専門用語がサポートされていないためである。非特許文献１のようにユーザが辞書作成支援ツールを用いて作成することも考えられるが効率的ではない。また形態素解析用知識辞書では参照される頻度が極めて低い知識を記憶しておくため必要度が低い知識における記憶容量が膨大になるという問題点もある。
【０００９】
そこで形態素解析用知識辞書を使用しないでドキュメントや文章からキーワードや文字列を切り出す試みとしてサフィックスアレイを用いる手法が注目を集めている。その基本的な手法が非特許文献２〜３に開示されている。「サフィックスアレイ」とは、テキストをそのテキスト中に存在する全ての文字からテキストの終端までの部分文字列（サフィックス；接尾辞）の集合（ｎ−ｇｒａｍ集合）であると考え、その集合を辞書順に並べたデータ構造をいう。二分探索法を用いてテキストを検索したり、各部分文字列の重複関係などに基づいて文字列クラス（キーワードとして）を切り出すのに用いられるデータ構造である。
【００１０】
その基本的な手法は例えば非特許文献２〜３に開示されている。非特許文献２〜３にはサフィックスアレイを用いて、共通部分を含む文字列から文字列クラス（キーワードとして）を切り出すべく、区間内部での共通部分の文字列長さが当該区間境界での共通部分の文字列長さよりも大きいときに文字列クラスを形成するとし、その当該文字列クラスを代表する文字列として、当該クラスのなかで最長の文字列を取り出す手法が開示されている。このときに区間の中にまた区間が存在するという階層関係をも考慮している。
【００１１】
また実際のシステムに組み込んだ例として特許文献４〜５にサフィックスアレイを用いたキーワード抽出技術や情報検索技術が開示されている。特許文献４に開示された技術は、キーワードであると決定するために何らかの閾値を用いて行っている。また特許文献５に開示された技術は、大量の文書から特徴を取り出してそれを検索できるようにしたものであるが、重要語を取り出すときに、入力文書に出現する出現頻度と、検索対象となる文書に出現する出現頻度との対比から文字列の特徴量を計算し、これを評価することにより特徴文字列の抽出を行うものである。
【００１２】
【非特許文献１】電子情報通信学会論文誌 Vol. J86-D-11, No.2, pp.310-323., 2003.  「日報分析システムと分析用知識既述支援ツールの開発」
【非特許文献２】自然言語処理 2002年10月 Volume 9, Number 5, pp.43-70.「文字列をｋ回以上含む文書数の計数アルゴリズム」
【非特許文献３】Computational Linguistics Volume 27, Number 1., pp.1-30., March 2001. 「Using Suffix Array to Compute Term Frequency and Document Frequency for All Substrings in a Corpus」
【特許文献１】特開平１０−２０７９０２号公報
【特許文献２】特開２０００−２８５１３５号公報
【特許文献３】特開２００３−８５１８６号公報
【特許文献４】特開２００２−１９７１９５号公報
【特許文献５】特開平９−２９３０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、実績管理（工場での生産管理や在庫管理、営業所での販売管理や受注管理など全ての業務を含む）や予防保全（将来的に発生する可能性があるトラブルに対する対策業務）などの現場業務を行うべく、上記非特許文献に開示されたサフィックスアレイ、形態素解析用知識辞書、ｎ−ｇｒａｍモデルなどを用いると、無関係な文字列クラスについての計算を大量に行うこととなり計算量が膨大になるうえ時間もかかり実用的ではないという問題があった。上記特許文献のものでは新聞記事などを対象としているので、これをそのまま適用すると、実績管理や予防保全においても一律に多くの膨大な量のサフィックスを生成するため計算量が膨大になるからである。
【００１４】
つまり、現場業務は、ある程度「限定された分野」について行うものであるため、例えばＲＤＢに格納されるデータに含まれる文字列（テキスト）の種類が一般の形態素解析用知識辞書に較べれば格段に少なく更にその量も少ないような場合には、ユーザの要求に柔軟に且つ的確に対応できる技術を適用すべきである。形態素解析用知識辞書やｎ−ｇｒａｍモデルでは、無関係な文字列クラスについての計算を大量に行うこととなり実用的ではない。そのため「分野が限定された実績管理や予防保全などの現場業務」においては情報収集やトラブル支援のために専門分野に適用でき且つ利便性の高い知識辞書の自動構築及びその活用手段の構築が所望されていた。
具体的には、あるトラブルについて検索したところ、いくつかの対応実績が見つかったときに、同様の原因で発生するトラブルが他の設備でも発生するのか否かがシステムに負荷をかけずに短時間で簡単に連想的に検索でき未然に対応策を練ることを可能とするシステムが求められていた。
【００１５】
また現場業務では設備保全管理担当者が交代することもあり、以前同じトラブルが何度も発生していても担当者にとっては初めて遭遇するトラブルであることもある。そのため、トラブル対応策の特定に時間がかかることもあり、トラブル対応高速化のための保全支援システムが求められている。
【００１６】
本発明はこのような事情に鑑みてなされたものであり、その第一の目的は、形態素解析用知識辞書を用いることなくシステム特有の知識辞書を自動的に構築し利用することができる実績管理支援システム及び実績管理支援プログラムを提供することにある。
本発明の第二の目的は、専門知識を持たなくても簡単に使用できる実績管理支援システム及び実績管理支援プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するために請求項１に記載された一又は複数のフィールドからなるレコードを単位とするトラブル情報が格納された知識抽出対象データベース（以下単に「ＤＢ」とする）から当該トラブル情報を取り出して処理を行う実績管理支援システムは、前記トラブル情報に含まれるサフィックスを取り出してサフィックス群を生成し、当該サフィックス群を構成する各サフィックスどうしを比較して、その比較結果に基づいて文字列クラスを切り出し文字列クラス群を生成する文字列クラス群生成手段と、前記文字列クラス群を構成する各文字列クラスの出現頻度に基づいて文字列クラスを選択する文字列クラス選択手段と、少なくとも、前記各文字列クラスが当該各文字列クラス以外の他の文字列クラスと包含関係にあるか否かに基づいて重要語を抽出し重要語辞書を構築する第一知識抽出／辞書構築手段、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて当該下位文字列クラスを重要語として抽出し重要語辞書を構築する第二知識抽出／辞書構築手段、及び、包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて前記下位文字列クラスを前記上位文字列クラスと見なして重要語として抽出し重要語辞書を構築する第三知識抽出／辞書構築手段のうちいずれかを含む知識抽出／辞書構築手段と、前記知識抽出／辞書構築手段により抽出された重要語と、当該重要語が前記知識抽出対象ＤＢのどこに格納されているかを示す位置情報とを含むインデックスを前記重要語又は前記位置情報をキーとして生成するインデックス生成手段と、任意の文字列が検索質問文として入力される検索質問文入力手段と、前記インデックスを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、当該検索質問文がその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーとして切り出す検索キー生成手段とを備えたことを要旨とするものである。
【００１８】
ここで「知識抽出対象ＤＢ」とは工場やオフィスにおけるトラブル事象や日常作業記録などのデータが「何らかの意味をなす完成文又は未完成文」という形でテキストその他のフォーマットで格納されたＤＢや、ユーザが抽出しようとする実績管理支援情報が格納されたＤＢであればよい。「レコード」は、例えば、トラブルの内容を記録した「トラブル事象」、そのトラブルの原因を記録した「原因」、そのトラブルに対してとった処置を記録した「処置」、そのトラブルの発生を予防するための措置を記録した「対策」、どのレコードかを特定するための「レコード番号」、ある事象が発生した日時を記録した「日時」、ある事象が発生した設備を特定するための「設備番号」などのフィールドに属するデータからなる。
「サフィックス」とはテキスト中に存在する全ての文字からテキストの終端までの部分文字列をいう。換言すれば「サフィックス」とは「何らかの区切り（セル番号毎、列毎など）単位」における「何らかの意味をなす完成文又は未完成文」に存在する全ての文字からの終端までの部分文字列ということができる。「その比較結果」とはテキストが同一かどうかとか、テキストの長さは同一かどうかといった観点による比較結果をいう。「文字列クラス」とはサフィックスから切り出された文字列をいい、特に限定されないが、例えば、比較するサフィックスどうしの共通部分や、比較するサフィックスどうしに全く共通部分がないときはそのサフィックスそのものなどをいう。「文字列クラス群」とは少なくとも一つの文字列クラスからなる群をいう。「出現頻度」とは知識抽出対象ＤＢの全部又は一部から切り出された文字列クラスが出現する頻度をいう。
「包含関係」とは、「ボー」と、「ボード」を比較したときに「ボー」は「ボード」に包含されるという関係をいう。「下位文字列クラス」とは包含されるほうの文字列クラスといい、「上位文字列クラス」とは包含するほうの文字列クラスをいい、例えば、「ボー」と「ボード」とでは、「ボー」が下位文字列クラス、「ボード」が上位文字列クラスとなる。また「前記下位文字列クラスは前記上位文字列クラスと見なして」とは、例えば、下位文字列クラスたる「ボー」を上位文字列クラスたる「ボード」として抽出するということを意味するものである。
「重要語」とは文字列クラスからある条件を満たすことにより抽出されたデータであればよい。これにより工場やオフィスで使用される専門用語、キーワードが重要語として抽出されるからである。
「位置情報」とは直接的なものでも間接的なものでもよく、最終的に知識抽出対象ＤＢのどこに格納されているかを示すものであればよい。「重要語をキー」とは、重要語を引けばそれに対応づけられた情報（ここでは当該重要語の位置情報）が全て得られることを意味し、「位置情報をキー」とは、位置情報を引けばそれに対応づけられた情報（ここでは当該位置（例えば、セル番号で示される位置）に格納されている重要語）が全て得られることを意味する。「検索質問文」とはユーザにより入力されたデータ又は知識抽出対象ＤＢに格納されたあるフィールドに属するセルのデータのことをいい、任意の文字列からなるものであればよい。
【００１９】
ここで前記検索キー生成手段は、前記一致文字列を当該検索質問文の全体又は一部に含むか否かの判断を、例えば、前記検索質問文から任意に切り出したサフィックスや文字列と前記重要語とを先頭から順番に一文字ずつ比較することにより行うことができる。そして前記検索キー生成手段は、前記検索質問文から一致文字列を切り出した後は、例えば、（１）当該検索質問文のうち当該一致文字列の直後の文字列と前記重要語とを順番に一文字ずつ比較することにより、（２）検索質問文から任意に切り出した他のサフィックスや文字列と前記重要語とを順番に一文字ずつ比較することにより行うことができる。また、インデックスを参照することによって検索キーを切り出すこととしているが、インデックスを生成するために用いた重要語辞書を参照することによって検索キーを切り出すようにしてもよい。
【００２０】
上記構成を備えた請求項１に記載の実績管理支援システムによれば、文字列クラス群生成手段は、一又は複数のフィールドからなるレコードを単位とするトラブル情報に含まれるサフィックスを取り出してサフィックス群を生成し、当該サフィックス群を構成する各サフィックスどうしを比較し、その比較結果に基づいて文字列クラスを切り出し文字列クラス群を生成する。文字列クラス選択手段は前記文字列クラス群を構成する各文字列クラスの出現頻度に基づいて文字列クラスを選択する。知識抽出／辞書構築手段は、第一知識抽出／辞書構築手段が前記各文字列クラスが当該各文字列クラス以外の他の文字列クラスと包含関係にあるかどうかに基づいて重要語を抽出し、第二知識抽出／辞書構築手段が包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて当該下位文字列クラスを重要語として抽出し、第三知識抽出／辞書構築手段が包含関係にある下位文字列クラスと上位文字列クラスそれぞれの出現頻度に基づいて前記下位文字列クラスを前記上位文字列クラスと見なして重要語として抽出し、重要語辞書を構築する。そのため形態素解析用知識辞書を用いることなくシステム特有の知識辞書として重要語辞書が自動的に構築される。
インデックス生成手段は、知識抽出／辞書構築手段により抽出された重要語と、当該重要語が前記知識抽出対象ＤＢのどこに格納されているかを示す位置情報とを含むインデックスを前記重要語又は前記位置情報をキーとして生成する。検索質問文入力手段を介して任意の文字列が検索質問文として入力される。任意の文字列が検索質問文として入力され得るためユーザが専門知識を持たなくても簡単に使用される。検索キー生成手段は、前記インデックスを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、当該検索質問文がその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーとして切り出す。そのためシステム特有の知識辞書としての重要語辞書が自動的に利用され検索処理が行われる。
【００２１】
ここで対象となる知識抽出対象ＤＢのデータ形式やＤＢ構造は、限定されず、本システムは、例えば、ＭＳ−ＥＸＣＥＬ、ＭＳ−ＡＣＣＥＳＳ、ＯＲＡＣＬＥ、ＳＱＬ−Ｓｅｒｖｅｒなどの市販のデータベースに対応させることができる。また、既存ＤＢに格納された自然言語で記述されたデータは、その性質上、対象とする一文、一文書の単位が比較的短いため生成されるサフィックス数は膨大にならない。重要語辞書を作成する場合において文数そのものは線形で増加するため全体としての計算量は新聞記事を対象として知識を抽出する場合より遙かに低く抑えることができる。
またインデックスが作成されるため特化された範囲で検索を行うことができ、処理速度の向上に寄与するものとなる。また検索キーがユーザによって入力される検索質問文から切り出されるため、検索質問文として受け付けられる文字列を予め登録しておかなくても完全自動処理が実現される。
【００２２】
この場合に請求項２に記載されるように、前記検索キーを検索するのに前記知識抽出対象ＤＢのどのフィールドを検索範囲とするかを選択するフィールド選択手段と、前記フィールド選択手段によって検索範囲として選択されたフィールド（以下単に「選択フィールド」という）を検出するフィールド検出手段と、前記選択フィールドに属するセルのうち前記検索キーを含むセル（以下単に「含有セル」という）を検索する検索手段と、前記重要語の出現頻度に基づいて当該重要語の重要度を求める重要度演算手段と、前記検索キーを要素とし、前記重要度演算手段により求められた重要度をその値とする検索キーベクトルと、前記含有セルに含まれる重要語を要素とし、前記重要度演算手段により求められた重要度をその値とする索引ベクトルとに基づいて当該含有セルの類似度を求める類似度演算手段とを備えるように構成してもよい。
【００２３】
ここで「フィールド選択手段」としては、コンピュータの画面表示に従って、操作されるキーボード、マウス、ポインティングデバイスその他の入力デバイスを用いることができる。「セル」とは、レコードとフィールドとによって特定されるあるデータの格納位置を示すものであり、検索キーが、例えば、「ボード」であったとしたならば、「ボード」という文字列を含有する含有セルが検索手段によって検索される。
「重要度」とは出現頻度に基づくものであればよく、通常は出現頻度が多いものほど重要度が高く、出現頻度が少ないものほど重要度が低いものととらえて差し支えないが、これに限定されるものではない。すなわち、ここでいう「重要度」は出現頻度が高くても不要なものは除去し、出現頻度が少なくても重要なものは当然包含する意味である。本発明の場合、第一知識抽出／辞書構築手段、第二知識抽出／辞書構築手段及び第三知識抽出／辞書構築手段から選ばれる少なくとも一つの手段により不要なものが除去されていることで具体的な構成が示されているものといえる。また「重要度」とは換言すれば、ＤＢにおいて重要語がどれだけ特徴的であるかを示す尺度ともいえる。
【００２４】
検索手段によって含有セルが検索されるため、知識抽出対象ＤＢに格納されているデータの分類化や因果関係を事前登録しなくても当該ＤＢから容易に所望の情報を取り出すことができ、結果として分類化された情報を取り出すことができる。重要度に基づいて類似度が計算されるため、検索質問文と関連性の高いデータがどのデータであるかが容易に判別することができる。また、類似度を利用してランク分けすれば、絞り込み過ぎや広げすぎといったことが回避される。また選択フィールドを検索範囲とするので、実績管理支援情報の検索を形態素解析用知識辞書を用いたときよりも少ない計算量で行われる。
【００２５】
この場合に請求項３に記載されるように、当該含有セル以外のセルであって当該含有セルが含まれるレコードと同じレコードに含まれるいずれかのセル（以下単に「非含有セル」という）に格納されたデータを検索質問文として設定する連想検索設定手段を備え、前記検索キー生成手段は、前記インデックスを参照することにより、当該非含有セルに含まれる重要語を検索キーとして切り出すように構成してもよい。
【００２６】
すなわち、「含有セル」が、例えば、「トラブル事象」というフィールドに属するものとすれば、「非含有セル」としては「原因」、「処置」、「対策」など「トラブル事象」以外のフィールドに属するフィールドから設定される。「含有セル」が、例えば、「原因」というフィールドに属するものとすれば、「非含有セル」としては「トラブル事象」、「処置」、「対策」など「原因」以外のフィールドに属するフィールドから設定される。従って、検索結果から更に検索結果で得られた文章や他のフィールドの文章で検索を実行することができる。すなわち、逆引き検索やハイパーリンク検索が可能となる。
【００２７】
この場合に請求項４に記載されるように、前記含有セルに格納されたデータと、前記非含有セルに格納されたデータとを識別可能に表示する表示手段を備えるように構成してもよい。表示手段は、例えば、含有セルに格納されたデータとしては、前記知識抽出対象ＤＢに格納された全ての含有セルを対象とすることができ、非含有セルに格納されたデータとしては、特定の含有セルについてのデータを対象として表示することができる。また表示位置を別々にしたり、どのフィールドに属するかを表示することによって「識別可能に表示」することができる。従ってユーザにしてみれば表示された情報の関係を瞬時に把握することができ利便性が高いものとなる。
【００２８】
この場合に請求項５に記載されるように、前記表示手段は、前記類似度に基づいてデータを表示するように構成してもよい。これにより検索質問文と関連の強い順番で表示することができるため、検索作業において絞り込み過ぎや広げすぎがなくなる。分類化・体系化をしなくても結果的に分類化・体系化した情報が得られる。
【発明の効果】
【００２９】
本発明に係る実績管理支援システム及び実績管理支援プログラムは、重要語を抽出し重要語辞書を構築し、これを用いて検索を行うため、形態素解析用知識辞書を用いることなくシステム特有の知識辞書を自動的に構築し利用することができるという効果がある。従って形態素解析用知識辞書などを使用しなくても様々な専門分野のシステムで活用することができるという効果がある。
本発明に係る実績管理支援システム及び実績管理支援プログラムは、検索質問文入力手段を介して検索質問文として任意の文字列が入力されると、検索キー生成手段が前記インデックスを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、当該検索質問文がその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーとして切り出すものであるから、ユーザは専門知識を持たなくても簡単に使用することができるという効果がある。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の一実施の形態について図面を参照して説明する。
［一実施形態の概要］
本発明の一実施形態に係るトラブル保全管理支援システムＡは、ＤＢ再利用モジュールＢを構成するＤＢ知識抽出モジュールＣ及びＤＢ知識検索モジュールＤにおける情報処理がサフィックスアレイを用いた新規な手法によって実現されている点に特徴がある。
【００３１】
ＤＢ再利用モジュールＢはコンピュータに実装すればよいが、ＤＢ再利用モジュールＢを構成する全ての要素を一台のコンピュータに実装してもよいし、各要素に分けて別個のコンピュータに実装してもよいし、更には各要素を更に細分化して別個のコンピュータに実装してもよい。別個に実装する場合には各コンピュータが双方向通信可能に接続されていればよい。ＤＢ再利用モジュールＢとして機能させるために必要なプログラムは、各種の記録媒体（例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ）からインストールされたものやネットワークを通じて配信されたものを利用することができる。
【００３２】
［トラブル保全管理支援システムＡ］
図１Ａは本発明の一実施形態に係るトラブル保全管理支援システムＡの構成を示したもの、図１ＢはＤＢ再利用モジュールＢの構成を示したものである。また図２ＡはリレーショナルＤＢ１（以下「ＲＤＢ１」とする）に格納されている知識の一例としてデータテーブルＴ１０を示したもの、図２Ｂ〜図２Ｄはそれぞれ、重要語辞書ＤＢ８ａ，８ｂ，８ｃ，８ｄ（以下、重要語辞書ＤＢを総称する場合には、単に「重要語辞書ＤＢ８」とする）、インデックスＤＢ１０ａ，１０ｂ，１０ｃ，１０ｄ（以下、インデックスＤＢを総称する場合には、単に「インデックスＤＢ１０」とする）、重要度ＤＢ１１ａ，１１ｂ，１１ｃ，１１ｄ（以下、重要度ＤＢを総称する場合には単に「重要度ＤＢ１１」とする）に格納されるデータテーブルＴ２０〜Ｔ４０又はその一部の一例を示したものである。
重要語辞書ＤＢ８ａ、インデックスＤＢ１０ａ、重要度ＤＢ１１ａは、トラブル保全管理支援システムＡが知識抽出対象とするＲＤＢ１に格納された図２Ａに示したデータテーブルＴ１０のうち、「トラブル事象」というフィールドに属するデータを対象として構築されたＤＢである。重要語辞書ＤＢ８ｂ、インデックスＤＢ１０ｂ、重要度ＤＢ１１ｂは、同図に示したデータテーブルＴ１０のうち、「原因」というフィールドに属するデータを対象として構築されたＤＢである。重要語辞書ＤＢ８ｃ、インデックスＤＢ１０ｃ、重要度ＤＢ１１ｃは、同図に示したデータテーブルＴ１０のうち、「処置」というフィールドに属するデータを対象として構築されたＤＢである。重要語辞書ＤＢ８ｄ、インデックスＤＢ１０ｄ、重要度ＤＢ１１ｄは、同図に示したデータテーブルＴ１０のうち、「対策」というフィールドに属するデータを対象として構築されたＤＢである。
【００３３】
これらの図においてトラブル保全管理支援システムＡは、自動車及びその部品などの生産工場におけるトラブル保全管理支援、情報収集、情報分析、意思決定など種々の場面で利用できる適用範囲の広いシステムであり、ＤＢ再利用モジュールＢ、ＲＤＢ１、入出力装置２、ＨＤＤ装置３、媒体記録装置４などからなる。ＤＢ再利用モジュールＢはＲＤＢ１に格納された特定データＤＴを読み出し、処理し、重要語抽出や知識再構成を行うものである。
【００３４】
ＨＤＤ装置３はデータを記憶するものであり、ＤＢ再利用モジュールＢが実装されているコンピュータと同一コンピュータに搭載されたものでもよいし、別途設けられたディスク装置でもよい。媒体記録装置４は、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＷなどの記録媒体５を装着して使用され、これらの記録媒体５からプログラムを読み込んでインストールしたり、その逆に種々のデータを記憶させるために用いられるものである。
【００３５】
ＲＤＢ１は既存のリレーショナルデータベースであり、生産工場での業務に関する自然言語記述データが格納されたものであれば何でもよい。すなわち、ＲＤＢ１には例えば図２Ａに示したように、各レコード（行）がセル番号（換言すればデータ番号）、日付、トラブル事象、原因、処置、対策というフィールド（列）からなるデータテーブルＴ１０が格納されている。各フィールド（列）のデータサイズは特に限定されないが、数文字から数百文字程度が望ましい。入出力装置２はデータ入力に用いるキーボード・マウスなどの入力手段（入力デバイス）２ａや、検索結果や入力情報を表示するモニタ２ｂからなる。また入出力装置２には図示を省略するが各種データを印刷するための印刷装置が接続されている。
【００３６】
トラブル保全管理支援システムＡがＤＢ知識検索モジュールＤとして機能するときのユーザ入力促進画面は対話型で表示される。図３Ａから図３Ｅはその表示例を示したものである。
図３Ａはトラブル保全管理支援システムＡをＤＢ知識検索モジュールＤとして起動させたときの起動画面ＳＣ１の画面構成を示したものである。起動画面では、例えば、タイトル２１、入力支援表示２２、ユーザ入力欄２３、実行ボタン２４が表示される。
【００３７】
タイトル２１は、例えば、「トラブル保全管理支援システム」と表示されている。入力支援表示２２は、ユーザが何をすべきかが対話型で表示され、例えば、「トラブルに関する質問を入力して下さい」と表示される。ユーザ入力欄２３は、ユーザがキーボードやマウスなどを用いて入力した検索質問文が表示され、例えば、「ウインド  ダンマリ停止」という検索入力文が表示される。実行ボタン２４は、実行指示ボタンであり、ユーザ入力欄２３に入力された文字列を検索質問文ｑとして検索処理を行わせるための指示を行うためのボタンである。これをマウスカーソルで選択した状態でダブルクリックすることにより検索処理が開始される。
【００３８】
図３Ｂ〜図３Ｇは、検索画面ＳＣ２を示しており、起動画面ＳＣ１と同様にタイトル２１、入力支援表示２２、ユーザ入力欄２３、実行ボタン２４が表示され、更に、フィールド選択欄２５が表示される。なお、起動画面ＳＣ１から一度検索作業が行われた以降は検索画面ＳＣ２が表示されることになる。
【００３９】
フィールド選択欄２５は、ＲＤＢ１に格納されているデータベースのどのフィールドで検索するかを設定するためにユーザがキーボードやマウスなどを用いて入力したフィールドが表示される。検索範囲となるフィールドは、初期設定では「トラブル事象」というフィールドが自動的に設定されているため、それが表示される。実行ボタン２４は、マウスなどで選択された状態でこれをクリックすることにより実際の検索を行わせることができるボタンである。
【００４０】
検索画面ＳＣ２は、検索範囲とされた選択フィールド内の検索結果２６と、検索結果２６で表示されたセルが含まれるレコードの選択フィールド以外のセルの内容が検索結果２７として表示される。
選択フィールド内の検索結果２６としては、図３Ｂ〜Ｅに示したように、選択フィールドとしてキーボードやマウス入力により選択された選択フィールドを示すフィールド名２６ａ、当該選択フィールドに属するセルのうち「キーボードやマウス入力により入力されユーザ入力欄２３に表示されている検索質問文から切り出された検索キー」を含有するセル（「含有セル」ともいう）の含有セル内容２６ｂ、含有セルを含むレコード（検索してヒットしたレコード）の当該フィールドにおける通し番号２６ｃ、類似度２６ｄが各レコード毎に類似度が高い順に表示される。類似度の計算の方法については後述するが、出現頻度に基づいて求められる重要度に基づいて求められる数値であり類似度が高いほど検索質問文と関連性が高く類似度が低いほど検索質問文と関連性が低い。
また図３Ｄの含有セル内容２６ｂによれば、検索質問文が少し異なっていても検索結果には差がない。例えば、１番目の「ＬＳ異常で停止」と、２番目の「ＬＳ異常にて停止」とでは厳密には「で」と「にて」との違いがあるが、検索質問文に含まれている重要語Ｗがトラブル事象に含まれているか否かに基づいて検索されるため、重要語Ｗが含まれている限り重要語辞書ＤＢには存在しないテキストの存在の有無やテキストの違いは検索結果には影響が出ない。このことは、図の含有セル内容２６ｂの３番目の「Ｗ／Ｗ  ＬＳ異常にて停止」と、４番目の「Ｗ／Ｗ  ＬＳ異常で停止」、更に７番目の「ウォッシャーＬＳ異常にて停止」と、８番目の「ウォッシャーＬＳ異常で停止」でも同様である。
更に図３Ｆ〜Ｇに示したようにユーザチェック欄２６ｅを設けることもできる。図３Ｆのチェックが無い状態において、同図に示したように７番目と８番目の欄にユーザチェックを行い、実行ボタン２４が押されると、図３Ｇに示したようにユーザチェックが付されたトラブル事象に係るレコードについては省略して表示される。従って、検索結果のうち必要なデータのみを表示させることができる。例えば、図３Ｄであれば（同図ではユーザチェック欄は省略されているが）、その１番目と２番目、３番目と４番目、７番目と８番目は、検索結果としては同一と判断できるので、図３Ｆ〜Ｇのようにチェック欄を設けてチェックを付することにより表示を省略することができる。
【００４１】
検索結果２７としては、フィールド名２６ａ以外のフィールド名２７ａ、含有セル以外のセルであって当該含有セルが属するレコードと同じレコードに属するいずれかのセル（「非含有セル」ともいう）の各フィールド名２７ｂ及びその内容である非含有セル内容２７ｃが表示される。
検索結果２７に表示されるレコード数は、表示スペースの関係から検索結果２６に表示されるレコード数（この例では１０件）よりも少ない。そのため検索結果２６に表示されたレコードから選択的に検索結果２７に表示されることとなる。初期設定では検索結果２６に表示されるレコードのうち第一番目からデータが表示される。セル内容２６ｂはマウスカーソルで選択すると、色を変えるなどして選択表示されるようになっており、これをダブルクリックすれば、ダブルクリックしたセル内容２６ｂに対応するレコードの内容から順番に検索結果２７に表示されるように構成される。
【００４２】
また非含有セル内容２７ｃはマウスカーソルで選択すると、色を変えるなどして選択表示されるようになっている。これをダブルクリックすれば、この非含有セル２７ｃに格納されたデータが検索質問文ｑとして設定されるようになっており、当該データを検索質問文ｑとして検索が行われその結果が表示される。この場合、例えば、「トラニオン調整不良」をマウスカーソルで選択しながらダブルクリックすると、原因というフィールドを検索範囲として検索処理が行われ、検索結果２６には原因というフィールドで検索した結果が表示され、検索結果２７には原因以外のフィールドのデータが表示される。従って、連想検索や逆引き検索が簡単にできるように構成されている。
【００４３】
なお、検索結果２７にはレコード３〜４件分程度のデータが表示されている。検索結果２７には、通常は通し番号２６ｃの一番上に表示されているレコードのデータから例えば３〜４件ずつ表示されるが、含有セル内容２６ｂをマウスカーソルで選択してこれをダブルクリックすれば、任意のレコードから検索結果２７の内容を表示させることができるように構成される。関連情報２８は、検索質問文ｑの内容とともに、ヒットしたレコードの件数や、検索結果２６に「何件目から何件目までが表示されるか」といった情報が表示される。
【００４４】
［ＤＢ再利用モジュールＢ］
ＤＢ再利用モジュールＢは、ＤＢ知識抽出モジュールＣと、ＤＢ知識検索モジュールＤとを含む。ＤＢ知識抽出モジュールＣにおいては、データテーブルＴ１０の特定データＤＴ（例えばトラブル事象、原因、処置、対策のフィールド（列））のデータ一群が読み出され、これに対して処理がなされ、ＤＢの再構築、すなわち、重要語辞書ＤＢ８と、インデックスＤＢ１０と、重要度ＤＢ１１の構築がなされる。ＤＢ再利用モジュールＢの起動はＤＢ再利用モジュールＢが実装されている図示しないコンピュータから、生産工場の非稼働時になされるようになっている。メモリの競合によるデータ不一致の問題を排除するためである。ＤＢ再利用モジュールＢの起動は入出力装置２を介して特権ユーザの操作により起動されるようにしてもよい。
【００４５】
［ＤＢ知識抽出モジュールＣ及び構築されるＤＢ］
ＤＢ知識抽出モジュールＣについて更に説明する。ＤＢ知識抽出モジュールＣは、重要語抽出／辞書構築部７と、ＤＢ再構築部９とを含み、これらにより、重要語辞書ＤＢ８と、インデックスＤＢ１０と、重要度ＤＢ１１とが構築される。
【００４６】
重要語抽出／辞書構築部７はデータテーブルＴ１０から特定データＤＴ（トラブル事象、原因、処置、対策のフィールド（列）のいずれか）を取りだし、サフィックスアレイデータ構造、最長一致法（Longest Match Method）、ＬＣＰｓ法（Longest Common Prefixes）及びアダプテイション法に基づいて、文字列クラスＣを切り出して重要語Ｗを抽出し重要語辞書ＤＢ８を構築するものである。
【００４７】
具体的には、重要語抽出／辞書構築部７はＲＤＢ１から特定データＤＴを読み出し、読み出した特定データＤＴを用いてサフィックスアレイＳＡを生成し、全ての文字列クラスＣを切りだした後、重要語Ｗを抽出するように構成される。特定データＤＴは位置情報Ｌを単位として読み出される。従って例えばセル番号毎（すなわちレコード（一行）毎）に読み出すように構成される。
読み出し方については、位置情報Ｌを単位として処理対象となる特定データＤＴを一度に全て読み込んでおきその後のサフィックスアレイＳＡの生成以降の処理に供するように構成しても良いし、位置情報Ｌを単位として読み込む度にサフィックスアレイＳＡの生成を行って文字列クラスＣの切りだし以降の処理に供するように構成してもよい。特定データＤＴに数字が含まれる場合には、全ての数字を合わせた状態が一つの文字として読み出されるように構成してもよい。位置情報Ｌは直接アドレスでも間接アドレスでもよくあらゆる手法により表すことが可能である。
【００４８】
読み出された特定データＤＴに基づいて位置情報Ｌに対応する一行の文字列（自然言語記述部）から構成し得る全ての部分文字列（サフィックス）が生成される。すなわち、一文字を一つのメンバとして（数字の場合には全ての数字を合わせた状態を一つのメンバとすることが望ましい）、文字を一文字ずつずらしながら終端記号に達するまで続けることによって全ての部分文字列（サフィックス）を表現する配列構造が構築される。重要語抽出／辞書構築部７は最終的には全ての部分文字列（サフィックス）を統合し先頭文字をキーとして辞書順にソートしたサフィックスアレイＳＡを作成するように構成される。
【００４９】
文字列クラスＣの切り出しのため重要語抽出／辞書構築部７は、サフィックスアレイＳＡを生成すると、先頭から順番にｉ番目のサフィックスｓｆと（ｉ＋１）番目のサフィックスｓｆとの比較を各サフィックスを構成する文字同士一文字ずつ順番に行い、一致部分があれば一致している部分のうち最大重複文字列を文字列クラスＣとして切り出すように構成される。そして重要語抽出／辞書構築部７は、全てのサフィックスｓｆについてこの処理が終わると切り出した文字列クラスＣをソートし、文字列クラスＣの出現頻度Ｔｉを数えて同一文字列クラスＣを統合するように構成される。予め設定した出現頻度Ｔ１より少ない文字列クラスＣは除外するように構成される。換言すれば、重要語抽出／辞書構築部７は、出現頻度Ｔ１以上の文字列クラスＣを選択するように構成される。
【００５０】
重要語辞書ＤＢ８構築のため重要語抽出／辞書構築部７は、サフィックスアレイＳＡを利用してＬＣＰｓ法によって切り出された文字列クラスＣ（図６Ｇ、図６Ｈに示したもの）から出現頻度差を利用したアダプティション手法と最長一致法とを用いて、さらに絞込みを行い重要語Ｗを抽出し、更に抽出された重要語Ｗを重要語辞書ＤＢ８に登録するように構成されている。出現頻度差を利用したアダプティション手法と最長一致法とを用いたのは文字列クラスＣは包含関係が生じているが最大文字列クラス（最も長い文字列クラス）で代表してしまうと冗長になるためこれを避けるためである。
【００５１】
具体的には重要語抽出／辞書構築部７は、ＲＡＭ領域から「処理対象となる文字列クラスＣ（ｉ番目の文字列クラスＣ）」と「一つ前に処理対象とされた前回読み込んだ文字列クラスＣ（（ｉ−１）番目の文字列クラスＣ）」とを読み込み、これらの文字列クラスＣを参照し比較するように構成され、更に二つの文字列クラスＣが文字列上の包含関係にあれば、頻度比Ｇａｐの計算を行いこの結果に基づいて重要度Ｗを抽出するように構成される（図７参照）。ここでは包含関係にある文字列クラスＣを上位文字列クラスＣ、下位文字列クラスＣといい、例えば、「ボー」と「ボード」では「ボード」が上位文字列クラスＣ、「ボー」が下位文字列クラスＣということになる。尚、包含関係にない場合には両者を独立クラスの重要語Ｗとして抽出するように構成される。
【００５２】
頻度比Ｇａｐの計算は次の数１に示す。
【数１】
2005063284.tif 000003
【００５３】
重要語抽出／辞書構築部７は、例えば、この頻度比Ｇａｐに基づいて比較された文字列クラスＣの一方を他方の文字列クラスＣの部分文字列であると判定するように構成される。一例を挙げれば、重要語抽出／辞書構築部７は最長一致法によって文字列長の長い文字列クラスＣを残し、他方の文字列クラスＣを消去するように又はこの逆を行うように構成される。重要語抽出／辞書構築部７は頻度比Ｇａｐが閾値Ｔ２以上の場合は下位文字列クラスＣが上位文字列クラスＣとは独立した文字列であると認識するように構成され、例えば、「ボー」と「ボード」とでは「ボー」をそのまま重要語辞書ＤＢ８へ登録するように構成される。重要語抽出／辞書構築部７は頻度比Ｇａｐが閾値Ｔ２より小さい場合は、下位文字列クラスＣは上位文字列クラスＣと見なして重要語Ｗとして抽出するように構成され、例えば、「ボー」は「ボード」として抽出するように構成され、「Ｌ」（リミットの意味）と「ＬＳ」（リミットスイッチの意味）との関係が最終的に閾値Ｔ２より小さいと判断されるような処理を経たときには、「Ｌ」は「ＬＳ」として抽出するように構成される（図３Ｄにおいて検索入力文として「ロボットがＬ異常で停止」と設定されても同図と同様の結果が得られる）。そのため、検索質問文に「Ｌ」と「ＬＳ」とが別個に入力されたとしても、同じ検索結果が得られる。従って、「Ｌ」と「ＬＳ」とでＯＲ検索をかける必要もないということができる。
【００５４】
重要語辞書ＤＢ８の構築又は重要語辞書ＤＢ８への登録のために重要語抽出／辞書構築部７は、重要語Ｗ及びその属性データ（通し番号、位置情報Ｌ、重要語Ｗ、頻度Ｔｉ、その他のデータなど）を処理、加工するように構成され、例えば、図２Ｂに示した構造のデータテーブルＴ２０を作成して重要語辞書ＤＢ８に格納するように構成される。位置情報Ｌとしては、ＲＤＢ１上の位置を直接的又は間接的に表すものであれば何でも良く、セル番号とセル内の位置から決定される「固有の番号」や「通し番号」などを用いることができる。
【００５５】
次にＤＢ再構築部９は、（１）重要語Ｗの位置情報Ｌを取り出して重要語ＷとともにインデックスＤＢ１０に格納し、（２）重要語Ｗの相互の重要度Ｗｉを計算して重要語Ｗとともに重要度ＤＢ１１に格納するように構成される。
【００５６】
インデックスＤＢ１０は、少なくとも重要語辞書ＤＢ８に格納された重要語ＷがＲＤＢ１内のどこに格納されているかを示す位置情報Ｌ（例えばＲＤＢ１上での「セル番号」、「セル番号」と「セル内の位置」、セル番号とセル内の位置から決定される「固有の番号」などのいずれか又は組合せ）と、重要語Ｗとが格納される。インデックスＤＢ１０には、例えば、図２Ｃに示した構造のデータテーブルＴ３０ａ、Ｔ３０ｂが格納され、データテーブルＴ３０ａを参照することにより重要語Ｗから位置情報Ｌ（「セル番号」、「セル内の位置」、「固有の番号」、「通番」など）を引くこともできるし、データテーブルＴ３０ｂを参照することにより位置情報Ｌから重要語Ｗを引くこともできるように構成されている。
【００５７】
尚、インデックスＤＢ１０の構築は、重要語抽出／辞書構築部７により行うようにしてもよい。この場合も、重要語Ｗをキーにして重要語Ｗが格納されているＲＤＢ１上の全ての位置情報Ｌを得ることができるようにデータテーブルＴ３０ａを作成するように構成してもよいし、位置情報Ｌをキーにして当該位置に格納されている重要語Ｗを得ることができるようにデータテーブルＴ３０ｂを作成するように構成してもよい。
【００５８】
重要度ＤＢ１１は、重要語辞書ＤＢ８に格納された重要語Ｗが相互にどの程度関連が強いかを示す重要度Ｗｉと重要語Ｗとが格納されるところである。重要度ＤＢ１１には、例えば、図２Ｄに示したデータテーブルＴ４０ａ、Ｔ４０ｂが格納され、データテーブルＴ４０ａを参照することにより位置情報Ｌで示される位置に含まれる全ての重要語Ｗの重要度Ｗｉを全て引くこともできるし、データテーブルＴ４０ｂを参照することにより重要語Ｗから重要度Ｗｉを引くこともできるように構成されている。
【００５９】
再構築部９において重要度Ｗｉは次の数２の計算式により求められる。
【数２】
2005063284.tif 000004
【００６０】
ここで共起頻度Ｃｉは異なり語数を意味するものである。再構築部９は、例えばデータテーブルＴ３０ａを参照して、ある重要語Ｗが出現する位置情報Ｌを得た後、データテーブルＴ３０ｂを参照することにより、これらの位置情報Ｌで示される位置に存在する異なり語数、すなわち「他の重要語Ｗの種類の総数」を数えることにより共起頻度Ｃｉを求めるように構成される。この場合、再構築部９は、共起するパターンが何度出てきてもそれは１通りとしてカウントするように構成してもよいし、共起するパターンに関係なく累算するように構成することもできる。
補正項α、βとしては定数が設定される。重要度Ｗｉの計算は、相互情報量、dice co-efficient, tf*idf値などの計算法により行うこともできる。出現頻度Ｔｉは、データテーブルＴ３０ａの位置情報Ｌの個数を計算することにより求めることができる。又は再構成部９を介して重要語辞書ＤＢ８を引くことにより求めることもできる。
【００６１】
［ＤＢ知識検索モジュールＤ］
ＤＢ知識検索モジュールＤは、入力部１２と、参照部１３と、出力部１４とからなる。これらは、インデックスＤＢ１０と、重要度ＤＢ１１を直接参照することにより、入出力装置２を介して入力される一般ユーザからの情報要求に応じ、ＲＤＢ１から必要なデータを取り出して当該一般ユーザに情報を提供すべく他のデータと共にモニタ２ｂに表示するものである。インデックスＤＢ１０と、重要度ＤＢ１１は重要語辞書ＤＢ８に格納された重要語Ｗに基づいて構築されたＤＢであり、インデックスＤＢ１０と、重要度ＤＢ１１とを直接参照するということは、結局、重要度辞書ＤＢ８を間接的に参照していることになる。
【００６２】
入力部１２はインデックスＤＢ１０のうちデータテーブルＴ３０ａを参照することにより、当該インデックスに格納された重要語と一致する一致文字列を、キーボードやマウスによってユーザから入力された検索質問文ｑがその全体又は一部に含むか否かを判断し、当該一致文字列を検索キーＳとして切り出すものである。
【００６３】
また、逆引き検索を行う場合には、入力部１２は、含有セル以外のセルであって当該含有セルが属するレコードと同じレコードに属するいずれかのセル（「非含有セル」ともいう）に格納されたデータとして、マウスカーソルで選択されダブルクリックされた非含有セル内容２７ｃにより表示された内容を検索質問文ｑとして設定する。この場合には入力部１２は非含有セル内容２７ｃの位置情報Ｌも取得し、インデックスＤＢ１０のうちデータテーブルＴ３０ｂを参照することにより、当該非含有セルに含まれる重要語を検索キーＳとして切り出すように構成される。
【００６４】
また入力部１２は一般ユーザからの情報要求としての検索質問文ｑを受け付け解析する場合には、検索質問文ｑに含まれるサフィックスｓｆを取り出してサフィックス群ｓｆｇを生成し、サフィックス群ｓｆｇを構成する各サフィックスと重要語Ｗとを比較して、その比較結果に基づいて検索キーＳを切り出すように構成してもよい。
【００６５】
参照部１３はインデックスＤＢ１０と重要語ＤＢ１１とを参照して一般ユーザの検索質問文ｑに対応した回答をＲＤＢ１のどこからどのような順序で取り出したらよいかを決定するものである。まずＲＤＢ１のどこから取り出すかについてであるが、参照部１３はデータテーブルＴ３０ａを参照して入力部１２によって切り出された検索キーＳと一致する重要語Ｗの位置情報Ｌを参照して取り出すべき回答がＲＤＢ１のどこに格納されているかを認識するように構成される。そして参照部１３は、データテーブルＴ４０ａを参照して位置情報Ｌで示される位置に含まれる全ての重要語Ｗの重要度Ｗｉを参照して、重要語Ｗを要素としてその重要度Ｗｉをその値とする索引ベクトルＶｉを作成するように構成される（図２Ｃ、図２Ｄ、図９Ｄ参照）。また参照部１３はデータテーブルＴ４０ｂを参照して検索質問文ｑから切り出された重要語Ｗと一致する検索キーＳの重要度Ｗｉを参照して重要語Ｗを要素としてその重要度Ｗｉをその値とする検索キー群ベクトルＶｓを作成するように構成される（図２Ｃ、図２Ｄ、図９Ｄ参照）。
【００６６】
次に重要語Ｗを取り出す順序についてであるが、その順序は類似度ｓｉｍを計算することにより決定される。類似度ｓｉｍは、参照部１３により数３の計算式により求められる。
【００６７】
【数３】
2005063284.tif 000005
【００６８】
出力部１４は、参照部１３において求めた位置情報Ｌ及びその優先順位に基づいてＲＤＢ１の回答が格納された位置から必要なデータを取り出すとともに取り出した知識データを入出力装置２のモニタ２ｂに表示するように構成される。
【００６９】
［その他］
尚、図１Ｂに示した重要語抽出／辞書構築部７、再構築部９、入力部１２、参照部１３及び出力部１４は、これらを同一のコンピュータに実装することもできるし、ネットワークを介して相互にデータのやりとりができる限り別々のコンピュータに実装することもできる。図４はそのコンピュータのブロック構成の一例を示したものである。
【００７０】
図４に示したように、そのようなコンピュータは、プログラムを読み出して当該プログラムの命令を装置各部に送出して制御する中央制御装置（ＣＰＵ）１５、当該コンピュータ及び各種デバイスを制御するためのプログラムであってメインメモリに読み込まれるプログラムを記憶させたリードオンリメモリ（ＲＯＭ）１６、当該コンピュータを「トラブル保全管理支援システムとして機能させるためのプログラム（以下単に「トラブル保全管理支援プログラム」という）や図２Ａ〜図２Ｄ、後述する図６Ａ〜図６Ｈに示した各種データ、その他演算データを記憶させるのに用いられるランダムアクセスメモリ（ＲＡＭ）１７、データ入力に用いるキーボード・マウスなどの入力装置１８、実行結果や入力情報を表示するモニタ１９からなるものであればよい。またコンピュータには各種データや手続書類を印刷するための印刷装置その他の周辺機器２０が接続される。
【００７１】
尚、ＲＤＢ再利用システムＡにおいてＣＰＵ１５は、ＲＡＭ１７から「トラブル保全管理支援プログラム」を読み出して当該コンピュータ及び各種デバイスに制御指令を送出し、特権ユーザの入力指示に従って、トラブル保全管理支援システムＡを構成する重要語辞書ＤＢ８、インデックスＤＢ１０及び重要度ＤＢ１１の構築を行ったり、一般ユーザの入力指示に従って検索を行う。構築された重要語辞書ＤＢ８、インデックスＤＢ１０及び重要度ＤＢ１１は、同一コンピュータ内のＲＡＭ１７に格納することもできるし、媒体記録装置４やＨＤＤ装置３、他のコンピュータに格納することもできる。
【００７２】
また重要語辞書ＤＢ８、インデックスＤＢ１０及び重要度ＤＢ１１は、ＨＤＤ装置３や媒体記憶装置４を介して記録媒体５に保存され利用することができる。利用形態に応じて、フレキシブルディスク、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒなどに保存することができる。
【００７３】
以下に図面を参照して上記構成を備えたトラブル保全管理支援システムＡにおける情報処理について説明する。
【００７４】
［重要語辞書ＤＢ８の構築処理］
図５ＡはＤＢ知識抽出の全体概略フローチャートであり、重要語辞書ＤＢ８の構築は（１）サフィックスアレイＳＡの結合及びソート（Ｓ１００）、（２）文字列クラスの切出し（Ｓ２００）、（３）重要語Ｗの抽出と重要語辞書ＤＢ８の構築（Ｓ３００）という手順からなる。既に述べたが「サフィックスアレイ」とは、テキストをそのテキスト中に存在する全ての文字からテキストの終端までの部分文字列（サフィックス；接尾辞）の集合（ｎ−ｇｒａｍ集合）であると考え、その集合を辞書順に並べたデータ構造をいう。また「サフィックス」とはテキスト中に存在する全ての文字からテキストの終端までのテキストをいう。
【００７５】
［Ｓ１００における詳細処理］
次に図５Ｂを参照してＳ１００のサフィックスアレイＳＡの統合及びソートの処理について説明する。同図に示したように、Ｓ１０１においてはＲＤＢ１からデータテーブルＴ１０の位置情報Ｌとしての「セル番号」と特定データＤＴとしての「トラブル事象」とが配列順に一度に読み出され、図６Ａに示したデータテーブルＴ２１としてＲＡＭ領域に格納される（Ｓ１０１）。
【００７６】
次にＳ１０２においては図６Ｂに示したように、読み出された特定データＤＴ（「トラブル事象」）を構成するテキストをそのテキスト中に存在する全ての文字からテキストの終端までの部分文字列（サフィックス：接頭辞）の集合（ｎ−ｇｒａｍ集合）であると考え、その集合を辞書順に並べたサフィックスｓｆが、位置情報Ｌ（例えば、「セル番号」）毎にデータテーブルＴ２２としてＲＡＭ領域に生成される。Ｓ１０２においては更に図６Ｃに示したように、生成されたサフィックスｓｆ（部分文字列）全てに対して当該サフィックスｓｆ（部分文字列）における先頭文字列を基準とした「セル内の位置」（ここではidx[]で表現されている）を表す情報と、「通し番号」（又は「通番」という）とが付与されデータテーブルＴ２３としてＲＡＭ領域に格納される。
【００７７】
Ｓ１０３においては図６Ｄに示したように、位置情報Ｌのうち「セル番号」が同じ特定データＤＴ毎に、各サフィックスｓｆが辞書順にソートされるとともに、各サフィックスｓｆに固有の番号（sfx[]）が付与され初期化され、データテーブルＴ２４としてＲＡＭ領域に格納される。ここで「固有の番号」とはＲＤＢ１内での位置を示すデータであり、データテーブルＴ２３で「セル番号」と「セル内の位置」とにより決定される情報と同じ意味を有するデータである。直接アドレスでも間接アドレスでもあらゆる手法によるアドレス指定が可能である。
【００７８】
Ｓ１０４においては図６Ｅに示したように、位置情報Ｌごとではなく全てのサフィックスｓｆが統合され全体がソートされたサフィックスアレイＳＡが得られ、データテーブルＴ２５としてＲＡＭ領域に格納される。
【００７９】
［Ｓ２００における詳細処理］
次に図５Ｃを参照してＳ２００の文字列クラス切出処理について説明する。Ｓ２０１においてはカウンタｉと、サフィックス総数ｊとに所定の値が設定される。カウンタｉには初期値として０が設定され、サフィックス総数ｊにはＳ１０４で「ソート及び統合」された全サフィックス数が設定される（図６Ｅから図６Ｆの例では６２が設定される）。次にＳ２０２においては「ｉ番目のサフィックス」と「（ｉ−１）番目のサフィックス」とが比較され一致部分があるかどうか判断される。
【００８０】
一致部分があると判断されると（Ｓ２０２：ＹＥＳ）、Ｓ２０３へ進み一致部分が文字列クラスＣとして切り出され、切り出された文字列クラスＣは図６Ｆに示したデータテーブルＴ２６としてＲＡＭ領域に格納される。図６Ｆに示したように「固有の番号」と「通し番号」は位置情報Ｌとしてそのまま引き継がれている。ここでは一文字でも同じ文字列があれば文字列クラスＣとして切り出される。結果的に少なくとも２回出現する文字列クラスＣは切り出されることになる。
【００８１】
そしてＳ２０３の処理がなされた後又はＳ２０２において一致部分がないと判断されたときは、Ｓ２０４及びＳ２０５を介してＳ２０２に戻り、次の「（ｉ＋１）番目のサフィックス」についての処理がなされる。
図６Ｅから図６Ｆの例ではＳ２０４において「カウンタｉ←６２」となるまでＳ２０２からＳ２０５の処理が繰り返し行われる。図６Ｅに示したデータテーブルＴ２５のサフィックスについて左上から順番に通番１３→通番２６→通番５３→、…、→通番５４→通番０３、…、→通番４２というように最後まで処理に供されたサフィックスは処理結果に応じて文字列クラスＣとして切り出され図６Ｆに示したデータテーブルＴ２６として格納される（Ｓ２０３）。図６Ｆには図６Ｅに示したサフィックスを切り出した結果を例示している。
【００８２】
Ｓ２０６においては図６Ｇに示したように切り出された文字列クラスＣの出現頻度Ｔｉが計算され、データテーブルＴ２７が作成されＲＡＭ領域に格納される。図においては出現頻度Ｔｉの例は、必要限度にとどめている。そしてＳ２０７においては図６Ｈに示したように辞書順にソートされるが、先頭文字が同一のものについては上位文字列クラスが先に下位文字列クラスが後の配列となるようにソートされてＲＡＭ領域に格納される。また同一文字列クラスＣ（図６Ｇ参照）は統合されてＲＡＭ領域に格納される。このとき図６Ｈに示したように文字列クラスＣが格納されている位置情報Ｌ（例えば、「固有の番号」）も付加される。なお包含関係については既に説明したがここでもう一度言及しておくと、「ボー」と「ボード」との関係をいうものであり、この場合「ボー」が下位文字列クラス、「ボード」が上位文字列クラスとなる関係をいう。
【００８３】
Ｓ２０８においては文字列クラスＣの出現頻度Ｔｉが所定の閾値Ｔ１より小さいか否かが判断され、所定の閾値Ｔ１より出現頻度Ｔｉが小さいときにはその文字列クラスＣは除外され、残りの文字列クラスＣが選択される。この除外は例えば図６Ｈに示したデータテーブルＴ２７に除外するかしないかを示すフラグを立てることによりなされる。例えば、「Ｔ１＝５」としたときは、Ｃ３４の文字列クラス「熱暴走」が除外対象となり、「除外」の列にフラグ「１」が立てられる。
【００８４】
これに代えて、フラグを立てずに、除外する文字列クラスＣを除いてデータテーブルＴ２７と同様のテーブルを作成しなおしてもよい。このように出現頻度Ｔｉが少ない文字列クラスを除外するのは、このような文字列クラスは無意味な場合が多いことが統計的に判明していることに基づく。ここで閾値Ｔ１の決め方であるが、例えば定数とすることもできるし、出現頻度Ｔｉの全文字列クラス数Ｃの出現頻度の総数に対する割合とすることもできる。
【００８５】
［Ｓ３００における詳細処理］
次に図５Ｄを参照して重要語抽出処理について説明する。
Ｓ３０１においては、カウンタｉが０に設定され、文字列クラスＣ総数ｊが設定される。図６Ｈの例では除外された文字列クラスＣが除外されて総数ｊとして設定されるため、例えば、「３６−Ｘ（Ｘ：除外された文字列クラス総数）」が設定される。
【００８６】
Ｓ３０２においては、「処理対象となる文字列クラスＣ（ｉ番目の文字列クラスＣ）」が「一つ前に処理対象とされた前回読み込んだ文字列クラスＣ（（ｉ−１）番目の文字列クラスＣ）」と包含関係にあるか否かが判断される。さて包含関係にないと判断されると（Ｓ３０２：ＮＯ）、Ｓ３０５においてｉ番目の文字列クラスＣは独立クラスとして重要語辞書ＤＢ８に登録される。重要語辞書ＤＢ８に登録されるときのデータ構造は例えばデータテーブルＴ２０に示したものが用いられる。
【００８７】
一方、包含関係にあると判断されると（Ｓ３０２：ＹＥＳ）、Ｓ３０３において包含関係にある文字列クラスどうしで頻度比Ｇａｐが所定の閾値Ｔ２より小さいか否かが判断される。数１に基づいて演算を行った結果、閾値Ｔ２より小さいと判断されると（Ｓ３０３：ＹＥＳ）、最長一致法に基づき上位文字列クラスＣに下位文字列クラスＣが圧縮され（Ｓ３０４）、下位文字列クラスＣは上位文字列クラスＣと見なして重要語辞書ＤＢ８へ登録される（Ｓ３０５）。
【００８８】
そしてＳ３０５の処理がなされた後は、Ｓ３０６及びＳ３０７を介してＳ３０２に戻り、次の「（ｉ＋１）番目の文字列クラス」についての処理がなされる。
図６Ｈの例ではＳ２０６において「カウンタｉ←（３６−Ｘ）（Ｘ：除外された文字列クラス総数）」となるまでＳ３０２からＳ３０７の処理が繰り返し行われる。
【００８９】
図５Ｄの処理について図７を参照して更に説明する。図７はデータテーブルＴ２８からどのように重要語Ｗが抽出されるのかを概念的に示したものである。まず閾値Ｔ１を「Ｔ１＝５」とし、閾値Ｔ２を「Ｔ２＝２．０」とする。
例えば文字列クラスＣ１とＣ２とを比較すると、これらは包含関係にあるため数１により計算するとＧａｐ（Ｃ１，Ｃ２）＝｜ｌｏｇ８／８｜＝０＜閾値Ｔ２となるため、文字列クラスＣ２は文字列クラスＣ１に圧縮されて、文字列クラスＣ１と見なして重要語辞書ＤＢ８へ登録される。「１３ランバス」は「１３ランバス加熱」として登録される。
また例えば文字列クラスＣ２とＣ３とを比較すると、これらは包含関係にないため文字列クラスＣ３はそのまま独立クラスと見なして重要語辞書ＤＢ８へ登録される。
また例えば文字列クラスＣ２０とＣ２１とを比較すると、これらは包含関係にあるため数１により計算するとＧａｐ（Ｃ２０，Ｃ２１）＝｜ｌｏｇ８／１０００｜＝２．０９６＞閾値Ｔ２となるため、文字列クラスＣ２１は文字列クラスＣ１に圧縮されることなくそのまま独立クラスとして重要語辞書ＤＢ８へ登録される。
【００９０】
［重要語辞書ＤＢの再構成］
再構築部９においては知識関連付けとして、図８Ａに示したようにインデックスＤＢ１０の構築（Ｓ４００）と、重要度ＤＢ１１の構築（Ｓ５００）とが行われる。
【００９１】
［Ｓ４００における詳細処理］
再構築部９におけるインデックスＤＢ１０の構築について図８Ｂを参照して説明する。
Ｓ４０１においては図５Ａから図５Ｄのフローチャートの処理によって抽出された重要語Ｗと位置情報Ｌとが図７に示したデータテーブルＴ２９から取り出される。そしてデータテーブルＴ３０ａ、Ｔ３０ｂが例えばハッシュ構造で作成され、インデックスＤＢ１０として格納される（図２Ｄ参照）。
【００９２】
［Ｓ５００における詳細処理］
次に再構築部９における重要度ＤＢ１１の構築について図８Ｃを参照して説明する。
まずＳ５０１においてカウンタｉに初期値０が設定されるとともに、全データ数ｊに重要語Ｗの総数が設定される。次にＳ５０２とＳ５０３においてそれぞれ共起頻度Ｃｉと出現頻度Ｔｉとが求められる。共起頻度ＣｉはデータテーブルＴ３０ａを参照して、ある重要語Ｗが出現する位置情報Ｌ（例えば、「固有の番号」や「セル番号」）を得た後、データテーブルＴ３０ｂを参照することにより、これらの位置情報Ｌ（例えば、「固有の番号」や「セル番号」）で示される位置に含まれる他の重要語Ｗの種類の総数を数えることにより求められる。従って、共起するパターンが何度出てきてもそれは１通りとしてカウントされる。出現頻度ＴｉはデータテーブルＴ３０ａの重要語Ｗごとの位置情報Ｌがいくつあるかに基づいてカウントすることにより求めることができる。
【００９３】
Ｓ５０４においては重要度Ｗｉが数２に基づいて計算され、Ｓ５０５においては重要語Ｗと重要度Ｗｉとが図２Ｄに示したデータテーブルＴ４０ａ、Ｔ４０ｂに格納される。Ｓ５０２からＳ５０６までの処理が重要語Ｗの総数分行われる。以上のようにして構築されたインデックスＤＢ１０と重要度ＤＢ１１は、例えば一般ユーザによる検索に用いられる。
【００９４】
以上の説明では「トラブル事象」に属するフィールドのデータについての処理を例として説明したが、「トラブル事象」以外のフィールド（例えば、「原因」、「処置」、「対策」）について重要語辞書ＤＢ、インデックスＤＢを構築する場合も同様にして行うことができる。
【００９５】
［検索モジュールＣを用いた検索］
一般ユーザが入出力装置（コンピュータ）２からトラブル保全管理支援プログラムを起動させると、図３Ａの起動画面ＳＣ１が表示される。そして図９Ａに示したように検索質問文ｑの入力と検索キーの切り出し処理（Ｓ６００）、参照及び演算処理（Ｓ７００）、検索結果の出力処理（Ｓ８００）がなされる。
【００９６】
［Ｓ６００における詳細処理］
図９Ｂを参照して検索質問文ｑの入力と検索キーの切り出し処理について説明する。
（１）起動時における検索キーＳの切り出し（図３Ａ）の場合
起動時においては、図３Ａの起動画面ＳＣ１が表示され、一般ユーザからユーザ入力欄２３に検索質問文ｑが入力される。そして実行ボタン２４が押されると（Ｓ６０１：ＹＥＳ）、Ｓ６０６に進む。
起動画面ＳＣ１上で図９Ｄに示したように一般ユーザにより、例えば、「ＣＬ１３フリーズ」というデータが入力されたとすると（検索範囲としては起動画面ＳＣ１では「トラブル事象」というフィールドが自動的に選択される）、検索質問文ｑとして「ＣＬ１３フリーズ」という文字列が取得される。そしてＳ６０７においては、インデックスＤＢ１０のデータテーブルＴ３０ａが参照され、当該インデックスＤＢ１０に格納された重要語Ｗと一致する一致文字列が、一般ユーザによって入力された検索質問文ｑの全体又は一部に含まれるか否かが判断され、含まれると判断されると当該一致文字列が検索キーＳとして切り出される。ここでは「ＣＬ１３」と「フリーズ」とが切り出される。
【００９７】
（２）起動時以降における検索キーＳの切り出し（図３Ｂ）の場合
起動時以降においては、図３Ｂなどに示した検索画面ＳＣ２が表示され、一般ユーザからユーザ入力欄２３に検索質問文ｑが入力され、フィールド選択欄２５で検索範囲とするフィールドが選択される。フィールド選択欄２５で何も選択されなければそのとき選択されているフィールドが引き続き選択される。そして実行ボタン２４が押されると（Ｓ６０１：ＮＯ、Ｓ６０２：ＮＯ、Ｓ６０４：ＮＯ）、Ｓ６０６に進む。なおここでは「トラブル事象」が選択フィールドとして選択されているとする。
検索画面ＳＣ２上で図９Ｄに示したように一般ユーザにより、例えば、「ＣＬ１３フリーズ」というデータが入力されたとすると、検索質問文ｑとして「ＣＬ１３フリーズ」という文字列が取得される。そしてＳ６０７においては、インデックスＤＢ１０のデータテーブルＴ３０ａが参照され、当該インデックスＤＢ１０に格納された重要語Ｗと一致する一致文字列が、キーボードやマウスによってユーザから入力された検索質問文ｑの全体又は一部に含まれるか否かが判断され、含まれると判断されると当該一致文字列が検索キーＳとして切り出される。ここでは「ＣＬ１３」と「フリーズ」とが切り出される。
【００９８】
（３）起動時以降における選択フィールドの内容表示の場合
次に起動後における処理について説明する。図３Ｂなどに示した検索画面ＳＣ２が表示された状態で一般ユーザによっていずれかの含有セル内容２６ｂがダブルクリックされたとすると（Ｓ６０１：ＮＯ、Ｓ６０２：ＹＥＳ）、Ｓ６０３に進み、ダブルクリックされたトラブル事象に属する含有セル内容２６ｂが含まれるレコードの当該含有セル以外のセル内容、すなわち、原因、処置、対策などのフィールドに属する非含有セル内容２７ｃが結果表示２７の一番上の位置に表示される。二番目以降は表示可能な数だけ、レコードの含有セル内容２６ｂに対応する非含有セル内容２７ｃが順次表示される。
【００９９】
（４）起動時以降−逆引き検索における検索キーＳの切り出し
次に逆引き検索の処理について説明する。図３Ｂなどに示した検索画面ＳＣ２が表示された状態で一般ユーザによっていずれかの非含有セル内容２７ｃ、例えば図３Ｂの「トラニオン調整不良」を選択してこれがダブルクリックされたとすると（Ｓ６０１：ＮＯ、Ｓ６０２：ＮＯ、Ｓ６０４：ＹＥＳ）、Ｓ６０５に進む。Ｓ６０５においては「トラニオン調整不良」が属するフィールドとして「原因」が選択フィールドとして自動的に設定される。すなわち、フィールド選択欄２５を原因にしなくても自動的に「原因」が選択フィールドとして自動的に設定される。
【０１００】
そしてＳ６０８に進み、ユーザ入力欄２３に「トラニオン調整不良」が検索質問文ｑとして設定され、当該「トラニオン調整不良」が格納されている位置情報Ｌが取得される。そしてＳ６０８においては、位置情報ＬをキーとしてインデックスＤＢ１１のデータテーブルＴ３０ｂを参照し、検索質問文ｑに含まれる重要語Ｗが検索キーＳとして切り出される。
【０１０１】
なお、非含有セル内容２７ｃが属するフィールドは、一回限り選択フィールドとして設定されるのみで、フィールド選択欄２５から選択フィールドが設定された場合にのみ引きづつきそのフィールドが選択されるようにしてもよい。
【０１０２】
［Ｓ７００における詳細処理］
Ｓ７００の処理では、Ｓ６０７又はＳ６０９において切り出された検索キーＳとインデックスＤＢ１０中の重要語Ｗとが照合される（Ｓ７０１）。そしてＳ７０２においては検索キーＳと一致する重要語Ｗの位置情報Ｌ（例えば、「固有の番号」や「セル番号」）が参照されるが、このとき重要語Ｗが複数含まれている場合には、そのうちの重要語Ｗが一つでも一致したときには位置情報Ｌが参照される。例えば検索質問文ｑ＝｛ＣＬ１３フリーズ｝である場合には、重要語Ｗとして「ＣＬ１３」と「フリーズ」が取り出され、「ＣＬ１３」と「フリーズ」のうち一つでも含まれている位置情報Ｌが参照される。位置情報Ｌは、類似度ｓｉｍを求めるのに用いられる。
【０１０３】
次にＳ７０３においては「参照した位置情報Ｌで示される位置に含まれる全ての重要語Ｗ」について重要度ＤＢ１１が参照される。すなわち、選択フィールドたる「トラブル事象」に属するセルのうち検索キーＳを含むセル（含有セル）の重要度ＤＢ１１が参照される。そして「参照した位置情報Ｌで示される位置のセル（すなわち、含有セル）に含まれる全ての重要語Ｗ」を要素とし、数２により求められた重要度Ｗｉをその値とする索引ベクトルＶｉが作成される。その例を図９Ｄ（２）に示す。この例の場合にはデータテーブルＴ４０ａから要素となる重要語Ｗの重要度Ｗｉが参照され、Ｓ７０４においては索引ベクトルＶｉ１＝｛１０，１０，５０｝、索引ベクトルＶｉ２＝｛１０，１００，５０｝が作成される。
【０１０４】
また一般ユーザにより手入力された検索質問文ｑについては、Ｓ７０１の処理で一致した重要語Ｗを要素としその重要度Ｗｉをその値とする検索キー群ベクトルＶｓが作成される。その例を図９Ｄ（１）に示す。この例の場合にはＳ７０３においてデータテーブルＴ４０ｂから要素となる重要語Ｗの重要度Ｗｉが参照され、Ｓ７０５においては検索キー群ベクトルＶｓ＝｛１０，５０｝が作成される。一方、逆引き検索によりインデックスＤＢから取得された検索質問文ｑについては「Ｓ６０８で参照した位置情報Ｌで示される位置に含まれる全ての重要語Ｗ」について重要度ＤＢ１１が参照され、「そのセルに含まれる全ての重要語Ｗ」を要素とし、数２により求められた重要度Ｗｉをその値とする検索キー群ベクトルＶｓが作成される。
【０１０５】
Ｓ７０６においては余弦尺度を用いて検索質問文ｑと重要語Ｗとの類似度ｓｉｍが数３に基づいて判断される。この類似度ｓｉｍの値が大きい方が優先順位が高く低い方が優先順位が低く設定される。上記の例の場合には次の数４のような式となる。
【０１０６】
【数４】
2005063284.tif 000006
【０１０７】
Ｓ７０７においては、類似度ｓｉｍが同じ値になったものがあるかないかが判断され、同じ値になったものがあると判断された場合には（Ｓ７０７：ＹＥＳ）、出現頻度Ｔｉ又は文字列クラスの一致度（％）によって優先順位が決定される。上記の例では索引ベクトルＶｉ２に係る特定データＤＴの方が優先順位が高いと判断され、Ｓ７０８を飛ばしてＳ７０９に進み、類似度ｓｉｍを必要な位置情報Ｌとしてのセル番号全てについて求め終わると、類似度ｓｉｍの順に位置情報ＬがＲＡＭ領域に記憶される。
【０１０８】
［Ｓ８００における詳細処理］
Ｓ７０９において記憶された優先順位に従ってＲＤＢ１から表示対象となる位置情報Ｌに係るレコード（行）のデータが順次読み出される（Ｓ８０１）。そして、Ｓ８０２においてはユーザからのフィードバックを反映させるべく、図３Ｆのようにチェック欄２６ｅにチェックが付されていないか否かが判断される。チェックが付されていなければ（Ｓ８０２：ＮＯ）、Ｓ８０３に進み、優先順位に基づいてＲＤＢ１から読み出されたデータが図３Ｂ〜Ｅのように表示される（Ｓ８０３）。一方、表示された状態が図３Ｆのチェック欄２６ｅのチェックがない状態である場合に、ユーザによってチェックが付され、実行ボタン２４が押されると、図３Ｇのようにチェックが付されたトラブル事象については省略して表示される（Ｓ８０４）。
【０１０９】
以上説明した本発明の一実施形態に係るトラブル保全管理支援システムによれば、ＲＤＢ中の自然言語記述部である特定データＤＴを解析し再構成するため、既存のＲＤＢでは把握できなかった関連性や知識を導き出すことができ、これを参照することができるようになる。例えば類似度ｓｉｍの計算により特定データＤＴ相互の関係を数値で見出したり、サフィックスアレイを利用した重要語Ｗの抽出により、システム特有の専門用語が必ずサポートされるという効果がある。
【０１１０】
本実施形態によれば、形態素解析や既存の辞書情報を一切使用することなく、サフィックスアレイを用いて、重要語Ｗを抽出してＤＢを再構築して利用するため、分野や言語、専門性の差異や事前知識の有無を意識することなくＤＢ知識の利用が可能となるという効果がある。例えば、ユーザは検索を行うに際して分類化や因果関係を事前に登録することなく既存ＤＢから簡単に結果的に分類化された類似情報を抽出することができる。例えば、同一事象を別の表現で行った場合であっても同一とみなすことができる。そのため、情報を分類して登録する手間が不要となり、検索時間を節約できるという効果がある。すなわち、ダイレクトに欲しい情報を得ることができる。更に発生したトラブルについて、過去にどのような対応をしたかを迅速に見つけることができるためトラブル保全管理処理のスピードアップを図ることができ、人件費を節約することができるという効果がある。
【０１１１】
本実施形態によれば、検索質問文と検索結果として抽出すべきデータとの類似度を演算して、検索結果として抽出すべきレコードが検索質問文と関連が強いと判断される順番で表示される。通常のＤＢ検索では絞り込みすぎると検索結果の情報数が少なくなり、ＯＲ検索のように幅広く抽出すると情報量が多すぎるという不都合があるが、本実施形態によれば、表示順に従って必要なレコードだけを取得すればよいため、ストレスを感じることなく、結果的に分類化体系化したデータを得ることができるという効果がある。
【０１１２】
本実施形態によれば、検索質問文に含まれる重要語が自動的に抽出されるため、検索質問文は業務日報に記述するような文章とすることができる。すなわち、検索質問文はＤＢ構造やマスタデータの内容を気にすることなく設定でき、また重要語を予め登録する必要もないため、システムを知らない一般ユーザも有用性の高い情報を容易に得ることができるという効果がある。また、検索質問文の記述が多少異なっていてもその中に重要語が存在するか否かによって検索がなされるため、ほぼ同じ検索結果、近い類似度が得られるという効果がある。
【０１１３】
本実施形態によれば、検索結果を検索質問文として設定することにより（逆引き検索）、選択フィールドや検索質問文を変えて手軽に検索することができるため、得ようとする情報と関連の深い情報を様々な視点で容易に得ることができるという効果がある。例えば、見つかった「原因」から同様の原因で他にはどんな「トラブル事象」が報告されているかということを容易に検索することができる。従って連想検索が可能となり人の思考に近い使い方が可能となるという効果がある。「以前どういう処置をとったか？」という情報を抽出したい場合には、見つかった「処置」からどんな「トラブル事象」が報告されているかを検索すればよい。
【０１１４】
本実施形態によれば、対象となる既存ＤＢは、限定されることはないため、フレキシブルに使用することができる。すなわち、既存ＤＢに付加的に利用することができるし、インターネットを利用するための閲覧ソフトさえ備えていれば簡単に利用することができるので追加投資は不要となり、システム投資を抑えることができるという効果がある。
【産業上の利用可能性】
【０１１５】
本発明に係る実績管理支援システム及び実績管理支援プログラムは、既存ＤＢに格納された情報を有効活用するものであるため、生産業のみならず、プラント、病院ビル管理、自治体設備、インターネット取引設備、各種情報産業などの用途にも適用できる。
【図面の簡単な説明】
【０１１６】
【図１Ａ】本発明の一実施形態に係るトラブル保全管理支援システムＡの構成を示したブロック図である。
【図１Ｂ】本発明の一実施形態に係るトラブル保全管理支援システムＡのＤＢ再利用モジュールＢの構成を示したブロック図である。
【図２Ａ】ＲＤＢ１に格納されているデータテーブルＴ１０の一例を示した図である。
【図２Ｂ】重要語辞書ＤＢ８に格納されているデータテーブルＴ２０の一例を示した図である。
【図２Ｃ】インデックスＤＢ１０に格納されているデータテーブルＴ３０ａ、Ｔ３０ｂの一例を示した図である。
【図２Ｄ】重要度ＤＢ１１に格納されているデータテーブルＴ４０ａ、Ｔ４０ｂの一例を示した図である。
【図３Ａ】本発明の一実施形態に係るトラブル保全管理支援システムＡの起動画面の一例を示した図である。
【図３Ｂ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図３Ｃ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図３Ｄ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図３Ｅ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図３Ｆ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図３Ｇ】本発明の一実施形態に係るトラブル保全管理支援システムＡの一般ユーザによる検索画面の一例を示した図である。
【図４】本発明の一実施形態に係るトラブル保全管理支援システムＡを構成する各モジュールとして用いられるコンピュータの構成の一例を示したブロック図である。
【図５Ａ】本発明の一実施形態に係るトラブル保全管理支援システムＡのＤＢ知識抽出処理の全体概略フローチャートである。
【図５Ｂ】図５Ａに示したステップＳ１００のフローチャートである。
【図５Ｃ】図５Ａに示したステップＳ２００のフローチャートである。
【図５Ｄ】図５Ａに示したステップＳ３００のフローチャートである。
【図６Ａ】文字列クラスＣ切出しの説明図である。
【図６Ｂ】文字列クラスＣ切出しの説明図である。
【図６Ｃ】文字列クラスＣ切出しの説明図である。
【図６Ｄ】文字列クラスＣ切出しの説明図である。
【図６Ｅ】文字列クラスＣ切出しの説明図である。
【図６Ｆ】文字列クラスＣ切出しの説明図である。
【図６Ｇ】文字列クラスＣ切出しの説明図である。
【図６Ｈ】文字列クラスＣ切出しの説明図である。
【図７】重要語Ｗの抽出の説明図である。
【図８Ａ】本発明の一実施形態に係るトラブル保全管理支援システムＡのＤＢ知識抽出又は知識検索の前準備ともいえる処理の全体概略フローチャートである。
【図８Ｂ】図８Ａに示したステップＳ４００のフローチャートである。
【図８Ｃ】図８Ａに示したステップＳ５００のフローチャートである。
【図９Ａ】本発明の一実施形態に係るトラブル保全管理支援システムＡのＤＢ知識検索処理の全体概略フローチャートである。
【図９Ｂ】図１０Ａに示したステップＳ６００のフローチャートである。
【図９Ｃ】図１０Ａに示したステップＳ７００のフローチャートである。
【図９Ｄ】類似度ｓｉｍの計算を説明するための図である。
【図９Ｅ】図１０Ａに示したステップＳ８００のフローチャートである。
【符号の説明】
【０１１７】
Ａ  トラブル保全管理支援システム
Ｂ  ＤＢ再利用モジュール
Ｃ  ＤＢ知識抽出モジュール
Ｄ  ＤＢ知識検索モジュール
【図１Ａ】
2005063284.tif 000007
【図１Ｂ】
2005063284.tif 000008
【図２Ａ】
2005063284.tif 000009
【図２Ｂ】
2005063284.tif 000010
【図２Ｃ】
2005063284.tif 000011
【図２Ｄ】
2005063284.tif 000012
【図３Ａ】
2005063284.tif 000013
【図３Ｂ】
2005063284.tif 000014
【図３Ｃ】
2005063284.tif 000015
【図３Ｄ】
2005063284.tif 000016
【図３Ｅ】
2005063284.tif 000017
【図３Ｆ】
2005063284.tif 000018
【図３Ｇ】
2005063284.tif 000019
【図４】
2005063284.tif 000020
【図５Ａ】
2005063284.tif 000021
【図５Ｂ】
2005063284.tif 000022
【図５Ｃ】
2005063284.tif 000023
【図５Ｄ】
2005063284.tif 000024
【図６Ａ】
2005063284.tif 000025
【図６Ｂ】
2005063284.tif 000026
【図６Ｃ】
2005063284.tif 000027
【図６Ｄ】
2005063284.tif 000028
【図６Ｅ】
2005063284.tif 000029
【図６Ｆ】
2005063284.tif 000030
【図６Ｇ】
2005063284.tif 000031
【図６Ｈ】
2005063284.tif 000032
【図７】
2005063284.tif 000033
【図８Ａ】
2005063284.tif 000034
【図８Ｂ】
2005063284.tif 000035
【図８Ｃ】
2005063284.tif 000036
【図９Ａ】
2005063284.tif 000037
【図９Ｂ】
2005063284.tif 000038
【図９Ｃ】
2005063284.tif 000039
【図９Ｄ】
2005063284.tif 000040
【図９Ｅ】
2005063284.tif 000041