お知らせ 【技術コミュニティ運営者の皆さま】成長し続けるエンジニアを支援する「Forkwell」と「connpass」が連携し、connpass上でイベントを開催する技術コミュニティを2020年3月末まで支援いたします。詳しくはこちら by Forkwell

このエントリーをはてなブックマークに追加

10月

3

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編)

Solr, Elasticsearch の日本語検索の中身を覗く

Organizing : Tomoko Uchida

Hashtag :#kuromoji
Registration info

参加枠

Free

FCFS
22/16

Description

概要

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

会場提供は(株)サムライズム様 です。

タイムテーブル

※目安です。当日の進み具合に合わせて調整します。

時間 内容
18:45 開場
19:00 ~ 19:10 趣旨説明的な
19:10 ~ 19:40 前半戦 - 準備,FST周りを眺める
19:40 ~ 19:50 休憩
19:50 ~ 20:30 後半戦 - 単語エントリのエンコードを眺める,他
20:30 解散

お品書き

  • コードを読む前に知っておきたいこと
  • Kuromoji システム辞書のアーキテクチャ,バイナリ辞書のありか
  • 見出し語索引(FST)の設計,シリアライズ,データ圧縮の工夫
  • 単語エントリのフォーマット,シリアライズ,データ圧縮の工夫
  • デコーディングについて

対象者

こんな方が楽しめるかもしれませ ん。

  • 業務 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 と戯れている。

プロフィール: https://medium.com/@mocobeta/about-me-b28838ba631f

発表者

Feed

johtani

johtaniさんが資料をアップしました。

10/03/2019 19:16

Tomoko Uchida

Tomoko Uchidaさんが資料をアップしました。

10/03/2019 08:03

Tomoko Uchida

Tomoko Uchida published Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編).

09/05/2019 17:30

Lucene 版 Kuromoji のコードを読む会(辞書ビルダー編) を公開しました!

Group

検索技術勉強会

Search Engineering Tech Talk

Number of events 5

Members 804

Ended

2019/10/03(Thu)

19:00
20:30

開催日時が重複しているイベントに申し込んでいる場合、このイベントには申し込むことができません

Registration Period
2019/09/06(Fri) 10:30 〜
2019/10/03(Thu) 19:00

Location

株式会社サムライズム

東京都豊島区南池袋2-33-6佐藤ビルディング7F

Organizer

Attendees(16)

ikawaha

ikawaha

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

johtani

johtani

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

takuya_a

takuya_a

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

KatsuhikoAnda

KatsuhikoAnda

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

Eiji Shinohara

Eiji Shinohara

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

y_yammt

y_yammt

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

miyaharas

miyaharas

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

onetthree

onetthree

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編)に参加を申し込みました!

kimakira

kimakira

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

_ryook

_ryook

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

Attendees (16)

Waitlist (6)

dtc-tifuku

dtc-tifuku

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

signov

signov

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

daniele

daniele

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

n_k1row

n_k1row

I joined Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編)!

taichi

taichi

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

Yasufumi Mizoguchi

Yasufumi Mizoguchi

Lucene 版 #Kuromoji のコードを読む会(辞書ビルダー編) に参加を申し込みました!

Waitlist (6)

Canceled (7)