言語処理向けクレンジング
文章を解析しやすい形に整えます。 電話番号や数字のように、意味を持たないのに種類だけ多い文字を取り除きます。形態素解析の前に掛けます。
表記ゆれを揃えるだけなら文字列のクレンジングを使ってください。
入出力
| ポート | 内容 |
|---|---|
| 入力データ | データ |
| 出力データ | データ |
Spark エンジンでは動きません。
行も列も増えません。 選んだ列がその場で書き換わります。 元の文章を残したいときは、先に列選択/削除などで写しを作ってください。
設定項目
- 処理対象列を選択
- 整える列。文字列の列だけ選べます。複数選べます。
- 電話番号を除去
- 処理を選択の下に出ます。既定は on。
- 数字を0に置換
- 既定は on。
必ず掛かる整え方
2 つの設定を両方 off にしても、表記ゆれをそろえる処理は必ず掛かります。 切ることはできません。
| 整えるもの | 例 |
|---|---|
| 字幅の違う書き方を寄せる | ABC → ABC、アイウ → アイウ |
| 長音・記号の繰り返しをまとめる | すーーーごい → すーごい |
| 余分な空白を整理する | 語の間の空白を詰める |
書き換える処理なので、元の文章が必要なら先に写しを取ってください。
電話番号を除去
ハイフンで区切られた半角の形だけが消えます。消えたところは空白 1 つになります。
| 形 | 消えるか |
|---|---|
03-1234-5678 | 消える |
090-1234-5678 | 消える |
050-1234-5678 | 消える |
0120-123-456 | 消える |
0312345678(区切りなし) | 消えない |
03-1234-5678(全角) | 消えない |
区切りのない番号は「数字を0に置換」の方で、数字 1 文字ずつが 0 になります。
数字を 0 に置換
数字 1 文字ずつが 0 に変わります。 数のまとまりが 1 つの 0 になるのではありません。
| 元 | 結果 |
|---|---|
1個 | 0個 |
135個 | 000個 |
135個(全角) | 000個 |
全角の数字も 0 になります。 電話番号の除去とは逆で、こちらは字幅をそろえる前でも全角を拾います。
数字は種類が多いのに、意味はあまり持ちません。 1個 2個 135個 を別の単語として数えると、どれも 1 回ずつしか出てこないことになります。桁数ごとにまとまるので、「個数の話をしている」という情報が残ります。
金額や個数そのものを分析したいなら off にしてください。
エラーと対処
文字列以外の列が選ばれている
数値や日付の列を選んだときに出ます。どの列かはメッセージに出ます。
文字列以外の列が選択されています。列:
{{not_string_cols}}
直し方 — 文字列の列だけを選ぶか、列の型変更で文字列にしてください。
列を選ばずに実行した
処理対象列を選択が空のまま実行したときに出ます。この項目は必須ではないので、画面では止められません。
対象の列が選択されていません。
直し方 — 整えたい列を選んでください。
選んだ列が見つからない
前のノードで列名が変わったり消えたりしたときに出ます。
対象の列が存在しません。
直し方 — 処理対象列を選び直してください。
よく使う例
1. 形態素解析の前に整える
問い合わせ本文から、よく出る言葉を調べたいとき。
入力
| 問い合わせ |
|---|
03-1234-5678 に 3 回かけました |
設定
| 設定項目 | 値 |
|---|---|
| 処理対象列を選択 | 問い合わせ |
| 電話番号を除去 | on(既定) |
| 数字を0に置換 | on(既定) |
出力 — 問い合わせ が に0回かけました になります。電話番号が空白 1 つになり、3 が 0 になり、最後に日本語どうしの空白が詰まって消えます。このあと形態素解析→単語頻度の集計とつなぎます。
2. 数字を残す
「3 年保証」のように、数字そのものが意味を持つとき。
入力
| 商品説明 |
|---|
3年保証つき |
設定
| 設定項目 | 値 |
|---|---|
| 数字を0に置換 | off |
出力 — 3年保証つき のまま残ります(字幅をそろえる処理だけが掛かります)。
3. 複数の文章列をまとめて整える
件名と本文の両方を同じ条件で整えたいとき。
入力
| 件名 | 本文 |
|---|---|
至急:返品の件 | 0120まで、または 0120-123-456 まで |
設定
| 設定項目 | 値 |
|---|---|
| 処理対象列を選択 | 件名、本文 |
出力 — 2 列とも書き換わります。本文 は 0000まで、またはまで になります。半角の 0120-123-456 が空白になり、全角の 0120 は半角の 0000 に置き換わり、最後に日本語どうしの空白が詰まって または と まで がくっつきます。
電話番号が消えたあとに前後の語がつながります。 文として読みたいときは、先に写しを取っておいてください。
4. 整える前と後を見比べる
どこが書き換わったかを確かめたいとき。
入力 — 例 1 と同じ
設定 — 先に列選択/削除で 問い合わせ の写しを作ってから、片方だけをこのノードの処理対象列を選択に指定します。
出力 — 元の列と整えた列が並ぶので、違いをそのまま読み取れます。