IBM Cloud Docs
ルールの定義

この文書は、IBM Watson® Knowledge Studio 上の IBM Cloud® に関するものです。 以前のバージョンの Knowledge Studio on IBM Marketplace 向けの資料を参照するには、このリンクをクリックしてください。

ルールの定義

ルール・エディターを使用して、ルールを定義します。

このタスクについて

予期しない上書きまたは重複が発生する可能性があるため、複数のユーザーがルール、クラス、および正規表現を同時に編集することは避けてください。

手順

ルールを定義するには、以下のステップを実行します。

  1. Knowledge Studio の管理者またはプロジェクト管理者としてログインし、「ルール・ベース・モデル (Rule-based Model)」>**「ルール (Rules)」**をクリックします。

  2. 「文書 (Documents)」見出しの横にある正符号 (+) をクリックして、文書を追加します。

    詳しくは、『ルールを定義するための文書の追加』を参照してください。

    例えば、次のような単一行のテキストを含む My Document という名前の文書を追加します。

    A 50-year-old driver was driving the 2017 Example Horizon.
    
  3. 正規表現を定義する場合、または辞書を追加する場合は、それに関連付けるクラスを作成します。

    1. **「クラス」**パネルで、「クラス」の横にある正符号 (+) をクリックします。

    2. クラス名を追加します。

      クラスを正規表現または辞書に関連付ける場合は、クラスの発生元を識別できるような名前をクラスに付けることを検討してください。 例えば、正規表現を使用して例の文で年齢のパターンを定義する場合は、AGE_REGEX という名前のクラスを作成できます。 辞書を使用して、センテンス内の自動車メーカーにアノテーションを付ける場合には、MANUFACTURER_DICT という名前のクラスを追加できます。

      以下の命名規則に留意してください。

      • クラス名の先頭文字は英字でなければなりません。
      • クラスに追加する値には、次の英数字 ASCII 文字と下線文字のみを使用してください: A から Za から z0 から 9
      • 名前にスペースを含めることはできません。
      • 名前は 64 文字を超えることはできません。
  4. オプション: 文書内のクラスに素早くアノテーションを付けるために、辞書をルール・エディターに関連付けることができます。 辞書内の項目に一致する文書内の用語には、辞書用に選択したクラスのアノテーションが自動的に付けられます。

    1. **「辞書 (Dictionaries)」**タブをクリックします。

      自身で作成した辞書がすべて表示されます。

      まだ辞書を追加していない場合は、メインナビゲーション・バーから**「アセット (Assets)」>「辞書 (Dictionaries)」**ページを開いて辞書を追加します。 詳しくは、辞書の作成を参照してください。

    2. 辞書をクリックし、クラスを辞書に関連付け、**「保存」**をクリックします。

      例えば、組織名を列挙した辞書がある場合は、ORGANIZATION というルール・クラスを作成し、そのクラスを辞書に関連付けることができます。 サンプル文書内に出現する組織名は、ORGANIZATION クラスのインスタンスとしてアノテーションが付けられます。

    後でルール・エディターから辞書の関連付けを削除する必要が発生した場合は、クラス・マッピングを削除できます。 これを行うには、ドロップダウン・リストの先頭にある空のオプションを選択します。

  5. オプション: ルールの構成に役立つ正規表現を定義するには、**「正規表現 (Regex)」**タブをクリックします。

    1. 「正規表現 (Regular Expressions)」見出しの横にある正符号 (+) をクリックします。

    2. 正規表現に名前を付けます。 例えば、MyAgeRegexのように。

      64 文字を超える名前を指定することはできません。

    3. 式をクラスに関連付けます。 例えば、AGE_REGEXのように。

    4. **「項目の追加 (Add Entry)」**をクリックします。

    5. 式を追加します。

      例えば、年齢を表す数値 (最大 99 まで) を取り込むには、[0-9]{1,2} を指定できます。 12:30 AM のような、時間を表す式を取り込むには、以下のような正規表現を指定できます。

      (1[0-2]|0?[1-9]):([0-5][0-9])(\s+[AaPp][Mm])?
      

      オプションで、ワード・トークンの最小数と最大数を変更できます。 英語では、多くの場合トークンは、センテンス内の空白で区切られた語数と等しくなります。 ただし、それらは必ずしも単語と 1 対 1 で一致するとは限りません。 状況によっては、他のテキスト要素が、トークンと見なされます。 例えば、50-year-old という言葉に含まれるハイフンは、それぞれトークンとしてカウントされます。これは、この用語で使用されるトークンの総数が 5 であることを意味します。 また、12:30 PM というテキストには、4 つのトークンが含まれています。(12 | : | 30 | PM)

      **「追加」**をクリックします。

    6. さらに式を追加する場合は、上記の 2 つのステップを繰り返します。

    7. **「保存」**をクリックします。

    正規表現エディターが閉じられ、文書が表示されます。 突き合わせ対象として、テキストに適用される正規表現に対して定義したクラスが表示されます。 アノテーションが表示されない場合は、式を確認してください。 検出されるべきテキストと一致するように修正する必要があるかもしれません。

    ![The rule editor showing the "Regex" tab selected, a regular expression called "Age" that's associated with the class "AGE_REGEX", and a document that shows the text "50" highlighted in yellow. The highlighted text matches the regular expression that was created.](images/rule_step3.png 「「正規表現」タブが選択されているルール・エディター、クラス「AGE_REGEX」に関連付けられている「Age」という正規表現、およびテキスト「50」が黄色で強調表示されている文書。 強調表示されたテキストは、作成された正規表現と一致します。」)

  6. ルールを定義.するには、ナビゲーションから**「ルール」**をクリックします。

  7. ルールとして取り込むパターンを含む文書を開きます。 例えば、My Document という句を含むサンプル・テキストが入った 50-year-old というタイトルの文書を作成した場合、その文書を開きます。

  8. 文書内のテキストから、取り込むパターンの良い例となる文字を選択します。 例えば、以下の語とハイフン (-) を選択できます。

    50-year-old
    

    文字を選択したら、ルールを追加できます。

  9. **「ルール」**パネルで正符号 (+) をクリックします。

    ルール・エディターは、選択されたテキストを 2 層のセルとして表します。 上部の層のセルは、基礎となるトークンのクラスにアノテーションを付ける場所です。 下部の層は、トークンがパターンに参加するための条件を定義する場所です。

    ![The rule editor that shows the "Create a rule" panel.](images/rule_step4.png 「文書からテキストを選択し、「ルール (Rule)」パネルの正符号をクリックすると「ルールの作成 (Create a rule)」パネルがどのように表示されるかを示すルール・エディター。 次のグラフィカル要素が表示されます。「AGE」という用語が入力された「ルール名 (Rule name)」フィールド、「ルールの作成 (Create a Rule)」パネル、および「クラス (Class)」パネル。 「ルールの作成」パネルでは、点線が表示されたセルが上部に表示されます。 選択されたテキストのトークンごとに 1 つのセルが表示されます。 これらのセルでは、トークンのクラスにアノテーションを付けます。 「ルールの作成 (Create a rule)」パネルの下部には、実線のセルが表示されます。 各セルには、選択されたテキスト「50-year-old」のトークンが含まれています。 トークンは「50」、「-」(ハイフン)、「year」、「-」、および「old」です。 各実線セルの横には、単語またはアノテーションの条件を調整するために使用できる 2 つのアイコンがあります。」)

  10. 各トークンがパターンに参加するための条件を定義します。

下部の層のセルで、最初のトークンをクリックしてその条件を確認します。 パターン内の現在位置で任意のトークンを使用できることを示すには、**「プロパティーを開く (Open Properties)」をクリックし、「任意のトークンの許可 (Allow any token)」**を選択します。 **「プロパティーを閉じる (Close Properties)」をクリックします。 例にあるように、トークンが AGE_REGEX などの正規表現である場合、「任意のトークンの許可 (Allow any token)」**は使用できません。

各セルの繰り返し設定が 1 以下の場合、パターンに参加できるグループ・セルの最大数は 15 です。 グループ・セルには、単一トークン、アノテーション、または任意のトークンが許可される場合のトークンが含まれます。 パターンで許可されるトークン合計の最大数は 20 です。 パターンを定義するとき、各セルの繰り返し設定を考慮に入れてください。 例えば、各セルが 1 つ以下の繰り返し設定を持つ場合、15 個のトークンを含むパターンを定義できます。 しかし、各トークンの繰り返し設定が 1 以上の場合、トークンは最大で 5 回まで繰り返すことができるため、パターンには 4 個を超えるトークンを定義できません。 4 個のトークンが 5 回繰り返されると、許容される最大数の 20 になります。

特定のタイプのトークンが必要であることを示すには、以下のタイプの条件設定を定義できます。

  • 繰り返し設定: パターン内に現在のトークンを含める必要がある回数を指定します。 繰り返し設定は変更できますが、トークンごとに指定できる繰り返し設定は 1 つのみです。 オプションについて、以下の表で説明します。

    表-1 繰り返し設定| オプションの設定 | 説明 | | --- | --- | | 必須 (1個のみ) | このトークンは、パターン内に1回だけ存在する必要があります。 このオプションはデフォルトで適用されますが、変更することができます。| | 1回以上繰り返す | このトークンは少なくとも1回はパターン内に存在する必要があり、複数回繰り返すことができます。| | 0回以上繰り返す | このトークンは、オプションでパターン内で何回も繰り返すことができますが、繰り返す必要はありません。| | 0回または1回 | このトークンはオプションです。| | Advanced:カスタム | このトークンは、ここで指定された回数だけパターン内で繰り返す必要があります。 繰り返し設定を定義するには、「プロパティを開く」をクリックし、Advancedを選択してから、定義する繰り返しの正確な数または繰り返しの範囲を選択します。 1つのトークンに許可される繰り返しの最大数は5です。|

  • フィーチャー設定 (Feature Setting): 少なくとも 1 つのフィーチャー設定を定義する必要があります。 テキストがこのパターンに一致するために満たす必要がある条件の数に追加するフィーチャーをさらに追加できます。 オプションについて、以下の表で説明します。

    表-2 機能の設定| オプションの設定 | 追加する条件 | | --- | --- | | テキスト | このトークン内のテキストと完全に一致する必要があります。 このオプションはデフォルトで適用されます。 これは削除できますが、削除できるのは別の設定を条件として追加した場合、または任意のトークン設定を適用した場合だけです。| | 長さ | このトークンの文字長と一致する必要があります。 長さは、先頭文字の前からカウントされ、0から始まります。|

残りのオプションは、トークンのタイプによって異なります。

  • 正規表現または辞書用語に一致しないアノテーションなしのトークン: これらの設定は、アノテーションが付けられず、正規表現にも辞書用語にも一致しないトークンに使用できます。

    表-3 アノテーションが付けられていないトークン設定| オプションの設定 | 説明 | | --- | --- | | 品詞 | このトークンと同じ品詞でなければなりません。 以下のタイプがサポートされます。

    • 形容詞
    • 接置詞
    • 副詞
    • 接続詞
    • 限定詞
    • 間投詞
    • 名詞
    • 数詞
    • 代名詞
    • 残余
    • 動詞
    | | 見出し語 | このトークンと同じ見出し語を持つ必要があります。| | 文字タイプ | このトークンと同じ文字タイプでなければなりません。 以下のタイプがサポートされます。
    • Arabic: アラビア語文字のシーケンスが 含まれます。
    • ChineseNumeral: 漢数字のみが 含まれます。
    • ClauseEndingPunctuation: 1 つの節またはセンテンスを次の節またはセンテンスから 分離する句読点文字。
    • Han: 漢字が含まれます。
    • Hangul: 韓国のハングルの 音節文字が含まれます。
    • Hebrew: ヘブライ語の文字のシーケンスが 含まれます。
    • Hiragana: 日本のひらがな 音節文字が含まれます。
    • Ideographic: 表意文字、 またはアイデアや物を表す記号が 含まれます。
    • Katakana: 日本のカタカナ 音節文字が含まれます。
    • Lowercase: 小文字の英字のみ が含まれます。
    • Numeric: 数字のみが 含まれます。
    • Punctuation: テキスト内の 句読点を示す 1 つ以上の文字。
    • Syllabic: 音節文字が 含まれます。
    • Thai: タイ語の文字が 含まれます。
    • Titlecase: 単一の大文字の英字 で始まり、その後に 1 つ以上の英小文字が続きます。
    • 大文字:大文字のアルファベット英字のみを含むトークン |

  • ルールの一致:

    表-4 ルール・マッチング| オプションの設定 | 説明 | | --- | --- | | 規則の一致 | 指名されたクラスと一致する必要があります。 クラスは、正規表現、辞書、またはルールから派生 させることができます。 例えば、ここで指定したクラスが正規表現から派生している場合、このトークンは式の検索パターンと一致する必要があります。|

  1. 辞書のアノテーションまたは正規表現の突き合わせから間接的に追加されたアノテーションを持つトークンの場合、パターンで、同じアノテーション・タイプの語、または代わりにアノテーションが付けられた実際の基本の語を必要とするかどうかを選択できます。

下部の層のセルでは、水平線によってセル同士が接続されているため、どのセルがパターンに含まれているかを確認できます。 アノテーションが適用された場所では、分割が見られます。 元の単語を含むセルは、アノテーション・ラベルが付いたセルの下に表示されます。 セルの一方のセット、またはもう一方のセットをクリックして、ラインのパスを変更し、パターンに含まれるセルを変更できます。

例えば、パターンで年齢の正規表現と突き合わせをする代わりに、パターンで 50 を使用するように選択できます。

「ルールの作成 (Create a rule)」パネルには、ルール内のアノテーション「AGE_REGEX」を使用するトークン「50」の編集が表示されます。 デフォルトでは、「AGE_REGEX」アノテーションが使用されますが、パターンを編集して、基礎となる単語「50」が代わりに使用されるようにすることができます。

  1. パターンの順序を設定したら、テキスト内のトークンにアノテーションを付けることができます。

上部層のセルから、アノテーションを付けるトークンを表すセルをクリックし、それらにクラス・ラベルを適用します。 複数のセルを選択するには、セルを 1 つクリックし、Shift キーを押しながら追加するセルをクリックします。

選択したセルにクラスを割り当てます。 割り当てるクラスが存在しない場合は、追加できます。 クラス名を**「クラスの割り当て (Assign class)」**フィールドに入力し、Enter を押します。

10 個を超えるクラスをルールに追加することはできません。

「ルールの作成」セクションに「クラスの割り当て (Assign class)」ウィンドウが表示されます。このウィンドウは、トークンをクリックすると開きます。 このウィンドウには、新規クラスの名前を入力したり、リストから既存のクラスを選択したりできるフィールドが表示されます。

  1. 規則に名前を付けます。

ルール名は 64 文字を超えることはできません。

  1. 「ルール」パネルで**「保存」**をクリックして、ルールを保存します。