https://github.com/otoneko1102/closewords
A library for finding the most similar word from a list of words, supporting Japanese (including kanji). / 最も似た単語を単語群から検索する日本語(漢字含む)対応のライブラリ
https://github.com/otoneko1102/closewords
close closeword japan japanese jp nodejs npm package search word
Last synced: 8 months ago
JSON representation
A library for finding the most similar word from a list of words, supporting Japanese (including kanji). / 最も似た単語を単語群から検索する日本語(漢字含む)対応のライブラリ
- Host: GitHub
- URL: https://github.com/otoneko1102/closewords
- Owner: otoneko1102
- Created: 2024-12-03T03:05:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-27T08:54:39.000Z (over 1 year ago)
- Last Synced: 2024-12-27T08:55:11.498Z (over 1 year ago)
- Topics: close, closeword, japan, japanese, jp, nodejs, npm, package, search, word
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/closewords
- Size: 14.4 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# closewords
A library for finding the most similar word from a list of words, supporting Japanese (including kanji).
最も似た単語を単語群から検索する日本語(漢字含む)対応のライブラリ
> Note: it may be a little slow because it uses morphological analysis. By adopting `worker_threads`, the processing speed is slightly improved compared to the standard.
> 注意: 形態素解析を利用しているため多少遅い可能性があります。`worker_threads` を採用しているため、標準より少しは処理速度は改善されています。
## Usage
##### **closeWords(word: string | { word: string, pronounce?: string }, candidates: Array\, raw?:boolean(default: false)): Promise\\>**
The highest score is 1 (the lowest is 0).
A score of 1 means a perfect character-by-character match.
スコアの最高値は1です(最低値は0です)。
スコアが1の場合、文字列が完全に一致していることを示します。
### Example
```js
const { closeWords } = require('closewords');
(async () => {
const word = '東京';
const candidates = ['東京', 'とっこう', '東きょう', 'とう京', 'とうきょう', 'とーきょー'];
try {
const result = await closeWords(word, candidates);
console.log('結果:', result);
// raw: true
const resultWithScores = await closeWords(word, candidates, true);
console.log('スコアを含む結果:', resultWithScores);
} catch (error) {
console.error('Error:', error);
}
})();
```
### Result
```
結果: [ '東京' ]
スコアを含む結果: [
{ word: '東京', score: 1 },
{ word: 'とう京', score: 0.6933333333333332 },
{ word: 'とうきょう', score: 0.48999999999999994 },
{ word: '東きょう', score: 0.468560606060606 },
{ word: 'とっこう', score: 0.4308888888888888 },
{ word: 'とーきょー', score: 0.41533333333333333 }
]
```
## Change Log
### 2.2.0 --> 2.3.0
Improved Hepburn-style completion.
Format code.
ヘボン式補完を改善しました。
コードをフォーマットしました。
### 2.1.4 --> 2.2.0
`word.pronounce` and `pronounce` in `candidates[]` are completed Hepburn-style.
`word.pronounce` と `candidates[]` 内の `pronounce` をヘボン式で補完するようにしました。
### 2.1.3 --> 2.1.4
Fixed bugs.
バグを修正しました。
### 2.1.2 --> 2.1.3
Fixed score calculation.
スコア計算方法を修正しました。
### 2.1.1 --> 2.1.2
Fixed score calculation.
スコア計算方法を修正しました。
### 2.1.0 --> 2.1.1
Fixed `README`.
Fixed the issue that only a string could be specified in `word`.
Fixed the issue that `word.pronounce` was ignored.
Fixed the issue that non-alphabet could be specified for `word.pronounce` and `pronounce` in `candidates[]`.
`word.pronounce` and `pronounce` in `candidates[]` are now optional.
Fixed a few pther bugs.
`README` を修正しました。
`word` に文字列以外指定できない問題を修正しました。
`word.pronounce` が無視される問題を修正しました。
`word.pronounce` と `candidates[]` 内の `pronounce` にアルファベット以外を指定できる問題を修正しました。
`word.pronounce` と `candidates[]` 内の `pronounce` を任意にしました。
その他数件のバグを修正しました。
### 2.0.0 --> 2.1.0
Added a way to specify the pronunciation of words.
単語の発音を指定する方法を追加しました。
### 1.0.2 --> 2.0.0
Introduced `fast-levenshtein` and fixed score calculation. The similarity of the original strings is also evaluated.
`fast-levenshtein` を導入し、スコア計算方法を修正しました。元の文字列の一致度も評価されるようになりました。
### 1.0.1 --> 1.0.2
Introduced `jaro-winkler` and optimized.
`jaro-winkler` を導入し、最適化しました。
### 1.0.0 --> 1.0.1
Fixed score calculation.
スコア計算方法を修正しました。
### 0.x --> 1.0.0
Package released! Introducing morphological analysis.
パッケージをリリース! 形態素解析を導入しました。