mcpField
H
humanize

humanize

github.com/aperivueドキュメント355118 回インストール1 日前に更新
リポジトリ

humanize について

humanizeは、学術文書に見られるAI特有のパターンを検出し、意味を変えずに該当箇所を改稿するスキルです。論文の執筆者や査読対応者向けに、引用、数値、文構造の保持も確認します。

主な機能

  1. 0127種類のAIパターンを検出
  2. 02パターンの件数と位置を報告
  3. 03指定箇所を改稿
  4. 04引用と数値の保持を確認
  5. 05文の多様性とパターンを検証

活用シーン

  1. 01学術論文のAIパターン確認
  2. 02査読者への回答書の編集
  3. 03引用や数値のずれがないか改稿を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aperivue/medsci-skills --skill humanize

インストール後、Claude Code で/humanizeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

skill.yml
references/
ai_patterns.md
scripts/
check_rewrite_fidelity.py
check_sentence_variety.py
tests/
test_rewrite_fidelity.sh
tests/fixtures/
fidelity_assign_after_ineq.md
fidelity_assign_after_same.md
fidelity_assign_after_swap.md
fidelity_assign_before.md
fidelity_cite_after_keyswap.md
fidelity_cite_after_locator.md
fidelity_cite_after_moved.md
fidelity_cite_after_same.md
fidelity_cite_before.md
fidelity_reorder_after.md
fidelity_reorder_before.md
fidelity_swap_after.md
fidelity_swap_before.md
rewrite_after_bounded.md
rewrite_after_numdrift.md
rewrite_after_wholesale.md
rewrite_before.md
rewrite_direction_after_flip.md
rewrite_direction_after_minus.md
rewrite_direction_after_same.md
rewrite_direction_before.md
variety_long_within_bound.md
variety_mixed.md
variety_overlong.md
variety_uniform.md

詳細

Humanize Skill

このスキルはAI特有のパターンのみを除去します。一般的な文章校正、科学的な質の評価、ジャーナルの書式確認、翻訳は行いません。

スキャンを始める前に、毎セッションの開始時に ${CLAUDE_SKILL_DIR}/references/ai_patterns.md を読んでください。27種類すべてのパターンの定義、注意すべき語句、例、検出用 grep、パターンごとの修正方法、セクションごとの優先順位は、すべてこのファイルに記載されています。


ワークフロー

Phase 1: スキャン

ユーザーが提供したセクションをスキャンし、27種類すべてのパターンを確認します。査読者への回答書とカバーレターでは、パターン22〜24を優先します。原稿全体の場合は、ai_patterns.md のセクションごとの優先順位(Section-Specific Application Guide)に従います。見つかったパターンごとに、番号と名前、出現回数、該当箇所の正確な文面、位置(段落番号または行範囲)を記録します。

出力:パターン頻度表

## AI Pattern Scan Report

Section: {section name}
Word count: {N}

| # | Pattern | Count | Severity | Example from text |
|---|---------|-------|----------|-------------------|
| 1 | Significance inflation | 3 | HIGH | "...pivotal role in diagnostic imaging..." |
| ... | ... | ... | ... | ... |

Patterns not detected: 2, 4, 9, 14, 15

Total AI pattern instances: {N}
AI pattern density: {N per 1000 words}
Phase 2: 報告
  • パターンごとの深刻度:高(3回超)、中(1〜3回)、低(0回、問題なし)。
  • 密度:27種類すべてのパターンの総出現数を、1000語あたりで算出します。目標値:2.0未満。

確認ステップ: レポートを提示し、修正するパターンをユーザーに尋ねます。デフォルトでは、高と中のパターンをすべて修正します。

Phase 3: 修正

ai_patterns.md に記載された各パターンの修正方法に従い、指摘された箇所を書き直します。以下のルールを守ってください。

  1. 技術的な正確性を保つ。 すべての数値、統計値、p値、信頼区間、臨床的事実を一切変えずに維持します。
  2. 引用を維持する。 引用を追加、削除、移動してはいけません。
  3. 経験豊富な放射線科医が一流ジャーナルの同分野の読者に向けて執筆する、正式な学術文体を保つ。 くだけた表現や会話調にはしません。
  4. 専門分野固有の用語をそのまま維持する。 “Convolutional neural network”、“apparent diffusion coefficient”、“Fleiss' kappa”は変更しません。
  5. 新たな主張を加えたり、既存の主張を削除したり、文の意味を変えたりしてはいけません。解釈し直すのではなく、言い換えます。意味を変えずに修正できない箇所はそのまま残し、ユーザーに確認を促します。
  6. 自然な場合は能動態を使う。 “Analysis was performed.”ではなく“We analyzed.”とします。
  7. 文の構造に変化をつける。 短い平叙文(8〜12語)と長い文(25〜35語)を組み合わせます。AIらしさを除く作業では、文のリズムが単調になりがちです。長い文を短くし、短い文に語を足してほどよい長さにそろえる傾向がありますが、これ自体がAIらしさの兆候です。 scripts/check_sentence_variety.pyでPhase 4にこのルールを確認します。
  8. 対句と分裂文を減らします(パターン27、M2ヒューリスティック)。 “X rather than Y”、“not X but Y”、“X, not Y”のそれぞれについて、否定形テストを行います。否定部分を削除し、節を肯定形に書き換えてください。事実が失われる場合、その対比には意味があるため残します。何も失われない場合、その対比は装飾的なものなので削除します。個々の例ではなく、原稿全体における使用頻度を基準に判断し、強調のために2〜3箇所は残します。分裂文(“What … is …”、“It is … that …”)は、通常の主語・動詞の語順に書き換えます(“What matters is X” → “X matters”)。 /self-review内のscripts/check_rhetorical_density.pyで、Phase 4にこの項目を測定します。

出力: 修正後の文章を提示し、変更箇所はdiff形式または変更履歴で強調します。

フェーズ 4:検証

書き換え前のテキストを保管してください。 その場で編集する前に、忠実性チェックで読み取れる場所に原文をコピーします(cp manuscript.md /tmp/pre_humanize.md)。原文がない場合、フェーズ 4 でできるのはパターンの再スキャンだけです。書き換え後も数値や引用が保持されているかどうかは判断できません。

両方の決定論的チェックを実行してから、同じ 27 個のパターンを使って書き換え後のテキストを再スキャンします。

python3 "${CLAUDE_SKILL_DIR}/scripts/check_rewrite_fidelity.py" \
    --before /tmp/pre_humanize.md --after manuscript.md \
    --out qc/rewrite_fidelity.json --strict
python3 "${CLAUDE_SKILL_DIR}/scripts/check_sentence_variety.py" \
    --manuscript manuscript.md --out qc/sentence_variety.json

NUMBER_DRIFT、NUMBER_REASSIGNED、CITATION_DROP、または CITATION_MOVED は、書き換えによって不変条件が破られたことを意味します。その箇所を元に戻して書き直し、ユーザーに知らせてください。EDIT_FOOTPRINT_HIGH は参考情報です。パターン 6 と 18 は意図的に段落全体を書き換えるため、膨らんだ原稿を適切に処理しても、変更された単語が 60%を超える場合があります。割合が問題だと決めつけず、差分を読んで著者の主張が保たれていることを確認してください。

既知の制限: 忠実性ゲートでは、否定語の追加や削除、単語で表記された数値、単位の変更、またはパーセンテージ以外の数値に隣接する方向を示す語はチェックされません。正常終了しても、これらの問題がないとは限りません。差分を読んで確認してください。

出力:検証レポート

## Verification Report

| Metric | Before | After |
|--------|--------|-------|
| Total instances | 23 | 4 |
| Density (per 1000 words) | 8.2 | 1.4 |
| HIGH severity patterns | 3 | 0 |
| MEDIUM severity patterns | 5 | 2 |

Remaining issues:
- Pattern 17 (hedging): 2 instances remain -- appropriate for the evidence level.

Verdict: PASS (density < 2.0)

密度が 2.0 を超えたままの場合は、修正と検証のサイクルをもう一度実行してください(最大 3 回)。別のスキルから呼び出された場合は、呼び出し元のスキルが合否を確認できるよう、検証レポートを返してください。


27 個の検出パターン

27 個すべてが references/ai_patterns.md で定義されています。次の 2 つには、記載どおりに適用するルールがあります。

#パターン確認する内容修正方法
13ダッシュの多用1000 語あたりの em ダッシュが 2 個を超えている(/self-review の古典的文体ゲートでは、本文中の em ダッシュが 25 個を超える原稿は不合格になります)括弧を使うか、構成を見直します。— X — の挿入句を (X) に変換した後は、括弧範囲の安全性スキャンを実行してください(python3 "${CLAUDE_SKILL_DIR}/../self-review/scripts/check_paren_spans.py"):一括変換すると、文の境界をまたいで 無関係な 2 つのダッシュが対になり、文全体(または「Sixth, …」のような順序を示す語で始まる補足事項)が 1 つの括弧で囲まれることがあります。括弧の対応は取れていても内容が壊れているため、対応確認だけでは検出できません。文ごとに処理し、. をまたいで一致させないでください
21AI 開示の定型文(本文)原稿本文にある「## Artificial Intelligence Disclosure」や「Generative AI was not used to create...」掲載先のジャーナルが指定する場所(ジャーナルプロファイルの Disclosure location)に配置してください。ジャーナルによっては「方法」または「謝辞」、別のジャーナルではカバーレター、タイトルページ、または投稿フォームのみが指定されます。ジャーナルが本文で求めている開示は削除しないでください

パターン 22~24 は査読者への回答書と編集者宛てのカバーレターにのみ適用され、原稿本文には適用されません。これらは ai_patterns.md の「Response-Letter Patterns」で一度だけ定義されています。執筆時のガイダンスについては、revise スキルの references/r2r_voice.md を参照してください。


