A wrapper of morpheme-match API. Match all kuromoji's tokens.
kuromojinのtoken同士を比較して、 形態素解析結果を元にしたtoken辞書による比較を行うライブラリです。
Install with npm:
npm install morpheme-match-all
morpheme-match-all compare two kuromoji's tokens using morpheme-match.
You can see kuromoji's tokens at azu.github.io/morpheme-match/.
Define dictionary as tokens
list.
"use strict";
module.exports = [
{
// https://azu.github.io/morpheme-match/?text=解析(することができます)。
message: `"することができる"は有害 http://qiita.com/takahi-i/items/a93dc2ff42af6b93f6e0`,
tokens: [
{
"surface_form": "する",
"pos": "動詞",
"pos_detail_1": "自立",
"pos_detail_2": "*",
"pos_detail_3": "*",
"conjugated_type": "サ変・スル",
"conjugated_form": "基本形",
"basic_form": "する",
"reading": "スル",
"pronunciation": "スル"
},
{
"surface_form": "こと",
"pos": "名詞",
"pos_detail_1": "非自立",
"pos_detail_2": "一般",
"pos_detail_3": "*",
"conjugated_type": "*",
"conjugated_form": "*",
"basic_form": "こと",
"reading": "コト",
"pronunciation": "コト"
},
{
"surface_form": "が",
"pos": "助詞",
"pos_detail_1": "格助詞",
"pos_detail_2": "一般",
"pos_detail_3": "*",
"conjugated_type": "*",
"conjugated_form": "*",
"basic_form": "が",
"reading": "ガ",
"pronunciation": "ガ"
},
{
"pos": "動詞",
"pos_detail_1": "自立",
"conjugated_type": "一段",
"conjugated_form": "連用形",
"basic_form": "できる",
}
]
}
];
morpheme-match-all the actual tokens generated by kuromojin(kuromoji.js).
const kuromojin = require("kuromojin");
const {createMatcher} = require("morpheme-match-all");
const dictionaries = require("./fixtures/dictionary");
const matchAll = createMatcher(dictionaries);
return kuromojin("解析することができます。").then((actualTokens) => {
const results = matchAll(actualTokens);
/**
[ { tokens: [ [Object], [Object], [Object], [Object] ],
index: 1,
expected:
{ message: '"することができる"は有害 http://qiita.com/takahi-i/items/a93dc2ff42af6b93f6e0',
tokens: [Object] } } ]
*/
});
Type: Object
Type: Object
tokens
Array<Object> match tokens,index
number index of first match tokenskipped
Array<boolean> skipped values for tokensdict
Array<ExpectedDictionary> dictionary defined by you
dictionaries
Array<ExpectedDictionary>
Returns morphemeMatchAll
match actualTokens
with dictionaries
Returns Array<MatchResult>
- textlint-ja/textlint-rule-no-insert-dropping-sa: サ抜き、サ入れ表現の誤用をチェックするtextlintルール
- textlint-ja/textlint-rule-ja-no-redundant-expression: 冗長な表現を禁止するtextlintルール
See Releases page.
Install devDependencies and Run npm test
:
npm i -d && npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT © azu