Communityライティング&編集github.com

Paper Polisher Pro (論文ポリッシャー・プロ)

AI率自己チェックとアカデミック・ライティング添削ガイダンス。文レベルの書き換え提案(位置を特定しアドバイスはするが、自動書き換えはしない)、用語と一貫性のチェック、翻訳臭の検出、段落ごとの帰属判定、分野コンテキストを考慮したジャーナル事前チェック、スタイル規範チェック、品質レポート、AIGCラベルチェックに加え、`--batch DIR` によるHTMLサマリー出力に対応。.docx ファイルを直接読み取ります。100%ローカル、ゼロアップロード。

Paper Polisher Pro (論文ポリッシャー・プロ) とは?

Paper Polisher Pro は、著者が自身の学術原稿のAIらしさ(AI率)を自己チェックし、添削のガイダンスを得るための、完全ローカル動作のツールキットです。文レベルの書き換え提案(自動修正はせず、問題箇所の特定とアドバイスのみ)、用語の標準化と一貫性チェック、翻訳調(translationese)の検出、段落単位のAI帰属判定、学術分野のコンテキストを考慮したジャーナル投稿前チェック、スタイル規範チェック、品質レポート、AIGC開示ラベルチェックなど、多彩な機能を備えています。すべての処理はローカルで完結し、データが外部に送信されることはありません。マルチレイヤーのルールエンジンに加え、トークンスペクトル分析、オプションで教師あり学習モデル(Qwen3-0.6B ONNX)、LLM指紋帰属、フレッシュネスパイプラインを組み合わせています。主に中国語学術テキスト向けに設計されており、英語テキストに対してはアドバイザリーベースのルールのみが適用されます。また、100文字未満のテキストに対しては意図的に判定を下さず、`risk=unknown` を返します。本ツールは機関のAI検出システムを回避するためのものではなく、著者の自己レビューと品質向上を目的としています。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/docsor1212/paper-polisher-pro/tree/HEAD

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Paper Polisher Pro

AIライティング検出(著者向けAI率自己チェック) · アカデミック添削ガイダンス · 用語標準化 · 翻訳臭チェック · 品質レポート · AIGCコンプライアンスラベルチェック · 段落レベルの帰属判定 · ジャーナル事前チェック 100%ローカル、ゼロアップロード、認証情報不要、純粋な標準ライブラリ(オプションの onnxruntime 拡張レイヤーあり)。

⛔ 絶対のルール

  1. 再現可能な数値のみ。 すべての指標は eval/run_eval.py の保留テスト分割評価に基づきます。「100%検出率 / F1 98.3%」のような裏付けのない主張は古い文書から削除されました。
  2. 短文に対する判定は行わない。 100文字未満のテキストは risk=unknown を返します(コミュニティの教訓:短文の偽陽性は制御不可能です)。
  3. 指紋は帰属に用い、スコアリングには使用しない。 (2026-08-15 測定:検出器に指紋を注入すると、人間による偽陽性が2倍になりました。)
  4. 較正と評価の分離。 スペクトル、重み、閾値は較正半分のみに基づいて構築され、テスト半分は最終評価のために予約されています(分割前のサンプル内AUROC 0.9972が、分割後は実際の0.9187に低下しました)。

概要

  • 対象: 中国語学術テキスト向けの100%ローカルAI率自己チェック + アカデミック添削ツールキット(オプションの教師ありモデルで最高精度を達成。英語はアドバイザリールールのみのスコア)。
  • 30秒クイックスタート: python3 scripts/pp.py quickstart(モデル不要、ファイル不要のデモ) · python3 scripts/pp.py detect draft.txt --format json · 文レベルの書き換え提案: python3 scripts/pp.py fix draft.txt · 完全な自己チェックレポート: python3 scripts/pp.py workflow draft.txt · 環境確認: python3 scripts/pp.py doctor(1つのエントリポイントですべてのサブコマンドをルーティング)
  • 測定値(保留テスト、指紋バインド md5 2631df3d388b): AUROC 0.9998(2026年前) / 0.9400(現行世代)。人間のFPR@medium 2.3%。
  • 制限を理解する: 100文字未満のテキストは設計上 risk=unknown · 医療テキストは縮退モードで過大評価されます · 人間とAIの混合文書:文書レベルのスコアは信頼できません(段落帰属が実用的なシグナルです) · 著者の自己チェック専用 — 機関のAI検出を回避するために使用しないでください。
  • 参照先: シナリオ別ハウツーは references/best-practices.md · 能力限界マトリックス(下記) · エンドツーエンドの例は§ クイックスタート · FAQは5つのパート(判定 → モードとインストール → 出力と解釈 → 安全性と検証 → ツールとワークフロー)にグループ化。必要なグループにジャンプしてください · 完全な履歴は CHANGELOG.md。

