文中に同じ助詞が複数出てくるのをチェックするtextlintルールです。
例)
材料不足で代替素材で製品を作った。
で という助詞が一文で複数回でてきているのをチェックすることができます。
npm install textlint-rule-no-doubled-joshi
Require: textlint 5.0 >=
Dependencies
- azu/kuromojin a wrapper of kuromoji.js
- azu/sentence-splitter
Via .textlintrc
(推奨)
{
"rules": {
"no-doubled-joshi": {
"min_interval" : 1,
"strict": false,
"allow": []
}
}
}
Via CLI
textlint --rule no-doubled-joshi README.md
.textlintrc
options.
{
"rules": {
"no-doubled-joshi": {
// 助詞のtoken同士の距離が2以下ならエラー
"min_interval" : 2,
// 例外を許可するかどうか
"strict": false,
// 助詞のうち「も」「や」は複数回の出現を許す
"allow": ["も","や"],
// 文区切り文字の配列
"separatorChars": ["。",,"?","!","?","!"]
}
}
}
min_interval
(default: 1) : 助詞の最低間隔値- 指定した間隔値以下で同じ助詞が出現した場合エラーが出力されます。
strict
(default: false) :例外もエラーとするかどうか- 下記参照。例外としているものもエラーとするかどうか
allow
(default: []) :複数回の出現を許す助詞- 並立の助詞など、複数回出現しても無視する助詞を指定します。
separatorChars
(default: ["。","?","!","?","!"]) : 文の区切り文字として使用する文字の配列- ピリオドや全角ピリオドを句点とする文章を評価するときは明示的に指定します。
私は彼は好き
この場合の、はとはの間隔値は1
既存の文と絵の修正
この場合の、のとのの間隔値は2(のの間にとがある)
ある助詞(かつ品詞細分類)が一致するものが、一定最低間隔値(距離)以下に書かれている場合を検出する。
元ネタは助詞が1文(センテンス)に2回以上でてきた際にエラーとしてる。
少し厳しすぎると感じたので、1文(センテンス)ではなく最低間隔値(距離)という概念を導入した
この書籍はJavaScriptのライブラリやツールにおけるプラグインアーキテクチャを見ていく事を目的としたものです
この場合 "を" が最低間隔値2で並んでいるため、デフォルト設定ではエラーとしている。
助詞にはどのようなものがあるかは次のサイトで確認できます。
以下の項目については、曖昧性があるため助詞が連続していてもデフォルトではエラーとして扱わない。
設定が { strict: true }
ならばエラーとするが、デフォルトでは{ strict: false }
となっている。
"の" の重なりは例外として許可する。
- 第8回:読みやすさへの工夫 3(てにおは助詞) - たくみの匠
- 作文入門
- "の" の消し方について
オブジェクトを返す関数を公開する
"を" の重なりは例外として許可する。
試していただいて
接続助詞 "て" の重なりは例外として許可する。
その他の助詞も例外として扱いたい場合は allow
オプションを利用する。
デフォルトでは次の文はエラーとなる。
太字も強調も同じように無視されます。
オプションで"allow": ["も"]
を指定することで、もを例として扱うことができる。
{
"rules": {
"no-doubled-joshi": {
// 助詞のうち「も」は複数回の出現を許す
"allow": ["も"]
}
}
}
右がiPhone、左がAndroidです。
"、"を間隔値+1としてカウントするため、上記の文章はデフォルトでは許容される。
npm test
- Doubled Joshi Validator · Issue #460 · redpen-cc/redpen
- 事象の構造から見る二重デ格構文の発生
- 第8回:読みやすさへの工夫 3(てにおは助詞) - たくみの匠
- (Microsoft Word - JCLWorkshop2013_2\214\303\213{.doc) - JCLWorkshop_No3_02.pdf
- 助詞の連続使用を避け分かりやすい文章を書こう! - 有限な時間の果てに
- 作文入門
- 形態素解析ツールの品詞体系
- 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