このトピックでは、Machine Learning Designer (旧称Machine Learning Studio) が提供するWord Splitting (Generate Models) コンポーネントについて説明します。
Word Splitting (Generate Models) コンポーネントは、Alibaba Word Segmenter (AliWS) に基づいています。 このコンポーネントは、パラメータとカスタム辞書に基づいて単語分割モデルを生成するために使用されます。
このコンポーネントは、中国の淘宝網の単語セグメンテーションとインターネットの単語セグメンテーションのみをサポートします。
単語分割 (モデルの生成) コンポーネントは、次の点で単語分割コンポーネントと異なります。
単語分割コンポーネントは、テキストを単語に分割します。
ワード分割 (モデル生成) コンポーネントは、ワード分割モデルを生成する。 テキストを分割するには、モデルをデプロイして予測を行うか、API操作を呼び出す必要があります。
コンポーネントの設定
次のいずれかの方法を使用して、Word分割 (モデルの生成) コンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Word Splitting (Generate Models) コンポーネントのパラメーターは、Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
タブ | パラメーター | 説明 |
フィールド設定 | 列の選択 | モデルの生成に使用される列。 |
パラメーター設定 | 認識オプション | 認識のためのコンテンツのタイプ。 有効な値:
デフォルトでは、単純なエンティティの認識、電話番号の認識、時間の認識、日付の認識、および英数字の認識のオプションが選択されています。 |
マージオプション | マージするコンテンツのタイプ。 有効な値:
デフォルト値: アラビア数字をマージします。 | |
Tokenizer | フィルターのタイプ。 有効な値: TAOBAO_CHNおよびINTERNET_CHN。 デフォルト値: TAOBAO_CHN。 | |
POSタガー | 品詞タグ付けを実行するかどうかを指定します。 デフォルトでは、品詞タグ付けは実行されません。 | |
セマンティックタガー | セマンティックロールのラベル付けを実行するかどうかを指定します。 デフォルトでは、セマンティックロールのラベル付けは実行されません。 | |
数字のみを含む単語を除外 | 単語分割結果が数値である単語を除外するかどうかを指定します。 デフォルトでは、このオプションはクリアされます。 | |
英語の文字のみを含む単語を除外する | 単語セグメンテーション結果が英字である単語を除外するかどうかを指定します。 デフォルトでは、このオプションはクリアされます。 | |
句読点のみを含む単語を除外する | 単語分割結果が句読点である単語を除外するかどうかを指定します。 デフォルトでは、このオプションはクリアされます。 | |
チューニング | コア | コアの数。 デフォルトでは、システムが値を決定します。 |
コアあたりのメモリサイズ | 各コアのメモリサイズ。 デフォルトでは、システムが値を決定します。 |
方法2: PAIコマンドを使用する
PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。
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
パラメーター | 必須 | 説明 | デフォルト値 |
userDictTableName | 不可 | カスタム辞書を使用するかどうかを指定します。 カスタム辞書には列が1つしかなく、各行には1つの単語しか含まれません。 | デフォルト値なし |
outputModelName | 可 | 出力モデルの名前。 | デフォルト値なし |
colName | 不可 | 予測テキストの列名。 | context |
dictTableName | 不可 | カスタム辞書を使用するかどうかを指定します。 カスタム辞書には列が1つしかなく、各行には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 |
例
PAIコマンド
pai -name split_word_model -project algo_public -DoutputModelName=aliws_model
モデル展開
create onlinemodel ning_test_aliws_model_2 -offlinemodelName ning_test_aliws_model -instanceNum 1 -cpu 100 -memory 4096;
オンライン単語分割
KVJsonRequest request = new KVJsonRequest(); Map<String, JsonFeatureValue> row = request.addRow(); row.put(col_name, new JsonFeatureValue("The big data algorithm platform is new")); KVJsonResponse res = predictClient.syncPredict(new JsonPredictRequest(project_name, model_name, request)); List<ResponseItem> ri = res.getOutputs(); for (ResponseItem item : ri) { System.out.println(item.getOutputLabel()); }
オフライン単語セグメンテーション
pai -name prediction -DmodelName=ning_test_aliws_model -DinputTableName=ning_test_aliws -DoutputTableName=ning_test_aliws_offline_predict;