Skip to content

Commit

Permalink
update readme and changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
mh-northlander committed Nov 19, 2024
1 parent 2424b7f commit a95e249
Show file tree
Hide file tree
Showing 5 changed files with 118 additions and 83 deletions.
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ Also check [python changelog](python/CHANGELOG.md).

## [Unreleased]

## [0.6.9](https://github.com/WorksApplications/sudachi.rs/releases/tag/v0.6.9) (2024-11-19)

### Added

- freebsd support (#222 by @KonstantinDjairo, #251)
- Add rust minimum support version (#255)
- Add option for embedded config and fallback resources (#262 by @Kuuuube)

### Changed

- `fetch_dictionary.sh` targets latest dictionary by default (#240)
- update dependencies (#241, #246)
- Migrate from structopt to clap (#248 by @tkhshtsh0917)

## [0.6.8](https://github.com/WorksApplications/sudachi.rs/releases/tag/v0.6.8) (2023-12-14)

### Highlights
Expand Down
73 changes: 39 additions & 34 deletions README.ja.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# sudachi.rs - 日本語README
# sudachi.rs - 日本語 README

<p align="center"><img width="100" src="logo.png" alt="sudachi.rs logo"></p>

sudachi.rs は日本語形態素解析器 [Sudachi](https://github.com/WorksApplications/Sudachi) のRust実装です
sudachi.rs は日本語形態素解析器 [Sudachi](https://github.com/WorksApplications/Sudachi) の Rust 実装です

[English README](README.md) [SudachiPy Documentation](https://worksapplications.github.io/sudachi.rs/python)
[English README](README.md), [SudachiPy Documentation](./python/README.md)

## TL;DR

SudachiPyとして使うには
Python 版のインストール:

```bash
$ pip install --upgrade 'sudachipy>=0.6.8'
pip install --upgrade 'sudachipy>=0.6.9'
```

Rust 版のインストール:

```bash
$ git clone https://github.com/WorksApplications/sudachi.rs.git
$ cd ./sudachi.rs
Expand All @@ -30,7 +33,7 @@ EOS

複数粒度での分割

```
```sh
$ echo 選挙管理委員会 | sudachi
選挙管理委員会 名詞,固有名詞,一般,*,*,* 選挙管理委員会
EOS
Expand All @@ -45,7 +48,7 @@ EOS

正規化表記

```
```sh
$ echo 打込む かつ丼 附属 vintage | sudachi
打込む 動詞,一般,*,*,五段-マ行,終止形-一般 打ち込む
空白,*,*,*,*,*
Expand All @@ -59,7 +62,7 @@ EOS

分かち書き出力

```
```sh
$ cat lemon.txt
えたいの知れない不吉な塊が私の心を始終圧えつけていた。
焦躁と言おうか、嫌悪と言おうか――酒を飲んだあとに宿酔があるように、酒を毎日飲んでいると宿酔に相当した時期がやって来る。
Expand All @@ -71,28 +74,31 @@ $ sudachi --wakati lemon.txt
それ が 来 た の だ 。 これ は ちょっと いけ なかっ た 。
```


## セットアップ

sudachi.rs本体に加え、デフォルトで使用するプラグイン、また辞書が必要になります。※パッケージには辞書が含まれていません。
sudachi.rs 本体に加え、デフォルトで使用するプラグイン、また辞書が必要になります。※パッケージには辞書が含まれていません。

### 1. ソースコードの取得

```
$ git clone https://github.com/WorksApplications/sudachi.rs.git
```sh
git clone https://github.com/WorksApplications/sudachi.rs.git
```

### 2. Sudachi辞書のダウンロード
### 2. Sudachi 辞書のダウンロード

[WorksApplications/SudachiDict](https://github.com/WorksApplications/SudachiDict)から辞書のzipファイル`small``core``full` から一つ選択)し、解凍して、必要であれば中にある `system_*.dic` ファイルをわかりやすい位置に置いてください。
[WorksApplications/SudachiDict](https://github.com/WorksApplications/SudachiDict)から辞書の zip ファイル`small``core``full` から一つ選択)し、解凍して、必要であれば中にある `system_*.dic` ファイルをわかりやすい位置に置いてください。
デフォルトの設定ファイルでは、辞書ファイルが `resources/system.dic` に存在していると指定しています(ファイル名が `system.dic` に変わっていることに注意)。

#### ダウンロードスクリプト

上記のように手動で設置する以外に、レポジトリにあるスクリプトを使って自動的に辞書をダウンロードし `resources/system.dic` として設置することもできます。

```
$ ./fetch_dictionary.sh
```sh
# fetch latest core dictionary
./fetch_dictionary.sh

# fetch dictionary of specified version and type
./fetch_dictionary.sh 20241021 small
```

### 3. ビルド
Expand All @@ -101,8 +107,8 @@ $ ./fetch_dictionary.sh

`--all` フラグを使って付属のプラグインもまとめてビルドすることができます。

```
$ cargo build --release
```sh
cargo build --release
```

#### ビルド(辞書バイナリの埋め込み)
Expand All @@ -116,7 +122,8 @@ $ cargo build --release
ビルド時、埋め込む辞書へのパスを `SUDACHI_DICT_PATH` 環境変数によって指定する必要があります。
このパスは絶対パスもしくは sudachi.rs ディレクトリからの相対パスで指定してください。

Unix-likeシステムでの例:
Unix-like システムでの例:

```sh
# resources/system.dic への辞書ダウンロード
$ ./fetch_dictionary.sh
Expand All @@ -130,10 +137,11 @@ $ env SUDACHI_DICT_PATH=resources/system.dic cargo build --release --features ba
$ env SUDACHI_DICT_PATH=/path/to/my-sudachi.dic cargo build --release --features bake_dictionary
```


### 4. インストール
```
sudachi.rs/ $ cargo install --path sudachi-cli/

```sh
$ cd sudachi.rs/
$ cargo install --path sudachi-cli/

$ which sudachi
/Users/<USER>/.cargo/bin/sudachi
Expand All @@ -144,7 +152,6 @@ A Japanese tokenizer
...
```


## 利用方法

```bash
Expand Down Expand Up @@ -204,12 +211,12 @@ Options:

- 辞書形
- 読み
- 辞書ID
- 0 システム辞書
- 1 ユーザー辞書
- -1 未知語(辞書に含まれない単語)
- 同義語グループID
- "OOV" 未知語(辞書に含まれない単語)の場合のみ
- 辞書 ID
- `0` システム辞書
- `1` ユーザー辞書
- `-1` 未知語(辞書に含まれない単語)
- 同義語グループ ID
- `(OOV)` 未知語(辞書に含まれない単語)の場合のみ

```bash
$ echo "外国人参政権" | sudachi -a
Expand All @@ -231,14 +238,12 @@ $ echo "外国人参政権" | sudachi -m A -w
外国 人 参政 権
```


## ToDo

- [x] 未知語処理
- [ ] 簡単な辞書ファイルのインストール、管理([SudachiPyでの方式を参考に](https://github.com/WorksApplications/SudachiPy/issues/73)
- [ ] 簡単な辞書ファイルのインストール、管理([SudachiPy での方式を参考に](https://github.com/WorksApplications/SudachiPy/issues/73)
- [ ] crates.io への登録


## リファレンス

### Sudachi
Expand All @@ -248,12 +253,12 @@ $ echo "外国人参政権" | sudachi -m A -w
- [WorksApplications/SudachiPy](https://github.com/WorksApplications/SudachiPy)
- [msnoigrs/gosudachi](https://github.com/msnoigrs/gosudachi)

### Rustによる形態素解析器の実装
### Rust による形態素解析器の実装

- [agatan/yoin: A Japanese Morphological Analyzer written in pure Rust](https://github.com/agatan/yoin)
- [wareya/notmecab-rs: notmecab-rs is a very basic mecab clone, designed only to do parsing, not training.](https://github.com/wareya/notmecab-rs)

### ロゴ

- [Sudachiのロゴ](https://github.com/WorksApplications/Sudachi/blob/develop/docs/Sudachi.png)
- [Sudachi のロゴ](https://github.com/WorksApplications/Sudachi/blob/develop/docs/Sudachi.png)
- カニのイラスト: [Pixabay](https://pixabay.com/ja/vectors/%E5%8B%95%E7%89%A9-%E3%82%AB%E3%83%8B-%E7%94%B2%E6%AE%BB%E9%A1%9E-%E6%B5%B7-2029728/)
50 changes: 27 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@

[![Rust](https://github.com/WorksApplications/sudachi.rs/actions/workflows/rust.yml/badge.svg)](https://github.com/WorksApplications/sudachi.rs/actions/workflows/rust.yml)

**2023-12-14 UPDATE**: [0.6.8 Release](https://github.com/WorksApplications/sudachi.rs/releases/tag/v0.6.7)

Try it:
```shell
pip install --upgrade 'sudachipy>=0.6.8'
```


<p align="center"><img width="100" src="logo.png" alt="sudachi.rs logo"></p>

sudachi.rs is a Rust implementation of [Sudachi](https://github.com/WorksApplications/Sudachi), a Japanese morphological analyzer.

[日本語 README](README.ja.md) [SudachiPy Documentation](https://worksapplications.github.io/sudachi.rs/python)
[日本語 README](README.ja.md), [SudachiPy Documentation](./python/README.md)

## TL;DR

Install Python version

```bash
pip install --upgrade 'sudachipy>=0.6.9'
```

or Rust version

```bash
$ git clone https://github.com/WorksApplications/sudachi.rs.git
$ cd ./sudachi.rs
Expand Down Expand Up @@ -76,15 +76,14 @@ $ sudachi --wakati lemon.txt
それ が 来 た の だ 。 これ は ちょっと いけ なかっ た 。
```


## Setup

You need sudachi.rs, default plugins, and a dictionary. (This crate don't include dictionary.)

### 1. Get the source code

```
$ git clone https://github.com/WorksApplications/sudachi.rs.git
```sh
git clone https://github.com/WorksApplications/sudachi.rs.git
```

### 2. Download a Sudachi Dictionary
Expand All @@ -95,16 +94,20 @@ By the default setting file, sudachi.rs assumes that it is placed at `resources/

#### Convenience Script

Optionally, you can use the [`fetch_dictionary.sh`](fetch_dictionary.sh) shell script to download a dictionary and install it to `resources/system.dic`.
Optionally, you can use the [`fetch_dictionary.sh`](fetch_dictionary.sh) shell script to download a dictionary and install it to `resources/system.dic` (overrides).

```
$ ./fetch_dictionary.sh
```sh
# fetch latest core dictionary
./fetch_dictionary.sh

# fetch dictionary of specified version and type
./fetch_dictionary.sh 20241021 small
```

### 3. Build

```
$ cargo build --release
```sh
cargo build --release
```

#### Build (bake dictionary into binary)
Expand All @@ -119,6 +122,7 @@ You must specify the path the dictionary file in the `SUDACHI_DICT_PATH` environ
`SUDACHI_DICT_PATH` is relative to the sudachi.rs directory (or absolute).

Example on Unix-like system:

```sh
# Download dictionary to resources/system.dic
$ ./fetch_dictionary.sh
Expand All @@ -132,11 +136,11 @@ $ env SUDACHI_DICT_PATH=resources/system.dic cargo build --release --features ba
$ env SUDACHI_DICT_PATH=/path/to/my-sudachi.dic cargo build --release --features bake_dictionary
```


### 4. Install

```
sudachi.rs/ $ cargo install --path sudachi-cli/
```sh
$ cd sudachi.rs/
$ cargo install --path sudachi-cli/

$ which sudachi
/Users/<USER>/.cargo/bin/sudachi
Expand All @@ -147,7 +151,6 @@ A Japanese tokenizer
...
```


## Usage as a command

```bash
Expand Down Expand Up @@ -234,14 +237,16 @@ $ echo "外国人参政権" | sudachi -m A -w
外国 人 参政 権
```

## API

See [API reference page](https://worksapplications.github.io/sudachi.rs/rust/sudachi/).

## ToDo

- [x] Out of Vocabulary handling
- [ ] Easy dictionary file install & management, [similar to SudachiPy](https://github.com/WorksApplications/SudachiPy/issues/73)
- [ ] Registration to crates.io


## References

### Sudachi
Expand All @@ -251,7 +256,6 @@ $ echo "外国人参政権" | sudachi -m A -w
- [WorksApplications/SudachiPy](https://github.com/WorksApplications/SudachiPy)
- [msnoigrs/gosudachi](https://github.com/msnoigrs/gosudachi)


### Morphological Analyzers in Rust

- [agatan/yoin: A Japanese Morphological Analyzer written in pure Rust](https://github.com/agatan/yoin)
Expand Down
25 changes: 25 additions & 0 deletions python/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,31 @@ Also check [rust changelog](../CHANGELOG.md).

## [Unreleased]

## [0.6.9](https://github.com/WorksApplications/sudachi.rs/releases/tag/v0.6.9) (2024-11-19)

### Added

- Allow string literals as `SplitMode` (#245)
- Add `sudachipy.Config` and `sudachipy.errors.SudachiError` to default import (#260)
- Update PyO3 dependency to v0.22 (#265, #276)

### Changed

- `-s` (system dictionary path) of `sudachi ubuild` command is now required (#239)
- Migrate from setup.py install (#252)
- `-d` option of sudachi cli (which is no-op) now warns (#278)
- Update the output of `sudachi dump` subcommand (#277)

### Fixed

- Documentation fix/update (#247 by @t-yamamura, #250, #268)
- Change the way how python error is raised (#273)
- Fix clippy warnings without breaking changes (#263)

### Removed

- Remove Python 3.7 support as it reaches its end of life (https://devguide.python.org/versions/).

## [0.6.8](https://github.com/WorksApplications/sudachi.rs/releases/tag/v0.6.8) (2023-12-14)

- Produce builds for Python 3.12 (#236)
Expand Down
Loading

0 comments on commit a95e249

Please sign in to comment.