初始化项目,由ModelHub XC社区提供模型
Model: upskyy/e5-large-korean Source: Original Platform
This commit is contained in:
356
README.md
Normal file
356
README.md
Normal file
@@ -0,0 +1,356 @@
|
||||
---
|
||||
language:
|
||||
- multilingual
|
||||
- af
|
||||
- am
|
||||
- ar
|
||||
- as
|
||||
- az
|
||||
- be
|
||||
- bg
|
||||
- bn
|
||||
- br
|
||||
- bs
|
||||
- ca
|
||||
- cs
|
||||
- cy
|
||||
- da
|
||||
- de
|
||||
- el
|
||||
- en
|
||||
- eo
|
||||
- es
|
||||
- et
|
||||
- eu
|
||||
- fa
|
||||
- fi
|
||||
- fr
|
||||
- fy
|
||||
- ga
|
||||
- gd
|
||||
- gl
|
||||
- gu
|
||||
- ha
|
||||
- he
|
||||
- hi
|
||||
- hr
|
||||
- hu
|
||||
- hy
|
||||
- id
|
||||
- is
|
||||
- it
|
||||
- ja
|
||||
- jv
|
||||
- ka
|
||||
- kk
|
||||
- km
|
||||
- kn
|
||||
- ko
|
||||
- ku
|
||||
- ky
|
||||
- la
|
||||
- lo
|
||||
- lt
|
||||
- lv
|
||||
- mg
|
||||
- mk
|
||||
- ml
|
||||
- mn
|
||||
- mr
|
||||
- ms
|
||||
- my
|
||||
- ne
|
||||
- nl
|
||||
- 'no'
|
||||
- om
|
||||
- or
|
||||
- pa
|
||||
- pl
|
||||
- ps
|
||||
- pt
|
||||
- ro
|
||||
- ru
|
||||
- sa
|
||||
- sd
|
||||
- si
|
||||
- sk
|
||||
- sl
|
||||
- so
|
||||
- sq
|
||||
- sr
|
||||
- su
|
||||
- sv
|
||||
- sw
|
||||
- ta
|
||||
- te
|
||||
- th
|
||||
- tl
|
||||
- tr
|
||||
- ug
|
||||
- uk
|
||||
- ur
|
||||
- uz
|
||||
- vi
|
||||
- xh
|
||||
- yi
|
||||
- zh
|
||||
license: mit
|
||||
library_name: sentence-transformers
|
||||
tags:
|
||||
- korean
|
||||
- sentence-transformers
|
||||
- transformers
|
||||
- multilingual
|
||||
- sentence-transformers
|
||||
- sentence-similarity
|
||||
- feature-extraction
|
||||
base_model: intfloat/multilingual-e5-large
|
||||
datasets: []
|
||||
metrics:
|
||||
- pearson_cosine
|
||||
- spearman_cosine
|
||||
- pearson_manhattan
|
||||
- spearman_manhattan
|
||||
- pearson_euclidean
|
||||
- spearman_euclidean
|
||||
- pearson_dot
|
||||
- spearman_dot
|
||||
- pearson_max
|
||||
- spearman_max
|
||||
widget:
|
||||
- source_sentence: 이집트 군대가 형제애를 단속하다
|
||||
sentences:
|
||||
- 이집트의 군대가 무슬림 형제애를 단속하다
|
||||
- 아르헨티나의 기예르모 코리아와 네덜란드의 마틴 버커크의 또 다른 준결승전도 매력적이다.
|
||||
- 그것이 사실일 수도 있다고 생각하는 것은 재미있다.
|
||||
- source_sentence: 오, 그리고 다시 결혼은 근본적인 인권이라고 주장한다.
|
||||
sentences:
|
||||
- 특히 결혼은 근본적인 인권이라고 말한 후에.
|
||||
- 해변에 있는 흑인과 그의 개...
|
||||
- 이란은 핵 프로그램이 평화적인 목적을 위한 것이라고 주장한다
|
||||
- source_sentence: 조지 샤힌은 안데르센 컨설팅 사업부에서 일했다.
|
||||
sentences:
|
||||
- 112건의 퇴거를 예방하거나 미연에 방지하여 151,619달러의 피난처 비용과 그들이 실향민이 되었을 때 가족들이 겪는 혼란을 덜어주었다.
|
||||
- 안데르센 컨설팅은 여전히 번창하는 사업이다.
|
||||
- 이것은 내가 영국의 아서 안데르센 사업부의 파트너인 짐 와디아를 아서 안데르센 경영진이 선택한 것보다 래리 웨인바흐를 안데르센 월드와이드의
|
||||
경영 파트너로 승계하기 위해 안데르센 컨설팅 사업부(현재의 엑센츄어라고 알려져 있음)의 전 관리 파트너인 조지 샤힌에 대한 지지를 표명했을
|
||||
때 가장 명백했다.
|
||||
- source_sentence: 그 표는 주요 경제 정보를 보여준다.
|
||||
sentences:
|
||||
- 표는 모집단 밀도를 나타냅니다.
|
||||
- 아이들이 야외에서 놀고 있다.
|
||||
- 표 3은 배출량 감소가 개인 소비와 국내총생산(GDP)의 다른 구성 요소에 미치는 영향을 비교하기 위해 2010년의 주요 거시경제 데이터를
|
||||
요약한 것이다.
|
||||
- source_sentence: 안경을 쓴 나이든 남자가 바닥에 누워 갓난아기와 장난감 소방차를 가지고 놀고 있다.
|
||||
sentences:
|
||||
- 긴 검은 머리와 초록색 탱크톱을 가진 남자가 손가락을 보고 있다.
|
||||
- 안경을 쓴 남자는 원숭이이고 아기 원숭이와 놀고 있다.
|
||||
- 안경을 쓴 남자가 바닥에 누워 놀고 있다.
|
||||
pipeline_tag: sentence-similarity
|
||||
model-index:
|
||||
- name: upskyy/e5-large-korean
|
||||
results:
|
||||
- task:
|
||||
type: semantic-similarity
|
||||
name: Semantic Similarity
|
||||
dataset:
|
||||
name: sts dev
|
||||
type: sts-dev
|
||||
metrics:
|
||||
- type: pearson_cosine
|
||||
value: 0.8710078333363093
|
||||
name: Pearson Cosine
|
||||
- type: spearman_cosine
|
||||
value: 0.8698788475177747
|
||||
name: Spearman Cosine
|
||||
- type: pearson_manhattan
|
||||
value: 0.8598807479137434
|
||||
name: Pearson Manhattan
|
||||
- type: spearman_manhattan
|
||||
value: 0.8682945370063891
|
||||
name: Spearman Manhattan
|
||||
- type: pearson_euclidean
|
||||
value: 0.8596482760879562
|
||||
name: Pearson Euclidean
|
||||
- type: spearman_euclidean
|
||||
value: 0.8679655812613122
|
||||
name: Spearman Euclidean
|
||||
- type: pearson_dot
|
||||
value: 0.8684600033706916
|
||||
name: Pearson Dot
|
||||
- type: spearman_dot
|
||||
value: 0.8668368265035578
|
||||
name: Spearman Dot
|
||||
- type: pearson_max
|
||||
value: 0.8710078333363093
|
||||
name: Pearson Max
|
||||
- type: spearman_max
|
||||
value: 0.8698788475177747
|
||||
name: Spearman Max
|
||||
---
|
||||
|
||||
# upskyy/e5-large-korean
|
||||
|
||||
This model is korsts and kornli finetuning model from [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large). It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
|
||||
|
||||
## Model Details
|
||||
|
||||
### Model Description
|
||||
- **Model Type:** Sentence Transformer
|
||||
- **Base model:** [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) <!-- at revision ab10c1a7f42e74530fe7ae5be82e6d4f11a719eb -->
|
||||
- **Maximum Sequence Length:** 512 tokens
|
||||
- **Output Dimensionality:** 1024 tokens
|
||||
- **Similarity Function:** Cosine Similarity
|
||||
<!-- - **Training Dataset:** Unknown -->
|
||||
<!-- - **Language:** Unknown -->
|
||||
<!-- - **License:** Unknown -->
|
||||
|
||||
### Full Model Architecture
|
||||
|
||||
```
|
||||
SentenceTransformer(
|
||||
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
|
||||
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
|
||||
)
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Usage (Sentence-Transformers)
|
||||
|
||||
|
||||
First install the Sentence Transformers library:
|
||||
|
||||
```bash
|
||||
pip install -U sentence-transformers
|
||||
```
|
||||
|
||||
Then you can load this model and run inference.
|
||||
```python
|
||||
from sentence_transformers import SentenceTransformer
|
||||
|
||||
# Download from the 🤗 Hub
|
||||
model = SentenceTransformer("upskyy/e5-large-korean")
|
||||
|
||||
# Run inference
|
||||
sentences = [
|
||||
'아이를 가진 엄마가 해변을 걷는다.',
|
||||
'두 사람이 해변을 걷는다.',
|
||||
'한 남자가 해변에서 개를 산책시킨다.',
|
||||
]
|
||||
embeddings = model.encode(sentences)
|
||||
print(embeddings.shape)
|
||||
# [3, 1024]
|
||||
|
||||
# Get the similarity scores for the embeddings
|
||||
similarities = model.similarity(embeddings, embeddings)
|
||||
print(similarities.shape)
|
||||
# [3, 3]
|
||||
```
|
||||
|
||||
### Usage (HuggingFace Transformers)
|
||||
|
||||
Without sentence-transformers, you can use the model like this:
|
||||
First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.
|
||||
|
||||
```python
|
||||
from transformers import AutoTokenizer, AutoModel
|
||||
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)
|
||||
|
||||
|
||||
# Sentences we want sentence embeddings for
|
||||
sentences = ["안녕하세요?", "한국어 문장 임베딩을 위한 버트 모델입니다."]
|
||||
|
||||
# Load model from HuggingFace Hub
|
||||
tokenizer = AutoTokenizer.from_pretrained("upskyy/e5-large-korean")
|
||||
model = AutoModel.from_pretrained("upskyy/e5-large-korean")
|
||||
|
||||
# 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)
|
||||
```
|
||||
|
||||
|
||||
## Evaluation
|
||||
|
||||
### Metrics
|
||||
|
||||
#### Semantic Similarity
|
||||
* Dataset: `sts-dev`
|
||||
* Evaluated with [<code>EmbeddingSimilarityEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator)
|
||||
|
||||
| Metric | Value |
|
||||
| :----------------- | :--------- |
|
||||
| pearson_cosine | 0.871 |
|
||||
| spearman_cosine | 0.8699 |
|
||||
| pearson_manhattan | 0.8599 |
|
||||
| spearman_manhattan | 0.8683 |
|
||||
| pearson_euclidean | 0.8596 |
|
||||
| spearman_euclidean | 0.868 |
|
||||
| pearson_dot | 0.8685 |
|
||||
| spearman_dot | 0.8668 |
|
||||
| **pearson_max** | **0.871** |
|
||||
| **spearman_max** | **0.8699** |
|
||||
|
||||
<!--
|
||||
## Bias, Risks and Limitations
|
||||
|
||||
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
|
||||
-->
|
||||
|
||||
<!--
|
||||
### Recommendations
|
||||
|
||||
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
|
||||
-->
|
||||
|
||||
|
||||
### Framework Versions
|
||||
- Python: 3.10.13
|
||||
- Sentence Transformers: 3.0.1
|
||||
- Transformers: 4.42.4
|
||||
- PyTorch: 2.3.0+cu121
|
||||
- Accelerate: 0.30.1
|
||||
- Datasets: 2.16.1
|
||||
- Tokenizers: 0.19.1
|
||||
|
||||
## Citation
|
||||
|
||||
### BibTeX
|
||||
|
||||
```bibtex
|
||||
@article{wang2024multilingual,
|
||||
title={Multilingual E5 Text Embeddings: A Technical Report},
|
||||
author={Wang, Liang and Yang, Nan and Huang, Xiaolong and Yang, Linjun and Majumder, Rangan and Wei, Furu},
|
||||
journal={arXiv preprint arXiv:2402.05672},
|
||||
year={2024}
|
||||
}
|
||||
```
|
||||
|
||||
```bibtex
|
||||
@inproceedings{reimers-2019-sentence-bert,
|
||||
title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
|
||||
author = "Reimers, Nils and Gurevych, Iryna",
|
||||
booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
|
||||
month = "11",
|
||||
year = "2019",
|
||||
publisher = "Association for Computational Linguistics",
|
||||
url = "https://arxiv.org/abs/1908.10084",
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user