自然言語処理 (NLP) タスク

1. NLPとは

自然言語処理は人工知能のサブ分野であり、人間と人間の相互作用および人間とコンピューターの相互作用における言語の問題を研究する学問です。人工知能アプリケーションの主な分野には、データマイニング、推奨アルゴリズム、インテリジェント検索、広告推奨、自然言語処理、コンピュータービジョン、自動運転などが含まれます。

2. NLP の主な研究方向

  1. 情報抽出: 与えられたテキストから時間、場所、タスク、出来事、原因、結果、数値、日付、通貨、固有名詞などの重要な情報を抽出します。平たく言えば、誰が、誰に対して、いつ、なぜ、どのような結果をもたらしたかを理解することを意味します。
  2. テキスト生成: 機械は自然言語処理を使用して人間のように表現し、書き込みます。入力に応じて、テキスト生成手法には、ブックからテキストへの生成とテキストからテキストへの生成が含まれます。データからテキストへの生成は、キーと値のペアを含むデータを自然言語テキストに変換することを指します。テキストからテキストへの生成は、入力テキストを変換および処理して新しいテキストを生成します。
  3. 質疑応答システム: 自然言語で表現された質問に対して、質疑応答システムは正確な回答を返します。エンティティの接続、関係の識別、論理式の形成など、自然言語クエリ ステートメントに対してある程度の意味分析を実行し、その後、ナレッジ ベース内で考えられる回答の候補を検索し、ソート メカニズムを通じて最適な回答を見つける必要があります。
  4. 対話システム: システムは、一連の対話を通じてユーザーとチャットし、応答し、特定のタスクを完了します。これには、ユーザーの意図の理解、ユニバーサル チャット エンジン、対話管理、その他のテクノロジーが含まれます。さらに、文脈の関連性を反映するには、複数回の対話を行う能力が必要です。
  5. テキスト マイニング: 情報と知識をマイニングするためのテキスト クラスタリング、分類、センチメント分析、視覚的および対話型の表現インターフェイスが含まれます。現在主流のテクノロジーは統計的機械学習に基づいています。
  6. 音声認識と生成: 音声認識は、コンピュータに入力された音声記号認識を書き言葉表現に変換することです。音声生成は、テキスト音声変換および音声合成とも呼ばれ、書かれたテキストを対応する音声表現に自動的に変換することです。
  7. 情報フィルタリング:コンピュータシステムを通じて、特定の条件を満たす文書情報を自動的に識別してフィルタリングします。通常、インターネット上の有害な情報を自動的に識別してフィルタリングすることを指し、主に情報セキュリティと保護、ネットワーク コンテンツ管理などに使用されます。
  8. 世論分析: オンライン世論にタイムリーに対応するという目的を達成するために、大量の情報を収集および処理し、オンライン世論を自動分析することを指します。
  9. 情報検索: 大規模なドキュメントのインデックス作成。単に文書内の単語に異なる重みを割り当ててインデックスを作成することも、より深いインデックスを作成することもできます。クエリを実行する場合、検索用語や文などの入力クエリ式が分析され、一致する候補ドキュメントがインデックス内で検索され、候補ドキュメントが並べ替えメカニズムに従って並べ替えられ、最後に、最高順位のスコアが出力されます。
  10. 機械翻訳: 入力されたソース言語のテキストが自動的に翻訳され、別の言語のテキストが取得されます。機械翻訳は、初期のルールベースの方法から 20 年前の統計ベースの方法、そして今日のニューラル ネットワーク (エンコード-デコード) ベースの方法に至るまで、比較的厳密な方法システムを徐々に形成してきました。

3. NLP アルゴリズム エンジニアには実際のスキルを習得する必要がある

  1. 正規表現。単純なテキスト マッチング シナリオに加えて、さまざまなドキュメントの構造化や情報抽出のコールド スタートは基本的にこれに依存します。実際の業務では、各種sotaモデルの学習はおろか、すぐに高品質なアノテーションデータを取得することは不可能なので、例えば「xxの前にxxは存在しない」など、さまざまな正規表現をマスターしておくことは大きな効果があることは間違いありません。文字の後に xx 文字が存在するか、または xx 文字が複数回出現し、その後に xx 文字が出現する必要があります。(Zhihu より: 実際、私は常に人間の言語に基づいて正規表現の推奨を自動的に提供するモデルを作りたいと思っていました。しばらく研究した後、それが非常に難しいことがわかりました。別の観点から見ると、それは、正規表現をうまく書くのも非常に難しい)
  2. 一般的に使用される構文解析ツール。これは一般的にキーフレーズ抽出や情報抽出に使用されます。アノテーションデータが不足しているためsotaモデルは使用できず、正規表現だけでは様々なケースをカバーできないため、場合によっては構文解析ツールと組み合わせて主語・述語構造、動詞・文法などの単純な文法を使用する必要がある。オブジェクト構造、補体構造などを調べて、必要な情報単位を見つけます。ただし、構文ツールを最初からトレーニングするのでは事業立ち上げの期限に間に合わないことが多いため、ハルビン工業大学のLTPなどの既存のツールを利用することが多く、いくつかの問題点はあるものの、ほとんどの場合で十分です。
  3. パフォーマンスの最適化に対する意識。これは特定のパフォーマンス最適化手法を特に指すわけではありませんが、ループの効率を最適化する方法、可能な場合は演算を並列化する方法、モデルを最適化する際のデータの読み取り方法など、日常的にコードを書くときにこの意識を持つことです。読み取りの効率 モデルが推論でオンラインでデプロイされたときにビジネスのパフォーマンス要件を満たしているかどうか 満たしていない場合は、パフォーマンスを最適化する場所を見つけることができます。たとえば、モデル設計時に冗長層の数が設計されているかどうか、過度に複雑なレイヤーが使用されているかどうかモデル、デプロイ時にいくつかの効率的なデプロイ方法 (tensorflow-serving など) が使用されているかどうか、一部の操作を最適化するために TensorRT を使用できるかどうか、デプロイメントのハードウェア環境に従って tensorflow を再コンパイルできるかどうかプラットホーム。実際のプロジェクトでは、これらすべてを穴から這い出す必要があります (笑)。
  4. リナックス。このスキルも必須ですが、Linux の操作に習熟している必要はありませんが、少なくともサーバーの状態監視、ファイアウォールポリシーの設定、Docker の簡単な操作、一般的に使用されるデータベース (mysql、postgresql など)、圧縮および解凍コマンド、ftp/sftp コマンド、chmod コマンド、vi、cat、ps など。上記のスキルに加えて、デフォルトでは全員が NLP 分野のテクノロジーの資格を持っているため、追加の指示はありません。基本的な統計的機械学習、RNN、トランスフォーマー、BERT などについてあまり知識がなければ、まったく意味がありません。上記のスキルは、実装が必要なアルゴリズム工学を対象としていますが、アルゴリズムの研究に特化していて、実装に要件がない場合は、上記のことは無視しても問題ありません。現時点では、論文、コンテスト、研究に取り組むだけで十分です。 、ピン家庭教師、ピン先輩、先輩シスター。

4. 基本的なタスク

単語、単語、文の非常に効率的なベクトル表現方法により、手動の特徴量エンジニアリングへの依存が大幅に軽減されます。これに基づいて、自然言語処理には一連の基本タスクがあります。
テキストがシーケンスとして理解され、さまざまなタグが異なるカテゴリとして理解される場合、基本的な NLP タスクは、問題の性質に応じて次のタイプに分類できます。

  • カテゴリからシーケンスを生成します: テキスト生成や画像説明生成などのタスクが含まれます。
  • シーケンスからカテゴリを生成: テキスト分類、感情分析、関係性抽出などのタスクが含まれます。
  • シーケンスから同期シーケンス生成まで: 単語の分割、品詞のタグ付け、意味上の役割のタグ付け、エンティティ認識などのタスクが含まれます。
  • 機械翻訳、自動要約、ピンイン入力などのタスクを含む、シリーズからシーケンスを非同期的に生成します。

おすすめ

転載: blog.csdn.net/diaozhida/article/details/118611416