Text2vec Bge Large Chinese
CoSENTアルゴリズムに基づく中国語意味マッチングモデルで、文を1024次元の密ベクトル空間にマッピングでき、文埋め込み、テキストマッチング、意味検索などのタスクに適しています。
Downloads 1,791
Release Time : 9/4/2023
Model Overview
このモデルはCoSENT手法でトレーニングされ、BAAI/bge-large-zh-noinstructモデルに基づいており、中国語STSデータセットで微調整されており、中国語文レベルの意味マッチングタスクに適しています。
Model Features
効率的な意味マッチング
CoSENT手法でトレーニングされ、中国語文類似度計算効果を最適化
大規模モデル基盤
BAAI/bge-large-zh-noinstructモデルに基づく微調整で、強力な意味理解能力を備えています
長文処理
最大256トークンのシーケンス長をサポートし、文や短い段落の処理に適しています
Model Capabilities
文埋め込み
テキストマッチング
意味検索
情報検索
テキストクラスタリング
Use Cases
インテリジェントカスタマーサービス
問題類似度マッチング
ユーザーの質問とナレッジベース内の類似質問をマッチング
カスタマーサービスの応答速度と精度を向上
検索エンジン
意味検索
ユーザークエリの意図を理解し、意味的に関連する結果を返す
検索関連性を向上
🚀 shibing624/text2vec-bge-large-chinese
このモデルはCoSENT(Cosine Sentence)モデルのshibing624/text2vec-bge-large-chineseです。文章を1024次元の密ベクトル空間にマッピングし、文章埋め込み、テキストマッチング、または意味検索などのタスクに使用できます。
🚀 クイックスタート
このモデルを使用するには、text2vecをインストールすると簡単に使えます。
pip install -U text2vec
その後、次のようにモデルを使用できます。
from text2vec import SentenceModel
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
model = SentenceModel('shibing624/text2vec-bge-large-chinese')
embeddings = model.encode(sentences)
print(embeddings)
✨ 主な機能
- 文章を1024次元の密ベクトル空間にマッピングすることができます。
- 文章埋め込み、テキストマッチング、または意味検索などのタスクに使用できます。
📦 インストール
text2vecを使用する場合
pip install -U text2vec
HuggingFace Transformersを使用する場合
pip install transformers
sentence-transformersを使用する場合
pip install -U sentence-transformers
💻 使用例
text2vecを使用する場合
from text2vec import SentenceModel
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
model = SentenceModel('shibing624/text2vec-bge-large-chinese')
embeddings = model.encode(sentences)
print(embeddings)
HuggingFace Transformersを使用する場合
from transformers import BertTokenizer, BertModel
import torch
# Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] # First element of model_output contains all token embeddings
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
# Load model from HuggingFace Hub
tokenizer = BertTokenizer.from_pretrained('shibing624/text2vec-bge-large-chinese')
model = BertModel.from_pretrained('shibing624/text2vec-bge-large-chinese')
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Compute token embeddings
with torch.no_grad():
model_output = model(**encoded_input)
# Perform pooling. In this case, mean pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
sentence-transformersを使用する場合
from sentence_transformers import SentenceTransformer
m = SentenceTransformer("shibing624/text2vec-bge-large-chinese")
sentences = ['如何更换花呗绑定银行卡', '花呗更改绑定银行卡']
sentence_embeddings = m.encode(sentences)
print("Sentence embeddings:")
print(sentence_embeddings)
📚 詳細ドキュメント
評価
このモデルの自動評価については、Evaluation Benchmark: text2vecを参照してください。
リリースモデル
- 本プロジェクトのリリースモデルの中国語マッチング評価結果:
Arch | BaseModel | Model | ATEC | BQ | LCQMC | PAWSX | STS-B | SOHU-dd | SOHU-dc | Avg | QPS |
---|---|---|---|---|---|---|---|---|---|---|---|
Word2Vec | word2vec | w2v-light-tencent-chinese | 20.00 | 31.49 | 59.46 | 2.57 | 55.78 | 55.04 | 20.70 | 35.03 | 23769 |
SBERT | xlm-roberta-base | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | 18.42 | 38.52 | 63.96 | 10.14 | 78.90 | 63.01 | 52.28 | 46.46 | 3138 |
CoSENT | hfl/chinese-macbert-base | shibing624/text2vec-base-chinese | 31.93 | 42.67 | 70.16 | 17.21 | 79.30 | 70.27 | 50.42 | 51.61 | 3008 |
CoSENT | hfl/chinese-lert-large | GanymedeNil/text2vec-large-chinese | 32.61 | 44.59 | 69.30 | 14.51 | 79.44 | 73.01 | 59.04 | 53.12 | 2092 |
CoSENT | nghuyong/ernie-3.0-base-zh | shibing624/text2vec-base-chinese-sentence | 43.37 | 61.43 | 73.48 | 38.90 | 78.25 | 70.60 | 53.08 | 59.87 | 3089 |
CoSENT | nghuyong/ernie-3.0-base-zh | shibing624/text2vec-base-chinese-paraphrase | 44.89 | 63.58 | 74.24 | 40.90 | 78.93 | 76.70 | 63.30 | 63.08 | 3066 |
CoSENT | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | shibing624/text2vec-base-multilingual | 32.39 | 50.33 | 65.64 | 32.56 | 74.45 | 68.88 | 51.17 | 53.67 | 3138 |
CoSENT | BAAI/bge-large-zh-noinstruct | shibing624/text2vec-bge-large-chinese | 38.41 | 61.34 | 71.72 | 35.15 | 76.44 | 71.81 | 63.15 | 59.72 | 844 |
説明:
- 結果評価指標:spearman係数
shibing624/text2vec-base-chinese
モデルは、CoSENT方法で訓練され、hfl/chinese-macbert-base
をベースに中国語STS - Bデータで訓練され、中国語STS - Bテストセットで良好な結果を得ました。examples/training_sup_text_matching_model.pyコードを実行するとモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語の一般的な意味マッチングタスクに推奨されます。shibing624/text2vec-base-chinese-sentence
モデルは、CoSENT方法で訓練され、nghuyong/ernie-3.0-base-zh
をベースに、人工的に選択された中国語STSデータセットshibing624/nli-zh-all/text2vec-base-chinese-sentence-datasetで訓練され、中国語の各NLIテストセットで良好な結果を得ました。examples/training_sup_text_matching_model_jsonl_data.pyコードを実行するとモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語のs2s(文vs文)意味マッチングタスクに推奨されます。shibing624/text2vec-base-chinese-paraphrase
モデルは、CoSENT方法で訓練され、nghuyong/ernie-3.0-base-zh
をベースに、人工的に選択された中国語STSデータセットshibing624/nli-zh-all/text2vec-base-chinese-paraphrase-datasetで訓練され、データセットにはshibing624/nli-zh-all/text2vec-base-chinese-sentence-datasetに比べてs2p(文toパラフレーズ)データが追加され、長いテキストの表現能力が強化されています。中国語の各NLIテストセットでSOTAの結果を得ました。examples/training_sup_text_matching_model_jsonl_data.pyコードを実行するとモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語のs2p(文vsパラグラフ)意味マッチングタスクに推奨されます。shibing624/text2vec-base-multilingual
モデルは、CoSENT方法で訓練され、sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
をベースに、人工的に選択された多言語STSデータセットshibing624/nli-zh-all/text2vec-base-multilingual-datasetで訓練され、中英テストセットで元のモデルよりも性能が向上しています。examples/training_sup_text_matching_model_jsonl_data.pyコードを実行するとモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。多言語の意味マッチングタスクに推奨されます。shibing624/text2vec-bge-large-chinese
モデルは、CoSENT方法で訓練され、BAAI/bge-large-zh-noinstruct
をベースに、人工的に選択された中国語STSデータセットshibing624/nli-zh-all/text2vec-base-chinese-paraphrase-datasetで訓練され、中国語テストセットで元のモデルよりも性能が向上しており、短いテキストの区別能力が大幅に向上しています。examples/training_sup_text_matching_model_jsonl_data.pyコードを実行するとモデルを訓練でき、モデルファイルはHF model hubにアップロードされています。中国語のs2s(文vs文)意味マッチングタスクに推奨されます。w2v-light-tencent-chinese
は騰訊の単語ベクトルのWord2Vecモデルで、CPUでロードして使用でき、中国語の文字面マッチングタスクやデータが不足しているコールドスタートの場合に適しています。- 各事前訓練モデルはtransformersを通じて呼び出すことができます。例えば、MacBERTモデル:
--model_name hfl/chinese-macbert-base
またはrobertaモデル:--model_name uer/roberta-medium-wwm-chinese-cluecorpussmall
- モデルのロバスト性を評価するために、訓練されていないSOHUテストセットを追加し、モデルの汎化能力をテストしました。即座に使用できる実用的な効果を得るために、収集した各中国語マッチングデータセットを使用し、データセットもHF datasetsにアップロードされていますリンクは下記参照
- 中国語マッチングタスクの実験では、poolingの最適な方法は
EncoderType.FIRST_LAST_AVG
とEncoderType.MEAN
で、両者の予測結果の差は非常に小さいです。 - 中国語マッチング評価結果の再現には、中国語マッチングデータセットを
examples/data
にダウンロードし、tests/model_spearman.pyコードを実行して評価結果を再現できます。 - QPSのGPUテスト環境はTesla V100、メモリは32GBです。
モデル訓練実験報告:実験報告
🔧 技術詳細
モデル全体のアーキテクチャ
CoSENT(
(0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: ErnieModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_mean_tokens': True})
)
意図された用途
当社のモデルは、文章および短い段落のエンコーダとして使用することを意図しています。入力テキストが与えられると、意味情報を捉えたベクトルを出力します。文章ベクトルは、情報検索、クラスタリング、または文章類似性タスクに使用できます。 デフォルトでは、256単語以上の入力テキストは切り捨てられます。
訓練手順
事前訓練
https://huggingface.co/BAAI/bge-large-zh-noinstruct の事前訓練モデルを使用しています。事前訓練手順の詳細については、モデルカードを参照してください。
ファインチューニング
コントラスト損失を使用してモデルをファインチューニングします。正式には、バッチ内のすべての可能な文章ペアからコサイン類似度を計算します。その後、真のペアと偽のペアを比較してランク損失を適用します。
📄 ライセンス
このモデルはApache 2.0ライセンスの下で提供されています。
引用と作者
このモデルはtext2vecによって訓練されました。 もしこのモデルが役に立った場合は、以下のように引用してください。
@software{text2vec,
author = {Ming Xu},
title = {text2vec: A Tool for Text to Vector},
year = {2023},
url = {https://github.com/shibing624/text2vec},
}
Jina Embeddings V3
Jina Embeddings V3 は100以上の言語をサポートする多言語文埋め込みモデルで、文の類似度と特徴抽出タスクに特化しています。
テキスト埋め込み
Transformers Supports Multiple Languages

J
jinaai
3.7M
911
Ms Marco MiniLM L6 V2
Apache-2.0
MS Marcoパッセージランキングタスクで訓練されたクロスエンコーダモデル、情報検索におけるクエリ-パッセージ関連性スコアリング用
テキスト埋め込み English
M
cross-encoder
2.5M
86
Opensearch Neural Sparse Encoding Doc V2 Distill
Apache-2.0
蒸留技術に基づくスパース検索モデルで、OpenSearch向けに最適化されており、推論不要のドキュメントエンコーディングをサポートし、検索関連性と効率性においてV1版を上回ります
テキスト埋め込み
Transformers English

O
opensearch-project
1.8M
7
Sapbert From PubMedBERT Fulltext
Apache-2.0
PubMedBERTに基づく生物医学エンティティ表現モデルで、自己アライメント事前学習により意味関係の捕捉を最適化します。
テキスト埋め込み English
S
cambridgeltl
1.7M
49
Gte Large
MIT
GTE-Largeは強力なセンテンストランスフォーマーモデルで、文の類似度とテキスト埋め込みタスクに特化しており、複数のベンチマークテストで優れた性能を発揮します。
テキスト埋め込み English
G
thenlper
1.5M
278
Gte Base En V1.5
Apache-2.0
GTE-base-en-v1.5 は英語の文章変換モデルで、文章類似度タスクに特化しており、複数のテキスト埋め込みベンチマークで優れた性能を発揮します。
テキスト埋め込み
Transformers Supports Multiple Languages

G
Alibaba-NLP
1.5M
63
Gte Multilingual Base
Apache-2.0
GTE Multilingual Base は50以上の言語をサポートする多言語文埋め込みモデルで、文類似度計算などのタスクに適しています。
テキスト埋め込み
Transformers Supports Multiple Languages

G
Alibaba-NLP
1.2M
246
Polybert
polyBERTは、完全に機械駆動の超高速ポリマー情報学を実現するための化学言語モデルです。PSMILES文字列を600次元の密なフィンガープリントにマッピングし、ポリマー化学構造を数値形式で表現します。
テキスト埋め込み
Transformers

P
kuelumbus
1.0M
5
Bert Base Turkish Cased Mean Nli Stsb Tr
Apache-2.0
トルコ語BERTベースの文埋め込みモデルで、意味的類似性タスクに最適化
テキスト埋め込み
Transformers Other

B
emrecan
1.0M
40
GIST Small Embedding V0
MIT
BAAI/bge-small-en-v1.5モデルを微調整したテキスト埋め込みモデルで、MEDIデータセットとMTEB分類タスクデータセットで訓練され、検索タスクのクエリエンコーディング能力を最適化しました。
テキスト埋め込み
Safetensors English
G
avsolatorio
945.68k
29
Featured Recommended AI Models
Llama 3 Typhoon V1.5x 8b Instruct
タイ語専用に設計された80億パラメータの命令モデルで、GPT-3.5-turboに匹敵する性能を持ち、アプリケーションシナリオ、検索拡張生成、制限付き生成、推論タスクを最適化
大規模言語モデル
Transformers Supports Multiple Languages

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-TinyはSODAデータセットでトレーニングされた超小型対話モデルで、エッジデバイス推論向けに設計されており、体積はCosmo-3Bモデルの約2%です。
対話システム
Transformers English

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
RoBERTaアーキテクチャに基づく中国語抽出型QAモデルで、与えられたテキストから回答を抽出するタスクに適しています。
質問応答システム Chinese
R
uer
2,694
98