タオバオのメイン検索リコールシナリオにおけるマルチモーダル技術の探究

タオバオのメイン検索リコールシナリオにおけるマルチモーダル技術の探究

検索リコールは検索システムの基礎として、効果向上の上限を決定します。私たちが直面している主な課題は、既存の大規模なリコール結果から差別化された増分価値を継続的に生み出す方法です。マルチモーダル事前トレーニングとリコールの組み合わせにより、新たな展望が開かれ、オンラインでの結果が大幅に改善されました。

序文

マルチモーダル事前トレーニングは、学界と産業界における研究の焦点です。大規模データで事前トレーニングを行うことで、異なるモダリティ間の意味的対応が得られ、視覚的な質問応答、視覚的推論、画像とテキストの検索など、さまざまな下流タスクの結果を向上させることができます。  グループ内には、マルチモーダル事前トレーニングに関する研究とアプリケーションもいくつかあります。  タオバオの主な検索シナリオでは、ユーザーが入力したクエリと思い出したい商品との間に自然なクロスモーダル検索の需要があります。しかし、以前は、商品にはタイトルや統計的特徴が多く使用され、画像などのより直感的な情報は無視されていました。  しかし、視覚的な要素を含むクエリ(白いドレス、花柄のドレスなど)の場合、検索結果ページで最初に表示される画像に誰もが注目すると思います。

タオバオの主な検索シナリオ

一方で、画像はより目立つ位置を占め、他方では、白や花柄などの視覚的要素など、タイトルにはない情報が画像に含まれている場合があります。後者については、2 つの状況を区別する必要があります。1 つは、タイトルに情報があるが、表示の制限により完全に表示できない場合です。この状況は、システム リンクでの製品のリコールには影響しません。もう 1 つは、タイトルに情報がないが、画像に情報がある場合です。つまり、画像はテキストと比較して増分値をもたらすことができます。私たちが焦点を当てる必要があるのは後者です。

 技術的な問題と解決策

メインの検索リコール シナリオにマルチモーダル テクノロジを適用する場合、対処する必要がある主な問題が 2 つあります。

  1. マルチモーダル画像およびテキスト事前トレーニング モデルは、通常、画像とテキストのモダリティを統合します。クエリが存在するため、メイン検索では、製品画像とタイトルの元の画像とテキストのモダリティに基づいて、追加のテキスト モダリティを考慮する必要があります。同時に、クエリと製品タイトルの間には意味的なギャップがあります。クエリは比較的短くて幅広いのに対し、製品タイトルは売り手が SEO を行うため長くてキーワードが詰め込まれていることが多いのです。
  2. 通常、事前トレーニング タスクと下流タスクの関係は、事前トレーニングでは大規模なラベルなしデータが使用され、下流では少量のラベル付きデータが使用されます。しかし、メインの検索リコールの場合、下流のベクトルリコールタスクの規模は数十億のデータと膨大です。ただし、GPU リソースが限られているため、事前トレーニングに使用できるデータは比較的少量のみです。この場合、事前トレーニングは下流のタスクに依然としてメリットをもたらすのでしょうか?

私たちの解決策は次のとおりです。

  1. テキストと画像の事前トレーニング  : クエリと製品項目を別々にエンコーダーに渡し、ダブルタワーとしてクロスモーダルエンコーダーに入力します。クエリ タワーとアイテム タワーを見ると、これらは後半の段階でのみ相互作用しており、デュアル ストリーム モデルに似ています。ただし、アイテム タワーに特に注目すると、イメージ モードとタイトル モードは前半の段階で相互作用しており、これはシングル ストリーム モデルです。したがって、私たちのモデル構造は、一般的なシングルストリームまたはデュアルストリーム構造とは異なります。この設計の出発点は、クエリ ベクトルとアイテム ベクトルをより効果的に抽出し、下流のデュアル タワー ベクトル リコール モデルに入力を提供し、事前トレーニング段階でデュアル タワー内積モデリング手法を導入することです。クエリとタイトル間の意味的なつながりとギャップをモデル化するために、クエリタワーとアイテムタワーのエンコーダーを共有し、言語モデルを個別に学習します。
  2. 事前トレーニングと想起タスクの連携  : サンプル構築方法と下流ベクトルリコールタスクの損失に応じて、事前トレーニングタスクとモデリング方法が設計されます。一般的な画像とテキストのマッチングタスクとは異なり、クエリとアイテム、およびクエリと画像のマッチングタスクを使用し、クエリ下で最もクリックされたアイテムを正のサンプルとして使用し、バッチ内のその他のサンプルを負のサンプルとして使用し、クエリとアイテムのダブルタワーの内積法を使用してモデル化するマルチ分類タスクを追加します。この設計の出発点は、事前トレーニングをベクトル想起タスクに近づけ、限られたリソースの中で下流のタスクに可能な限り効果的な入力を提供することです。さらに、ベクトルリコールタスクでは、事前学習された入力ベクトルが学習プロセス中に固定されると、大規模データに対して効果的に調整することができません。このため、ベクトルリコールタスクにおける事前学習されたベクトルの更新もモデル化しました。

