価格をキャッチします。海上調達の実用ガイド





最も簡単な方法から始めましょう-私たちの手で釣りをしてみましょう。購入した商品のデータベースを開き、同様の商品を探し始めます。夕方には何も捕まえられない可能性が高いです。



どういうわけか、購入から商品のベースをフィルタリングしてみましょう。購入した各アイテムには、OKPD2コードが割り当てられます。経済活動による製品の全ロシア分類子は、製品に関する情報を含むコードです。



例:







フィッシングロッドができたので、少し良くなりましたが、何らかの理由で魚がフックにぶら下がることを望んでいません。



動揺しないでください、私たちは餌を使います。 1つのOKPD2内で類似の製品を自動的に識別する方法を見つける必要があります。これを行うには、製品の説明の意味をテンソルの形で提示する必要があります。情報を処理するには、情報を数値形式に変換する必要があります。これを行うには、単語をベクトル空間Word2Vecに変換するための特別なメカニズムを使用します。これは、単語をベクトルまたはテンソルと呼ばれる特定のサイズの一連の数値に変換します。 Word2Vecは、単語の意味を理解するために特別にトレーニングされたモデルです。同じOKPD2を持つデータベースの製品は、テンサーに変換する必要があります。これで、テンソル製品の1つと、他の製品テンサーが多数用意されました。



コサイン距離で最も近い製品を検索します。データベースからの製品が私たちのものに類似しているほど、コサイン距離は小さくなります。コサイン距離が最小の製品を選択し、これが私たちの希望する魚になります。



説明した方法を実際に分析してみましょう。製品の説明をテンソルに変換することから始めましょう。まず、製品の説明がトークン化されます。つまり、個別の単語に分割されます。単語を意味のある意味に変換するために、次元が100の事前トレーニング済みのWord2Vecが使用されました(つまり、単語は100個の数字のセットで表されます)。



一連の埋め込みを取得しました。コサイン距離を計算するには、製品の説明を含むテキスト全体のベクトル表現を計算する必要があります。実装の最も簡単な方法は、説明語のすべての埋め込み間の平均を取ることですが、製品の意味的な意味は歪められますが、これはこの問題を解決するために重要ではありません。







製品と同じOKPDを持つすべての製品を埋め込みに変換したら、次のステップはそれらの間の余弦距離を計算することです。







下の図でわかるように、「ビッグフィッシュ」製品に最も近いのは「サーモンジャイアント」と「ゴールドフィッシュ」製品です。







したがって、大きな魚の価格は、金魚と巨大なサーモンの価格の間の範囲にあると想定することができます。実際のデータでは、次の結果が得られました。







このアプローチがうまく機能しない場合があります。たとえば、製品データベースには、当社の製品に類似した製品はありません。すると、釣った魚は小さすぎて、モジュールは空の範囲を返します。







最後に検討する方法はネットフィッシングです。 Yandexはネットワークとして使用します。製品の説明から要求が形成され、最初の20の応答がさらに分析するために選択されます。以下の回答は関連性が疑わしいため、回答しても意味がありません。最初の20件の回答のテキストが価格ファインダーに送信されます。モデルは応答から価格を選択し、それらから価格範囲を形成します。たくさんの異なる魚がフィッシングネットに入るので、価格帯は非常に騒々しいです。フィルタリングのために、外れ値を削除しましょう。得られた価格が通常分配されている場合、価格の68パーセントしか保持できません。つまり、すべての価格の平均と標準偏差の差と、平均と標準偏差の合計の間の範囲にある価格を残しておきましょう。 Yandexでの製品の価格帯は次のようになります。



考えられるすべての釣り方法には、長所と短所があります。どちらのオプションが望ましいかの選択は、正確さと時間の要件に従って、各漁師によって行われます。ハッピーキャッチ!



All Articles