機械学習前の NLP のためのテキスト クリーニングに関する究極のガイド

文字列データ型の機械学習用の資料を準備するための究極のガイドを順を追って説明します。または、機械学習を実装する前に、NLP のテキスト クリーニングを呼び出します。

この記事では、文字列データ型の機械学習用の資料を準備するための究極のガイドを説明します。または、機械学習を実装する前に、NLP のテキスト クリーニングを呼び出します。この部分が終わるまでに、Python を使用してプロジェクト内の文字列データをクリーンアップできるようになります。

目次: 機械学習の準備における NLP のテキスト クリーニングに関する究極のガイド

機械学習における NLP のためのテキスト クリーニングとは何ですか

テキスト クリーニングは、機械が人間の言語を直接かつ明確に理解できるように、NLP (自然言語処理) 用に生のテキストを準備するプロセスです。基本的に、これには、これから行うプロジェクトに関する 3 つの主要な部分が含まれています。

  • 文字のクリーニングと不純物の除去
  • トークン化とセマンティックによるグループ化
  • 機能とターゲットのデータ構造

大文字と小文字の正規化

異なる単語間で大文字の使用が異なる場合、または同じ単語が含まれる場合、コンピューターがコンテンツとセマンティクスを理解するのが混乱する可能性があります。まず最初に、すべての単語の標準的な大文字化を設定するコードサンプルを次に示します。

abc = content.lower()

Unicode 文字の削除

コンテンツ部分には、絵文字、URL、電子メール アドレスなど、非常に多くの Unicode 文字が含まれています。実際、これらの文字は適切に処理する必要があり、そうしないとコンピュータが混乱する可能性があります。以下に、すべての URL と電子メール アドレスを処理するための 2 つの正規表現コード サンプルを示します。

URL:

content = re.sub(r"(@\[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)|^rt|http.+?", "", content)

電子メール:

content = re.sub(r"([A-z0-9._%+-]+@[A-z0-9.-]+\.[Az]{2,4}

", "", content)

すべてのコンテンツをリスト内の個別の値としてトークン化する

不要な Unicode 文字をすべて削除した後、コンテンツをトークン化してリストを作成する必要があります。

Pythonを使ったサンプルはこちら

word_tokens = word_tokenize ( content )

ストップワードの処理

言語には、意味に価値を加えることができない単語がかなり多く、それらのほとんどは一種の言語文法です。したがって、ストップワードの処理は、このような種類の単語を減らすことで、コンピューターへの混乱をさらに軽減するタスクです。

これは、Python で最も人気のあるパッケージの 1 つである NLTK を使用したサンプルです。

   nltk . download ( 'stopwords' )

   nltk . download ( 'punkt' )

   nltk . download ( 'wordnet' )

   nltk . data . path . append ( 'nltk_data/corpora/stopwords' )

   nltk . data . path . append ( 'nltk_data/tokenizers/punkt' )

   nltk . data . path . append ( 'nltk_data/corpora/wordnet' )

   stopwords123 = set ( stopwords . words ( 'english' ))

NLTK 構築機能とクラウド上にデプロイされたアプリの使用に興味があるが、NLTK データ ソースをデプロイする方法がわからない場合は、この記事の最後にある次の形式で購読してください。

最後になりましたが、上でトークン化したリストからすべてのストップワードを削除するコードを作成できます。そして、リストでは、それは核となる価値のメッセージとコンテンツにとどまります。

見出し語化

人間の言語には過去、現在、未来の時制があります。また、意味を表現するために一人称、二人称、三人称の角度があります。そこで、不要な単語やタイプミスを排除することを目的としたこれを処理する方法が見出し語化です。

   lemmatizer = WordNetLemmatizer ()

   for lemmatizedContent in content :

       lemmatizer . lemmatize ( lemmatizedContent )

セマンティック処理のための POS タグ付け

大量のコンテンツの POS 合計を集計するには、意味上の目的に基づいて単語にタグを付けてグループ化する必要があります。人間の言語には、名詞、動詞、形容詞、副詞など、さまざまな種類の単語があります。さらに、音声では同じ単語が変化する場合もあります。

したがって、音声のセマンティクスと目的を区別するには、POS タグ付けが必要です。混乱を避けるために、機械がこの目的を理解するためです。

Pandas、Numpy、Scikit Learn を使用したデータの前処理

このトピックの詳細については、以前に公開した記事を参照してください

Python と Scikit Learn を使用したデータ前処理のヒント

機械学習における NLP のためのテキスト クリーニングの完全な Python スクリプト (Web アプリ、DApp、またはクラウド上にデプロイされた関数で NLTK データ ファイルを処理する方法を含む)

機械学習の準備における NLP 用のテキスト クリーニングの完全な Python スクリプトに興味がある場合は、 「NLP テキスト クリーン + NLTK データ展開 + フル スクリプトとスクレイピング API 無料トークン」というメッセージを追加してニュースレターを購読してください。 。最新のアプリ スクリプトが公開されたら、スクリプトを送信します。

機械学習の準備における NLP のためのテキスト クリーニングの究極ガイドを楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。

  • PayPal ( paypal.me/Easy2digital ) を通じて私たちのチャンネルをサポートし、寄付してください。
  • 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
  • Easy2Digital Facebook ページをフォローして「いいね!」してください
  • ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
  • Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
  • Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )

よくある質問:

Q1: 楽天とは何ですか?

A: 楽天は、日本の大手インターネットサービス企業で、ECサイトやオンライン金融サービスなどを提供しています。

Q2: 楽天の主なサービスは何ですか?

A: 楽天の主なサービスには、楽天市場、楽天トラベル、楽天銀行、楽天モバイルなどがあります。

Q3: 楽天市場での買い物は安全ですか?

A: 楽天市場では、セキュリティ対策がしっかりとされており、安全に買い物をすることができます。

Q4: 楽天ポイントはどのように使えますか?

A: 楽天ポイントは、楽天市場や楽天トラベルなどの楽天グループサービスで利用することができます。

Q5: 楽天カードの特典は何ですか?

A: 楽天カードの特典には、楽天ポイントが貯まることや、楽天市場でのお買い物で割引が受けられることなどがあります。

Q6: 楽天モバイルの料金プランはどのようになっていますか?

A: 楽天モバイルの料金プランは、データ量や通話時間に応じて選ぶことができます。詳細は楽天モバイルの公式ウェブサイトで確認してください。

Q7: 楽天銀行の口座開設はどのように行いますか?

A: 楽天銀行の口座開設は、楽天銀行の公式ウェブサイトから申し込むことができます。必要な情報を入力し、審査が完了すると口座が開設されます。

Q8: 楽天トラベルでの予約はキャンセルできますか?

A: 楽天トラベルでの予約は、予約内容によってキャンセル可能な場合と不可能な場合があります。詳細は予約時に確認してください。

Q9: 楽天の会員登録は無料ですか?

A: 楽天の会員登録は完全無料です。楽天のサービスを利用するためには会員登録が必要です。

Q10: 楽天のカスタマーサポートはどのように利用できますか?

A: 楽天のカスタマーサポートは、楽天の公式ウェブサイトから問い合わせフォームやお電話で利用することができます。