すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:単語分割

最終更新日:Mar 06, 2026

この Topic では、Designer が提供する単語分割コンポーネントについて説明します。

単語分割コンポーネントは、Alibaba Word Segmenter (AliWS) を使用して、指定された列のコンテンツをトークン化します。結果のトークンはスペースで区切られます。品詞 (POS) タギングまたはセマンティックタギングを設定した場合、出力にはトークン、品詞タグ、セマンティックタグが含まれます。品詞タグはスラッシュ (/) で区切られます。セマンティックタグは縦棒 (|) で区切られます。

単語分割コンポーネントは、TAOBAO_CHN と INTERNET_CHN のトークナイザーのみをサポートします。

Designer では、GUI または PAI コマンドを使用して単語分割コンポーネントを設定できます。

コンポーネント設定

単語分割コンポーネントは、以下の方法で設定できます。

方法 1: GUI の使用

Designer のワークフローページでコンポーネントを設定できます。

タブ

パラメーター

説明

[フィールド設定]

列名

トークン化する列。

[パラメーター設定]

[認識オプション]

検出するコンテンツタイプ。有効値:

  • 単純なエンティティを検出

  • 人名を検出

  • 組織名を検出

  • 電話番号を検出

  • 時間を検出

  • 日付を検出

  • 数字と文字を検出

デフォルト値:単純なエンティティを検出、電話番号を検出、時間を検出、日付を検出、数字と文字を検出。

統合オプション

マージするコンテンツタイプ。有効値:

  • 漢数字をマージ

  • アラビア数字をマージ

  • 中国式日付のマージ

  • 中国の時間をマージ

デフォルト値は「アラビア数字をマージ」です。

フィルター

フィルターのタイプ。有効値は TAOBAO_CHN と INTERNET_CHN です。デフォルト値は TAOBAO_CHN です。

[品詞タガー]

品詞タギングを実行するかどうかを指定します。デフォルトでは、この機能は有効になっています。

Semantic Tagger

セマンティックタギングを実行するかどうかを指定します。デフォルトでは、この機能は無効になっています。

[数字のトークンをフィルター]

数字であるトークンをフィルターで除外するかどうかを指定します。デフォルトでは、この機能は無効になっています。

[すべて英単語のトークンをフィルター]

英字のみで構成されるトークンをフィルターで除外するかどうかを指定します。デフォルトでは、この機能は無効になっています。

[句読点のトークンをフィルター]

句読点であるトークンをフィルターで除外するかどうかを指定します。デフォルトでは、この機能は無効になっています。

[実行チューニング]

[コア数]

デフォルト値はシステムによって自動的に割り当てられます。

[コアあたりのメモリ]

デフォルト値はシステムによって自動的に割り当てられます。

方法 2: PAI コマンドの使用

PAI コマンドを使用してコンポーネントを設定できます。SQL Script コンポーネントを使用して PAI コマンドを実行できます。詳細については、「SQL Script」をご参照ください。

pai -name split_word_model
    -project algo_public
    -DoutputModelName=aliws_model
    -DcolName=content
    -Dtokenizer=TAOBAO_CHN
    -DenableDfa=true
    -DenablePersonNameTagger=false
    -DenableOrgnizationTagger=false
    -DenablePosTagger=false
    -DenableTelephoneRetrievalUnit=true
    -DenableTimeRetrievalUnit=true
    -DenableDateRetrievalUnit=true
    -DenableNumberLetterRetrievalUnit=true
    -DenableChnNumMerge=false
    -DenableNumMerge=true
    -DenableChnTimeMerge=false
    -DenableChnDateMerge=false
    -DenableSemanticTagger=true

パラメーター名

必須

説明

デフォルト値

inputTableName

はい

入力テーブルの名前。

なし

inputTablePartitions

いいえ

トークン化する入力テーブルのパーティション。フォーマットは partition_name=value です。複数レベルのパーティションの場合は、name1=value1/name2=value2 のフォーマットを使用します。複数のパーティションはコンマ (,) で区切ります。

すべてのパーティション

selectedColNames

はい

トークン化する入力テーブルの列。複数の列名はコンマ (,) で区切ります。

なし

dictTableName

いいえ

カスタム辞書テーブルを使用するかどうかを指定します。カスタム辞書テーブルには列が 1 つしかなく、各行が単語になります。

なし

tokenizer

いいえ

