ヘッダーをスキップ
Oracle® Textアプリケーション開発者ガイド
12cリリース1 (12.1)
B71317-04
  目次へ移動
目次
索引へ移動
索引

前
次
 

カスタム・シソーラスによるナレッジ・ベースの拡張

カスタム・シソーラスを既存のナレッジ・ベースのブランチに追加できます。ナレッジ・ベースは、テーマの索引付け、ABOUT問合せおよびドキュメント・サービスでのドキュメント・テーマの抽出などに使用する概念の階層ツリーです。

既存のナレッジ・ベースを新しいシソーラスで補強する場合は、シノニムや下位語に暗黙的に拡張するABOUT演算子を使用して問い合せます。この問合せにシソーラス演算子は使用しません。

カスタム・シソーラスで既存のナレッジ・ベースを補強する手順は、次のとおりです。

  1. カスタム・シソーラスを作成し、新規語句を既存のナレッジ・ベースの語句にリンクします。シソーラスの用語の定義および新規語句の既存語句へのリンクを参照してください。
  2. 次のいずれかの方法でシソーラスをロードします。
  3. ctxkbtcコンパイラを使用して、ロード済シソーラスを次のようにコンパイルします。ロード済のシソーラスのコンパイルを参照してください。
  4. ドキュメントを索引付けします。デフォルトでは、システムが索引のテーマ・コンポーネントを作成します。
  5. ABOUT演算子を使用して問合せを行います。たとえば、語句politicsに関連するシノニムまたは下位語を含むすべてのドキュメントを検索するには、次の問合せを入力します。
    'about(politics)'

メリット

カスタム・シソーラスを索引付けの前に既存のナレッジ・ベースにコンパイルすると、ABOUT演算子を使用することにより問合せが高速かつ単純になります。また、ドキュメント・サービスで、テーマ・サマリーと要旨を作成する際にカスタマイズされた情報を利用できます。

制限事項

ABOUT演算子を使用するには、索引内にテーマ・コンポーネントが存在していることが必要であり、この場合は必要なディスク領域が多少増加します。ドキュメントを索引付けする前にシソーラスを定義する必要があります。シソーラスを変更した場合は、シソーラスを再コンパイルし、ドキュメントを再索引付けする必要があります。

新規語句の既存語句へのリンク

ナレッジ・ベースに語句を追加する場合は、テーマの検証で最適な結果が得られるように、新規語句をナレッジ・ベースのカテゴリの1つにリンクすることをお薦めします。

関連項目:

提供される英語のナレッジ・ベースの詳細は、『Oracle Textリファレンス』を参照してください。

新規語句が既存のカテゴリから完全に分離している場合は、新規語句から検証されるテーマが少なくなります。その結果、ABOUT問合せの精度が低下し、要旨およびテーマのハイライト表示の品質も低下します。

既存語句を新規語句の上位語にすることによって、新規語句を既存語句にリンクします。

例: 新規語句の既存語句へのリンク

医学用語の階層を含む医学シソーラスmedthesを購入したとします。このシソーラスの4つの最上位語は、次のとおりです。

  • Anesthesia and Analgesia(麻酔および無痛)

  • Anti-Allergic and Respiratory System Agents(抗アレルギー薬および呼吸器系薬)

  • Anti-Inflammatory Agents, Antirheumatic Agents, and Inflammation Mediators(抗炎症薬、抗リウマチ薬および炎症伝達物質)

  • Antineoplastic and Immunosuppressive Agents(抗腫瘍薬および免疫抑制薬)

これらの語句を既存のナレッジ・ベースにリンクするには、医学シソーラスに次のエントリを追加して、新規語句を既存のhealth and medicineブランチにマップします。

health and medicine
 NT Anesthesia and Analgesia
 NT Anti-Allergic and Respiratory System Agents
 NT Anti-Inflamammatory Agents, Antirheumatic Agents, and Inflamation Mediators
 NT Antineoplastic and Immunosuppressive Agents

ctxloadによるシソーラスのロード

医学シソーラスがmed.thesというファイルにあるとします。次のように、ctxloadを使用して、シソーラスをmedthesとしてロードします。

ctxload -thes -thescase y -name medthes -file med.thes -user ctxsys

ctxloadコマンドラインを入力すると、ユーザー・パスワードの入力を要求されます。セキュリティを確実にするために、コマンドラインにパスワードを入力しないでください。かわりに、-userを省略し、ユーザー名とパスワードのそれぞれに対してctxloadでプロンプト表示するようにできます。

PL/SQLプロシージャCTX_THES.IMPORT_THESAURUSによるシソーラスのロード

次の例では、大/小文字を区別するシソーラスをmythesaurusという名前で作成し、myclobに存在するそのシソーラスの内容をOracle Textシソーラス表にインポートします。

declare 
 myclob clob; 
begin 
 myclob := to_clob('peking SYN beijing BT capital country NT beijing tokyo');
 ctx_thes.import_thesaurus(‘mythesaurus', myclob, ‘Y');
end;

インポートするシソーラスの形式(この場合myclob)は、ctxloadユーティリティで使用される形式と同じである必要があります。インポートするシソーラスの形式が正しくない場合は、IMPORT_THESAURUSで例外が発生します。

ロード済のシソーラスのコンパイル

ロードされたシソーラスmedthesをナレッジ・ベースにリンクするには、次のようにctxkbtcを使用します。

ctxkbtc -user ctxsys -name medthes 

ctxkbtcコマンドラインを入力すると、ユーザー・パスワードの入力を要求されます。ctxloadに関して、セキュリティを確実にするために、コマンドラインにパスワードを入力しないでください。

警告:

セキュリティを確実にするために、インタラクティブ・モードを使用し、ユーザー・パスワードの入力を求められたときにctxloadおよびctxkbtcにパスワードを入力することをお薦めします。コマンドラインにパスワードを入力しないことをお薦めします。