Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編)
日程:2019/10/03(木)19:00 〜 20:30
募集期間:2019/09/06(金) 10:30 〜 2019/10/03(木) 19:00
会場:株式会社サムライズム
東京都豊島区南池袋2-33-6佐藤ビルディング7F
主催 : Tomoko Uchida
募集内容 | 参加枠 無料 先着順 |
---|
概要
Apache Solr や Elasticsearch の日本語検索で使われている,Apache Lucene 付属の日本語形態素解析器 Kuromoji (https://github.com/apache/lucene-solr/tree/master/lucene/analysis/kuromoji) のソースコードをみんなで読む会です。
進め方は,@moco_beta がソースコード解説の体で話しつつ,参加者からの質問やつっこみを交えながら知見が共有できればいいなと思っています。
1回で読み切るには分量が多いので,今回はシステム辞書ビルダーとエンコーダー/デコーダー周り(BinaryDictionary + DictionaryBuilder + FST)に絞って資料を作ります。
省メモリかつ高速な解析を実現するために実装上どんな工夫がおこなわれているのか,を中心に見ていきます。
また時間が許せば,いま進行中のこの JIRA Issue について紹介と,展望(野望?)を語ります。
LUCENE-8816: Decouple Kuromoji’s morphological analyser and its dictionary
会場提供は(株)サムライズム様 です。
対象者
こんな方が楽しめるかもしれません。
- 業務 or 趣味で Kuromoji を使っているが中身(実装)に興味がある/改造したい/改造している
- Kuromoji の運用で困っていることがあり相談したい
- Lucene, Solr の開発に参加/コントリビュートしてみたい
- Solr, Elasticsearch における, out-of-the-box な日本語検索の未来に興味がある
※基礎的な形態素解析のアルゴリズム解説等は行いません。
そのあたりは Web 上に良い資料がたくさんあるので,必要な方は事前に調べてみてください。
準備
ソースコードを読むので,Java の知識はあるほうが良いでしょう。
必須ではありませんが,Lucene/Solr のコードをチェックアウトして,手元の IDE (IntelliJ IDEA or Eclipse がオススメ) で確認できるように準備しておくとより楽しいと思います。
https://github.com/apache/lucene-solr
JDK 11 (以上)と Ant が必要です。
入っていない場合は ここ と ここ からインストールしてください。
または SDKMAN でもOK。
$ git clone https://github.com/apache/lucene-solr.git
$ cd lucene-solr
$ ant ivy-bootstrap
$ ant idea # IDEA 使いの方
$ ant eclipse # Eclipse 使いの方
発表者について
Tomoko Uchida : @moco_beta
検索が好きなプログラマ。
Apache Lucene のサンデーコミッター。
Apache Solr 入門3版共著者。
最近は Elasticsearch と戯れている。
発表者
just another search-loving programmer.