2.5 分類アプリケーションのクイック・ツアー

分類アプリケーションでは、ドキュメントの内容に基づいてアクションが実行されます。アクションには、ドキュメントへのカテゴリIDの割当てや、ユーザーへのドキュメントの送信などがあります。その結果、ドキュメントが分類されます。

この項では、次の項について説明します。

2.5.1 ドキュメントの分類について

ドキュメントは、事前に定義されたルールに従って分類されます。これらのルールは、カテゴリに対してドキュメントを選択します。たとえば、'presidential elections'という問合せルールは、政治に関するカテゴリに対してドキュメントを選択します。

Oracle Textでは、複数のタイプの分類を提供しています。ここで説明する単純な分類、つまりルールベースの分類では、ドキュメント・カテゴリおよびドキュメントを分類するためのルールを作成します。教師なし分類では、提供されたトレーニング・ドキュメントのセットからルールが導出されます。クラスタ化では、Oracle Textによりルールおよびカテゴリが導出され、すべての処理が自動的に実行されます。

Oracle Textを使用してドキュメントの内容を簡単に分類するには、ルール.を作成します ルールとは基本的に、ドキュメントの内容をカテゴリ化する問合せの表です。CTXRULE索引でこれらのルールを索引付けします。テキストの着信ストリームを分類するには、SELECT文のWHERE句でMATCHES演算子を使用します。分類アプリケーションの一般的なフローは、次のイメージを参照してください。

図2-2 ドキュメント分類アプリケーションの概要

図2-2の説明が続きます
「図2-2 ドキュメント分類アプリケーションの概要」の説明

関連項目:

ドキュメント分類の概要

2.5.2 分類アプリケーションの作成

次の例では、CTXAPPロールを持つmyuserを使用してドキュメントを分類する方法を示します。簡単なカテゴリを定義し、CTXRULE索引を作成して、MATCHESを使用します。

  1. 適切なユーザーとして接続

    CTXAPPロールを持つmyuserとして接続します。

    CONNECT myuser;
    
  2. ルール表の作成

    この例では、queriesという表を作成します。各行で、IDを持つカテゴリ、および問合せ文字列であるルールを定義します。

    CREATE TABLE queries (
          query_id      NUMBER,
          query_string  VARCHAR2(80)
        );
    
        INSERT INTO queries VALUES (1, 'oracle');
        INSERT INTO queries VALUES (2, 'larry or ellison');
        INSERT INTO queries VALUES (3, 'oracle and text');
        INSERT INTO queries VALUES (4, 'market share');
    
  3. CTXRULE索引の作成
    CREATE INDEX queryx ON queries(query_string) INDEXTYPE IS CTXSYS.CTXRULE;
    
  4. MATCHESによる分類

    SELECT文のWHERE句でMATCHES演算子を使用して、ドキュメントを問合せと照合し、ドキュメントを分類します。

        COLUMN query_string FORMAT a35;
        SELECT query_id,query_string FROM queries
         WHERE MATCHES(query_string, 
                       'Oracle announced that its market share in databases 
                        increased over the last year.')>0;
    
      QUERY_ID QUERY_STRING                                                         
    ---------- -----------------------------------                                  
             1 oracle                                                               
             4 market share                                                         
    

    前述のように、ドキュメント文字列はカテゴリ1および4と一致します。この分類では、特定の表へのドキュメントの書込みや、ユーザーへの電子メール送信などのアクションを実行できます。

    関連項目:

    拡張された分類の例は、「Oracle Textでのドキュメントの分類」を参照してください