Preprocess Text (テキストの前処理)Preprocess Text

この記事では Azure Machine Learning デザイナーのモジュールについて説明します。This article describes a module in Azure Machine Learning designer.

Preprocess Text (テキストの前処理) モジュールを使用して、テキストをクリーンアップして簡素化します。Use the Preprocess Text module to clean and simplify text. 次の一般的なテキスト処理操作がサポートされています。It supports these common text processing operations:

  • ストップワードの削除Removal of stop-words
  • 正規表現を使用して特定の対象文字列を検索して置換するUsing regular expressions to search for and replace specific target strings
  • レンマ化 (複数の関連する単語を 1 つの正規形式に変換する)Lemmatization, which converts multiple related words to a single canonical form
  • 大文字と小文字の正規化Case normalization
  • 数字、特殊文字、および繰り返し文字のシーケンス (たとえば、"aaaa") など、特定のクラスの文字の削除Removal of certain classes of characters, such as numbers, special characters, and sequences of repeated characters such as "aaaa"
  • 電子メールと URL の識別と削除Identification and removal of emails and URLs

現在、Preprocess Text (テキストの前処理) モジュールでは英語のみがサポートされます。The Preprocess Text module currently only supports English.

テキストの前処理を構成するConfigure Text Preprocessing

  1. Azure Machine Learning 内で Preprocess Text (テキストの前処理) モジュールをパイプラインに追加します。Add the Preprocess Text module to your pipeline in Azure Machine Learning. このモジュールは、Text Analytics にあります。You can find this module under Text Analytics.

  2. テキストを含む列が少なくとも 1 列あるデータセットを接続します。Connect a dataset that has at least one column containing text.

  3. [言語] ドロップダウン リストから言語を選択します。Select the language from the Language dropdown list.

  4. Text column to clean (クリーンアップするテキスト列) :前処理する列を選択します。Text column to clean: Select the column that you want to preprocess.

  5. Remove stop words (ストップワードの削除) :定義済みのストップワード リストをテキスト列に適用する場合は、このオプションを選択します。Remove stop words: Select this option if you want to apply a predefined stopword list to the text column.

    ストップワード リストは言語に依存し、カスタマイズ可能です。Stopword lists are language-dependent and customizable.

  6. Lemmatization (レンマ化) :正規形式で単語を表示する場合は、このオプションを選択します。Lemmatization: Select this option if you want words to be represented in their canonical form. このオプションは、類似するテキスト トークンの一意の出現回数を減らすのに役立ちます。This option is useful for reducing the number of unique occurrences of otherwise similar text tokens.

    レンマ化処理は、言語に大きく依存しています。The lemmatization process is highly language-dependent..

  7. Detect sentences (文の検出) :分析の実行時にモジュールによって文の境界マークを挿入する場合は、このオプションを選択します。Detect sentences: Select this option if you want the module to insert a sentence boundary mark when performing analysis.

    このモジュールは、一連の 3個のパイプ文字 ||| を使用して、文の終端記号を表します。This module uses a series of three pipe characters ||| to represent the sentence terminator.

  8. 正規表現を使用して、オプションの検索と置換の操作を実行します。Perform optional find-and-replace operations using regular expressions. 正規表現は他のすべての組み込みオプションの前に、最初に処理されます。The regular expression will be processed at first, ahead of all other built-in options.

    • Custom regular expression (カスタム正規表現) :検索するテキストを定義します。Custom regular expression: Define the text you're searching for.
    • Custom replacement string (カスタム置換文字列) :1 つの置換値を定義します。Custom replacement string: Define a single replacement value.
  9. Normalize case to lowercase (大文字を小文字に正規化) :ASCII の大文字を小文字の形式に変換する場合は、このオプションを選択します。Normalize case to lowercase: Select this option if you want to convert ASCII uppercase characters to their lowercase forms.

    文字が正規化されていない場合は、大文字と小文字の同一の単語が 2 つの異なる単語と見なされます。If characters aren't normalized, the same word in uppercase and lowercase letters is considered two different words.

  10. また、処理された出力テキストから、次の種類の文字または文字シーケンスを削除することもできます。You can also remove the following types of characters or character sequences from the processed output text:

    • Remove numbers (数字の削除) :このオプションを選択すると、指定した言語のすべての数字が削除されます。Remove numbers: Select this option to remove all numeric characters for the specified language. ID 番号はドメインに依存し、言語に依存します。Identification numbers are domain-dependent and language dependent. 数字が既知の単語の不可欠の部分である場合、その数字は削除されない可能性があります。If numeric characters are an integral part of a known word, the number might not be removed. 詳細については「テクニカル ノート」を参照してください。Learn more in Technical notes.

    • Remove special characters (特殊文字の削除) :英数字以外の特殊文字をすべて削除するには、このオプションを使用します。Remove special characters: Use this option to remove any non-alphanumeric special characters.

    • Remove duplicate characters (重複する文字の削除) :このオプションを選択すると、3 回以上繰り返されているシーケンス内の余分な文字が削除されます。Remove duplicate characters: Select this option to remove extra characters in any sequences that repeat for more than twice. たとえば、"aaaaa" のようなシーケンスは "aa" に短縮されます。For example, a sequence like "aaaaa" would be reduced to "aa".

    • Remove email addresses (メール アドレスの削除) :<string>@<string> の形式のシーケンスをすべて削除するには、このオプションを選択します。Remove email addresses: Select this option to remove any sequence of the format <string>@<string>.

    • Remove URLs (URL の削除) :次の URL プレフィックスを含むシーケンスをすべて削除するには、このオプションを選択します: httphttpsftpwwwRemove URLs: Select this option to remove any sequence that includes the following URL prefixes: http, https, ftp, www

  11. Expand verb contractions (動詞の短縮形を展開) :このオプションは、動詞の短縮形を使用している言語 (現在、英語のみ) に適用されます。Expand verb contractions: This option applies only to languages that use verb contractions; currently, English only.

    たとえば、このオプションを選択することにより、 "wouldn't stay there" という句を "would not stay there" に置き換えることができます。For example, by selecting this option, you could replace the phrase "wouldn't stay there" with "would not stay there".

  12. Normalize backslashes to slashes (バックスラッシュをスラッシュに正規化) :\\ のすべてのインスタンスを / にマップするには、このオプションを選択します。Normalize backslashes to slashes: Select this option to map all instances of \\ to /.

  13. Split tokens on special characters (特殊文字でトークンを分割) :&- などの文字で単語を分割する場合は、このオプションを選択します。Split tokens on special characters: Select this option if you want to break words on characters such as &, -, and so forth. このオプションはまた、特殊文字が 3 回以上繰り返される場合にその文字を減らすことができます。This option can also reduce the special characters when it repeats more than twice.

    たとえば、文字列 MS---WORD は、3 つのトークン MS-WORD に分割されます。For example, the string MS---WORD would be separated into three tokens, MS, -, and WORD.

  14. パイプラインを送信します。Submit the pipeline.