事前学習済みモデル

 モデリングアプローチ

マルチモーダル事前トレーニング モデルでは、画像から特徴を抽出し、それをテキストの特徴と融合する必要があります。画像から特徴を抽出するには、主に 3 つの方法があります。CV フィールドでトレーニングされたモデルを使用して、画像の RoI 特徴、グリッド特徴、パッチ特徴を抽出する方法です。モデル構造の観点から見ると、画像の特徴とテキストの特徴を融合する方法に応じて、シングル ストリーム モデルとデュアル ストリーム モデルの 2 つの主要なカテゴリがあります。シングル ストリーム モデルでは、画像の特徴とテキストの特徴が連結されて早い段階でエンコーダーに入力されますが、2 ストリーム モデルでは、画像の特徴とテキストの特徴がそれぞれ 2 つの独立したエンコーダーに入力され、その後、クロスモーダル エンコーダーに入力されて融合されます。

 初期調査

画像の特徴を抽出する方法は、画像をパッチシーケンスに分割し、ResNet を使用して各パッチの画像の特徴を抽出することです。モデル構造に関しては、クエリ、タイトル、画像を連結してエンコーダーに入力するシングルストリーム構造を試しました。複数の実験を行った結果、この構造では、下流のデュアルタワーベクトル想起タスクの入力として純粋なクエリベクトルとアイテムベクトルを抽出することが難しいことがわかりました。ベクトルを抽出するときに不要なモードをマスクすると、予測がトレーニングと一致しなくなります。この問題は、インタラクティブ モデルからツイン タワー モデルを直接抽出する場合に似ています。私たちの経験によると、このモデルの効果は、トレーニング済みのツイン タワー モデルほど良くありません。これに基づいて、新しいモデル構造を提案します。

 モデル構造

デュアル ストリーム構造と同様に、このモデルは下部に 2 つのタワーで構成され、2 つのタワーはクロスモーダル エンコーダーを介して上部で融合されています。デュアル ストリーム構造とは異なり、デュアル タワーはそれぞれ単一のモードで構成されていません。アイテム タワーには、タイトルと画像のデュアル モードが含まれています。タイトルと画像は結合されてエンコーダーに入力されます。この部分はシングル ストリーム モデルに似ています。クエリとタイトル間の意味的なつながりとギャップをモデル化するために、クエリとアイテムのエンコーダを共有し、言語モデルを個別に学習します。

