自然言語処理におけるテキスト要約:アルゴリズム、技術、課題

公開: 2020-08-07

特定のコンテンツから要約を作成することは、誰もが参加する非常に抽象的なプロセスです。このようなプロセスを自動化すると、大量のデータを解析し、人間が時間を使って重要な決定を下すのに役立ちます。 膨大な量のメディアが存在するため、最も重要な情報の周りの毛羽立ちを減らすことで、非常に効率的になる可能性があります。 自動的に生成されるテキストの要約がWeb全体で表示されるようになりました。

Redditを頻繁に使用する場合は、「Autotldrボット」が特定の投稿のリンクされた記事を要約することでRedditorを日常的に支援しているのを見たことがあるかもしれません。 2011年に作成され、すでに数千人の時間を節約しています。 Inshorts(60語以下でニュースを要約する)やBlinkist(本を要約する)など、正確にそれを行うアプリケーションの傾向によって示されるように、信頼できるテキスト要約の市場があります。

したがって、自動テキスト要約は、自然言語処理(NLP)と機械学習(ML)のエキサイティングでありながら挑戦的なフロンティアです。 自動テキスト要約の現在の開発は、ハンス・ピーター・ルーンの論文「文学抄録の自動作成」が出版された1950年代以降、この分野の研究に負うところが大きい。

このホワイトペーパーでは、単語の頻度やフレーズの頻度などの機能を使用して、ドキュメントから重要な文を抽出する方法について概説しました。 これに続いて、1960年代後半にHarold P Edmundsonによって行われた別の重要な調査が行われ、キューワードの存在、テキストに表示されるタイトルで使用されるワード、およびドキュメントから重要なセンテンスを抽出するためのセンテンスの場所が強調されました。

世界が機械学習とこの分野での新しい研究の公開で進歩を遂げた今、自動テキスト要約は、デジタル時代の情報と対話するためのユビキタスツールになりつつあります。

必読:インドのNLPエンジニア給与

NLPでテキストを要約するには、主に2つの主要なアプローチがあります。

目次

NLPでのテキスト要約

1.抽出ベースの要約

名前が示すように、この手法は、ドキュメントからキーフレーズを抽出または引き出すだけに依存しています。 次に、これらのキーフレーズを組み合わせて、一貫性のある要約を作成します。

2.抽象ベースの要約

この手法は、抽出とは異なり、ドキュメントの一部を言い換えたり短縮したりできることに依存しています。 このような抽象化が深層学習の問題で正しく行われると、一貫した文法を確実に得ることができます。 しかし、この追加された複雑さの層は、抽出よりも開発が難しいという代償を伴います。

より質の高い要約を作成する別の方法があります。 このアプローチは、支援された要約と呼ばれ、人間とソフトウェアを組み合わせた作業を伴います。 これも2種類のフレーバーがあります

  1. 機械支援の人間による要約:抽出手法は、人間がテキストを追加または削除する可能性のある、含まれる候補のパッセージを強調表示します。
  2. 人間が支援する機械の要約:人間はソフトウェアの出力を編集するだけです。

テキストを要約するための主なアプローチとは別に、テキスト要約者が分類される他の基盤があります。 これらのカテゴリヘッドは次のとおりです。

3.単一ドキュメントと複数ドキュメントの要約

単一のドキュメントは、要約を生成するために、事実のまとまりとまれな繰り返しに依存しています。 一方、複数のドキュメントの要約は、冗長な情報と再発の可能性を高めます。

4.指標と有益

要約の分類法は、ユーザーの最終目標に依存します。 たとえば、直説法の要約では、記事の高レベルのポイントが期待されます。 一方、有益な概要では、読者が要約をドリルダウンできるようにするために、より多くのトピックフィルタリングが期待される場合があります。

5.ドキュメントの長さとタイプ

入力テキストの長さは、要約アプローチの種類に大きく影響します。

Cornellのニュースルームのような最大の要約データセットは、平均して約300〜1000語のニュース記事に焦点を合わせています。 抽出サマライザーは、このような長さを比較的うまく処理します。 複数ページのドキュメントまたは本の章は、階層的クラスタリングや談話分析などのより高度なアプローチでのみ適切に要約できます。

さらに、テキストのジャンルはサマライザーにも影響します。 技術的なホワイトペーパーを要約する方法は、財務諸表を要約するためにより適切に装備されている可能性のある手法とは根本的に異なります。

この記事では、抽出要約手法の詳細に焦点を当てます。

PageRankアルゴリズム

