自然言語処理A

コーパスと基礎的なテキスト処理

宿題

前処理と正規表現(設定)

  • regular expressions 101

  • Test stringとして下記のテキストをペースト(Pride and Prejudiceの冒頭から)

    “My dear Mr. Bennet,” said his lady to him one day, “have you heard that Netherfield Park is let at last?” Mr. Bennet replied that he had not. “But it is,” returned she; “for Mrs. Long has just been here, and she told me all about it.” Mr. Bennet made no answer. “Do you not want to know who has taken it?” cried his wife impatiently. “You want to tell me, and I have no objection to hearing it.” This was invitation enough.

前処理と正規表現(課題)

  • 文がどこで終わるか、自分で考え、その文境界に相当する文字列をマッチする正規表現を書いてみる(ここでは?“など複数の文字列にマッチングしてもよい)
  • それぞれの(すべての)英語単語(記号を除く)をマッチする正規表現を書いてみる(|My|dear|Mr.|Bennet|said|…)
  • 解答はメールで下さい(正規表現がうまく動作しない場合はその旨を添えて書いてください。文境界は自分の判断になるので)

前処理と正規表現(結果)

  1. 文境界に相当する文字列
    • [.?]
    • \.”|\.?”
    • ([?.]”[ ][A-Z])|([.][ ]“[A-Z])
    • (?<!Mr)(?<!Mrs)[\.\?]”?(?:$|\s(?![a-z]))
  2. 英単語
    • [^\b] or [^\s]
    • [A-Za-z]+
    • [A-Za-z][a-z]+
    • [a-zA-Z]+\.?(?!\s?[“”])(?!$)

例外

  • U.S.A.
  • ...
  • : + 改行
  • 14.6
  • 等など

必ずしも理想的な正規表現が存在しない。単語は言語の書記法にもよるが、少なからず辞書を合わせて行うのが通常である。後で紹介するSpacyでは係り受け構造を踏まえた文割手法を採用している。

コーパスと基礎的な処理例

コーパスとは

以前紹介した資源であるが、どちらもコーパスであるか?

Wikipediaは?

コーパス(1)

Wikipediaのコーパス記事では:「コーパス(英: corpus)は、言語学において、自然言語処理の研究に用いるため、自然言語の文章を構造化し大規模に集積したもの。構造化し、言語的な情報(品詞、統語構造など)を付与している。言語学以外では「全集」を意味することもあり、言語学でも日本語を扱う場合には、「言語全集」「名詞全集」「動詞全集」などと呼ぶとよい[1]。コンピュータ利用が進み、電子化データとして提供している[2]。」

コーパス(2)

  • 言語学では従来に内省で行われてきた研究がデータ(コーパス)の元に行われるようになった
  • 自然言語処理だけでなく言語を材料とする研究分野にコーパスの価値あり
    • コーパス言語学
    • 小規模でも他の資源と組み合わせて研究に役立つ

コーパス(3)

  • コーパスの書類として大まかに均衡コーパスと目的別のコーパスに分類することがある
  • 日本語のコーパスは国立国語研究所がいくつか公開している: link

単なるテキストが存在するのではなく、何らかの目的(方針)があって収集したものがより真相に近い…

コーパス(4)

  • コーパスの作り方の第一歩:テキスト処理

自然言語処理の技術の進歩に連れ、アノテーションをコーパス側で用意することの多くが不要となった。ただし、その技術(ツール)自体の開発のためには未だアノテーションが必要不可欠である(→教師有り学習)。

Spacyで実用的な前処理

“I desire you will do no such thing. Lizzy is not a bit better than the others; and I am sure she is not half so handsome as Jane, nor half so good-humoured as Lydia. But you are always giving her the preference.”

上記のテキストを例に文割、トーケン化、品詞タグ及び形態論情報付与、係り受け解析します。

Colab