事前トレーニングでは、適切なタスクを設計することも重要です。よく使用されるタイトルと画像のテキスト マッチング タスクを試しました。比較的高いマッチング度を達成できましたが、下流のベクトル リコール タスクにはほとんどメリットをもたらしませんでした。これは、クエリを使用してアイテムをリコールする場合、アイテムのタイトルと画像が一致するかどうかは重要な要素ではないためです。したがって、タスクを設計する際には、クエリとアイテムの関係をより考慮します。現在、合計 5 つの事前トレーニング タスクが使用されています。

 事前トレーニングタスク

  1. マスク言語モデリング (MLM): テキスト トークンの 15% がランダムにマスクされ、残りのテキストと画像を使用してマスクされたテキスト トークンを予測します。クエリとタイトルには、それぞれ MLM タスクがあります。 MLMはクロスエントロピー損失を最小化します。  残りのテキストトークンを表す
  2. マスク パッチ モデリング (MPM): 画像のパッチ トークンのうち 25% をランダムにマスクし、残りの画像とテキストを使用してマスクされた画像トークンを予測します。 MPMはKLダイバージェンス損失を最小化します:  残りの画像トークンを表す
  3. クエリ項目分類 (QIC):  クエリで最もクリックされた項目が正のサンプルとして使用され、バッチ内の他のサンプルは負のサンプルとして使用されます。 QICは、線形層を通してクエリタワーとアイテムタワーの[CLS]トークンの次元を256次元に削減し、類似度計算を実行して予測確率を取得し、クロスエントロピー損失を最小化します   計算方法はいくつかあります:

 類似度の計算を表します。  温度ハイパーパラメータを表す。  およびmはそれぞれスケーリング係数と緩和係数を表す。

  1. クエリ項目マッチング (QIM): クエリ下で最もクリックされた項目が正のサンプルとして使用され、現在のクエリとの類似性が最も高いバッチ内の他の項目が負のサンプルとして使用されます。 QIM はクロスモーダル エンコーダーの [CLS] トークンを使用して予測確率を計算し、クロスエントロピー損失を最小化します。


  1. クエリ画像マッチング (QIM2): QIM サンプルでは、​​クエリと画像間のマッチングを強化するためにタイトルがマスクされます。 QIM2 はクロスエントロピー損失を最小化します。

モデルのトレーニング目標は、全体的な損失を最小限に抑えることです。

これら 5 つの事前トレーニング タスクのうち、MLM タスクと MPM タスクはアイテム タワーの上にあり、タイトルまたはイメージの一部のトークンがマスクされた後にクロスモーダル情報を使用して互いを復元する機能をモデル化します。クエリ タワーの上には独立した MLM タスクがあり、クエリ タワーとアイテム タワーのエンコーダーを共有することで、クエリとタイトル間の意味的な接続とギャップをモデル化します。 QIC タスクは、デュアルタワー内積アプローチを使用して、事前トレーニングと下流のベクトルリコールタスクをある程度調整し、AM-Softmax を使用してクエリの表現とクエリの下の最もクリックされたアイテムの表現間の距離を短縮し、それによってクエリと他のアイテム間の距離を増やします。 QIM タスクはクロスモーダル エンコーダーの上に配置され、クロスモーダル情報を使用してクエリとアイテム間のマッチングをモデル化します。計算量を考慮すると、通常のNSPタスクの正負サンプル比は1:1です。正負サンプル間の距離をさらに広げるために、QICタスクの類似度計算結果を元に難しい負サンプルを構築します。 QIM2 タスクは QIM タスクと同じ位置にあり、テキストに対して画像がもたらす増分情報を明示的にモデル化します。

ベクトルリコールモデル

 モデリングアプローチ

大規模な情報検索システムでは、リコール モデルは最下層にあり、多数の候補セットにスコアを付ける必要があります。パフォーマンス上の理由から、User と Item の 2 つのタワーを使用してベクトルの内積を計算する構造がよく使用されます。ベクトルリコール モデルの中心的な問題は、正のサンプルと負のサンプルをどのように構築するか、および負のサンプルのサンプリングの規模です。私たちの解決策は、ページ上でユーザーがクリックしたアイテムをポジティブサンプルとして取り、クリック分布に基づいて製品プール全体から数万のネガティブサンプルをサンプリングし、サンプリングされたサンプルから Sampled Softmax Loss を使用して製品プール全体のアイテムのクリック確率を推測することです。

 類似度の計算を表します。  温度ハイパーパラメータを表す

 初期調査

一般的な FineTune パラダイムに従って、事前トレーニング済みのベクトルを 2 タワー MLP に直接入力し、大規模なネガティブ サンプリングと Sampled Softmax を組み合わせて、マルチモーダル ベクトル リコール モデルをトレーニングしようとしました。ただし、通常の小規模なダウンストリーム タスクとは対照的に、ベクトル リコール タスクのトレーニング サンプル サイズは数十億のオーダーと非常に大きくなります。 MLP パラメータの数がモデルのトレーニングをサポートできず、モデルがすぐに収束状態に達することが観察されましたが、効果は良くありませんでした。同時に、事前トレーニング済みベクトルは、ベクトル リコール モデルではパラメータではなく入力として使用され、トレーニングの進行に合わせて更新することはできません。その結果、比較的小規模なデータでの事前トレーニングは、大規模データでの下流のタスクと一定の矛盾を生じます。