フィルタータイプ。有効値は TAOBAO_CHN と INTERNET_CHN です。

TAOBAO_CHN

enableDfa

いいえ

単純なエンティティを検出するかどうかを指定します。有効値: True または False。

True

enablePersonNameTagger

いいえ

人名を検出するかどうかを指定します。有効値: True または False。

False

enableOrgnizationTagger

いいえ

組織名を検出するかどうかを指定します。有効値: True または False。

False

enablePosTagger

いいえ

品詞タギングを実行するかどうかを指定します。有効値: True または False。

False

enableTelephoneRetrievalUnit

いいえ

電話番号を検出するかどうかを指定します。有効値: True または False。

True

enableTimeRetrievalUnit

いいえ

時間を検出するかどうかを指定します。有効値: True または False。

True

enableDateRetrievalUnit

いいえ

日付を検出するかどうかを指定します。有効値: True または False。

True

enableNumberLetterRetrievalUnit

いいえ

数字と文字を検出するかどうかを指定します。有効値: True または False。

True

enableChnNumMerge

いいえ

漢数字を取得単位にマージするかどうかを指定します。有効値: True または False。

False

enableNumMerge

いいえ

標準の数字を取得単位にマージするかどうかを指定します。有効値: True または False。

True

enableChnTimeMerge

いいえ

漢数字の時間表現を意味単位にマージするかどうかを指定します。有効値: True または False。

False

enableChnDateMerge

いいえ

中国語の日付表現を意味単位にマージするかどうかを指定します。有効な値:True または False。

False

enableSemanticTagger

いいえ

セマンティックタギングを実行するかどうかを指定します。有効値: True または False。

False

outputTableName

はい

出力テーブルの名前。

なし

outputTablePartition

いいえ

出力テーブルのパーティション名。

なし

coreNum

いいえ

ワーカーの数。このパラメーターは、memSizePerCore パラメーターも設定されている場合にのみ有効になります。値は [1,9999] の範囲の正の整数である必要があります。

システムによって自動的に割り当てられます

memSizePerCore

いいえ

コアあたりのメモリサイズ (MB)。値は [1024,64×1024] の範囲の正の整数である必要があります。

システムによって自動的に割り当てられます

lifecycle

いいえ

出力テーブルのライフサイクル。値は正の整数である必要があります。

なし

入力が標準テーブルの場合、coreNum および memSizePerCore パラメーターは設定しないでください。単語分割コンポーネントが値を自動的に計算します。

リソースが限られている場合は、次のコードを使用してワーカー数とワーカーあたりのメモリを計算できます。

def CalcCoreNumAndMem(row, col, kOneCoreDataSize=1024):
    """ワーカー数とワーカーあたりのメモリを計算します。
       引数:
           row: 入力テーブルの行数。
           col: 入力テーブルの列数。
           kOneCoreDataSize: 1 つのワーカーが処理するデータ量 (MB)。正の整数である必要があります。デフォルト値は 1024 です。
       戻り値:
           coreNum, memSizePerCore
       例:
           coreNum, memSizePerCore = CalcCoreNumAndMem(1000, 99, kOneCoreDataSize=2048)
    """
    kMBytes = 1024.0 * 1024.0
    # データ量に基づいてワーカー数を計算します。
    coreNum = max(1, int(row * col * 1000/ kMBytes / kOneCoreDataSize))
    # ワーカーあたりのメモリ = データ量サイズ。
    memSizePerCore = max(1024,  int(kOneCoreDataSize*2))
    return coreNum,  memSizePerCore

  • データの生成

    create table pai_aliws_test
    as select
        1 as id,
        'Today is a good day. The weather is nice and sunny.' as content;
  • PAI コマンド

    pai -name split_word
        -project algo_public
        -DinputTableName=pai_aliws_test
        -DselectedColNames=content
        -DoutputTableName=doc_test_split_word
  • 入力の説明

    入力テーブルには、ID 列とコンテンツ列の 2 つの列が含まれています。

    +------------+-----------------------------------------------------+
    | id         | content                                             |
    +------------+-----------------------------------------------------+
    | 1          | Today is a good day. The weather is fine and sunny. |
  • 出力の説明

    • コンポーネントは指定された列をトークン化し、他の列は変更しません。

    • カスタム辞書を使用する場合、システムは辞書とコンテキストの両方に基づいてテキストをトークン化します。トークン化は、必ずしもカスタム辞書に厳密に従うとは限りません。