モデル概要
モデル特徴
モデル能力
使用事例
🚀 DistilBERT-ProductClassifier
このモデルは、DistilBERTモデルをファインチューニングしたもので、電子商取引分野の商品分類タスクに特化して訓練されています。このモデルは、「CPU」「デジタルカメラ」「食器洗い機」などの様々なカテゴリを区別し、オンライン小売プラットフォームでの商品の整理と分類に役立ちます。
🚀 クイックスタート
このモデルを使用して商品分類を始めるには、以下のコードを使用します。
基本的な使用法
import torch
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification
# Load the model and tokenizer from the Hugging Face Hub
def load_model_and_tokenizer(model_name, num_labels):
tokenizer = DistilBertTokenizer.from_pretrained(model_name)
model = DistilBertForSequenceClassification.from_pretrained(model_name, num_labels=num_labels)
model.eval() # Set the model to evaluation mode
return model, tokenizer
# Predict categories for the provided prompts
def predict(model, tokenizer, prompts, category_mapping, device):
model.to(device)
inputs = tokenizer(prompts, padding=True, truncation=True, return_tensors='pt', max_length=128)
with torch.no_grad():
input_ids = inputs['input_ids'].to(device)
attention_mask = inputs['attention_mask'].to(device)
outputs = model(input_ids, attention_mask=attention_mask)
logits = outputs.logits
predictions = torch.argmax(logits, dim=1).cpu().numpy()
predicted_categories = [category_mapping[pred] for pred in predictions]
return predicted_categories
# Main execution block
if __name__ == "__main__":
# Define some example prompts for prediction
prompts = [
"Intel Core i7 CPU",
"Nikon D3500 Digital Camera",
"Bosch Series 6 Dishwasher",
"Samsung 32 inch Smart TV",
"Apple iPhone 13"
]
# Create the category mapping based on provided comments
category_mapping = {
0: 'cpus',
1: 'digital cameras',
2: 'dishwashers',
3: 'fridge freezers',
4: 'microwaves',
5: 'mobile phones',
6: 'tvs',
7: 'washing machines'
}
model_name = 'Adnan-AI-Labs/DistilBERT-ProductClassifier'
# Load the model and tokenizer
print(f"Loading model and tokenizer from Hugging Face Hub: {model_name}")
model, tokenizer = load_model_and_tokenizer(model_name, len(category_mapping))
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# Make predictions
predicted_categories = predict(model, tokenizer, prompts, category_mapping, device)
# Display the predictions
for prompt, category in zip(prompts, predicted_categories):
print(f"Prompt: '{prompt}' | Predicted Category: '{category}'")
✨ 主な機能
- 電子商取引分野の商品分類タスクに特化したDistilBERTモデルのファインチューニング版です。
- 「CPU」「デジタルカメラ」「食器洗い機」などの様々な商品カテゴリを区別できます。
- オンライン小売プラットフォームでの商品の整理と分類に役立ちます。
- 限られた計算資源でも効率的に動作するように最適化されています。
- リアルタイムアプリケーションに適しています。
📦 インストール
このモデルを使用するには、以下のライブラリが必要です。
- Transformersライブラリ: v4.26.0
- Pythonバージョン: 3.8以上
- CUDA [オプション]: 10.2以上(GPUで実行する場合)
📚 ドキュメント
モデルの詳細
モデルの説明
DistilBERT-ProductClassifierモデルは、電子商取引データセットで訓練され、商品を特定のカテゴリに分類します。このモデルは、効率的なテキスト分類タスクに最適化されており、限られた計算資源でも良好に動作するように設計されています。このモデルは、コンパクトなDistilBERTアーキテクチャを利用しており、モバイルやウェブ環境を含むリアルタイムアプリケーションに適しています。
- 開発者: Adnan AI Labs
- モデルの種類: テキスト分類用にファインチューニングされたDistilBERT
- 言語: 英語
- ライセンス: Apache 2.0
- ファインチューニング元のモデル: DistilBERT
モデルのソース
用途
直接的な使用
このモデルは、電子商取引プラットフォームのテキストベースの商品リストの商品分類に使用されます。ユーザーはこのモデルを使用して商品を自動的に分類でき、手動でのタグ付けの必要性を減らし、商品の発見性を向上させることができます。
範囲外の使用
このモデルは、商品分類に関係のないタスクや電子商取引の文脈外では使用しないでください。センチメント分析、一般的なテキスト生成、またはその他の関係のない自然言語処理タスクには設計されていません。
バイアス、リスク、および制限
このモデルは電子商取引データで訓練されており、提供された訓練範囲外の商品やカテゴリではうまく動作しない可能性があります。さらに、一部のカテゴリは訓練データでの表現が少ないため、それらのクラスの分類精度に影響を与える可能性があります。
推奨事項
訓練データに含まれていない他の言語や高度に特殊化された商品カテゴリを含むユースケースでは、さらなるファインチューニングが必要になる場合があります。ユーザーは、重要な決定にこのモデルの出力を使用する前に、その出力を検証する必要があります。
訓練の詳細
訓練データ
このモデルは、「CPU」「デジタルカメラ」「食器洗い機」「冷蔵庫冷凍庫」「電子レンジ」「携帯電話」「テレビ」「洗濯機」などの様々な商品カテゴリを含む電子商取引データセットで訓練されました。データは、重複を削除し、小文字に変換し、テキストをトークン化することで前処理されました。
訓練手順
- 前処理: テキストデータをクリーニングし、小文字に変換し、トークン化しました。商品説明は、均一性のために128トークンに切り詰められました。
- ハイパーパラメータ: 学習率2e-5、バッチサイズ16で3エポックのファインチューニングを行いました。
- 訓練ハードウェア: このモデルは、単一のNVIDIA Tesla V100 GPUで約3時間訓練されました。
評価
このモデルは、別の商品説明のテストセットで評価され、精度、再現率、およびF1スコアを評価指標として使用しました。
要約
このモデルは、全体的な精度が96.16%を達成し、複数の商品カテゴリで強力な性能を発揮しています。F1スコアは、このモデルが「CPU」と「デジタルカメラ」のカテゴリで特に良好に動作することを示しています。
技術仕様
モデルアーキテクチャと目的
DistilBERT-ProductClassifierモデルは、DistilBERTアーキテクチャを利用し、電子商取引商品分類タスク用のテキスト分類ヘッドでファインチューニングされています。
コンピュートインフラストラクチャ
このモデルは、CPUと小型GPUで効率的に実行するように最適化されており、リアルタイムアプリケーションに適しています。
ハードウェア
このモデルは、効率的な推論に最低4GBのRAMが必要で、最新のCPUまたは基本的なGPUが推奨されます。
ソフトウェア
- Transformersライブラリ: v4.26.0
- Pythonバージョン: 3.8以上
- CUDA [オプション]: 10.2以上(GPUで実行する場合)
🔧 技術詳細
モデルのアーキテクチャ
DistilBERT-ProductClassifierモデルは、DistilBERTアーキテクチャを利用し、電子商取引商品分類タスク用のテキスト分類ヘッドでファインチューニングされています。
コンピュートインフラストラクチャ
このモデルは、CPUと小型GPUで効率的に実行するように最適化されており、リアルタイムアプリケーションに適しています。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
引用
このモデルを使用する場合は、以下のように引用してください。
@misc{distilbert_product_classifier,
author = {Adnan AI Labs},
title = {DistilBERT-ProductClassifier for E-commerce},
year = {2024},
url = {https://huggingface.co/Adnan-AI-Labs/DistilBERT-ProductClassifier}
}
💡 使用アドバイス
訓練データに含まれていない他の言語や高度に特殊化された商品カテゴリを含むユースケースでは、さらなるファインチューニングが必要になる場合があります。ユーザーは、重要な決定にこのモデルの出力を使用する前に、その出力を検証する必要があります。