解決策はいくつかあります。1 つの方法は、事前トレーニング済みモデルをベクトル リコール モデルに統合することです。ただし、事前トレーニング済みモデルのパラメータ数が多すぎます。ベクトル リコール モデルのサンプル サイズと相まって、限られたリソースの制約下では、妥当な時間内に定期的なトレーニングを実行することは不可能です。別のアプローチは、ベクトル リコール モデルでパラメーター マトリックスを構築し、事前トレーニング済みのベクトルをマトリックスにロードし、トレーニングの進行に合わせてマトリックス パラメーターを更新することです。調査の結果、この方法はエンジニアリング実装に比較的高いコストがかかることが判明しました。これに基づいて、事前トレーニング済みベクトルの更新をモデル化するためのシンプルで実現可能なモデル構造を提案します。

 モデル構造

まず、FC を通じて事前トレーニング済みベクトルの次元を削減します。事前トレーニングではなくここで次元を削減する理由は、現在の高次元ベクトルがネガティブ サンプル サンプリングの許容可能なパフォーマンス範囲内にあるためです。この場合、ベクトル リコール タスクで次元を削減する方が、トレーニングの目標とより一致します。同時に、クエリとアイテムの ID 埋め込み行列を導入します。埋め込み次元は、次元削減後の事前トレーニング済みベクトルの次元と一致し、その後、ID と事前トレーニング済みベクトルが融合されます。この設計の出発点は、大規模なトレーニング データをサポートするのに十分なパラメータを導入し、トレーニングの進行に合わせて事前トレーニング ベクトルを適応的に更新できるようにすることです。

ID と事前トレーニング済みベクトルの融合のみを使用すると、モデルのパフォーマンスは、事前トレーニング済みベクトルのみを使用するデュアルタワー MLP のパフォーマンスを上回るだけでなく、より多くの機能を含むベースライン モデル MGDSPR も上回ります。さらに、これを基にさらに多くの機能を導入することで、効果をさらに高めることができます。

実験分析

 評価指標

事前トレーニング済みモデルの有効性は通常、下流タスクの指標を使用して評価され、個別の評価指標が使用されることはほとんどありません。ただし、この場合、モデルの各バージョンの反復では、対応するベクトル リコール タスクをトレーニングし、ベクトル リコール タスクの指標を評価する必要があるため、事前トレーニング済みモデルの反復コストは比較的高くなります。プロセス全体は非常に長くなります。事前トレーニング済みモデルを個別に評価するための効果的な指標はありますか?私たちは最初にいくつかの論文で Rank@K を試しました。この指標は主に画像とテキストのマッチング タスクを評価するために使用されます。まず、事前トレーニング済みのモデルを使用して手動で構築された候補セットにスコアを付け、次にスコアでソートされた上位 K の結果のうち、画像とテキストのマッチングの正のサンプルにヒットした結果の割合を計算します。クエリとアイテムのマッチング タスクに Rank@K を直接適用したところ、結果は期待どおりではなかったことがわかりました。Rank@K が優れた事前トレーニング済みモデルは、下流のベクトル リコール モデルでより悪い結果をもたらす可能性があり、事前トレーニング済みモデルの反復をガイドできません。これに基づいて、事前学習済みモデルとベクトルリコールモデルの評価を統一し、同じ評価指標とプロセスを使用して、事前学習済みモデルの反復を比較的効果的にガイドします。

リコール@K   :評価データセットは、トレーニングセットの翌日のデータで構成され、まず、同じクエリでの異なるユーザーのクリックとトランザクションの結果を集計し、次にモデルによって予測されたトップK結果を計算します。  打つ 比率:

モデルがトップ K の結果を予測する場合、事前トレーニング済み/ベクトル リコール モデルからクエリ ベクトルとアイテム ベクトルを抽出し、最近傍検索を使用してクエリの下にあるトップ K アイテムを取得する必要があります。このプロセスは、オンライン エンジンでベクトル リコールをシミュレートして、オフラインとオンライン間の一貫性を維持します。事前トレーニング済みモデルの場合、この指標と Rank@K の違いは、モーダル フュージョン後のモデルを直接使用してスコアリングするのではなく、クエリとアイテムのベクトルがモデル内で抽出され、ベクトル内積検索が行われることです。また、クエリでは、それに一致するアイテムだけでなく、このクエリの下でさまざまなユーザーがクリックして取引したアイテムも呼び出される必要があります。

