Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

textlint-rule-no-ambiguous-process-noun-chain

工程・動作名詞を詰め込んだ読みにくい四漢字表現を検出する textlint ルールです。

このルールは「存在しない熟語」や「文法エラー」を断定しません。実装設計の方針をまとめる のように、二つの動作名詞を連結した語が後続の名詞にかかり、読者が関係を取りにくい構造をレビュー対象として報告します。

Checks

対象は、ちょうど 4 文字の漢字列だけです。5 文字以上の漢字連続は、既存の textlint-rule-max-kanji-continuous-len に任せる想定です。

デフォルトでは、次の条件が揃った場合だけ報告します。

  • 4 漢字列である
  • allow に入っていない
  • 前半 2 字と後半 2 字がどちらも kuromojin でサ変接続名詞として扱われる
  • 前半 2 字と後半 2 字がどちらも工程・動作名詞リストに含まれる
  • 直後に の方針の計画の予定 が続く

たとえば 実装設計の方針 は、実装設計 の二つの工程名が連結されたまま 方針 にかかっています。実装の設計方針実装方針と設計方針設計と実装の方針 のように関係を補うと読みやすくなる可能性があります。

一方で、概念深化 のような clean な 2+2 造語はデフォルトでは報告しません。この種の判定は通常の複合名詞との区別が難しく、false positive が増えやすいため、このルールでは扱いません。

Examples

NG

次のような表現は報告されます。二つの工程・動作名詞が連結されたまま後続名詞にかかっており、どの関係を表すのかが取りにくいためです。

実装設計の方針をまとめる。
設計実装の計画を作る。
開発運用の予定を確認する。

OK

次のような表現は報告されません。関係が補われている、単独の通常表現である、またはこのルールの対象外だからです。

実装の設計方針をまとめる。
実装方針と設計方針をまとめる。
設計と実装の方針をまとめる。
開発と運用の予定を確認する。
開発後の運用予定を確認する。
開発から運用までの予定を確認する。
設定変更の方法を説明する。
動作確認の方法を説明する。
概念深化を強調している。

開発運用の予定 は、開発と運用の予定開発後の運用予定開発から運用までの予定 のように、意図に合わせて関係を補えます。設定変更の方法動作確認の方法 は、設定を変更する動作を確認する と読めるため報告しません。概念深化 のような造語らしい 2+2 表現も、現在のルールでは扱いません。

この方針は、日本語の複合名詞では名詞連続が生産的に作られ、構成要素間の関係や構造の曖昧さが問題になる、という複合名詞解析の研究を参考にしています。

詳細な検討は 熟語・四漢字複合語チェックの難しさと手法 にまとめています。

参考:

Install

npm install textlint-rule-no-ambiguous-process-noun-chain

Usage

{
  "rules": {
    "no-ambiguous-process-noun-chain": true
  }
}

Options

{
  "rules": {
    "no-ambiguous-process-noun-chain": {
      "allow": ["実装設計"],
      "relationNouns": ["方針", "計画", "予定"],
      "processNouns": ["設計", "実装", "開発", "運用", "保守", "検証", "評価", "分析"]
    }
  }
}

allow

許可する四漢字表現の配列です。

relationNouns

実装設計の方針方針 のように、直前の動作名詞連結を受ける名詞です。デフォルトは ["方針", "計画", "予定"] です。

processNouns

実装設計 のように、互いに並ぶと工程の列挙にも見えやすい動作名詞です。デフォルトは ["設計", "実装", "開発", "運用", "保守", "検証", "評価", "分析"] です。

About

工程・動作名詞を詰め込んだ読みにくい四漢字表現を検出する textlint ルールです。

Resources

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages