French humanizer(フランス語AIテキスト人間化)
このスキルは、言語モデルによって生成されたフランス語の散文を、その主張内容を変えずに、人間が書いたように読めるように書き換えます。blader/humanizer(MITライセンス)の手法をフランス語に適用し、フランス語固有のパターンカタログと、2020年以前(一部のジャンルでは2021年まで)に出版された人間のテキストから抽出されたレジスタープロファイルを備えています。
目的は、人間の読者にとって心地よいテキストを作ることです。AI検出器を欺くことは目的ではありません。意図的な誤りを追加することは決してありません。
なぜこれらのパターンが存在するのか
言語モデルは、最も確率の高い次の単語を選択するため、最も多くの読者やトピックに適合する表現を選びます。人間は、特定の読者と特定のトピックに向けて書きます。カタログ内の各パターンは、このデフォルト選択の痕跡です。つまり、事実を提供する代わりに重要性を強調する文、ルールに従って適用されるリズム、決断的な転機のように装った凡庸な表現、会話の名残、読者がすでに知っていることの説明です。
処理手順
- 個人コーパスを確認する。 ユーザーがテキストを追加している場合(以下の
addコマンドを参照)、python3 scripts/ajouter.py profilを実行し、次に書き換えるテキストのコンテキストに対してpython3 scripts/ajouter.py exemples <コンテキスト>を実行します。著者のテキストは、話し方のレジスタープロファイルよりも優先されます。 - 誰が話しているかを特定する。 ユーザーが自己紹介をした場合(「私はDAFです」「私は電気技師です」「私はワーキング・ホリデーの学生です」「私はスタートアップのCTOです」「私は大家に手紙を書いています」)、以下の「誰が誰に話しているか」セクションを適用してからレジスターを選択します。
- レジスターを特定する。 テキストを読み、
references/registres.mdにある37のプロファイルのうち最も適切なものを選びます(ファイルの先頭に目次があります)。報道の場合、まずテキストを最も軽いものから最もフォーマルなものまでの尺度で位置づけます。AIはすべてを同じ平均的なレベルで書きますが、ジャーナリストは明確にどちらかの端に位置づけられます。どれも当てはまらない場合は、一般ルールを適用します。レジスターが曖昧で、その重要性が高い場合(公式の手紙、法的文書など)は、ユーザーに確認します。書き換える前に、選択したプロファイルのセクションを読んでください。 - パターンを検出する。
references/motifs-ia-fr.mdを、強いパターンから弱いパターンの順に確認します。最初の5つのパターンは、最初の出現時点で修正が必要です。孤立した弱い とマークされたものは、同じ箇所に複数集まった場合にのみ問題となります。長いテキストやドキュメントの場合、python3 scripts/scan.py fichier.mdを実行すると、数値化された最初の分析(語彙、ダッシュ、大文字の見出し、連続する接続詞、文の均一性)が得られます。 - 初稿を作成する。 元の構造をそのまま受け入れずに書き換えます。内容が向上するのであれば、統合、分割、並べ替えを行います。プロファイルで観察された特徴(文の長さ、語彙、句読点、慣用表現)を目標にします。
- チェックする。 初稿を読み返し、まだ「AIが書いた」と思わせる点は何かを2、3行でメモします。忠実性を確認します。すべての名前、数字、日付、引用、参照は、ソースまたは著者からのものでなければなりません。
- 最終版を作成する。 チェックで指摘された点を修正します。
ユーザーがテキストを貼り付けた場合は、次のものを表示します:見つかったパターンの短いリスト(最も強いものから順に)、初稿、批評、最終版。ファイルが渡された場合は、散文のみを変更します。コード、データ、フロントマター、リンク先、引用はそのまま残します。
固定ルール
- 何も作り出さない。 文に不足している詳細(数字、日付、実体験の例)が必要な場合は、作り出すのではなく、ユーザーに尋ねてください。法的な文書では、ソースにない条文、判決、日付を決して追加しないでください。
- 正しいアクセントと綴り(大文字のアクセント記号を含む:À, É, Ç)。
- 句読点としての角ダッシュ(U+2014)や二分ダッシュ(U+2013)は使用しない。 代わりにカンマ、ピリオド、コロン、または括弧を使用してください。ただし、著者の声のサンプルでそれらが使用されている場合は例外とします。
- フランス語の句読点とタイポグラフィ:次のセクションを参照してください。
- 一般的な英語借用語は保持する。 職業や日常生活で一般的に使用される英語の単語(backlog, sprint, crawl, SEO, pitch, week-end, ツール名, コマンド)はフランス語では普通です。そのままにしておいてください。パターン21は、不器用な直訳(「faire du sens」「adresser un problème」「délivrer de la valeur」)のみを対象としています。
- レジスターの言語レベルを維持する。 フォーマルな手紙をくだけたものにしたり、友人同士のメッセージを堅苦しくしたりしないでください。敬称(tu/vous)はソースのものを維持します。
- 意見を平坦化しない。 個人的なテキストは、その意見、偏見、意図的な特徴を保持します。技術的または参考的なテキストは、中立で簡潔なままにします。
誰が誰に話しているか
ユーザーが自分が誰であるか(「私は…です」「…として」「私は…として働いています」)や誰に書いているかを述べた場合、散文はその職業や状況の実際のメンバーのように聞こえるべきです。
- 3つのことを特定する:職業または役割(DAF、電気技師、人事部長、開発者、学生、テナント)、レベル(ジュニア、シニア、経営者)、および受信者(クライアント、採用担当者、同僚、行政、友人)。
- 最も近いレジスタープロファイルを選択する(例:クライアントに手紙を書く電気技師、フォーマルな手紙または技術シート;LinkedInに投稿するDAF、プロファイル32;ブログ記事を書くCTO、プロファイル33;ジュニア候補者、プロファイル4、29、30)。
- 著者のレベルに合わせた実際の職業語彙を使用する:電気技師は同僚には「section」「calibre」「différentiel 30 mA」を説明せずに使用しますが、個人には説明します。DAFは「clôture」「BFR」「trésorerie」について話します。開発者は「déploiement」「dette」「dépendances」について話します。シニアは範囲の数字(チーム、予算)を引用します。ジュニアは自分のタスクと学んだことについて話します。
- 受信者に合わせて調整する:同僚に書くのとクライアントに書くのでは異なります。採用担当者に書くのと友人に書くのでは異なります。敬称(tu/vous)はその環境の慣習に従います(多くの場合、開発者間ではtu、クライアントや行政に対してはvous)。
- 専門知識を作り出さない。 宣言された役割は、口調と語彙を規定しますが、事実は規定しません。ユーザーが提供していない数字、規格参照、実績を追加しないでください。テキストを自然に聞こえるようにするためにそれらが必要な場合は、ユーザーに尋ねてください。
- 役割がいずれのプロファイルにも対応しない場合は、最も近いプロファイルから始め、ユーザーに1、2文書いてもらうか、
scripts/ajouter.pyで追加することを提案します。
例:「私は電気工事業者です。見積もりに異議を唱えているクライアントへのこのメールを書き換えてください。」プロファイル 交渉(27)+フォーマルな手紙(5):短い文、見積もりの項目を名前で挙げる(供給、設置、適合化)、差異の技術的理由を個人が理解できる一文で、具体的な提案(より安いオプション、納期)、vous を使用、説明されていない専門用語は使わない。
句読点とタイポグラフィ
洗練されたレジスター(法律、フォーマルな手紙、報道、百科事典、志望動機書)では:
- 句読点としての角ダッシュや二分ダッシュは絶対に使用しない。 また、スペースで挟まれた独立したハイフンも使用しません。ダッシュは、会話の応答やリスト項目の行頭でのみ許可されます。
- フランス語の引用符「」を内部にノーブレークスペースを入れて使用します。英語の引用符 "…" は、引用内の引用にのみ使用します。
- 前にノーブレークスペースを入れる:; : ! ? および % 記号の前。ピリオドとカンマの前にはスペースを入れません。
- 省略記号:3つのドット、それ以上は使用せず、その後にピリオドは付けません。
- 数字:千の区切りにはスペース(1 455 746)、小数点にはカンマ(4,40 m)、数字と単位の間にはスペース(12 V, 24 %)。序数の短縮形は 1er、2e、16e(2ème や 16ème ではない)。世紀はスモールキャップまたはローマ数字(XXe siècle)。
- 大文字:アクセント記号付き(À, É, Ç)。見出しと小見出しは、最初の文字と固有名詞を除いて小文字。
- コロン:説明やリストを導入するため。効果を生み出すためには使用しない(パターン10)。
- セミコロン:法律や批評で人間が行うように、2つの関連する節を結びつけたり、長い列挙の要素を区切ったりするために歓迎されます。
くだけたレジスター(フォーラム、友人同士のメッセージ、バズ)では、たとえ不規則であっても、著者の句読点を保持します。声の一部であるものを「修正」したり、誤りを追加したりしないでください。
結果を確認する
- 最終版で
python3 scripts/scan.py texte.mdを実行します。スコアが大幅に低下しているはずです。これはカタログのパターンを測定しており、著者を測定しているわけではありません。 - 声に出して読み直します。その読者に決して言わないような文は修正が必要です。
- AI検出器が存在します(GPTZero、ZeroGPT、Compilatio、フランス語向けのLucide.ai、Pangramなど)。これらは両方向で誤りを犯し、人間のテキストもシグナルとして報告します。このスキルはそれらに合わせて調整されていません。検出器を通過してもテキストの品質については何も語っておらず、スコアを下げるために意味を犠牲にすることは決してありません。
著者の声に合わせる
ユーザーが自分の文章を2、3段落提供した場合、それに合わせます:文の長さとリズム、好きな単語、句読点、意図的な特徴(ダッシュを使用する場合はそれも含む)。サンプルは、事実と参照の正確性を除いて、レジスタープロファイルよりも優先されます。
呼び出し例:
/french-humanizer
私の文章のサンプルは次のとおりです:
[2~3段落]
このテキストを人間化してください(フォーマルな手紙):
[テキスト]
コマンド /french-humanizer add <コンテキスト>
ユーザーは、Claude Codeまたはデスクトップアプリから次のように入力してスキルを強化できます:
/french-humanizer add commercial
[貼り付けられたテキスト]
add と ajouter は同義語です。その後の単語がコンテキスト(commercial, mail pro, juridique, LinkedIn, lettre de motivation…)です。複数の単語にすることもできます。この場合、貼り付けられたテキストは書き換えず、そのまま保存します。
-
テキストを取得します。 コマンドと一緒に貼り付けられていない場合は、ユーザーに要求し、待機します。
-
誰が書いたかを確認します。 受信したテキストは、ユーザーの声のモデルとして決して使用してはなりません。明示されていない場合(「私のメール」「クライアントからのメール」「受信した」など)、1つだけ質問します:ユーザー自身が書いたものか、それとも受け取ったものか?ユーザーが書いたメールは
mail-envoyé、その他のユーザーが書いたテキストはtexte-modèle、受信したメールはmail-reçu、その他の第三者のテキストはtexte-autreとなります。 -
機密データを削除します(ユーザーが要求した場合、またはアカウント番号、電話番号、個人の住所などを発見した場合)保存する前に。テキストの他の部分は一切変更しません。
-
保存します。テキストを標準入力から渡し、リポジトリ内に中間ファイルは作成しません:
python3 scripts/ajouter.py <タイプ> - --registre "<コンテキスト>" <<'FIN_DU_TEXTE' [テキスト] FIN_DU_TEXTEコマンドはスキルのディレクトリ(通常は
~/.claude/skills/french-humanizer)から実行します。 -
2行で報告します:何が保存されたか、どのコンテキストで保存されたか、およびスクリプトからの警告(「著者」のテキストがAI散文のように見える場合)。スクリプトがこの警告を発した場合は、削除を提案します。
その他の便利なコマンド:/french-humanizer contextes は python3 scripts/ajouter.py contextes を実行し、すでに保存されているものを表示します。/french-humanizer exemples commercial は python3 scripts/ajouter.py exemples commercial を実行します。
書き換え中に、テキストのコンテキストがコーパス内のレジスターに対応する場合(ajouter.py contextes)、初稿の前に ajouter.py exemples <コンテキスト> を使用して2、3の例を読みます。著者のテキストが声を決定します。受信したテキストは、そのコンテキストでどのように書かれているかを示すだけです。
スクリプトを実行できない場合(デスクトップアプリでの会話など、端末にアクセスできないセッション)、その旨を一文で伝え、ターミナルで実行するコマンドと、コピーして貼り付ける準備ができたテキストを提案します。
テキストを追加する
ユーザーは、自然な言語でスキルを強化することもできます。「ajoute ce mail」と言った場合、/french-humanizer ajouter mail-envoyé と入力した場合、またはテキストを貼り付けて追加を依頼した場合、Claude は次の方法でテキストを保存します:
python3 scripts/ajouter.py <タイプ> fichier.txt --registre "mail pro"
python3 scripts/ajouter.py <タイプ> - --registre "article" < texte.txt
| タイプ | 説明 | 役割 |
|---|---|---|
mail-envoyé | ユーザーが書いたメール | 著者の声 |
texte-modèle | ユーザーが書いたその他のテキスト | 著者の声 |
mail-reçu | 他の誰かが書いたメール | レジスターの人間の例 |
texte-autre | 記事、受信した手紙、文書 | レジスターの人間の例 |
タイプのアクセントはオプションです(mail-envoye でも機能します)。タイプが指定されていない場合は、4つのうちどれであるかを尋ねます。レジスターが明らかでない場合は、それも尋ねます。
-
著者のテキストは、声を調整するために使用されます(文の長さ、句読点、敬称、開始と終了の定型句)。
python3 scripts/ajouter.py profilはその要約を提供します。 -
受信したテキストや第三者のテキストは、特定のレジスターで実際の人間がどのように書いているかを示す例としてのみ機能します。
付録:レジスター一覧(抜粋)
完全なリストは references/registres.md を参照してください。主なレジスターは次のとおりです:
- フォーマルな手紙(公式、行政、商習慣)
- プロフェッショナルメール
- 法的文書(契約、条項、宣誓供述書)
- 報道(記事、コラム)
- 批評(文学、映画、芸術)
- 商品説明(製品シート、仕様)
- README / ドキュメント
- コードコメント / コミットメッセージ
- 履歴書 / カバーレター
- LinkedIn(投稿、プロフィール)
- フォーラム / ディスカッション
- 友人同士のメッセージ
- バズ / ソーシャルメディア
- テクニカルレポート
- 学術論文 …(合計37のレジスター)
付録:パターンカタログ(抜粋)
完全なリストは references/motifs-ia-fr.md を参照してください。主なパターンは次のとおりです:
- 重要性を宣言する(「注目すべきは」「重要なのは」「強調すべきは」)
- 会話の残骸(「結局のところ」「実際のところ」「つまり」)
- 凡庸な表現を決断的な転機のように装う(「転機となる」「ゲームチェンジャー」「パラダイムシフト」)
- 読者がすでに知っていることを説明する
- 不自然に均一な文の長さ
- 連続する接続詞(「さらに」「また」「さらに加えて」)
- 不自然な名詞化
- 受動態の多用
- 不自然な倒置
- 効果を生み出すためのコロン
- ノイズワード(「実際」「基本的に」「本質的に」)
- 硬すぎるフォーマルさ
- 偽りの熱意
- 語彙の過度の繰り返し
- 不自然な比喩 …(合計37のパターン)