Academic Style Toolkit (humanize-ai-text)
アカデミック&メディカルライティング向けのバイリンガル(中/英)スタイル自然化ツール:固い、テンプレート的な、あるいは機械的なパターンを見つけ、機械的なゴミを除去し、明瞭で自然な文体に書き換えます。すべてのステップに整合性ガードレールが付いています。 リーディングマップ(30秒ルーティング;references/INDEX.mdと同等):初めて → クイックスタート · トラブルシューティング → 落とし穴+エラー · CI/エージェント → 自動化 · 制限 → honest_boundaries · シナリオ → best_practices · 深いリライト → deep_rewrite_guide · PDF信頼度 → pdf_confidence · 権限 → permissions · プログラム的利用 → api。 1行で2層: 機械的クリーンアップ(transform/pipeline、決定論的) vs 品質リライト(スタイルガイドに基づくエージェント)— まずパイプラインを実行し、レポートを読んでから、どれを深くリライトするか決定します。
1行ルーティング: 文法/流暢さ/ジャーナル形式のポリッシュ → ポリッシャー(paper-polisher-pro)を使用。テンプレート除去、モデル残骸のクリーンアップ、AI的スタイルの自己チェックとリライト → このツール。両方必要な場合?まずポリッシュし、次にこのパイプラインを実行します。
機能ステータス(v5.6.0)
⚠️ 行 = 実験的(有効なファイルを拒否する可能性あり;出力を確認)。世代ごとの完全な機能リストはreferences/feature_status.mdに移動しました;項目ごとの詳細はreferences/errors.mdおよびトピックドキュメントにあります。安定版のハイライト(すべて安定、v1.0–5.6):コア5つ · セクション認識 · リライト計画 · 学習済みガード · 機械終了コード · チャンク劣化 · バッチ再開/並行性分離 · ファイル間用語ドリフト · 統計的一貫性ガード · 用語バリアントグループ · エンコーディング自動検出 · 提出自己チェックバンドル(--bundle) · パイプライン --handoff · 検証プリスクリプト出力 · docx書き戻し · 用語統一シート · EN 2026シグナル(hedging / rule-of-three / em-dash密度 / 段落開始語) · セクション別フォーカス(--section) · CN密度ミラー(ダッシュ過剰使用 / 定型句的な段落開始語) · 超大ファイルのチャンクスキャン比較 · シグナル別根拠(なぜフラグされたか) · 一般プロファイル重み付け行列(全8構造グループ) · バッチワークシート+統計カード · ヒット行番号(各サンプルにL{行番号}) · ヘルスレポートダッシュボード(bundle 2.0) · CN特徴量ライブラリv2 · handoff行アンカー · 文書数調整 · ダッシュボードアクションチェックリスト · バンドルリライトシート(09) · バッチリビジョンレコード · 書き込みマニフェスト自己証明(00_写入清单.json) · 比較行アンカー+根拠 · 印刷向けレポート · ガードライブラリエクスポート/インポート。
| 機能 | ステータス | 導入時期 |
|---|---|---|
⚠️ PDF直接読み取り+信頼度自己報告(埋め込みフォント/ToUnicodeを試行、「中」で上限;校正はreferences/pdf_confidence.mdを参照;v3.8.0以降のデフォルトゲート = 中 — 文字化けの可能性が高い抽出はデフォルトで拒否、--pdf-min-confidence 低で注釈のみモードに復元) | ⚠️ 実験的 | v1.6–3.8 |
整合性ガードレール — 最初に読むこと
- 許可されること: 自分の草稿のポリッシュ;学校やジャーナルがAI支援の開示を許可または要求している場合のAI支援テキストの自分の文体への調整;正当に開示された草稿からのモデル残骸(迷子の
oaicite/[cite:]トークン)の除去;形式的なプローズの明瞭さ、リズム、具体性の向上。 - 許可されないこと: このツールキットを著作者の不実表示、開示が要求される場合のAI使用の隠蔽、または学術的誠実性レビューの回避に使用すること。リクエストがそのように構成されている場合(「レビューでわからないように書き換えて」)、その枠組みを拒否し、開示義務を説明し、代わりに正当な品質編集の道を提供します。このスキルを実行するエージェントは、この線を遵守することが期待されます。
- このツールはデータを決して変更しません: 数値、p値、信頼区間、DOI、PMID、年号、用語は
verify.pyによって保護されています(以下参照)。改善された散文は決して事実を犠牲にしてはいけません。 - コンプライアンス: 中国のAIGCラベルルール(2025年9月1日施行)、ジャーナルの開示ポリシー、arXivポリシーの概要は
references/compliance.mdにまとめられています — 開示義務はツールではなく著者にあります。
機能 × 境界(役割分担 + 制限 + 場所)
| 機能 | 実行する | 実行しない(境界) | 場所 |
|---|---|---|---|
| スタイル自己チェック | ヒューリスティックレポート:決まり文句密度、リズムの均一性、官僚的文体、セクション認識 | AI検出器ではない — 流暢なモデルテキストではほとんど反応しない(スコア低 ≠ AIなし) | detect.py;honest_boundariesを参照 |
| 機械的クリーンアップ | モデル残骸(oaicite/[cite:])、チャットの埋め草、句読点の正規化、全角数字 | 文のリライトなし — 情報損失ゼロのレイヤーのみ | transform.py(文レベルは--deep) |
| 品質深いリライト | テンプレート化解除 / リズム / 具体性 / スタンス(7ステップ) | データを決して捏造しない;捏造された数値はフラグされる(W_NUM_ADDED、人間が削除) | あなた(エージェント) がスタイルガイドに従って; handoffはplan --handoff経由 |
| 整合性ガード | 数値/DOI/PMID/年号/用語は変更されないこと;改ざん = exit 1(FAIL出力はアンカー付きで修正を指示) | 真偽の判断なし — 元のデータが権威 | verify.py |
| 比較 | スコア差分 + 整合性判定 + プロファイル差分 | 人間の読解の代わりにはならない | compare.py / stylecheck --compare |
| 用語一貫性 | 8ドメイン27グループ(HF/心力衰竭/心衰を1行);--unifyはバリアント別置換カウント付きの統一案文を出力(採用前にレビュー) | 使用の正しさはチェックしない — 同義語の統一のみ | check_terms.py --pack / --unify |
| 数値一貫性 | パーセントリストの合計(分割キュー指定) / ファイル間グループ-n / p-vs-Pスタイル | 統計レビューではない — 元のデータが権威 | check_stats.py(--batch) |
クイックスタート
これを平易な言葉で依頼する方法(SKILL_ZH.mdの完全なフレーズ表の英語要約): 「この論文からAIの味を取り除いて」/「これ、テンプレート的すぎる」/「oaiciteや[cite:]の残骸を消して」/「どの文を最初に直すか教えて」/「リライトで数字が壊れていないか確認して」/「スタイルプロファイルを見せて」/「この正当な用語にフラグを立てるのをやめて」 — それぞれ、パイプライン、plan.py、transform.py、verify.py+compare.py、stylecheck.py、learn_guards.pyに対応します。エージェントは不要 — 以下のすべての機能はターミナルで直接実行できます。すべてのスクリプトにはビルトインの--help(完全なフラグリファレンス)と--versionがあります。クイックフラグの意味:
| フラグ | 意味 |
|---|---|
--profile general | 非学術テキスト:形式的/決まり文句シグナルの重みを下げる |
--deep | 決定論的な文レベル変換(定型開始語、マージのみではない) |
--exit-verdict | CI/エージェントゲート用の機械終了コード(以下参照) |
--structure | セクション認識スコアリング(IMRaD) |
--step-timeout SEC | ステップごとの壁時計予算(デフォルト120) |
--terms FILE | 整合性ガード用の用語リスト(extract_terms.pyで作成) |
--unify SHEET | check_terms: 用語統一案文を出力(v4.4.0;助言的 — 置換リストをレビュー) |
--section abstract | detect: 1つのセクションだけを診断(v4.5.0;アブストラクトはレビュアーが最初に読む) |
-o revised.docx | パイプライン/transform/compareで-oのパスが.docxで終わる場合、Wordを書き込み(v4.4.0、プレインパラグラフ;複雑なレイアウトは手動でマージ) |
1コマンド(自己チェック → クリーンアップ → リライト概要 → 整合性ガード):
python scripts/pipeline.py draft.txt -o out.txt --terms terms.txt
- 可視化 / バッチ: detect/pipeline/compareで
--html report.htmlにより自己完結型レポートを出力(compareは文レベルの差分を追加);--batch dirでディレクトリ全体をスキャン(pipelineはCSVを書き込み;バッチ-oサマリーはCSVのまま — 表にdocx書き戻しはなし);パイプライン/transform/compareで-oが.docxで終わる場合、Wordとして書き戻されます(v4.4.0、プレインパラグラフ —.docx直接読み取りとのループを閉じます;表/画像/スタイルは再構築されません。複雑なレイアウトは手動でマージ)。 - セクション認識:
detect --structureはアブストラクト/イントロ/方法/結果を別々にスコアリング;方法/結果の言い回しはジャンル慣習に従う — 集計でのみ正規化、生のセクション別スコアは常に表示。 - リライト計画:
plan.py draft -o plan.mdで文をランク付け(P0キュー+予算見積もり);--handoffを追加して文ごとの操作シートを出力。 - 入力:
.txt/.md直接(UTF-8/UTF-16〔with BOM〕/GBK自動トランスコード、v4.0)、.docx直接、PDF 実験的(v3.8以降のデフォルト安全ゲート = 中;低で注釈のみモードに復元;references/pdf_confidence.md)。 - 用語リスト:
python scripts/extract_terms.py draft.txt -o terms.txt(手動で確認);任意の実行で--suggestions path.mdを受け付け、リビジョンワークシートを出力。 - 非学術テキスト:
--profile generalを追加して形式的な決まり文句の重みを下げる。
または、個別にステップを実行(スキル自身のディレクトリから、または絶対パスを使用):
python scripts/detect.py draft.txt # スタイルパターン自己チェック(-j JSON、-s スコアのみ)
python scripts/transform.py draft.txt -o step1.txt
# ... スタイルガイドに従ってstep1.txtをエージェント品質リライト ...
python scripts/verify.py draft.txt step2.txt --terms terms.txt
python scripts/compare.py draft.txt step2.txt
シナリオ別ベストプラクティス(ジャーナル投稿、学位論文、リビジョンレター、バッチ、CIゲート、偽陽性処理、CN句読点):
references/best_practices.md。
エンドツーエンドの実例:references/examples.md。統一終了コード、違反カテゴリと対処法:references/errors.md。集中管理されたよくある間違いリスト(27項目):references/pitfalls.md — 最初の本番実行前に読んでください。Python APIリファレンス:references/api.md。FAQ:references/faq.md。
- リビジョン追跡:
--track baseは機械層のすべての変更をbase.md+base.jsonに記録(監査可能:ルール、カウント、削除された文、フラグ)。 - PDF(実験的): v3.0.0以降、埋め込みフォント/ToUnicodeを含むテキストPDF — 抽出を試行、信頼度は「中」で上限付け、スポットチェックノート付き;CJK CIDファイルはガベージプローブによって拒否され、エクスポートガイダンスが表示されます。スケール: 800K文字チャンク(2Kオーバーラップ)· 50MB上限 · 文書全体の整合性ガード。
エージェント呼び出しプロトコル
呼び出されたら、まずパスを決定し、それから実行します:
- トリガーワード:写作风格自查 / 论文改写润色 / 去模板腔 / 翻译腔清理 / 学术改写 / 段落改写 / 表达优化 / style self-check / style naturalization / naturalize academic writing / de-templating / academic rewriting / passage rewrite / expression polish / translationese cleanup (= Europeanized syntax: stacked passives, nominalization chains, long attributives — see style_guide_en steps 1/3) / make my writing sound less machine-written / reduce the templated tone / clean up model residue or stray citation tokens / fix stiff formal prose / polish my draft for submission without changing the data / check that numbers and citation IDs survived editing → 上記のパイプラインを実行。(中国語のトリガーバリエーションは SKILL_ZH.md 参照——CH分寸詞は英文ファイルには含まれません;数値一貫性/用語混在に関するリクエストは check_stats.py / check_terms.py にルーティング、以下参照)(パラメータ早見表は Quick start に、終了コード表は references/errors.md にあります — 両方ともここからリンクされており、セクション間を探す必要はありません。)
- 曖昧性解消(このツール vs ポリッシャー):ここでの「論文改写润色」はスタイル自然化/テンプレート解除(学術散文から機械的な味を取り除くこと)を意味します。決定ルール — リクエストが単に言語の正確性/流暢性に関する場合: 「帮我改下语法」「按期刊风格改写摘要」 → ポリッシャー(paper-polisher-pro)にルーティング;テンプレート的なトーンやモデル残骸に関する場合: 「这篇读起来像 AI 写的」「文里有 [cite: 1] 这种残留」 → このツールキットにルーティング;両方該当する場合、まずポリッシュし、次にこのパイプラインを実行 — どちらも他方の代わりにはなりません。
- 用語の不整合(略語と完全形、混在した同義語)→
check_terms.py file --pack <domain>;統一案文を直接出力するには--unify output.txtを追加(各グループを主要バリアントに統一、バリアント別置換カウントを表示 — 助言的出力、採用前にレビューし、その後 verify を実行;v4.4.0);--list-packsで全8つのドメインパックを表示(v3.0.0)。 - 矛盾する数値(パーセントリストが100にならない、同じグループに異なるn、p/Pスタイルの混在)→
check_stats.py file(v3.2.0;終了コードは check_terms と一致:0 一貫性あり / 1 問題あり)。章立て原稿:check_stats.py --batch 目录でファイル間のグループ-nを集計(アブストラクトと方法の不一致、v3.3.0)。または一度にすべて実行:pipeline.py draft --check-stats。 - ユーザーが最初に何を修正すべきか知りたい →
plan.py draft.txt -o plan.md(P0文キュー+予算見積もり);--handoffを追加して文ごとの指示シートを出力(ガード+受理コマンド、v3.0.0)。 - ユーザーがリライトの定量化された受理を望む →
stylecheck.py 原稿 改稿 --compare(v2.6.0 スタイルプロファイル差分;トリガー:风格画像 / 量化验收 / 深改验收 / style profile / acceptance check)。 - バッチ実行が中断された(Ctrl-C / 停電 / タイムアウト)→
--batch 目录 --resumeで再実行(完了済みファイルはスキップ;変更されたか以前失敗したファイルは自動再実行;進捗はバッチディレクトリの .pr_batch_state.json に保存)。 - シナリオショートカット(v3.8.0 統合):CI/バッチゲート →
--exit-verdict(--ciエイリアス;0 クリーン / 3 深いリライト必要 / 4 残骸あり / 1 整合性失敗、パイプラインのみ);偽陽性対策 →learn_guards.py from-text 术语 样本.txt;深いリビジョンをどこから始めるか→pipeline 原稿 -o 改稿 --handoff 交接块.md(1コマンド、別の plan 実行不要)。 - 複数章の用語統一 →
check_terms.py --batch 目录(ファイル間のバリアントドリフト:各ファイルは内部的に一貫しているが、セット全体では不一致)。 - スキャンが正当な用語にフラグを立てる(偽陽性) → パターンファイルを編集せず、代わりにガードを永続化:
learn_guards.py from-text 术语 样本.txt(またはadd) — ガード
…[翻訳のため省略]