この記事では、TransformersPHP ライブラリを使用して PHP でコンテンツをプログラム的に翻訳する方法を説明します。
テキストの翻訳は、世界中の視聴者にリーチし、さまざまな言語を話す人がコンテンツに確実にアクセスできるようにするために不可欠です。
まず、TransformersPHP ライブラリがインストールされていることを確認してください。次のコマンドを実行すると、Composer 経由でインストールできます:
composer require codewithkyrian/transformers
インストール中に、次の質問に答える必要があります:
Do you trust "codewithkyrian/transformers-libsloader" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]
Composer プラグインが TransformersPHP に必要なすべての共有ライブラリをダウンロードできるようにするには、「はい」と答える必要があります。
インストールしたら、必要なクラスと依存関係をすべてロードするために自動ロード ファイルを要求します。
<?php require "./vendor/autoload.php";
次に、翻訳を処理する関連クラスと関数をインポートする必要があります。
use Codewithkyrian\Transformers\Transformers; use function Codewithkyrian\Transformers\Pipelines\pipeline;
コンテンツを翻訳する前に、Transformers クラスを設定する必要があります。
Transformers::setup()->setCacheDir("./models")->apply();
次のステップは、事前トレーニングされたモデルを使用して翻訳用のパイプラインを作成することです。
$translationPipeline = pipeline("translation", 'Xenova/nllb-200-distilled-600M');
この例で翻訳に使用されるモデルは https://huggingface.co/Xenova/nllb-200-distilled-600M です
翻訳したい文を定義します:
$inputs = [ "The quality of tools in the PHP ecosystem has greatly improved in recent years", "Some developers don't like PHP as a programming language", "I appreciate Laravel as a development tool", "Laravel is a framework that improves my productivity", "Using an outdated version of Laravel is not a good practice", "I love Laravel", ];
この配列には、イタリア語に翻訳される英語の文が含まれています。
各文をループして翻訳します:
foreach ($inputs as $input) { $output = $translationPipeline( $input, maxNewTokens: 256, tgtLang: 'ita_Latn' ); echo "?? " . $input . PHP_EOL; echo "?? " . trim($output[0]["translation_text"]) . PHP_EOL; echo PHP_EOL; }
このモデルは多くの言語をサポートしています。 tgtLang パラメータを使用してターゲット言語を定義するには、言語コード FLORES-200 を使用する必要があります。ここにリストがあります: https://github.com/facebookresearch/flores/blob/main/flores200/README.md#langages-in-flores-200
スクリプトの最初の実行で、pipeline() 関数はすべてのモデル ファイルをディレクトリ models/Xenova/nllb-200-distilled-600M にダウンロードします。モデルは 800 MB を超える巨大なものなので、しばらくお待ちください。
TransformersPHP を使用すると、プログラムによるコンテンツの翻訳が合理化されたプロセスになります。環境をセットアップし、必要なクラスを初期化し、翻訳パイプラインを定義することで、テキストをある言語から別の言語に簡単に変換できます。これは、多言語の Web サイト、アプリケーション、コンテンツを作成する場合に特に便利で、より幅広い視聴者に効果的にリーチできるようになります。
以上がAI と TransformersPHP を使用してプログラムでコンテンツを翻訳する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。