このアルゴリズムは、グーグルランクのウェブページのような検索エンジンを助けます。 例を挙げてアルゴリズムを理解しましょう。 それらの間の接続レベルが異なる4つのWebページがあると仮定します。 1つは他の3つへのリンクを持っていない可能性があります。 1つは他の2に接続され、1つは1つだけに関連付けられ、以下同様に続きます。

次に、n行と列のマトリックスを使用して1つのページから別のページに移動する確率をモデル化できます。ここで、nはWebページの数です。 マトリックス内の各要素は、あるWebページから別のWebページに移行する確率を表します。 適切な確率を割り当てることにより、そのようなマトリックスを繰り返し更新して、Webページのランキングに到達させることができます。

また読む:NLPプロジェクトとトピック

TextRankアルゴリズム

PageRankアルゴリズムを検討した理由は、同じアルゴリズムを使用してWebページの代わりにテキストをランク付けする方法を示すためです。 これは、ページ間のリンクを文間の類似性に置き換え、PageRankスタイルマトリックスを類似性スコアとして使用することにより、パースペクティブを変更することで実行できます。

TextRankアルゴリズムの実装

必要なライブラリ

  • ナンビー
  • パンダ
  • Ntlk

以下は、抽出要約手法の背後にあるコードの説明です。

ステップ1

ソースドキュメントにあるすべてのテキストを1つのテキストブロックとして連結します。 その理由は、ステップ2をより簡単に実行できるように条件を提供するためです。

ステップ2

ピリオド(。)、疑問符(?)、感嘆符(!)などの句読点を探すなどの文を定義する条件を提供します。 この定義ができたら、テキストドキュメントを文に分割するだけです。

ステップ3

別々の文にアクセスできるようになったので、それらの各文のベクトル表現(単語の埋め込み)を見つけます。 今、私たちはベクトル表現が何であるかを理解しなければなりません。 単語の埋め込みは、同様の意味を持つ単語の数学的記述を提供する単語表現の一種です。 実際には、これは、事前定義されたベクトル空間で単語を実数値のベクトルとして表す手法のクラス全体です。

各単語は、多くの次元(100を超える場合もある)を持つ実数値のベクトルで表されます。 分布表現は単語の使用法に基づいているため、同様の方法で使用された単語が同様の説明を持つことができます。 これにより、ベクトル自体として表される他の単語に近接しているなど、単語の意味を自然に捉えることができます。

このガイドでは、単語表現のグローバルベクトル(GloVe)を使用します。 gloVeは、スタンフォード大学のPenningtonによって開発されたオープンソースの分散単語表現アルゴリズムです。 これは、2つのモデルファミリの機能、つまりグローバル行列因数分解とローカルコンテキストウィンドウメソッドを組み合わせたものです。

ステップ4

単語のベクトル表現ができたら、プロセスを拡張して文全体をベクトルとして表現する必要があります。 そうするために、文の単語を構成する用語のベクトル表現をフェッチし、次にそれらのベクトルの平均/平均をフェッチして、文の統合されたベクトルに到達することができます。

ステップ5

この時点で、個々の文ごとにベクトル表現があります。 コサイン類似性アプローチを使用して、文間の類似性を定量化することが役立つようになりました。 次に、空行列に文の余弦類似度を入力できます。

ステップ6

これで、文間の余弦の類似性が入力された行列ができました。 この行列を、ノードが文を表し、エッジが文間の類似性を表すグラフに変換できます。 このグラフでは、便利なPageRankアルゴリズムを使用して文のランキングに到達します。

ステップ7

これで、記事内のすべての文が重要度の順にランク付けされました。 これで、上位N(たとえば10)の文を抽出して要約を作成できます。

そのようなメソッドのコードを見つけるために、Githubにはそのようなプロジェクトがたくさんあります。 一方、この記事は、同じことを理解するのに役立ちます。

チェックアウト:現代生活における言語モデリングの進化

評価手法

このようなモデルを微調整する際の重要な要素は、作成された要約の品質を判断するための信頼できる方法を持つことです。 これには、次のように大まかに分類できる優れた評価手法が必要です。

  • 内因性および外因性の評価

本質的:そのような評価は、要約システム自体をテストします。 彼らは主に要約の一貫性と有益性を評価します。

外部:このような評価は、他のタスクにどのように影響するかに基づいて要約をテストします。 関連性評価、読解などのタスクに対する要約の影響をテストする場合があります。

  • テキスト間およびテキスト内

テキスト間:このような評価は、いくつかの要約システムの対照的な分析に焦点を当てています。

テキスト内:このような評価は、特定の要約システムの出力を評価します。

  • ドメイン固有およびドメイン非依存

ドメインに依存しない:これらの手法は、一般に、情報が豊富なテキストセグメントの識別に焦点を当てることができる一般的な機能のセットを適用します。

ドメイン固有:これらの手法は、テキスト上のドメインに固有の利用可能な知識を利用します。 たとえば、医学文献のテキスト要約では、医学知識とオントロジーのソースを使用する必要があります。

  • 要約を定性的に評価する

他の評価手法の主な欠点は、自動要約の出力をモデルと比較できるようにするために参照要約が必要になることです。 これは、評価のタスクを困難で高価にします。 この問題を解決するために、記事/ドキュメントのコーパスとそれに対応する要約を作成するために行われている作業があります。

テキスト要約への挑戦

要約を生成および評価するための高度に開発されたツールにもかかわらず、テキスト要約者が重要で関連性のあるものを理解するための信頼できる方法を見つけるには課題が残っています。

説明したように、ベクトル表現と類似性マトリックスは単語の関連性を見つけようとしますが、それでも最も重要な文を識別するための信頼できる方法がありません。

テキストの要約におけるもう1つの課題は、人間の言語の複雑さと、特に書かれたテキストでの人々の表現方法です。 言語は、何かを説明する形容詞と副詞を含む長い文だけでなく、相対的な文、同格などで構成されます。そのような洞察は、要約に含まれる情報の主要な核心を確立するのに役立たない貴重な情報を追加する可能性があります。

「照応問題」は、テキスト要約のもう1つの障壁です。 言語では、会話の主語をその同義語または代名詞に置き換えることがよくあります。 どの代名詞がどの用語に置き換わるかを理解することが「照応問題」です。

「後方照応問題」は、照応問題の反対の問題です。 これらのあいまいな単語や説明では、用語自体を紹介する前に、特定の用語がテキストで使用されています。

結論

テキスト要約の分野は急速に成長しており、より焦点を絞った要約タスクに取り組むための専用ツールが開発されています。 オープンソースソフトウェアと単語埋め込みパッケージが広く利用できるようになるにつれ、ユーザーはこのテクノロジーのユースケースを拡大しています。

自動テキスト要約は、人間が日常的にやり取りする膨大な量の情報を簡素化することにより、人間の生産性を飛躍的に向上させるツールです。 これにより、人々は必要な読書を減らすことができるだけでなく、他の方法では見落とされていた書かれた作品を読んで理解するための時間を解放することができます。 そのようなサマライザーが非常にうまく統合されて、人間が書いたものと見分けがつかないサマリを作成するのは時間の問題です。

NLPスキルを向上させたい場合は、これらのNLPプロジェクトを手に入れる必要があります。 機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

NLPの用途は何ですか?

最も洗練された興味深い最新技術の1つであるNLPまたは自然言語処理は、さまざまな方法で使用されています。 その主なアプリケーションには、自動単語修正、自動予測、チャットボットと音声アシスタント、仮想アシスタントでの音声認識、人間の音声の感情分析、電子メールとスパムのフィルタリング、翻訳、ソーシャルメディア分析、ターゲット広告、テキストの要約、スキャンの再開などがあります。とりわけ、募集。 自然言語理解(NLU)のような概念を生み出すNLPのさらなる進歩は、複雑なタスクからより高い精度とはるかに優れた結果を達成するのに役立っています。

NLPを学ぶために数学を勉強する必要がありますか?

オフラインとオンラインの両方で利用できる豊富なリソースにより、NLPを学習するために設計された学習資料に簡単にアクセスできるようになりました。 これらの研究リソースはすべて、全体像ではなく、NLPと呼ばれるこの広大な分野の特定の概念に関するものです。 しかし、数学がNLPの概念の一部であるかどうか疑問に思う場合は、数学がNLPの重要な部分であることを知っておく必要があります。 数学、特に確率論、統計、線形代数、微積分は、NLPを駆動するアルゴリズムの基本的な柱です。 統計の基本を理解しておくと、必要に応じて統計を構築できるので役立ちます。 それでも、数学に入らずに自然言語処理を学ぶ方法はありません。

情報を抽出するために使用されるいくつかのNLP技術は何ですか?

このデジタル時代では、主にソーシャルメディアプラットフォーム、顧客からの苦情、調査などのさまざまなチャネルからの音声、画像、ビデオ、テキストの形式で、非構造化データの生成が大幅に増加しています。 NLPは、大量の非構造化データから有用な情報を抽出するのに役立ち、ビジネスに役立ちます。 洞察に満ちたデータを抽出するために使用される5つの一般的なNLP手法があります。つまり、名前付きエンティティの認識、テキストの要約、感情分析、アスペクトマイニング、トピックモデリングです。 NLPには他にも多くのデータ抽出方法がありますが、これらが最も一般的に使用されています。