Update README.md
Browse files
README.md
CHANGED
@@ -12,9 +12,10 @@ tags:
|
|
12 |
|
13 |
M3E 是 Moka Massive Mixed Embedding 的缩写
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
18 |
|
19 |
## 更新说明
|
20 |
|
@@ -25,10 +26,10 @@ M3E 是 Moka Massive Mixed Embedding 的缩写
|
|
25 |
|
26 |
| | 参数数量 | 维度 | 中文 | 英文 | s2s | s2p | s2c | 开源 | 兼容性 | s2s Acc | s2p ndcg@10 |
|
27 |
| --------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | ---- | ---------- | ------------ | -------- |
|
28 |
-
| m3e-small | 24M | 512 | 是 | 否 | 是 | 否 | 否 | 是 | 优 | 0.
|
29 |
-
| m3e-base | 110M | 768 | 是 | 是 | 是 |
|
30 |
-
| text2vec | 110M | 768 | 是 | 否 | 是 | 否 | 否 | 是 | 良 | 0.
|
31 |
-
| openai | 未知 | 1576 | 是 | 是 | 是 |
|
32 |
|
33 |
说明:
|
34 |
- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等
|
@@ -37,6 +38,11 @@ M3E 是 Moka Massive Mixed Embedding 的缩写
|
|
37 |
- 兼容性,代表了模型在开源社区中各种项目被支持的程度,由于 m3e 是基于 sentence-transformers 的,所以和 openai 在社区的支持度上相当
|
38 |
- ACC & ndcg@10,详情见下方的评测
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
## 使用方式
|
41 |
|
42 |
您需要先安装 sentence-transformers
|
@@ -88,7 +94,7 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
|
|
88 |
## 评测
|
89 |
|
90 |
- 评测模型,[text2vec](https://github.com/shibing624/text2vec), m3e-base, m3e-small, openai-ada-002
|
91 |
-
-
|
92 |
|
93 |
### 文本分类
|
94 |
|
@@ -97,13 +103,13 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
|
|
97 |
|
98 |
| | text2vec | m3e-small | m3e-base | openai |
|
99 |
| ----------------- | -------- | --------- | -------- | ------ |
|
100 |
-
| TNews | 0.43 | 0.4443 | 0.4827 | 0.4594 |
|
101 |
-
| JDIphone | 0.8214 | 0.8293 | 0.8533 | 0.746 |
|
102 |
-
| GubaEastmony | 0.7472 | 0.712 | 0.7621 | 0.7574 |
|
103 |
-
| TYQSentiment | 0.6099 | 0.6596 | 0.7188 | 0.68 |
|
104 |
-
| StockComSentiment | 0.4307 | 0.4291 | 0.4363 | 0.4819 |
|
105 |
-
| IFlyTek | 0.414 | 0.4263 | 0.4409 | 0.4486 |
|
106 |
-
| Average | 0.5755 | 0.5834 | 0.6157 | 0.5956 |
|
107 |
|
108 |
### 检索排序
|
109 |
|
@@ -114,12 +120,12 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
|
|
114 |
|
115 |
| | text2vec | openai-ada-002 | m3e-small | m3e-base |
|
116 |
| ------- | -------- | -------------- | --------- | -------- |
|
117 |
-
| map@1 | 0.4684 | 0.6133 | 0.5574 | 0.626 |
|
118 |
-
| map@10 | 0.5877 | 0.7423 | 0.6878 | 0.7656 |
|
119 |
-
| mrr@1 | 0.5345 | 0.6931 | 0.6324 | 0.7047 |
|
120 |
-
| mrr@10 | 0.6217 | 0.7668 | 0.712 | 0.7841 |
|
121 |
-
| ndcg@1 | 0.5207 | 0.6764 | 0.6159 | 0.6881 |
|
122 |
-
| ndcg@10 | 0.6346 | 0.7786 | 0.7262 | 0.8004 |
|
123 |
|
124 |
#### T2Ranking
|
125 |
|
@@ -128,9 +134,12 @@ M3E 使用 in-batch 负采样的对比学习的方式在句对数据集进行训
|
|
128 |
|
129 |
| | text2vec | m3e-small | m3e-base |
|
130 |
| ------- | -------- | --------- | -------- |
|
131 |
-
| t2r-1w | 0.6346 | 0.72621 | 0.8004 |
|
132 |
-
| t2r-10w | 0.44644 | 0.5251 | 0.6263 |
|
133 |
-
| t2r-50w | 0.33482 | 0.38626 | 0.47364 |
|
|
|
|
|
|
|
134 |
|
135 |
## M3E数据集
|
136 |
|
|
|
12 |
|
13 |
M3E 是 Moka Massive Mixed Embedding 的缩写
|
14 |
|
15 |
+
- Moka,此模型由 MokaAI 训练并开源,训练脚本使用 [uniem](https://github.com/wangyuxinwhy/uniem/blob/main/scripts/train_m3e.py)
|
16 |
+
- Massive,此模型通过**千万级** (2200w+) 的中文句对数据集进行训练
|
17 |
+
- Mixed,此模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索
|
18 |
+
- Embedding,此模型是文本嵌入模型,可以将自然语言转换成稠密的向量
|
19 |
|
20 |
## 更新说明
|
21 |
|
|
|
26 |
|
27 |
| | 参数数量 | 维度 | 中文 | 英文 | s2s | s2p | s2c | 开源 | 兼容性 | s2s Acc | s2p ndcg@10 |
|
28 |
| --------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | ---- | ---------- | ------------ | -------- |
|
29 |
+
| m3e-small | 24M | 512 | 是 | 否 | 是 | 否 | 否 | 是 | 优 | 0.5834 | 0.7262 |
|
30 |
+
| m3e-base | 110M | 768 | 是 | 是 | 是 | 是 | 否 | 是 | 优 | **0.6157** | **0.8004** |
|
31 |
+
| text2vec | 110M | 768 | 是 | 否 | 是 | 否 | 否 | 是 | 良 | 0.5755 | 0.6346 |
|
32 |
+
| openai-ada-002 | 未知 | 1576 | 是 | 是 | 是 | 是 | 是 | 否 | 优 | 0.5956 | 0.7786 |
|
33 |
|
34 |
说明:
|
35 |
- s2s, 即 sentence to sentence ,代表了同质文本之间的嵌入能力,适用任务:文本相似度,重复问题检测,文本分类等
|
|
|
38 |
- 兼容性,代表了模型在开源社区中各种项目被支持的程度,由于 m3e 是基于 sentence-transformers 的,所以和 openai 在社区的支持度上相当
|
39 |
- ACC & ndcg@10,详情见下方的评测
|
40 |
|
41 |
+
Tips:
|
42 |
+
- 使用场景主要是中文,少量英文的情况,建议使用 m3e 系列的模型
|
43 |
+
- 多语言使用场景,并且不介意数据隐私的话,我建议使用 openai-ada-002
|
44 |
+
- 代码检索场景,推荐使用 ada-002
|
45 |
+
|
46 |
## 使用方式
|
47 |
|
48 |
您需要先安装 sentence-transformers
|
|
|
94 |
## 评测
|
95 |
|
96 |
- 评测模型,[text2vec](https://github.com/shibing624/text2vec), m3e-base, m3e-small, openai-ada-002
|
97 |
+
- 评测脚本,具体参考 [MTEB-zh] (https://github.com/wangyuxinwhy/uniem/blob/main/mteb-zh)
|
98 |
|
99 |
### 文本分类
|
100 |
|
|
|
103 |
|
104 |
| | text2vec | m3e-small | m3e-base | openai |
|
105 |
| ----------------- | -------- | --------- | -------- | ------ |
|
106 |
+
| TNews | 0.43 | 0.4443 | **0.4827** | 0.4594 |
|
107 |
+
| JDIphone | 0.8214 | 0.8293 | **0.8533** | 0.746 |
|
108 |
+
| GubaEastmony | 0.7472 | 0.712 | **0.7621** | 0.7574 |
|
109 |
+
| TYQSentiment | 0.6099 | 0.6596 | **0.7188** | 0.68 |
|
110 |
+
| StockComSentiment | 0.4307 | 0.4291 | 0.4363 | **0.4819** |
|
111 |
+
| IFlyTek | 0.414 | 0.4263 | 0.4409 | **0.4486** |
|
112 |
+
| Average | 0.5755 | 0.5834 | **0.6157** | 0.5956 |
|
113 |
|
114 |
### 检索排序
|
115 |
|
|
|
120 |
|
121 |
| | text2vec | openai-ada-002 | m3e-small | m3e-base |
|
122 |
| ------- | -------- | -------------- | --------- | -------- |
|
123 |
+
| map@1 | 0.4684 | 0.6133 | 0.5574 | **0.626** |
|
124 |
+
| map@10 | 0.5877 | 0.7423 | 0.6878 | **0.7656** |
|
125 |
+
| mrr@1 | 0.5345 | 0.6931 | 0.6324 | **0.7047** |
|
126 |
+
| mrr@10 | 0.6217 | 0.7668 | 0.712 | **0.7841** |
|
127 |
+
| ndcg@1 | 0.5207 | 0.6764 | 0.6159 | **0.6881** |
|
128 |
+
| ndcg@10 | 0.6346 | 0.7786 | 0.7262 | **0.8004** |
|
129 |
|
130 |
#### T2Ranking
|
131 |
|
|
|
134 |
|
135 |
| | text2vec | m3e-small | m3e-base |
|
136 |
| ------- | -------- | --------- | -------- |
|
137 |
+
| t2r-1w | 0.6346 | 0.72621 | **0.8004** |
|
138 |
+
| t2r-10w | 0.44644 | 0.5251 | **0.6263** |
|
139 |
+
| t2r-50w | 0.33482 | 0.38626 | **0.47364** |
|
140 |
+
|
141 |
+
说明:
|
142 |
+
- 检索排序对于 text2vec 并不公平,因为 text2vec 在训练的时候没有使用过检索相关的数据集,所以没有办法很好的完成检索任务也是正常的。
|
143 |
|
144 |
## M3E数据集
|
145 |
|