ゲート

ゲート重大度トリガー失敗時のアクション
AIパターン密度の目標ADVISORY一掃後の密度が 1000 語あたり 2.0 パターンを超える警告する。残っているフラグ付き箇所を提示し、手動レビューを促す
パターン 13 — em ダッシュ変換後の括弧内範囲の破損ENFORCED— X — → (X) の一括変換後python3 "${CLAUDE_SKILL_DIR}/../self-review/scripts/check_paren_spans.py" --strict を実行する。PAREN_SPAN_ORDINAL / PAREN_SPAN_SENTENCE は、変換によって文や序数が括弧内に入ったことを示します。最終確定前に修正してください
パターン 19 — § 記号ENFORCED(シニア MA レビュアー向けの準備)grep -c "§" manuscript.md > 0自動削除する。書き換え後の件数が 0 であることを確認する
パターン 20 — (see Methods §X) の自己参照ENFORCED一致が見つかった場合セクション名を直接参照する形に書き換える
パターン 21 — 不適切な場所での AI 使用開示ENFORCED開示を別の場所に記載するよう求めるジャーナルの本文に AI 使用開示がある場合、または複数の場所で繰り返されている場合対象ジャーナルの指定箇所(ジャーナルプロファイル)に移動する。ツールを隠すために、必須の開示文を書き換えてはいけません
パターン 26 — 警句の密度ENFORCED否定的定義の割合と短い断定文の比率がどちらも閾値を超えるpython3 "${CLAUDE_SKILL_DIR}/../self-review/scripts/check_aphorism_density.py" --manuscript manuscript.md を実行する。APHORISM_DENSITY(Minor)は、説明文が圧縮され、警句が連続していることを示します。その大半を隣接する文に組み込み、説明を補い直してください。強調のために 2、3 個は残します。削除するだけでは、文章がさらに短くなるため、行わないでください
パターン 27 — 対句/分裂文の密度ENFORCED「rather than」/「not X but Y」/「X, not Y」または「What … is …」/「It is … that …」が、1000 語あたりの閾値と生の件数の下限の両方を超えるpython3 "${CLAUDE_SKILL_DIR}/../self-review/scripts/check_rhetorical_density.py" --manuscript manuscript.md を実行する。ANTITHESIS_DENSITY / CLEFT_DENSITY(どちらも Minor)が検出された場合は、修正ルール 8(M2 テスト)を適用します。機能的な「rather than」や「instead of」が単独で使われている場合は、検出されません
パターン 25 — インライン強調の多用ENFORCED許可リスト適用後のイタリック強調の密度が閾値を超えるpython3 "${CLAUDE_SKILL_DIR}/../self-review/scripts/check_emphasis_density.py" --manuscript manuscript.md を実行する。EMPHASIS_OVERUSE(Minor)は、インラインのイタリック体を削除する必要があることを示します(統計記号/ラテン語/遺伝子・種名のみ残します)。節全体のイタリック体は、最も顕著な兆候です
パターン 22-24 — R2R の編集メカニズム/草稿の行番号/ツール使用痕跡の漏出TRIAGE(回答書);§ = 0 は必須ai_patterns.md の R2R セクションにある検出用 grep で候補が表示される該当箇所をそれぞれ確認します(分析の叙述、引用された追加内容、改訂稿のページ番号/行番号は兆候ではありません)。兆候であることが確認された箇所は、内容を示す文章に書き換えます
引用保持の不変条件ENFORCED引用項目(複数キーまたは位置指定を含む Pandoc 引用の各キー、あるいは数値マーカー)が削除または変更された場合、または、その引用が付いていた語の位置を維持したまま、引用がその語のある文から移動された場合scripts/check_rewrite_fidelity.py --before <pre> --after <post> --strict → CITATION_DROP / CITATION_MOVED(Major)。該当する書き換えのみを元に戻し、ユーザーに報告します
数値保持の不変条件ENFORCED数値トークンの件数が変わった場合(符号、不等号、%の方向もトークンの一部です。符号を単語で書き表した場合も検出されます)、または、周囲の語がそのままの状態で値の位置が入れ替わった場合同じスクリプトで NUMBER_DRIFT / NUMBER_REASSIGNED(Major)が検出されます。元に戻し、ユーザーに報告します。既知の制限:否定、単語で書かれた数値、単位、または百分率以外の数値に付く方向語はチェックされません。こうした場合は差分を確認してください
書き換えの変更量ADVISORY変更された単語トークンの割合が --warn-pct(デフォルト 70)を超えるEDIT_FOOTPRINT_HIGH(Minor)。処理を止めることはありません。差分を確認してください(フェーズ 4)
修正ルール 7 — 文の長さの均一化ADVISORY短い文(≤12 語)または長い文(≥25 語)がないscripts/check_sentence_variety.py --manuscript <file> → SENTENCE_UNIFORM(Minor)。両方の範囲の文が含まれるまで、文を分割または結合します。15 文未満の場合は通知されません

コメント