
text-humanizerとは?
text-humanizerは、多言語対応の大規模言語モデルベースのパイプラインを使用して、AI生成コンテンツを書き換える無料のオープンソースPythonプロジェクトです。原文の意味を保ちながら、より自然な文構造、表現の多様性、そして豊かな文体の変化を実現することを目的としています。
このプロジェクトはDeepSeekと翻訳サービスを組み合わせ、複数の言語を経由してテキストを変換した後、元の言語で再構成します。READMEでは、この処理によって多くのAI検出器を回避できる可能性があると説明されていますが、検出結果は変動するため、保証されたものとして扱うべきではありません。
主な機能
- 原文の意味を保ちながら自然さを向上させます。
- 多様な文構造と言語パターンを取り入れます。
- さまざまな文体やトーンに対応します。
- 多言語による書き換え・翻訳パイプラインを使用します。
- 登録された言語コードを通じて、英語、日本語、中国語、韓国語、ドイツ語、フランス語、スペイン語に対応します。
- 言語間のさらなる変化を加えるため、DeepLとの任意の連携を利用できます。
- MITライセンスの下で提供される無料のオープンソースソフトウェアです。
書き換えパイプラインの仕組み
ステップ1:DeepSeekによる書き換え
DeepSeekは、表現、文構造、情報の流れを変更しながら、入力内容と意味的に同等の文章を生成します。プロジェクトのドキュメントによると、この段階では元の言語に関連するパターンを減らすため、中国語を中間表現として使用します。
ステップ2:Google翻訳
中間出力はGoogle翻訳を通過し、トルコ語に翻訳されます。これにより、構文や翻訳の挙動の違いに起因する言語間の変化が加わります。
ステップ3:DeepLによる任意の翻訳
DeepL APIキーを指定すると、トルコ語のテキストがDeepLを通じて日本語に翻訳されます。この任意の段階では、パイプラインにもう1つの言語と独立した翻訳エンジンが加わります。
ステップ4:DeepSeekによる最終再構成
DeepSeekは、入力と出力に選択された言語で結果を翻訳・再構成します。最終処理は、翻訳による不自然さを取り除き、読みやすい文章の流れを復元し、元の意味を維持することを目的としています。
前提条件
プロジェクトをインストールする前に、以下を用意してください。
- Python 3.6以降。
- リポジトリのクローンに使用するGit。
- DeepSeek APIキー。
- 追加のDeepL処理を有効にする場合は、任意のDeepL APIキー。
- 外部モデルおよび翻訳サービスを利用するためのインターネット接続。
インストール
1. リポジトリをクローンする
git clone https://github.com/korcarc/text-humanizer.git
cd text-humanizer2. 依存関係をインストールする
プロジェクトで定義されているPythonパッケージをインストールします。
pip install -r requirements.txtお使いのシステムでpipが別のPythonインストールに割り当てられている場合は、環境に応じてpython -m pipやpython3 -m pipなどの適切なコマンドを使用してください。
3. 設定ファイルを作成する
Windowsでは、次のコマンドで設定例をコピーします。
copy .\config\config.example.toml .\config.tomlLinuxまたはmacOSでは、同等のコピーコマンドを使用します。
cp ./config/config.example.toml ./config.toml設定
アプリケーションを実行する前に、config.tomlを開いて利用可能なオプションを設定します。
- 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.3プレースホルダーを実際のDeepSeekキーに置き換えます。任意のDeepL翻訳段階を使用しない場合は、deepl_api_keyを空のままにします。
基本的な使い方
リポジトリのディレクトリからhumanizerを起動します。
python main.pyPython 3で別の実行ファイル名が使用されるシステムでは、次を実行します。
python3 main.pyプログラムはconfig.tomlの言語およびプロバイダー設定を使用してテキストを処理します。たとえば、target_languageをenに設定すると、パイプラインは英語の入力と出力用に構成されます。日本語のテキストを処理するには、プログラムを再度起動する前にjaへ変更します。
言語変更の例
ドイツ語の入力と出力の場合:
target_language = "de"スペイン語の入力と出力の場合:
target_language = "es"プロジェクトの設定でサポートされている言語コードのみを使用してください。
高度な設定のヒント
任意のDeepL段階を有効にする
deepl_api_keyに有効なDeepLキーを追加すると、トルコ語から日本語への翻訳段階が有効になります。このキーがない場合、パイプラインはこの任意のステップをスキップします。
温度を調整する
READMEでは、温度を1.3に設定することを推奨しています。この設定は、LLMによる書き換えで変化を促すことを目的としています。別の値を試す場合は、元の意味が維持されていることを確認するため、出力を慎重に比較してください。
カスタムエンドポイントまたはモデルを使用する
base_url設定ではデフォルトのAPIエンドポイントを上書きでき、modelではモデルのスラッグを指定できます。プロバイダーのデフォルト値を使用する場合は、いずれかのフィールドを空のままにしてください。カスタム値は、使用するAPIサービスに対応している必要があります。
複数回の翻訳後に意味を確認する
このプロジェクトは意味を保持するよう設計されていますが、書き換えや翻訳の各段階で微妙な変化が生じる可能性があります。公開前に、最終結果に含まれる名前、数値、引用、専門用語、事実に関する主張を確認してください。
API認証情報を保護する
APIキーは秘密情報として扱ってください。値が入力されたconfig.tomlを公開したり、認証情報を公開リポジトリにコミットしたりしないでください。
責任ある利用
text-humanizerは、著者情報を偽ったり、AI支援の開示を求める規則を回避したりするためではなく、明瞭さ、語調、文体の多様性を向上させるために使用してください。
AI検出システムの判定には一貫性がなく、どのような書き換えワークフローでも特定の検出結果を保証することはできません。自身の作業に適用される、開示、学術的誠実性、出版、プラットフォームに関するポリシーに従ってください。
まとめ
text-humanizerは、DeepSeek、Google Translate、そしてオプションのDeepL処理を組み合わせることで、多言語テキストを書き換える設定可能な方法を提供します。リポジトリをクローンし、依存関係をインストールしてAPI設定を追加した後、python main.pyでパイプラインを起動できます。すべての結果を確認し、読みやすさ、事実の正確性、意味の忠実性を確かめてください。
ソースコードとMITライセンスは、text-humanizerのGitHubリポジトリで利用できます。