30秒タスクルーティング

目的実行コマンド詳細ドキュメント
草稿のAI率を確認pp.py detect draft.txt --format json§ 測定性能 + 下記境界マトリックス
AIっぽい文を特定pp.py fix draft.txtpp_fix_suggest.py --help
書き換え前後を比較pp.py rewrite-check orig.txt rev.txtFAQ: 書き換え提案
レイアウトを保持してPDF翻訳これではありません — doc-holmes を使用関連ツール
執筆規範チェックpp.py norm draft.txtFAQ: スタイル規範
論文フォルダ全体をバッチ処理ai_detector.py --batch DIR --csv s.csv --report r.htmlFAQ: バッチCSV
ゼロアップロード主張の検証pp.py verify + pp.py test安全性に関する声明
分野コンテキストでのジャーナル事前チェックai_detector.py draft.txt --profile journal§ ジャーナル事前チェック
環境トラブルシューティングpp.py doctor / pp.py freshness --statusFAQ: モード
全結果のビジュアルダッシュボードpp.py html-report draft.workflow.json -o report.htmlスクリプトチートシート: pp_report_html.py
書き換えラウンド間の追跡pp.py trend ラウンドディレクトリ/ -o trend.htmlスクリプトチートシート: pp_trend.py
どのコマンドが適切かわからない場合pp.py recommend "この段落のAI率を下げたい"pp.py recommend --help

最も重要な3つの制限(詳細は下記マトリックス)

  1. 縮退モードでの医療テキストの過大評価 — ルールのみの人間FPR@medium ≈59%(医療) vs ≈2%(一般)。医療テキストでは @high 判定のみ信頼するか、教師ありモデルをインストールしてください。
  2. 人間+AIの混合文書 — 文書レベルAUROC 0.52-0.54(本質的な平均化の限界)。段落帰属を人間によるレビューのランキングとして使用し、自動判定として決して使用しないでください。
  3. データカバレッジ範囲 — 用語バンクは2,344の医療/学術用語(非医療テキストは設計上低めに標準化されます)。スタイルレイヤーは学術散文で較正(口語/物文入力はアドバイザリのみ)。ツール別範囲:下記サブツールマトリックス。

学術的誠実性

このツールは 著者が自身の執筆品質を自己レビューし改善するため のものです — 明確な文、一貫した用語、自然なスタイル。機関のAI検出システムを回避するために設計されておらず、AI生成作品を人間が書いたものとして誤認表示するために使用してはなりません。所属機関のAI使用および開示ポリシーに従ってください。バンドルされている aigc_label_check.py は、開示およびラベル付けルール(例:中国の2025年9月ラベル付け措置)に 準拠する ためのものです — AIアシスタンスを適切に宣言するためであり、隠すためではありません。すべてのAIリスクレポート(ai_detector.py / deai_gate.py)には、この旨を示す明示的な integrity_notice が含まれています。

測定性能(C-ReD + DetectRL-ZH、保留テスト半分、n=5,251)

コーパス範囲注意(v4.8.0): 以下のv3.0時代の表は 完全な 保留テスト半分(n=5,251)で測定されました。バンドルされた サンプルコーパスはそのサブセットであり、テスト半分はn=1,304。コーパスごとの再現可能な数値:ルールのみ(PP_NO_SUP)0.8985(旧世代)/ 0.7149(現行世代)、融合 0.9998 / 0.9400(eval/results/v480_rules_*.json、v35ctl_*.json。キャッシュキーはモデル指紋とエンジンモードの両方をバインドします)。

| 指標 | v2.0 ベースライン | v3.0 ルール+スペクトル | v3.1 +教師あり | v3.4 教師あり(バージョン時代記録、現行は下記再測定行を参照) | |---|---|---|---| | AUROC(テスト半分) | 0.7046 | 0.9187 | 0.9997 | 1.0 | | TPR@FPR5% | 30.4% | 49.0% | 99.95% | 100% | | TPR@FPR1% | 16.7% | 24.9% | 99.88% | 100% | | 人間FPR@較正p99 | 未測定 | 未測定 | 3.56% (30/844) | 0.71% (6/844) | | パラフレーズ/混合攻撃AUROC | 0.64 | 0.89 | 1.0 (コーパス内) | 1.0 | | 攻撃「AIアシスト」再現率 | — | — | 71.1% | 86.6% | | OOD 平易な物語/映画再現率 | — | — | 1/6 | 5/6 教師ありのみ · 6/6 ローカル融合 |