ベクトルリコールモデルの場合、Recall@K が一定レベルまで向上した後は、クエリとアイテムの相関関係にも注意を払う必要があります。関連性の低いモデルでは、検索効率は向上するかもしれませんが、悪いケースも増え、ユーザーエクスペリエンスの低下や苦情や世論の増加につながります。  クエリとアイテム間、およびクエリとアイテム カテゴリ間の相関関係を評価するために、オンライン相関モデルと一致するオフライン モデルを使用します。

 事前トレーニング実験

いくつかのカテゴリーで 1 億点の製品のプールを選択し、事前トレーニング データセットを構築しました。

私たちのベースライン モデルは、QIM および QIM2 タスクを追加した最適化された FashionBert です。クエリ ベクトルとアイテム ベクトルを抽出するときに、非パディング トークンに対してのみ平均プーリング法を使用します。以下の実験では、単一タワー モデルと比較したデュアル タワー モデリングによってもたらされる利点を調査し、アブレーション実験を通じて主要部品の役割を示します。

これらの実験から、次のような結論を導き出すことができます。

  1. 実験 8 と実験 3: 最適化されたデュアルタワー モデルは、Recall@1000 においてシングルタワー ベースラインよりも大幅に高くなっています。
  2. 実験 3 と実験 1/2: シングルタワー モデルの場合、クエリ ベクトルとアイテム ベクトルを抽出する方法が重要です。クエリとアイテムの両方に [CLS] トークンを使用しようとしましたが、結果は良くありませんでした。実験 1 では、クエリとアイテムに対応するトークンをそれぞれ平均プーリングに使用すると、より良い効果が得られました。ただし、パディング トークンをさらに削除してから平均プーリングを実行すると、より大きな改善が得られます。実験 2 では、クエリと画像のマッチングを明示的にモデル化して画像情報の役割を強調すると、改善がもたらされることを確認します。
  3. 実験 6 と実験 4/5: 実験 4 では、アイテム タワーの MLM/MPM タスクをクロスモーダル エンコーダーに移動しましたが、その効果は悪くなりました。これは、これら 2 つのタスクをアイテム タワーに配置すると、アイテム表現の学習が強化される可能性があるためです。さらに、アイテム タワーのタイトルと画像に基づくクロスモーダル回復は、より強い対応関係を持つことになります。実験 5 では、トレーニングと予測中にクエリ ベクトルとアイテム ベクトルに L2 ノルムを追加すると改善がもたらされることを確認します。
  4. 実験 6/7/8: QIC タスクの Loss を変更すると、改善がもたらされます。Sigmoid と比較すると、Softmax は下流のベクトル リコール タスクに近く、AM-Softmax は正のサンプルと負のサンプル間の距離をさらに広げます。

 ベクトル想起実験

10 億回のクリックがあるページを選択し、ベクトル リコール データセットを構築しました。各ページには、クリックされたアイテムが 3 つ、ポジティブ サンプルとして含まれており、クリック分布に基づいて製品プールから 10,000 個のネガティブ サンプルがサンプリングされます。これに基づくと、トレーニングデータの量やネガティブサンプルのサンプリング量をさらに拡大しても、効果の大幅な改善は見られませんでした。

私たちのベースライン モデルは、メイン検索の MGDSPR モデルです。次の実験では、マルチモーダル事前トレーニングとベクトルリコールを組み合わせることでベースラインと比較してどのようなメリットがもたらされるかを調査し、アブレーション実験を通じて重要な部分の役割を示します。

これらの実験から、次のような結論を導き出すことができます。

  1. 実験 7/8 と実験 6: マルチモーダル機能と ID が FC を通じて融合された後、3 つの指標すべてでベースラインを超えました。Recall@1000 が向上しただけでなく、製品の関連性もさらに向上しました。これを基に、ベースラインと同じ機能を追加すると、3 つの指標がさらに改善され、Recall@1000 のさらなる改善が実現します。
  2. 実験 1 と実験 2: マルチモーダル機能のみの場合、Recall@1000 は ID のみの場合よりも低くなりますが、相関はより高くなり、相関はオンラインで利用できるレベルに近くなります。これは、現時点でのマルチモーダルリコールモデルでは、リコール結果に基づく悪いケースは少ないものの、クリックやトランザクションの効率性を十分に考慮していないことを示しています。
  3. 実験 3/4/5 vs 実験 1/2: マルチモーダル特徴を ID と融合した後、3 つの指標すべてを改善できます。その中でも、FC による次元削減後にマルチモーダル特徴に ID を追加すると、効果はより高くなります。ただし、ベースラインと比較すると、Recall@1000 にはまだギャップがあります。
  4. 実験 7 と実験 5: 事前トレーニング済みモデルの最適化後、Recall@1000 と製品の関連性は向上しましたが、カテゴリの関連性は基本的に同じままでした。