テクニカル ノートTechnical notes

Studio (クラシック) とデザイナーの preprocess-text モジュールでは、異なる言語モデルが使用されます。The preprocess-text module in Studio(classic) and designer use different language models. デザイナーでは、spaCy のマルチタスク CNN のトレーニング済みモデルが使用されます。The designer uses a multi-task CNN trained model from spaCy. モデルが異なれば、トークナイザーと品詞タガーも異なり、結果も異なります。Different models give different tokenizer and part-of-speech tagger, which leads to different results.

次にいくつかの例を示します。Following are some examples:

構成Configuration 出力結果Output result
すべてのオプションが選択された状態With all options selected
'WC-3 3test 4test' の '3test' のような場合、デザイナーによって '3test' という単語全体が削除されます。このコンテキストでは、品詞タガーによってこのトークン '3test' が数字として指定されているため、品詞に従って、モジュールでそれが削除されます。For the cases like '3test' in the 'WC-3 3test 4test', the designer remove the whole word '3test', since in this context, the part-of-speech tagger specifies this token '3test' as numeral, and according to the part-of-speech, the module removes it.
Removing number のみが選択された状態With only Removing number selected
'3test'、'4-EC' のようなケースの場合、デザイナー トークナイザーではこれらのケースは分割されず、トークン全体として扱われます。For the cases like '3test', '4-EC', the designer tokenizer dose not split these cases, and treats them as the whole tokens. そのため、これらの単語の数値は削除されません。So it won't remove the numbers in these words.
`Removing number` のみが選択された状態

また、正規表現を使用して、カスタマイズされた結果を出力することもできます。You can also use regular expression to output customized results:

構成Configuration 出力結果Output result
すべてのオプションが選択された状態With all options selected
カスタム正規表現: (\s+)*(-|\d+)(\s+)*Custom regular expression: (\s+)*(-|\d+)(\s+)*
カスタム置換文字列: \1 \2 \3Custom replacement string: \1 \2 \3
Removing number のみが選択された状態With only Removing number selected
カスタム正規表現: (\s+)*(-|\d+)(\s+)*Custom regular expression: (\s+)*(-|\d+)(\s+)*
カスタム置換文字列: \1 \2 \3Custom replacement string: \1 \2 \3

次のステップNext steps

Azure Machine Learning で使用できる一連のモジュールを参照してください。See the set of modules available to Azure Machine Learning.