SNS 等で文書を書くと、よく「お前の書く文章は誤字脱字が多い」とよく言われます。
おそらく私にはそのような特殊能力があるのかと思いますが、ブログだと見ている人から「お前誤字脱字多い」とはなかなか言われず、自分で気づかない限りは、誤字脱字のままかと思います。
この問題を解決するため、RedPen 1.9 ドキュメントのルールを確認したところ、
RedPen
には、SuggestExpression
ルールがあり、語句を辞書として作成すれば、文言の統一はできそうですのでオレオレ辞書を作成して使用してみます。
SuggestExpression
のオレオレ辞書の INPUT にする情報
オレオレ辞書の INPUT になりそうなものを調べたところ以下が見つかりました。
-
azu/technical-word-rules: JavaScript 中心の IT 技術用語の Lint 用辞書
textlint/textlint: The pluggable natural language linter for text and markdown. で使える IT 技術用語の辞書 です。WEB+DB PRESS 用統一ルールの内容も含まれています。 -
外来語(カタカナ)表記ガイドライン 第3版
テクニカルコミュニケーター協会 で提供している外来語表記ガイドラインです。
PDF の一番最後に、表形式で語句の一覧が記載されています。
SuggestExpression
の制約
辞書内の文字列として正規表現は使用できないので、使用するのは諦めます。
正規表現で定義できなくても、表記揺れの統一は十分できると思います。
オレオレ辞書の作り方
オレオレ辞書の作成手順を記載します。
1. 辞書の選択、一次加工
azu/technical-word-rules: JavaScript 中心の IT 技術用語の Lint 用辞書 にリンクのある http://azu.github.io/technical-word-rules/all.json を INPUT として使用し、python スクリプトで一次加工をしました。
一次加工の方針は以下の通りです。
-
単純に文字列に変換可能な正規表現は文字列に置き換える。
-
文字列組み合わせが定義された正規表現は、組み合わせパターン数でファイルサイズが大きくなってしまったため、変換を諦めた。
-
パラメータ
$1
を含む文字列は、後で手動で変換を行うため、ファイル上であらかじめ分類しておく。 -
期待値の末尾が
ー
で終わる文字列は、ルールKatakanaEndHyphen
競合する可能性があるので、ファイル上あらかじめ分類しておく
作成したスクリプトと、出力ファイルは、all.json から RedPen の SuggestExpression ルールの辞書ファイルを作成する
に UP しましたのでそちらをご確認ください。1
2. 出力ファイルを手作業で編集
出力されたファイルを手で編集しました。
以下の作業を実施しています。
-
パラメータ
$1
を含む文字列をざっくり変換。 -
ルール
KatakanaEndHyphen
と競合しそうな行の除去、対象の文字列をKatakanaEndHyphen
の除外文字列として定義する。 -
期待値が、
使うべきではない言葉なので修正してください
となる文字列を、InvalidExpression
ルールの 辞書として定義する。 -
除去しきれなかった正規表現を除去。
-
編集した結果をソートして、重複する表現を除去。
最終的に出来上がった辞書ファイルは、all.json を一次加工後に、手作業で変換した RedPen の辞書ファイル に UP しました。
使ってみた感想
2文字、3文字 の語句は文脈で変換して欲しい場合と、変換して欲しくない場合があります。
実際に使用して、細かいところを調整していきたいと思います。
以上です。
-
自信を持って、ひどいと言えるスクリプトです。 ↩
コメント