2.0.5 • Published 5 years ago
morpheme-match-all v2.0.5
morpheme-match-all
A wrapper of morpheme-match API. Match all kuromoji's tokens.
kuromojinのtoken同士を比較して、 形態素解析結果を元にしたtoken辞書による比較を行うライブラリです。
Install
Install with npm:
npm install morpheme-match-all
Overview
morpheme-match-all compare two kuromoji's tokens using morpheme-match.
You can see kuromoji's tokens at azu.github.io/morpheme-match/.
Dictionary
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] } } ]
*/
});
Usage
Table of Contents
ExpectedDictionary
Type: Object
Properties
MatchResult
Type: Object
Properties
tokens
Array<Object> match tokens,index
number index of first match tokenskipped
Array<boolean> skipped values for tokensdict
Array<ExpectedDictionary> dictionary defined by you
createMatcher
Parameters
dictionaries
Array<ExpectedDictionary>
Returns morphemeMatchAll
morphemeMatchAll
match actualTokens
with dictionaries
Parameters
Returns Array<MatchResult>
参考
- textlint-ja/textlint-rule-no-insert-dropping-sa: サ抜き、サ入れ表現の誤用をチェックするtextlintルール
- textlint-ja/textlint-rule-ja-no-redundant-expression: 冗長な表現を禁止するtextlintルール
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm i -d && npm test
Contributing
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
Author
License
MIT © azu