GithubのトップNLPプロジェクトを実際に体験する必要があります[2022]
公開: 2021-01-01人工知能には複数のブランチがあり、そのうち自然言語処理(NLP)が強力な新時代のツールとして登場しました。 NLPは、アランチューリングが自動解釈と自然言語の生成を含むテスト(現在はチューリングテストとして知られている)を提案した記事「計算する機械と知性」をリリースした1950年代にさかのぼります。 それでも、NLPは最近世界的に認知され人気を博しています。
目次
自然言語処理とは何ですか?
自然言語処理とは、人間と機械のコミュニケーションを促進することです。 それは、自然な人間の言語を理解し、解釈し、操作するようにコンピューターを訓練することを目的としています。 NLPは、人工知能、コンピューターサイエンス、計算言語学などの複数の分野からインスピレーションを得ています。
人間は英語、日本語、スペイン語などの母国語でコミュニケーションを取りますが、コンピューターは母国語であるバイナリ言語で話します。 コンピューターは私たちの自然な人間の言語を理解することはできませんが、機械語はほとんどの人にとってほとんど理解できません。
これは、人間のコミュニケーションとコンピューターの理解の間のギャップを埋めるためにNLPが入るところです。 自然言語処理は、テキストの読み取り、音声の聞き取り、音声/テキストメッセージの解釈、感情の測定などを支援することにより、コンピューターが母国語で人間と通信できるようにし、トレーニングします。
デジタル世界での日常的なやり取りやトランザクションによってもたらされるデータの爆発的な増加に伴い、自然言語処理はビジネスにとってより重要になっています。 NLPのおかげで、企業は大量の生のビジネスデータ、ソーシャルメディアのおしゃべりなどを利用して、データを理解し、データ指向の決定を下すことができます。
この記事では、GitHubに12のNLPプロジェクトをリストして、刺激を与えます。 これらのプロジェクトに取り組むことは、ドメイン知識を豊かにし、実際のスキルを磨くのに役立ちます。

トップGitHubNLPプロジェクト
1.言い換えの識別
言い換え検出は、2つの異なる文が同じ意味を持っているかどうかを検出するNLPアプリケーションです。 機械翻訳、質問応答、情報抽出/検索、テキスト要約、自然言語生成で広く使用されています。
これは、構文分析と意味分析を適用することにより、2つのテキストエンティティ(文など)間の類似点と相違点を正確に識別できる言い換え識別システムを構築する、初心者向けのプロジェクトです。
2.ドキュメントの類似性
これは、コサイン類似性法を使用して2つのドキュメント間の類似性を定量化することを目的としたもう1つの初心者向けプロジェクトです。 このプロジェクトでは、2つの論文の類似点を見つけることで、共通の議論のトピックに焦点を当てます。
コサイン類似度は、2つのドキュメントをベクトルに変換して、それらのベクトル間の類似度を計算します。 ドキュメント間のコサイン角を測定する内積空間を使用して、ドキュメントの類似性を計算します。
3.テキスト予測
このプロジェクトでは、単語を入力するときに次の単語を予測できるアプリケーションを構築します。 このテキスト予測プロジェクトの作成に使用されるツールには、自然言語処理、テキストマイニング、およびRのツールスイートが含まれます。
このプロジェクトでは、予測モデルとしてKneserNeySmoothingを使用した最尤推定量を使用します。 予測は、モデルのトレーニングに使用されるデータベースに格納されている単語のコレクションに基づいて設計されています。 このプロジェクトのリソースの完全なセットはGitHubにあります。
4.天才の科学
このプロジェクトは、 ScienceofSuccessプロジェクトの一部です。 ここでの目的は、特定の語彙要素が、多数のデータサイエンスとNLP分析ツールを使用して、正規化された引用インデックスによって測定された、記事が受けた注意を示すことができるかどうかを判断することです。
初期段階では、このプロジェクトは、 WebofScienceの記事タイトルの長さと構文上の特徴の時間的および懲戒的差異の研究に焦点を当てています。1900年以降に発行された5,000万を超える記事を含むデータセットです。全体像は定量的モデルを作成することです。これにより、科学論文がコミュニティに与える影響を正確に見積もることができます。
5.ニュースの見出しから株価の感情を抽出する
タイトルが示すように、Finvizの金融ニュースのヘッドラインに関する感情分析を使用して、このプロジェクトへの投資に関する洞察を作成します。 感情分析手法は、見出しの背後にある感情を理解して解釈し、現在の市場状況が特定の株式に有利であるかどうかを予測するのに役立ちます。
6.インテリジェントボット
このプロジェクトには、特定のリポジトリからの結果を解析して照合し、質問に答えることができるスマートボットの構築が含まれます。 ボットはこの操作にWordNetを使用します。 構造化ドキュメント(ヘッダー、太字のタイトルなど)のタグに関する質問のコンテキストを評価します。 コンテキストが保持されるため、同じトピックに関する関連する質問をすることができます。