v4.4.0 指紋バインド再測定 出荷版教師ありモデル(md5 2631df3d388b): AUROC 0.9998(テスト半分、n_base=927)、TPR@FPR1% 99.4%、人間FPR@medium 2.3% — eval/results/v35ctl_oldgen.json。上記の列はバージョン時代の記録として保存されています(以前のモデル系統。v4.4.0より前はバイナリに指紋がありませんでした)。

どの列があなたに該当しますか? (口径ナビゲーション:現在引用可能なベースラインは eval/results/CURRENT.md の v35ctl_* のみ。左の列はバージョン時代の記録です。)基本パッケージは v3.0 ルール+スペクトルエンジン を実行します(AUROC 0.9187、完全な保持コーパスで測定。v4.4.0以前のアーカイブベースラインは指紋バインドに先行します — v4.4.0以降のすべての評価結果にはデプロイモデルのmd5が model_fp として含まれ、現在のバインド数値は eval/results/v35ctl_*.json にあります)。右側の2列はオプションのローカル教師ありモデルが必要です(下記参照)。エンジンはどのモードで動作しているかを正直に伝えます。すべてのレポートは、教師ありレイヤーがないかスキップされた場合に degraded_mode / degraded_notice を提供します。

能力限界マトリックス(検出器を信頼する前に読んでください)

シナリオ動作
中国語学術散文、フルスタック最良ケース(AUROC 0.9998 保持テスト、人間FPR@medium 2.3% — v4.4.0 指紋バインド)
モデルなしの基本パッケージルール+スペクトル(0.9187)。医療テキストは過大評価(ルールのみの人間FPR@medium: 医療 ≈59% vs 一般 ≈2%)→ 医療テキストでは @high 判定のみ信頼
英語テキスト言語ゲーティングにより中国語訓練済み教師ありレイヤーは設計上スキップ。英語はルールのみの骨格、アドバイザリのみ
人間+AI混合文書文書レベルAUROC 0.52-0.54(本質的な平均化の限界)。段落レベルAUROC 0.69、較正済み最適運用点P=0.60@カバレッジ63%(references/para_thresholds.json)— 自動判定の基準以下。pp_workflow.py/paragraph_report.py のランキングを人間によるレビューのみに使用
編集範囲回帰ヘッドρ=0.540 — メタデータとして報告され、判定には使用されない
現行世代モデル(2026-09サンプリング)AUROC 0.9400(v4.4.0指紋バインド再測定、443文書現行世代評価セット:K3/K2.7/Qwen3.7-3.8/DS-V4/V4.1/GLM-5.3/M3の9ファミリー) vs 2026年前保持テスト 0.9998 — 適度な検証済みギャップ。以前の0.6542 vs 0.9022という数値は測定アーティファクトでした(古いスコアキャッシュの再生 + 未検証モデル系統)。両方のクラスはv4.4.0以降構造的に防止されています(すべての結果JSONに model_fp)
口語/口頭レジスターテキストスタイルレイヤーは学術散文で較正。そのレジスター外ではスタイルスコアはアドバイザリとして扱う

サブツール範囲マトリックス(各サブツールの較正済みドメイン)

サブツール較正ドメインドメイン外の動作
ai_detector / deai_gate中国語学術散文(保持テストで較正)医療テキストは縮退モードで過大評価。英語はアドバイザリルールのみ。物語/口語入力にはレジスター通知が付与
paragraph_report / pp_rewrite_check上記と同じエンジン基準、段落ごと同じ制限。rewrite_check は同一基準で2つの草稿を比較
pp_fix_suggest中国語AIライティングパターンライブラリ(学術レジスター)英語テキストは基本的な接続詞/リズムチェックのみ。発見はスタイル観察であり、検出ではない
term_check中国語医療/学術用語(2,344用語バンク)非医療テキスト:標準化率は低く読み取られます — それはバンクの範囲であり、エラーではありません。--auto-fix はコンテキストを尊重
translation_smell_check中国語学術散文(翻訳調パターン)英語スタイルのソーステキスト:カバレッジを偽装せず、ブラインドスポット用語をリスト表示
style_distance学術散文スタイルメトリック学術レジスター外ではスタイルスコアはアドバイザリのみ(出力に記載)
style_norm機械的な慣習 — レジスター非依存設計上スコアなし。統計的チェック(数字/略語)は短いサンプルでは弱く、その旨を明記
aigc_label_checkファイルメタデータ / C2PA / 明示的なラベル記述コンテンツ検出器ではない。ラベル付けコンプライアンスを検証し、著作者は検証しない
quality_report原稿の読みやすさ/品質次元AI率の指標ではない。スコアリングヒューリスティックは汎用的であり、ジャーナルにチューニングされていない
docx_text.docx テキスト抽出(段落保持)PDF変換器ではない — PDFは変換アドバイスとともに拒否(ゼロ依存の中国語PDF抽出は保証できません)
バッチモード(--batch)ファイルあたり .txt/.md/.docx <5 MB5MB超は設計上スキップ。暗号化/画像のみのdocxはサイレントな空出力ではなく明示的なエラーを生成

