---
spec_id: SPEC-A31-031
status: canonical
owner: bamboocity
last_reviewed: 2025-09-13
category: QUALITY
sources: [E2E]
tags: [a31, auto-evaluation, checklist, proofread, quality]
---
# SPEC-A31-031: 誤字脱字基本チェック自動修正機能

## 概要
A31チェックリスト項目「誤字脱字の基本チェック」に対応する自動修正機能の実装。

## 機能要件

### 1. 基本的な誤字パターン検出・修正
- **ひらがな誤字**: 「だつた」→「だった」、「してる」→「している」
- **カタカナ誤字**: 「モンスター」→「モンスター」（全角統一）
- **漢字変換ミス**: 「合った」→「あった」（文脈に応じて）
- **送り仮名ミス**: 「行なう」→「行う」、「云う」→「言う」

### 2. 句読点・記号の修正
- **句読点**: 「。、」→「。」（重複除去）
- **疑問符**: 「？」→「？」（全角統一）
- **感嘆符**: 「！」→「！」（全角統一）

### 3. 文字種統合
- **数字**: 「１２３」→「123」（半角統一）
- **英字**: 「ＡＢＣ」→「ABC」（半角統一）
- **カッコ**: 「（）」→「（）」（全角統一）

### 4. 修正レベル対応
- **safe**: 明らかな誤字のみ修正（誤修正リスク極小）
- **standard**: 一般的な誤字パターンを修正
- **interactive**: 疑わしいパターンも修正候補として提示

## 技術仕様

### インターフェース
```python
def _fix_basic_proofreading(
    self,
    content: str,
    item: A31ChecklistItem,
    evaluation: EvaluationResult
) -> tuple[str, list[str]]:
```

### 戻り値
- `tuple[str, list[str]]`: (修正後コンテンツ, 修正内容リスト)

### エラーハンドリング
- 修正失敗時は元のコンテンツを返却
- 例外は上位レイヤーでキャッチ

## 品質要件
- **精度**: 誤修正率 < 5%
- **カバレッジ**: 一般的な誤字の80%以上を検出
- **パフォーマンス**: 10,000文字の処理を1秒以内

## テストケース
1. 基本的な誤字修正
2. 句読点・記号の正規化
3. 文字種統合
4. 誤修正の防止
5. 大容量テキストでのパフォーマンス
