日付と曜日の整合性チェック – ルール辞書活用の極意

【Just Right!・ATOK活用ガイド / Just Right!活用コラム / Just Right!のルール辞書活用の極意】

主なトピック
 ・チェック対象とする日付の表記パターンを決める(第1回)
 ・1年分対応のカレンダー辞書作成と最適化(第2回)
 ・カレンダー辞書の対応強化 – 漢数字への対応など(第3回)

 2022年10月7日に開催されたTCシンポジウム2022の『「AI校正」の現状と可能性を探る』セッションにお声がけいただいたので登壇しました。
セッションでは、下記AI校正ツールをもとに事例紹介やディスカッションがされました。
・株式会社ゼンプロダクツ https://shodo.ink/
・ちゅらデータ株式会社 https://churadata.okinawa/service/chuwrite/
・株式会社ミラセンシズ https://www.ai-editor.jp/
上記のAI校正ツールでできて、標準のJustRight!でできないことの中に、以前辞書作りの相談を受けたことがある事例がありましたので、それをルール辞書で実現できないかトライしてみます。今回は「日付と曜日の整合性チェック」です。

チェック対象とする日付の表記パターンを決める

日付と曜日の整合性チェック 第1回

STEP1 ルール辞書を作成

例えば、来年2023年1月1日は日曜日です。ルール辞書のソースを考えるとき、チェックの対象とする日付の表記パターンとして下記を想定しました。
2023年1月1日(日)
2023年1月1日(日)
2023年1月1日日曜日
2023年1月1日(日曜日)
令和5年1月1日(日曜日)
R5.1.1(日)
R5/1/1(日)
R5.1.1(日)
2023/1/1(月)
2023.1.1(月)
括弧の全角半角、括弧の有無、西暦和暦の違い、年月日の区切り文字の違いをパターンで表記します。
「R5.1.1」だけ別のパターンにしました。なぜか2番目のルールで検出されず、小数点表記と認識されたためです。

「@1月」、「@1日」、「@日以外」は使いまわせるようにグループ定義したものです。「@日以外」は「正解以外を含んだ曜日の表記」を表すグループ定義です。
下記がグループ定義ファイルの内容です。

STEP2 JustRight!でトライ

2023年1月1日が日曜日以外となる表記を指摘することができました。
次回は、これを2023年の一年分作成する過程をご紹介します。一度作成すれば、次年度以降も流用して作成できるはずです。

1年分対応のカレンダー辞書作成と最適化

日付と曜日の整合性チェック 第2回

「日付と曜日の整合性チェック」の続きです。今回は前回のルールをさらに最適化しつつ、2023年の一年分を作成します。
<ご案内>
ご希望の方に、この記事で紹介している日付と曜日の整合性チェック用辞書作成データ、2023年一年分データをお送りします。こちらより、「1年分カレンダーデータ希望」と明記の上、お問合せください。お待ちしております。

STEP1 ルール辞書を作成

「*年*月*日」と漢字で区切る形式と、「/」や「.」で区切る形式ごとに一年分作成します。
テキストエディタで365日分を個別に作成する手間を避け、かつ2024年以降にも流用できるように、Excelの関数、セルの結合などを行って作成しました。
下図の黄色セルは、毎年更新する必要がある箇所です。A列は「曜日」、B列4行目は「年」、M列は正解表記用です。A列とM列はセルのドラックによる連続データ作成で済みます。正解表記用のM列はセルの書式設定で年月日と曜日が1セルにまとめて表示されるようにしています。

A列の値を参照して、H列で曜日を漢字表記に変換しています。

このExcelからコピー&ペーストしてルール辞書のソースファイルとします。

なお、前回「R5.1.1」だけ別パターンにせざるを得なかったところは、「R」と「5.1」に分かれて認識されることが原因と判明したため、「R5」を辞書登録して、まとまりで認識されるようにしました。この登録により、JustRight!による形態素解析の結果を意図した方向に制御しています。

グループ定義も一年分用意します。

STEP2 Just Right!でトライ

想定した年月日曜日の表記の誤りを指摘することができました。
区切り文字の全角/半角なども考慮すれば、検出させるパターンのバリエーションはまだ増やすことができますが、ここまでで実用としては問題ないかと思います。

カレンダー辞書の対応強化 – 漢数字への対応など

日付と曜日の整合性チェック 第3回

「日付と曜日の整合性チェック」の続きです。2023年一年分の辞書を改良します。

主なトピック
 ・改良の概要
 ・改良1:漢数字に対応
 ・改良2:存在しない日付の対応
 ・Just Right!でトライ!
 ・(参考)字種統一のチェックについて

<ご案内>
ご希望の方に、この記事で紹介している日付と曜日の整合性チェック用辞書作成データ、2023年一年分データをお送りします。こちらより、「1年分カレンダーデータ希望」と明記の上、お問合せください。お待ちしております。

改良の概要

2023年一年分の辞書をお使いいただいているユーザー様から、下記コメントをいただきましたので、対応することとしました。
・漢数字について
年表記が漢数字の場合、検出対象外である。
「十」のない表記、たとえば「三〇」や「二九」が検出対象外である。
・存在しない日付について
たとえば「2023年2月29日(水)」が検出対象外である。


改良1:漢数字に対応

各日にちについて、漢数字の年表記を追加することで対応しました。
ルール辞書のソースファイル上で修正するのではなく、元のExcelで1箇所追記してから、再度一式コピペし直しで済みました。

2桁の日にちや月については、漢数字「十」がない表記をグループ定義に追加することで対応しました。

改良2:存在しない日付の対応


存在しない日付、たとえば「2023年2月29日」が出現したら検出、というように個別にルールを追加するのは効率がよくないので、ある程度はまとめます。
各月で31日までは存在しない日にちを個別に検出できるようにします。2月であれば、次のように定義します。

4月、6月、9月、11月は31日だけ検出するように同様に定義します。その他、32日以降は、まとめて定義します。改良前は各月の表記パターンを定義していましたが、全ての月を一つで指定できるように、全ての月の表記をグループ定義に追加しました。

また、日付の範囲として32日以降、40日以降、50日以降、60日以降を指摘するようにグループ定義に追加しました。70日以降も定義できますが、想定せずにここまでとしています。

これらグループ定義を利用して、下記ルール定義で検出するようにしています。

スクリーンショット掲載は省略していますが、形式2(*/*/*~)の場合も検出するようにルール定義を追記しています。

Just Right!でトライ!

想定した年月日と曜日の対応の誤り、および存在しない日付を指摘できるようになりました。
漢数字+アラビア数字という表記が混在していても曜日の指摘もされるようになりました。

参考:字種統一について

字種の混在をチェックしたいときは、Just Righ!の標準機能で検出できます。Just RIght!の校正設定、字種統一を参照ください。
Just Right!活用ガイドの以下のページに掲載
Just RIght!活用ガイド/Just Right!の校正設定と項目/字種統一

Just Right! 活用コラムへ