1. NLPとは
NLP (自然言語処理、自然言語処理) は、コンピューターサイエンスと人工知能の分野における重要な方向性です。自然言語を使用した人間とコンピュータ間の効果的なコミュニケーションを実現するためのさまざまな理論と方法を研究しています ( Baidu Encyclopediaより抜粋)。
言語が異なると直接コミュニケーションができず、例えば犬の鳴き声は人間には理解できず、言語が異なる人間同士でも直接コミュニケーションはできず、それぞれの意味を理解するには翻訳が必要です。
人間とコンピューターにとって、NLP は人間とコンピューターのコミュニケーションの目的を達成するための機械語と人間の言語の間の橋渡しとなります。
NLP は次の 2 つの部分で構成されます。
- NLU (Natural Language Understanding、自然言語理解)
- NLG(Natural Language Generation、自然言語生成)
2. NLU 自然言語理解
NLU (自然言語理解) は、単語分割、品詞タグ付け、構文分析、テキスト分類/クラスタリング、情報抽出/自動要約、その他のタスクを含む、テキスト コンテンツの機械理解をサポートするすべてのメソッド モデルまたはタスクの総称です。簡単に言えば、コンピュータが人間と同じように通常の言語理解能力を持つことが期待されています。
「航空券の予約」を例に挙げてみましょう。これはさまざまな方法で表現できます。
- 上海行きの飛行機はありますか?
- 上海行きの航空券を予約し、来週の火曜日に出発します。
- 来週の火曜日に上海に出張する予定なので、航空券を確認してください。
- 上海行きの一番近い飛行機に乗りたいです。
- ……
「航空券を予約する」という表現は自然言語で無限に存在すると言え、これはコンピュータにとって大きな挑戦です。人工知能が導入される前、コンピューターはルールに基づいて意図を識別することしかできませんでした。例えば、「航空券の予約」をキーワードとした場合、本文中にそのようなキーワードが存在しないと、ユーザーの意図を正確に把握することができません。あるいは「航空券をキャンセルしたい」などのキーワードがあれば航空券の予約として処理されます。
自然言語理解の目的は、ユーザーの意図を正確に識別することです。
自然言語理解は人工知能全体の開発の歴史に似ており、次の 3 つの反復を経ています。
- ルールベースの手法: ルールを要約して自然言語の意図を判断する一般的な手法: CFG ( Contextually Concerned Grammar )、JSGF (JSpeech Grammar Format) など。
- 統計ベースの手法: 言語情報の統計と分析を実行し、言語情報から意味論的特徴を抽出します。一般的な手法には、SVM (サポート ベクター マシン)、HMM (隠れマルコフ モデル)、MEMM (最大エントロピー マルコフ モデル)、CRF (条件付きランダム フィールド) などが含まれます。
- 深層学習に基づく手法: CNN (畳み込みニューラル ネットワーク)、RNN (リカレント ニューラル ネットワーク)、LSTM (長短期記憶ネットワーク)、トランスフォーマーなど。
3. NLG自然言語生成
NLG (自然言語生成) は、構造化データを人間が読めるテキストに自動的に変換するソフトウェア プロセスです。
NLG への 6 つのステップ
ステップ 1: コンテンツの決定 – コンテンツの決定
最初のステップとして、NLG システムは、構築中のテキストにどの情報を含めるべきか、何を含めるべきではないかを決定する必要があります。多くの場合、データには最終的に伝達される情報よりも多くの情報が含まれます。
ステップ 2: テキストの構造化 – テキストの構造化
どのような情報を伝える必要があるかを決定した後、NLG システムはテキストの順序を合理的に整理する必要があります。例えば、バスケットボールの試合を報道する場合、「いつ」「どこで」「どの2チーム」を表現することが優先され、次に「試合の大まかな状況」を表現し、最後に「試合の終了」を表現します。
ステップ 3: 文の集約 – 文の集約
すべての情報を独立した文で表現する必要はありませんが、複数の情報を 1 つの文に結合すると、より流暢で読みやすくなります。
ステップ 4: 文法化 – 語彙化
各文の内容が決まれば、情報を自然言語に整理することができます。このステップでは、さまざまな情報の間にいくつかのリンク単語を追加し、より完全な文のように見えます。
ステップ 5: 参照式の生成 – 参照式の生成|REG
このステップは文法化に非常に似ており、単語やフレーズを選択して完全な文を形成します。ただし、彼と文法化の本質的な違いは、「REG はコンテンツのドメインを識別し、(他のドメインではなく) このドメインの語彙を使用する必要がある」ということです。
ステップ 6: 言語の実現 – 言語の実現
最後に、関連するすべての単語やフレーズが特定されたら、それらを組み合わせて、適切に構造化された完全な文を形成する必要があります。
NLG がどのように適用されるとしても、そのほとんどには次の 3 つの目的があります。
- パーソナライズされたコンテンツを大規模に生成できる
- 人間がデータに対する洞察を獲得し、データを理解しやすくするのを支援します。
- コンテンツ制作を加速する
4. NLP 処理における 3 つのレベルの分析
最初のレベル: 字句解析
語彙分析には、中国語の単語の分割と品詞のタグ付けが含まれます。
- 単語の分割: 入力テキストを個々の単語に分割します。
- 品詞のタグ付け: 各単語にカテゴリを割り当てます。クラスには名詞、動詞、形容詞などがあり、同じ品詞に属する単語は構文内で同様の役割を果たします。
第 2 レベル: 構文解析
構文解析は、入力テキストを文単位で解析し、文の構文構造を取得するプロセスです。
主流の 3 つの構文解析手法:
- 句構造構文システム。文内の句構造と句間の階層的な構文関係 (依存関係解析と詳細な文法解析の間) を識別するために使用されます。
- 依存構造構文システム (浅い構文解析に属する)、その機能は文内の単語間の相互依存性を識別することです; 実装プロセスは比較的単純で多言語環境での適用に適していますが、提供できる情報は比較的少ないです
- 深い文法と構文の分析。深い文法を使用して、文の詳細な構文分析と意味分析を実行します。たとえば、字句ツリー隣接文法、結合カテゴリ文法などはすべて深層文法です。深層文法の構文分析は豊富な構文情報および意味論情報を提供できます。深層文法は比較的複雑で、アナライザーの動作複雑度は比較的高いため、大規模データの処理には適していません。
第 3 レベル: 意味分析
意味分析の最終目標は、文によって表現される真の意味を理解することです。意味表現にはまだ統一されたソリューションがありません。
1. 意味役割ラベリング (意味役割ラベリング) は、比較的成熟した浅い意味解析テクノロジです。
意味的役割のラベル付けは通常、構文解析に基づいて行われ、構文構造は意味的役割のラベル付けの実行にとって重要です。通常、カスケードはモジュールごとにモデルをトレーニングするために使用されます。
- 分詞
- 品詞タグ付け
- 構文解析
- 意味解析
2. ジョイント モデル (新しく開発された手法) は、複数のタスクを共同で学習してデコードします。ジョイント モデルは通常、分析の品質を大幅に向上させることができますが、ジョイント モデルはより複雑で処理速度が遅くなります。
- 品詞の組み合わせ
- 品詞の組み合わせ
- 品詞の構文の組み合わせ
- 構文と意味の組み合わせなど。
5. 参考資料
自然言語処理 NLP を 1 つの記事で理解する (4 つのアプリケーション + 5 つの困難 + 6 つの実装ステップ)
自然言語生成を 1 つの記事で理解する - NLG (6 つの実装ステップ + 3 つの典型的なアプリケーション) - プロダクト マネージャーの人工知能学習ライブラリ
人工知能入門 (9) - 自然言語処理 (自然言語処理)_hustley のブログ-CSDN ブログ_人工知能 自然言語処理