ベクトル想起モデルの上位 1000 件の結果から、オンライン システムがすでに想起できる項目を除外したところ、残りの増分結果の関連性は基本的に変化していないことがわかりました。大量のクエリでは、これらの増分結果がキャプチャされます 商品タイトル以外の画像情報を取得するだけでなく、クエリとタイトル間の意味的ギャップを埋める役割も果たします。

クエリ: クールなスーツ

クエリ: レディース ウエストにフィットするシャツ

要約と展望

主な検索シナリオのアプリケーション要件に応えて、クエリとアイテムのデュアルタワー入力を備えたクロスモーダルエンコーダーの構造を採用したテキスト画像事前トレーニングモデルを提案しました。アイテムタワーは、画像とテキストのマルチモーダリティを含むシングルストリームモデルです。クエリとアイテム、クエリと画像のマッチングタスク、およびクエリとアイテムのダブルタワーの内積法でモデル化されたクエリとアイテムのマルチ分類タスクを通じて、事前トレーニングは下流のベクトルリコールタスクに近づきます。同時に、事前トレーニング済みベクトルの更新がベクトルリコールでモデル化されます。リソースが限られている場合でも、比較的少量のデータで事前トレーニングを行うことで、大量のデータを使用する下流のタスクのパフォーマンスを向上させることができます。

製品の理解、関連性、並べ替えなど、主な検索の他のシナリオでも、マルチモーダル技術を適用する必要があります。私たちもこれらのシナリオの調査に携わっており、マルチモーダル技術が将来さらに多くのシナリオにメリットをもたらすと信じています。

チームについて

Taobao メイン検索リコールチーム: メイン検索リンクのリコールと粗いランキングリンクを担当しています。現在、主な技術方向は、フルスペースサンプルに基づくマルチターゲットパーソナライズベクトルリコール、大規模な事前トレーニングに基づくマルチモーダルリコール、対照学習に基づく類似クエリセマンティック書き換え、および粗いランキングモデルです。

<<:  Alipayの検索エクスペリエンスを向上させるために、Antと北京大学は階層的コントラスト学習を使用してテキストフレームワークを生成

>>:  Google ナレッジグラフ: 10 年にわたる開発

ブログ    

推薦する

...

スマートレコメンデーションの根底にあるロジックを理解するための4つのステップ

インテリジェント レコメンデーションは、ビジネス ニーズを満たすビッグ データと人工知能テクノロジに...

...

機械学習アルゴリズムの基礎知識

利用できるアルゴリズムは多数あります。難しいのは、さまざまな種類の方法があり、それらの方法に拡張もあ...

AIビジョンを取り入れることで、ガソリンスタンドは非常に「スマート」になることができます

[[354264]]石油貯蔵所、ガソリンスタンド、石油荷降ろしトラックには大量の完成燃料が保管され...

...

冬季オリンピックのテストマッチ、副審はAIだったことが判明

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

本当に良いものです!機械学習技術と市場の最強評価ガイド

【51CTO.comオリジナル記事】機械学習の特許は、2013 年から 2017 年の間に 34% ...

IDC:中国のAIパブリッククラウド市場は2022年にトレンドに逆らって成長し、成長率は80.6%になる

最近、IDCは「IDC中国AIパブリッククラウドサービス市場シェア、2022」レポートを発表しました...

...

人工知能について知っておくべき4つのこと!

1950 年代以来、コンピューター科学者は人間の知能を模倣するプログラムの開発に取り組んできました...

...

...

...

蝶ネクタイボイスチェンジャーなしでも1秒でコナンになれる——音声合成+ディープラーニング

[51CTO.com からのオリジナル記事] 「名探偵コナン」を見たことがある友人なら、コナンに出て...