たとえば、ウィキペディアの記事を照会する場合は、テンプレート「XYZについて教えてください」を使用し、コンテキストが確立されたら、同様の質問を続けることができます。 繰り返しになりますが、「 https://www.microsoft.com/en-us/software-download/faq 」のように、ページのURLをソースとして指定することで、Webページをクエリできます。 これは、FAQおよびQ&Aページで非常にうまく機能します。
7. CitesCyVerse
CitesCyVerseプロジェクトは、Science CitationKnowledgeExtractorで設計されています。 CitesCyVerseは、機械学習とNLPを活用するオープンソースのツールであり、生物医学研究者が引用する記事の内容を分析することで、他の人が自分の仕事をどのように使用しているかを理解できるようにします。 CitesCyVerseは、MLとNLPを使用して、引用文書で説明されている主要なテーマと概念を抽出します。 これにより、研究者は自分の仕事が科学界の他の人々にどのように影響するかをよりよく理解することができます。
CitesCyVerseには、引用論文で言及されている同様の単語から新しいクラウドを生成するWordCloudが含まれています。 また、CyVerseを引用している記事や出版物の人気トピックを探索できるトピックがあります。
8.データサイエンスキャップストーン–データ処理スクリプト
このデータサイエンスキャップストーンプロジェクトでは、n-gramモデルを作成する代わりに、データ処理スクリプトを使用してデータエンジニアリングを示します。 これらのスクリプトは、コーパス全体を処理して、n-gramとそのカウントを生成できます。 このデータを使用して、予測テキストアルゴリズムを開発できます。
このプロジェクトをビルドするには、少なくとも16GBのRAMを備えたデュアルコアシステム(ほとんどのスクリプトはシングルスレッドであるため)が必要です。 ソフトウェア要件については、Linux(Ubuntu 14.04でテストした場合に最適)、Python(バージョン2.7)、NLTK(バージョン3.0)、およびNumPyが必要です。
読む:自然言語処理プロジェクトのアイデアとトピック
9.スクリプトジェネレータ
これは、ショーの27シーズンすべてのスクリプトデータセットに基づいて、人気のあるショーTheSimpsonsのTVスクリプトを生成するRNNを構築するエキサイティングなプロジェクトです。 RNNは、Moe'sTavernで撮影された特定のシーンの新しいスクリプトを生成します。
スクリプトジェネレータプロジェクトは、Udacityのディープラーニングナノディグリーの一部です。 プロジェクトの実装は次の場所に含まれています:dlnd_tv_script_generation.ipynb
10.Redditの在庫予測
このプロジェクトは、ソーシャルメディアの投稿が個々の株式の将来の価格にどのように影響するかを理解することを目的としています。 ここでは、テキスト分析手法を使用して、ソーシャルメディアの投稿がReddit、特に投資に焦点を当てたサブレディット/フォーラムに与える影響を調査します。
GitHubリポジトリファイルを使用して、感情分析をクリーンアップしてRedditの投稿/コメントに適用し、このデータを使用して回帰モデルを作成できます。 リポジトリには、特定の株式相場表示のリアルタイムの感情を視覚化し、関連する予測を行うために使用されるインタラクティブなWebアプリケーションに使用できるコードも含まれています。
11.Me_Bot
これは楽しいNLPプロジェクトであり、WhatsAppの会話を活用し、それらから学び、他の人と同じように会話するMe_Botという名前のボットを開発します。 基本的に、アイデアはあなたのように話すボットを作成することです。
携帯電話からWhatsAppチャットをエクスポートし、このデータでボットをトレーニングする必要があります。 これを行うには、電話でWhatsAppに移動し、会話を選択して、アプリの設定からエクスポートする必要があります。 次に、生成された「.txt」ファイルをMe_Botフォルダーに移動できます。

12.音声感情アナライザー
このプロジェクトは、日常生活でよくある会話から感情を検出できるMLモデルの作成を中心に展開しています。 MLモデルは、最大5つの異なる感情を検出し、現在の気分に基づいてパーソナライズされた推奨事項を提供できます。
この感情ベースのレコメンデーションエンジンは、ターゲットを絞ったオーディエンスやバイヤーのペルソナに販売するために使用できるため、多くの業界にとって非常に価値があります。 たとえば、オンラインコンテンツストリーミングプラットフォームは、このツールを使用して、個人の現在の気分や好みを読み取ることにより、カスタマイズされたコンテンツの提案を個人に提供できます。
また読む:ディープラーニングとNLP
結論
これで、リストの最後に到達しました。 GitHub上のこれらの12のNLPプロジェクトは、コーディングとプロジェクト開発のスキルを磨くのに最適です。 最も重要なことは、プロジェクトの構築は、自然言語処理のニュアンスを習得するのに役立ち、それによってドメイン知識を強化することです。
NLPスキルを向上させたい場合は、これらのNLPプロジェクトを手に入れる必要があります。 機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
自然言語処理の主な課題は何ですか?
自然言語処理には多くの課題があります。 主な問題は、計算能力の欠如です。 現在のアルゴリズムは、膨大な計算能力を必要とし、処理を完了するのにより多くの時間がかかる可能性があるオフラインシステムで実行するために作成されています。 もう1つの問題は、利用可能なリソースです。 少量のデータで機能するアルゴリズムを作成することは簡単ではなく、時間がかかります。 もう1つの課題は、処理する必要のある大量のデータの可用性です。
どのNLPモデルが最高の精度を提供しますか?
NLPモデルの最高の精度は、テキストを一連のますます洗練されたフィルターに通すことによって達成されます。 最初のレイヤーは、ストップワード、句読点、数字を削除することです。 その後、Porterステマーを使用してテキスト全体をステミングし、すべての単語をそれらの語彙化された形式に置き換える必要があります。 次に、最後のステップは、200,000語の語彙に存在しない単語を削除することです。
NLPのトークン化とは何ですか?
トークン化は、文をトークンと呼ばれる構成要素に分解するプロセスです。 プロセスを適用した後、文の意味や意図を簡単に抽出できます。 トークン化は、文の分割を行った後に行われます。 NLPでは、トークンは、文のさらなる処理、分類、および表現に使用されます。 トークン化を伴うNLPタスクには、言語検出、品詞タグ付け、および構文解析が含まれます。
