
text-Humanizerとは?
text-Humanizerは、AIが生成したテキストを、より自然な文構造、変化に富んだ言語パターン、そして多様な文体を備えた文章へ変換する、MITライセンスの無料Pythonプロジェクトです。原文の意味を維持するよう設計された、多言語の書き換えおよび翻訳パイプラインを使用します。
このプロジェクトは、言語コードen、ja、zh、ko、de、fr、esに対応しています。READMEには、書き換えたコンテンツで多くのAI検出器を回避できるとも記載されています。ただし、検出結果は保証されません。また、著者情報を偽ったり、開示要件を回避したりする目的ではなく、責任を持って使用してください。
主な機能
- 意味の維持:元の意味を保つよう努めながらコンテンツを書き換えます。
- 自然な表現:異なる文構造、表現、情報の流れを取り入れます。
- 多言語処理:対応する複数の言語でコンテンツを受け入れ、生成します。
- 柔軟な文体:さまざまなトーンや文体に合わせて書き換えられるよう設計されています。
- DeepLの任意ステージ:DeepL APIキーを設定すると、別の翻訳エンジンを追加できます。
- オープンソース:MITライセンスの下で配布されています。
書き換えパイプラインの仕組み

text-Humanizerは、1回の言い換え処理だけを適用するのではなく、複数の言語モデルおよび翻訳ステージを通じてコンテンツを処理します。
- DeepSeekによる書き換え:DeepSeekが、表現、文構造、情報の流れを変更した、意味的に同等の文章を作成します。パイプラインでは、中国語を中間表現として使用し、構造上の変化も生み出します。
- トルコ語への翻訳:Google Translateが中間出力をトルコ語に変換し、言語をまたいだ構文の変化を加えます。
- 日本語への任意翻訳:DeepL APIキーが利用可能な場合、DeepLがトルコ語のテキストを日本語に翻訳します。これにより、2つ目の翻訳エンジンとさらなる言語的変化が加わります。
- 最終再構成:DeepSeekが結果を設定された元の言語へ翻訳・再構成し、翻訳上の不自然さを取り除いて読みやすい文の流れを復元します。
複数の変換が行われるため、最終的なテキストは慎重に確認してください。名前、専門用語、数字、引用、微妙な意味の違いなどは、手作業での検証が必要になる場合があります。
前提条件
プロジェクトをインストールする前に、次のものを準備してください。
- Python 3.6以降。
- リポジトリのクローンに使用するGit。
- DeepSeek APIキー。
- 追加の翻訳ステージを有効にする場合は、任意でDeepL APIキー。
インストール
1. リポジトリをクローンする
git clone https://github.com/SpaceDudem/text-humanizer.git
cd text-humanizer2. Python依存関係をインストールする
pip install -r requirements.txt環境によってPython 3に別のコマンドが割り当てられている場合は、pip3など、対応するパッケージインストーラーを使用してください。
3. 設定ファイルを作成する
Windowsでは、次のコマンドでサンプル設定をコピーします。
copy .\config\config.example.toml .\config.tomlLinuxまたはmacOSでは、次のコマンドを使用します。
cp ./config/config.example.toml ./config.tomlこれにより、アプリケーションが使用するルートディレクトリのconfig.tomlファイルが作成されます。
text-Humanizerを設定する
config.tomlを開き、APIプロバイダーと対象言語に必要なオプションを設定します。
target_language:入力と出力に使用する言語。プロジェクトに記載されている対応コードはen、ja、zh、ko、de、fr、esです。deepseek_api_key:必須のDeepSeek APIキー。deepl_api_key:トルコ語から日本語への翻訳ステージに使用する任意のDeepL APIキー。base_url:APIのベースURLを上書きします。プロバイダーのデフォルトを使用する場合は空のままにします。model:使用するモデルのスラッグ。プロバイダーのデフォルトを使用する場合は空のままにします。temperature:LLM出力の変化を制御します。プロジェクトでは1.3が推奨されています。
概念的な設定は次のようになります。
target_language = "en"
deepseek_api_key = "YOUR_DEEPSEEK_API_KEY"
deepl_api_key = ""
base_url = ""
model = ""
temperature = 1.3config.example.tomlに記載されている正確な形式を使用してください。プレースホルダーのキーを実際の認証情報に置き換え、config.tomlをコミットしないでください。
ヒューマナイザーを実行する
リポジトリのディレクトリからアプリケーションを起動します。
python main.py必要に応じて、代わりにpython3 main.pyを使用してください。実行中のアプリケーションが提供するインターフェースからテキストを入力し、設定済みのパイプラインで書き換えと翻訳の各ステージを実行します。
基本的な使用例
英語のワークフローでは、target_languageをenに設定し、有効なDeepSeekキーを指定してmain.pyを実行します。その後、次のような堅い表現の文を処理できます。
The implementation of this system provides users with the ability to rewrite content in a more natural manner.
パイプラインは、表現と文の流れを変えた、意味的に類似する文章を返します。正確な結果は決定論的ではなく、選択したモデル、temperature、翻訳ステージ、APIの動作によって異なります。
高度な設定のヒント
オプションのDeepLステージを有効にする
deepl_api_keyに有効な値を追加すると、トルコ語から日本語への翻訳ステップが含まれます。DeepLを使用しないパイプラインを希望する場合は空のままにしてください。代表的なテキストで両方のモードを比較してください。翻訳処理が1段階増えることで、表現のばらつきが大きくなる一方、確認すべき細部も増える可能性があります。
出力の多様性を調整する
READMEではtemperatureに1.3を推奨しています。この設定は、より多様な表現を促すことを目的としています。temperatureを試す際は、一度に1つの変更だけを行い、結果が名前、事実、専門分野固有の用語を保持しているか比較してください。
モデルまたはカスタムエンドポイントを選択する
特定のプロバイダー対応モデルのスラッグが必要な場合は、modelを設定します。デフォルトのAPIエンドポイントを上書きする必要がある場合にのみ、base_urlを設定してください。それ以外の場合は、プロバイダーのデフォルト値を使用するため、両方とも空のままにします。
長文または専門的なコンテンツをセクション単位でテストする
技術、法律、学術、またはデータ量の多い資料では、各セクションを個別に確認してください。意味の保持を目指していても、多段階の書き換えによって正確な用語や関係性が変わる可能性があります。公開前に、最終版の各セクションを原文と比較してください。
設定に関する問題のトラブルシューティング
- コマンドをクローンした
text-humanizerディレクトリから実行していることを確認します。 config.tomlが想定されたルート位置に存在することを確認します。deepseek_api_keyに有効なキーが含まれていることを確認します。target_languageがサポートされている言語コードのいずれかを使用していることを確認します。- オプションのステージが失敗する場合は、
deepl_api_keyを確認するか、一時的に空のままにします。 - カスタムAPI設定を使用する場合は、
base_urlとmodelの値を確認します。
まとめ
text-Humanizerは、DeepSeekによる書き換えと多言語間の翻訳を組み合わせ、原文の意味を保持しながら、より多様で自然な文章の生成を試みます。依存関係をインストールしてAPIキーを設定したら、python main.pyでワークフローを起動できます。出力は下書きとして扱い、重要な細部を確認したうえで、適用される著作権および開示に関するルールに従ってプロジェクトを使用してください。
