lindera-ruby 3.0.5

A Ruby binding for Lindera.
Documentation
# Lindera Ruby サンプル

## 事前準備

- Ruby >= 3.1
- Rust ツールチェイン
- Bundler (`gem install bundler`)

## ビルド

`lindera-ruby/` ディレクトリから実行します:

```bash
cd lindera-ruby
bundle install

# IPADIC 辞書を埋め込んでビルド
LINDERA_FEATURES="embed-ipadic" bundle exec rake compile

# 学習機能を含めてビルド
LINDERA_FEATURES="embed-ipadic,train" bundle exec rake compile
```

コンパイル済みの拡張は Rake により `lib/lindera/` に配置されます。

## サンプル

ビルド後、`lindera-ruby/` ディレクトリから実行します:

### 基本的なトークナイズ

```bash
bundle exec ruby examples/tokenize.rb
```

埋め込み IPADIC 辞書を使用し、"normal" モードで日本語テキストをトークナイズします。

### Decompose モード

```bash
bundle exec ruby examples/tokenize_with_decompose.rb
```

"decompose" モードでトークナイズし、複合形態素を分解します。

### フィルター付きトークナイズ

```bash
bundle exec ruby examples/tokenize_with_filters.rb
```

`TokenizerBuilder` API を使用し、文字フィルター(`unicode_normalize`、`japanese_iteration_mark`、`mapping`)とトークンフィルター(`japanese_katakana_stem`、`japanese_stop_tags`、`lowercase`、`japanese_base_form`)を適用するデモです。

### ユーザー辞書

```bash
bundle exec ruby examples/tokenize_with_userdict.rb
```

標準辞書に加えて、`resources/ipadic_simple_userdic.csv` からカスタムユーザー辞書を読み込みます。

### ソースからの辞書ビルド

```bash
bundle exec ruby examples/build_ipadic.rb
```

mecab-ipadic のソース tarball をダウンロードし、Lindera 辞書をビルドします。`tar` コマンドが必要です。

### 学習とエクスポート(`train` feature が必要)

```bash
# 先に train feature を有効にしてビルド
LINDERA_FEATURES="embed-ipadic,train" bundle exec rake compile

bundle exec ruby examples/train_and_export.rb
```

サンプルコーパスから CRF モデルを学習し、辞書ファイルをエクスポートします。