実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス
by Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, 中山 光樹
2章NLPのパイプライン
全体は部分の総和以上のものだ。
全体とは、部分の総和とは別ものである、と言ったほうが正しいだろう。
部分の総和を求めることは意味のない手続きだからだ。
一方、全体と部分の関係には意味がある。
—— クルト・コフカ
前章では、日常的によく使われているNLPのアプリケーションを紹介しました。もし、このようなアプリケーションを作れと言われたら、自分たちならどのようにアプローチするかを考えてみましょう。通常であれば、要件を確認し、問題をいくつかの部分問題に分解し、それらを解決するためのステップを1つずつ開発しようとするでしょう。言語処理であれば、各ステップで必要なテキスト処理をすべて列挙するはずです。このようにテキストを段階的に処理することをパイプラインと呼びます。パイプラインは、あらゆるNLPモデルの構築に関わる一連のステップを指します。これらのステップは、どんなNLPのプロジェクトでも共通しているので、本章で学ぶ価値があります。あらゆるNLPのパイプラインに共通するステップを理解することで、業務で扱うどんなNLPの問題にも取り組めるようになるでしょう。皆さんがどのようなNLPアプリケーションを開発するにせよ、テキストを処理するパイプラインの設計と開発から始めることになります。本章では、NLPの問題解決に関わるさまざまなステップと、それらが果たしている重要な役割を学びます。そして、いつ、どのステップを、どのように使うのかについての指針を確認します。本章以降(たとえば、「4章 テキスト分類」から「7章 その他のトピック」)では、さまざまなNLPタスクに固有なパイプラインについて説明します。
図2-1は、データ駆動によるNLPのシステム開発における汎用的なパイプラインの構成要素を示しています。パイプラインの主なステップは次のとおりです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access