安全性と動作に関する声明

  • 100%ローカル: すべての機能はデバイス上で動作します。コードベースはゼロのアウトバウンドネットワーク呼び出しを行います — ネットワーククライアントライブラリ、ネットワークユーティリティはありません。唯一のリスナー対応コンポーネントはオプションのMCP HTTPフォーム(--transport http)であり、127.0.0.1 ループバックのみにバインドします(AST検証の許可リストルールによりバインドがアサートされます)。ASTスキャンはループバックバインドのないリスナーを違反として扱います。構造的に検証: python3 scripts/pp_verify.py(ASTレベルのスキャン。終了コード0 = ゼロネットワーク呼び出し、すべてのスクリプトがコンパイル可能)。レガシーテキスト grep grep -rEin "urllib|requests|socket|import http" scripts/ は、レポートフッターにいくつかのURL文字列を表示する場合があります — これらは文字列定数内のデータであり、ネットワークコードではありません。AST検証が両者を区別します。
  • アップロードなし、認証情報不要: 認証情報、キー、個人データを読み取りまたは送信しません。唯一の2つの環境変数は PP_NO_SUP(教師ありレイヤーをスキップ)と PP_LANG(en は pp.py エントリ画面を英語に切り替え)— どちらもローカル動作の切り替えです。
  • 永続化なし: スケジュールされたタスク、自動起動エントリ、システム設定の変更を作成しません。一時ファイル(レイヤー間JSON、プローブテキスト)は使用後に削除されます。
  • リモートコードなし: リモートモデルやスクリプトをロードしません。オプションの教師ありモデルは、ユーザーがローカルパスに配置します。
  • データ境界: ユーザー指定のファイル、システムの一時ディレクトリ、および自身のパッケージデータディレクトリ(較正/フレッシュネスアーティファクト)のみを読み取り/書き込みします。レポートはユーザーが指定した場所にのみ出力されます。
  • 学術的誠実性: 上記のセクションを参照 — 著者の自己レビューとポリシー準拠の開示による品質向上のため。検出回避のためではありません。

終了コード契約(v5.8.0以降安定)

終了コード意味典型的なケース
0成功レポート生成 · verify ゼロネットワーク合格 · test スイートグリーン
1実行されたが合格せずエンジン実行時エラー(メッセージに復旧アドバイス) · test 失敗 · verify ドリフト · freshness ベースラインドリフト
2使用法または入力エラー不明なサブコマンド · ファイルが見つからない · 100文字未満のテキスト · 解析不可能な入力ファイル
3環境が準備できていないpp_setup.py モデルインストール/検証失敗 — 最初に pp.py doctor を実行

プログラムミラー: pp_api は無効な入力に対して ValueError(↔ 終了コード2)を、実行時エラーに対して RuntimeError(↔ 終了コード1)を発生させ、両方にメッセージ内の復旧アドバイスが含まれます。これらのコードは安定性の約束です — 将来のリリースで再利用されることはありません。

アンチパターン(それぞれに正しい方法)

このセクションは 判断タイプ のルールのみをリストします(してはいけないこと)。運用上のハウツーに関する質問は references/faq.md にあります(pp.py faq <キーワード> で検索可能)— 両者は互いに重複する代わりに相互参照します。

  • 100文字未満を与えて 判定を期待しないでください — risk=unknown は設計によるものです(短文の偽陽性は制御不可能)。✅ 代わりに: 300文字以上を提出するか、スタイル規範チェック(pp.py norm)を使用してください。これは判定がなく、短いサンプルでも機能します。
  • 医療テキストで縮退モードのスコアを信頼しない

…

[翻訳のために一部省略]

関連スキル