Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第4回】GiNZAによる日本語の自然言語処理:形態素解析、文節分割、係り受け解析、固有表現抽出

はじめに

 近年、AI技術の発展に伴い、自然言語処理が注目されています。自然言語処理(Natural Language Processing:NLP)は、人間の言語(自然言語)を機械で処理し、内容を抽出することです。自然言語処理には、形態素解析構文解析、意味解析、文脈解析などがあり、自然言語処理が用いられている技術として、対話型AIチャットボット、音声認識、翻訳などが挙げられます。この分野の発展は加速しており、これからますます自然言語処理に関する知識やスキルが必要になってくるでしょう。

 2019年にオープンソースの日本語自然言語処理ライブラリのGiNZAが公開されおり、高速かつ高精度に日本語の形態素解析、文節分割、係り受け解析などを実行することができます。

 本記事では、GiNZAによる日本語の自然言語処理として、Google Colaboratoryを用いて形態素解析、文節分割、係り受け解析、固有表現抽出を行う方法を紹介します。

 

 

0. GiNZAのベースとなる技術

 GiNZAのベースとなる技術にはspaCyとSudachiPyがあります。spaCyは、最先端の機械学習技術を組み込んだ自然言語処理フレームワークで、SudachiPyはトークン化処理に利用するオープンソース形態素解析器です。spaCyは、72以上の言語をサポートしており、トークン化(単語に区切ること)、固有表現認識、品詞タグ付け、係り受け解析、文節分割、形態素解析などを実施することができます。

spaCy:spaCy · Industrial-strength Natural Language Processing in Python

SudachiPy:GitHub - WorksApplications/SudachiPy: Python version of Sudachi, a Japanese tokenizer.

 

1. 形態素解析

本記事では、2023年1月20日記事の以下の記事の文言を用いています。

【速報】新型コロナ「5類」移行へ 岸田首相が検討指示 今春にもインフル並みに(FNNプライムオンライン) - Yahoo!ニュース

===

岸田首相は、20日新型コロナウイルス感染症法の位置付けについて、原則として今春、現在の「2類相当」から季節性インフルエンザと同じ「5類」に引き下げる方針を示した。そして、加藤厚労相、後藤新型コロナ対策担当相に対し、専門家による議論を進めるなど、対応の検討を指示した。閣僚との協議の後、岸田首相が記者団に明らかにした。

さらに岸田首相は、マスク着用の考え方など、感染防止対策も見直すとした。

「5類」に引き下げられると、一般の医療機関でも患者を受け入れられるようになる一方、感染者や濃厚接触者の自宅待機など、現在の強い行動制限の法律的な裏付けがなくなる。

また、現在、全額公費で負担している医療費については、政府内では、当面は公費負担を一部継続し、段階的に縮小していくことが検討されている。

===

 

2. 文境界解析

 

3. 文節分割

 

4. 係り受け解析

 

5. 固有表現抽出

 

 

 

おわりに

 本記事では、GiNZAによる自然言語処理として、Google Colaboratoryを用いて形態素解析、文節分割、係り受け解析、固有表現抽出を行う方法を紹介しました。これらの技術をWebスクレイピングを組み合わせてインターネット上の注目ワードを調査することも可能です。以下の記事でも紹介しています。

chantastu.hatenablog.com