日本語形態素解析ライブラリーのKuromojiのJavaScript実装であるkuromoji.jsをTypeScriptで書き直したものです。
デモサイトで動作を体験できます。
npmなどで@nazo-site/kuromoji.ts
パッケージをインストールします。
% npm install @nazo-site/kuromoji.ts
dist/index.browser.js(ESM形式)またはdist/index.browser.umd.cjs(CJS形式)をHTMLファイルから読み込める場所に配置します。
辞書データをファイルシステムから読み込む方法とフェッチAPIで読み込む方法があります。
buildFSTokenizer
関数はファイルシステムから辞書データを読み込みます。
import { buildFSTokenizer } from "@nazo-site/kuromoji.ts";
const tokenizer = await buildFSTokenizer({ dictionaryPath: "path/to/dictionary/dir/" });
const tokens = tokenizer.tokenize("すもももももももものうち");
console.log(tokens);
buildFetchTokenizer
関数はフェッチAPIで辞書データを読み込みます。
import { buildFetchTokenizer } from "@nazo-site/kuromoji.ts";
const tokenizer = await buildFetchTokenizer({ dictionaryPath: "url/to/dictionary/dir/" });
const tokens = tokenizer.tokenize("すもももももももものうち");
console.log(tokens);
スクリプトをESModule(ESM)形式で読み込む方法とCommonJS(CJS)形式で読み込む方法があります。
辞書データはフェッチAPIで読み込みます。
<script type="module">
import { buildFetchTokenizer } from "url/to/@nazo-site/kuromoji.ts/index.browser.js";
const tokenizer = await buildFetchTokenizer({ dictionaryPath: "url/to/dictionary/dir/" });
const tokens = tokenizer.tokenize("すもももももももものうち");
console.log(tokens);
</script>
<script src="url/to/@nazo-site/kuromoji.ts/index.browser.umd.cjs"></script>
<script>
globalThis["@nazo-site/kuromoji-ts"].buildFetchTokenizer({ dictionaryPath: "url/to/dictionary/dir/" }).then((tokenizer) => {
const tokens = tokenizer.tokenize("すもももももももものうち");
console.log(tokens);
});
</script>
tokenize
関数は下記のようなJSONの配列を返します。
(この型はsrc/util/IpadicFormatter.tsで定義されています。)
[{
wordId: 509800, // 辞書内での単語ID
wordType: "KNOWN", // 単語タイプ(辞書に登録されている単語ならKNOWN, 未知語ならUNKNOWN)
wordPosition: 1, // 単語の開始位置
surfaceForm: "黒文字", // 表層形
pos: "名詞", // 品詞
posDetail1: "一般", // 品詞細分類1
posDetail2: "*", // 品詞細分類2
posDetail3: "*", // 品詞細分類3
conjugatedType: "*", // 活用型
conjugatedForm: "*", // 活用形
basicForm: "黒文字", // 基本形
reading: "クロモジ", // 読み
pronunciation: "クロモジ", // 発音
}]
- このソフトウェアはApache License 2.0で配布されます。
- このソフトウェアはkuromoji.jsのソースコードを改変して含んでいます。
kuromoji.jsはApache License 2.0で配布されています。 - このソフトウェアはkuromoji.jsの依存先のdoublearrayのソースコードを改変して含んでいます。
doublearrayはMITライセンスで配布されています。 - このソフトウェアにはmecab-ipadic-2.7.0-20070801のデータを同梱しています。
詳細についてはNOTICE.mdを参照してください。