自然言語処理用のデータプリプロセッシング
1.我々の周囲の自然言語処理例
機械翻訳モデル-Google翻訳、youtube自動字幕など
音声認識-iPhone Siri、NaverClovaなど
2.自然言語処理プロセス
ナチュラルフィッシュ処理
Preprocessing
表現
Word Embedding
モデルの適用
モデル(深度学習モデルを適用)
3.自然魚の処理方法
元の自然言語には前処理プロセスが必要です
いろいろありますが、まず次の3種類を見てみましょう.
1. Noise canceling
2. Tokenizing
3. StopWord removal
4.誤り訂正(Noise Canceling)
自然言語の文章のスペルミスとスペースエラーを修正する
機械が誤り訂正を行うこと自体が容易ではない.
携帯ケースでみんなに伝えるから
また,最近ネット上で使われている自然言語ではslangや略語が多く使われているため,これらの語をある程度変換してこそモデルの性能が向上するため,誤り訂正が困難である.
クリーンなデータは、パフォーマンスの向上に重要です.
5.トークンベイク処理
私は基礎科目を深く勉強しています.
=>[‘深’,‘走’,‘基礎’,‘科目’,‘乙’,‘受講’,‘做’,‘有’,‘
これは一つずつコインと呼ばれています.
文をタグに分割(Token)
タグは目的に応じて定義される語、フレーズなどです.
なぜToken火?
自然言語文は深さ学習の入力値として直接使用できません
数値に変換する必要があります.
文全体を数字に変換するのは容易ではありません.
文をタグに分割すると、各タグに意味を与えやすくなり、数値に変換されます.
6.非用語StopWordの削除
朝鮮語stopwordの例
あら、あら、あら、あら、嘘、さもないと、でも、でも、でも...
非用語:不要な言葉を表す
(場合やモデルによっては、重要ではないと思われるものを削除します.接続が重要だと思われる場合は削除しません.場合によって異なります)
7. Bag of Words
自然言語のデータをデジタルデータに変換する必要があります.そのため、まず理解しなければならない概念です.
タグ付けされた自然言語データのリスト
「こんにちは」「お会いしました」「お会いしました」
「こんにちは」「私も」「お会いできて嬉しいです」
->各タグ番号(インデックスのマッピング)
[『こんにちは』:0,『お会いしました』:1,『お会いできて嬉しいです』:2,『私も』:3
インデックスをマッピングする方法はあまり意味がありません.まず1つ置く
自然言語データに属する単語パッケージ
8.トークンシーケンス
Bag of Wordを単語に対応するインデックスに変換
すべての文の長さに一致するように、標準より短い文に塗りつぶしを実行します.
画像前処理で解像度を統一するように,自然言語データも統一しなければならない.
Padding:データ長を調整するための不要な値
Bag of wordsで入力値として不要な値を指定します
最も長い文を基準に、残りの文を塗りつぶして揃え、データ全体に1つの文が長い場合は除外できます.
9.実習。映画評論肯定/否定分類RNNモデル-データ前処理
今回の実習では、映画評論データに基づいて感情分析を行うモデルを学びます.映画評論のような自然言語材料は単語の連続配列であり,表列材料と見なすことができる.すなわち,表列データ(連続単語)を用いて,コメント中の感情(肯定,否定)を予測する分類器を作成する.
データセットIMDBムービーレビューデータセットを使用します.5000個の訓練用と1000個の試験用からなり、ラベルには肯定/否定の2種類がある.まず,RNNモデルの入力として自然言語データを使用するためにデータを前処理する.
RNNの自然言語データプリプロセッシング
自然言語データは、RNNの入力として使用するために、マーキングおよび複数のデータ処理を行う必要がある.次の自然言語データが用意されている場合は、最後にデータのサイズを統一するために埋め込む必要があります.
最初のデータ・シーケンス:
単語辞書:
sequence.pad_sequences(data, maxlen=300, padding='post')
:データ系列のサイズがmaxlenパラメータより小さい場合は、入力を追加します.説明
インデックスに変換されたX trainとX testのシーケンスを羽化し、それぞれX trainとX testに保存します.
シーケンスの最大長を300に設定します.
import json
import numpy as np
import tensorflow as tf
import data_process
from keras.datasets import imdb
from keras.preprocessing import sequence
import logging, os
logging.disable(logging.WARNING)
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
# 학습용 및 평가용 데이터를 불러오고 샘플 문장을 출력합니다.
X_train, y_train, X_test, y_test = data_process.imdb_data_load()
"""
1. 인덱스로 변환된 X_train, X_test 시퀀스에 패딩을 수행하고 각각 X_train, X_test에 저장합니다.
시퀀스 최대 길이는 300으로 설정합니다.
"""
X_train = sequence.pad_sequences(X_train, maxlen=300, padding='post')
X_test = sequence.pad_sequences(X_test, maxlen=300, padding='post')
print("\n패딩을 추가한 첫 번째 X_train 데이터 샘플 토큰 인덱스 sequence: \n",X_train[0])
Reference
この問題について(自然言語処理用のデータプリプロセッシング), 我々は、より多くの情報をここで見つけました https://velog.io/@danceintherain/자연어-처리를-위한-데이터-전처리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol