句構造解析 (G検定)

句構造解析

1. 定義と概要

句構造解析とは、文脈自由文法にもとづく書き換え規則(生成規則)を文に繰り返し当てはめ、文を句の階層的なまとまりとして構文木に変換する処理です。ここでいう文脈自由文法とは、あらかじめ決めた書き換えルールの集まりで、文の組み立て方を定義する文法の仕組みで、句構造文法とも呼ばれます。また句とは、複数の単語がまとまって1つの働きをするグループのことで、たとえば「大きな犬」で1つの名詞のかたまりを作ります。

構文木とは、文の組み立て方を、枝分かれする木の形の図で表したものです。たとえば「猫が魚を食べる」という文なら、文全体はまず名詞句と動詞句に分かれ、動詞句はさらに名詞句と動詞に分かれるというように、段階的に枝分かれした構造で表されます。

名詞句とは、名詞を中心にしたひとまとまりの語句のことで、ここでは「猫が」がこれにあたります。動詞句とは、動詞を中心にしたひとまとまりの語句のことで、ここでは「魚を食べる」がこれにあたります。

自然言語処理(コンピュータに人間の言葉を扱わせる分野)では、文の構造をコンピュータに扱わせるために構文解析という処理を行います。構文解析には、句のまとまりを階層で捉える句構造解析と、文節(日本語の文を意味の区切れで分けた最小の単位。たとえば「私は」「学校へ」「行く」)どうしの修飾関係を直接結びつけて捉える係り受け解析という2つのアプローチがあり、句構造解析は前者にあたります。

句構造解析は、あらかじめ定義された文脈自由文法の書き換え規則の集合を文に適用し、規則を組み合わせて構文木を作るという手順で進みます。句構造解析は、句構造文法にもとづく構文解析と呼ばれることもあります。

2. 試験対策ポイント

句構造解析でまず押さえておきたいのは、文脈自由文法(句構造文法と呼ばれる形式文法)にもとづき、あらかじめ定義した書き換え規則を文に適用して構文木を作るという処理の流れです。書き換え規則とは、たとえば「文は名詞句と動詞句に分解される」「動詞句はさらに動詞と名詞句に分解される」というように、ある要素をより細かい要素の組み合わせに置き換えるルールを指します。

こうした規則を段階的に適用していくことで、単語の並びだった文が、句というまとまりの階層構造として組み上がっていきます。ここでの要点は、規則をどの順序で適用するか、そして最終的にどのような形の構文木ができあがるかという点です。

構文木の構造そのものも重要な論点です。木構造の末端にあたる葉の部分には実際の単語が置かれ、それ以外の枝分かれの節には名詞句・動詞句といった句の種類を表すラベルが付きます。この葉と節の区別、そして句のラベルが階層的に組み合わさって1つの文を表すという構造の理解が、句構造解析を理解するうえでの土台になります。

句構造解析で使う文法規則と、形態素解析(文を単語に分割し、それぞれの品詞を判定する処理)で使う規則は、扱う階層が異なる点も見落とせません。形態素解析は単語の品詞を判定する処理であるのに対し、句構造解析は判定済みの単語をどう句にまとめるかを扱う処理です。そのため構文解析は、自然言語処理の一連の工程(パイプライン)の中で、形態素解析の後工程に位置づけられます。

3. 関連概念との比較・相違点

関連概念との比較でまず整理したいのは、係り受け解析との違いです。句構造解析は文を句という階層的なまとまりとして捉える方式であるのに対し、係り受け解析は文節どうしの修飾・被修飾の関係を直接結びつけて表す方式です。句構造解析が「どの単語とどの単語がまとまって1つの句を作るか」という積み上げ方に注目するのに対し、係り受け解析は「どの文節がどの文節にかかるか」という2点間の結びつきに注目します。

両者の違いは、捉え方・注目点・よりどころ・相性のよい言語という4つの軸で並べると見通しがよくなります。

観点 句構造解析 係り受け解析
捉え方 文を句という階層的なまとまりとして捉える 文節どうしの修飾・被修飾の関係を直接結びつける
注目点 どの単語とどの単語がまとまって1つの句を作るか どの文節がどの文節にかかるか
よりどころ 文脈自由文法(句構造文法)の書き換え規則 文節間の2点の結びつき
相性のよい言語 語順が文法関係を担う英語のような言語 語順が比較的自由な日本語

こうした住み分けになるのは、英語では語順が変わると文の意味そのものが変わりやすく、句のまとまり方をあらかじめ規則として定義しやすいという事情があるためです。語順が文法関係を担う言語ほど、文脈自由文法にもとづく句構造解析と噛み合いやすいと整理できます。

もう一つの論点は、構文解析という上位概念との関係です。構文解析は句構造解析と係り受け解析の両方を包含する処理工程であり、句構造解析はそのうちの一方式という位置づけになります。つまり句構造解析イコール構文解析ではなく、構文解析という枠組みの中に句構造解析と係り受け解析という2つのアプローチが並んでいる、という包含関係になります。

4. ビジネス・実務での活用シナリオ

機械翻訳の分野では、原文の構文構造を構文木として捉えたうえで、目的言語の語順に組み替える処理に句構造解析の考え方が使われます。英語と日本語のように語順の規則が大きく異なる言語間で訳文を作る場合、単語を1つずつ置き換えるだけでは正しい文になりません。句のまとまりを崩さずに入れ替えることで、意味のかたまりを保ったまま自然な語順の訳文を組み立てる助けになります。

英文校正・ライティング支援ツールでも、句構造解析の考え方が活用されています。入力された文を構文木に分解し、句の組み合わせがあらかじめ定義された文法規則に沿っているかを照合することで、単語単位のスペルチェックだけでは見つけにくい構造上の文法エラーの検出につながります。

チャットボット(人間との対話を自動で行うプログラム)・質問応答システムの前処理としても、句構造解析は使われます。問い合わせ文を句のまとまりに分解し、どの句が主題でどの句が問い合わせ対象かを特定できれば、後続の処理でユーザーの意図を読み取る手がかりになります。

5. 要点まとめ

  • 句構造解析は、文を名詞句・動詞句などの「句」のまとまりに階層的に分解し、構文木(木構造)で表す処理で、文脈自由文法(句構造文法)にもとづく書き換え規則を用います。
  • 構文解析には句構造解析と係り受け解析という2つのアプローチがあり、句構造解析は句のまとまりを、係り受け解析は文節間の修飾関係を捉えるという違いがあります。
  • 語順が文法関係を担う英語では句構造解析との相性がよいとされる一方、語順が比較的自由な日本語では係り受け解析が用いられることが多いです。

6. 確認問題

問1句構造解析は、文を名詞句・動詞句などの「句」のまとまりに階層的に分解し、構文木として表す処理である。

解答・解説をみる

○ 正しい

句構造解析の定義そのものです。文を句の階層構造として木構造で表す点がポイントで、係り受け解析とは異なるアプローチにあたります。

問2句構造解析は、文脈自由文法(句構造文法)にもとづく書き換え規則を文に適用して構文木を作成する。

解答・解説をみる

○ 正しい

文脈自由文法の書き換え規則を段階的に適用して構文木を得るという処理手順が正しい説明です。「文は名詞句と動詞句に分解される」のような規則を組み合わせて木構造を組み立てます。

問3句構造解析は文節どうしの修飾・被修飾の関係を直接表す処理であり、語順が比較的自由な言語との相性がよいとされる。

解答・解説をみる

× 誤り

文節どうしの修飾関係を直接表すのは係り受け解析の説明であり、逆になっています。正しくは、句構造解析は句のまとまりを階層構造で表す処理で、語順が文法関係を担う英語のような言語との相性がよいとされます。