Timetable
Pythonでは日本語や英語など、自然言語処理のためのライブラリが豊富に提供されています。このトークでは「日本語の文章に対してフリガナを振る」というプログラムの作成を通じて、Pythonで自然言語処理ライブラリJanomeとSudachiPyを使用した、日本語を処理する方法について解説します。
はじめに自然言語処理とはどういうものか、今回主に使用する形態素解析について概要を説明します。またゴールとする「フリガナを振るプログラム」ではどういう動作をしてほしいかについて最初に説明します。
前半はJanomeを使用してフリガナを振るプログラムを作成していきます。Janomeを使用した形態素解析のやり方、読みの取得、フリガナを振るプログラム作成を行います。その後辞書の改善によるフリガナの改善を行います。
後半はライブラリとしてSudachiPyを使用します。最初にJanomeとSudachiPyの違いに触れ、SudachiPyで書き直す理由について説明します。SudachiPyを使用した形態素解析のやり方、読みの取得、フリガナを振るプログラムを作成します。フリガナの処理をより洗練させ、ユーザー辞書でのフリガナの改善まで行います。また、小学校で学んだ漢字のリストを作成し、小学校で学んだ漢字にはフリガナを振らない処理を作成します。
- アジェンダ、ゴール(1m)
- Who am I?(1m)
- 自然言語処理とは、形態素解析とは(3m)
- 形態素解析とは、形態素、用途
- フリガナプログラムの仕様(2m)
- Janomeで形態素解析(3m)
- 特徴
- インストール
- 形態素解析を実行
- 読みを取得
- 分かち書き
- Janomeでフリガナ(5m)
- フリガナを振るプログラムを作成
- 送りがな対応
- 辞書をカスタマイズ
- Janomeの課題
- SudachiPyで形態素解析(3m)
- 特徴
- インストール
- 形態素解析を実行
- 読みを取得
- 分かち書き
- SudachiPyでフリガナ(7m)
- フリガナを振るプログラムを作成
- フリガナ処理の改善
- 辞書のカスタマイズ、コスト調整
- フリガナレベル対応(2m)
- まとめ(2m)
Takanori(@takanory) is the Chair of PyCon JP Association and Co-Chair of PyCon JP 2024. He is also a Director of BeProud Inc., and his title is "Python Climber". Currently he teaches Python to beginners as a lecturer at Python Boot Camp all over Japan. In addition, he published several Python books. He plays trumpet, climbs boulder, loves ferrets, beer and Lego.