総合情報サイト / マニュアル / 学習中のレシピの作成・選択 / 特定列への処理とは(自然言語処理)

特定列への処理とは(自然言語処理)

特定列への処理は、「特定の列」と「その他の列」で処理を分岐するレシピブロックです。他の処理ブロックと組み合わせて使い、単体では使いません。
単語や文章など日常的に使う言葉(=自然言語)のデータや数値データが混在するCSVファイル形式のデータセットを対象に、分類が行えます。
注)表形式ではない文書データ(zipファイルやtxtファイル,PDFファイル)には、特定列への処理ブロックは使用しません。

「特定の列」とは、自然言語データの列を指します。自然言語はそのままでは学習や推論に使えないため、「自然言語処理」と呼ばれるいくつかの処理を施して数値化します。特定列への処理ブロックは、「特定の列」に該当する列を「対象の列」の処理へ、該当しない列を「その他の列」の処理へ分岐します。

特定列への処理を使ったレシピは、プロジェクトテンプレートのテキストマイニングにセットされています。

特定列への処理とは_1.png

■特徴

  • 特定列への処理で分岐した列は、分かち書きを行った後、さまざまな自然言語処理の手法を自由に組み合わせて可視化と数値化ができる
  • 自然言語を数値化するため、表形式の数値データと組み合わせて学習・推論が可能

■パラメータについて

[特定列への処理]ブロックは、レシピ編集画面のブロックタイプ「その他」の中にあります。

特定列への処理ブロックで設定できるパラメータは次の通りです。

1.対象:テキスト(デフォルト)
特定列を判断するための列のデータ種類です。「テキスト」(自然言語データ)のみを特定の列と判断します。

2.対象となる最小文字数:10(デフォルト)
何文字以上のデータに自然言語処理を適用するかを指定します。
指定した数値以上の文字数を持つデータが処理の対象になります。
例えば「4」と指定したら、1~3文字のデータは処理しません。

特定列への処理とは_2.png

■処理の流れ

大まかなレシピの作り方と、処理の流れは次の通りです。

<前提>
・使用するデータセット:CSVファイル形式の表形式データで、単語や文章データの列(以降、テキストの列)や数値データの列(以降、数値の列)が混在する。
・学習に使用する列  :「テキストの列」と「数値の列」を指定。

特定列への処理とは_3.png

1.[特定列への処理]ブロックを配置します。

対象の列(=自然言語処理を行う列)の処理ライン

2.文章を分かち書きする[日本語トークナイザー]ブロックを配置して接続すると、[対象の列]の処理ラインができます。
[特定列への処理]ブロックに指定した、「対象」と「対象となる最小文字数」の条件に一致するデータが、こちらの処理ラインに流れます。
上図の場合、「1文字以上」の「テキストの列」が流れます。

3.自然言語処理のブロックを配置します。
・[ワードクラウド表示]や[頻度表示]ブロックを配置すると可視化できます
・利用できる手法は、Word2Vec,BERTベクトル化,tf-idf,Okapi BM25+,頻度ベクトル化 です。

その他の列(=自然言語処理を行わない列)の処理ライン

4.[列結合]ブロックを配置して接続すると、[その他の列]の処理ラインができます。
自然言語処理の対象にならなかった数値データなどの列は、こちらの処理ラインに分岐し、何もせずに下に流れます。
列結合は、特定列への処理ブロックで分岐した処理を合流します。

合流後の処理

5.AutoFlowなど分類を行うアルゴリズムのブロックを配置して、分類のAIモデルを作成します。