初始化项目,由ModelHub XC社区提供模型
Model: upskyy/e5-small-korean Source: Original Platform
This commit is contained in:
358
README.md
Normal file
358
README.md
Normal file
@@ -0,0 +1,358 @@
|
||||
---
|
||||
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-small
|
||||
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:
|
||||
- 아이들이 놀고 있다
|
||||
- 한 소년이 빨간 플라스틱 사다리 꼭대기에서 뛰어내린다.
|
||||
- 슬라이드가 있다.
|
||||
- source_sentence: 감각주의자들은 일부러 오르가즘 없이 섹스를 한다. 그녀는 촛불을 좋아하고, 몸에 기름을 바른 히보스에 대해 쓰고
|
||||
있다.
|
||||
sentences:
|
||||
- 감각주의자들은 섹스하는 동안 오르가즘을 느끼고 싶어한다.
|
||||
- 하지만 밤마다 드로잉을 하는 것보다 전국적으로 방송되는 대질심문을 하는 것이 훨씬 더 힘든 일이다, 그래서 미스.
|
||||
- 감각주의자들은 일부러 오르가즘 없이 섹스를 한다.
|
||||
- source_sentence: 조지 샤힌은 안데르센 컨설팅 사업부에서 일했다.
|
||||
sentences:
|
||||
- 심장 박동이 빨라졌다.
|
||||
- 안데르센 컨설팅은 여전히 번창하는 사업이다.
|
||||
- 이것은 내가 영국의 아서 안데르센 사업부의 파트너인 짐 와디아를 아서 안데르센 경영진이 선택한 것보다 래리 웨인바흐를 안데르센 월드와이드의
|
||||
경영 파트너로 승계하기 위해 안데르센 컨설팅 사업부(현재의 엑센츄어라고 알려져 있음)의 전 관리 파트너인 조지 샤힌에 대한 지지를 표명했을
|
||||
때 가장 명백했다.
|
||||
pipeline_tag: sentence-similarity
|
||||
model-index:
|
||||
- name: upskyy/e5-small-korean
|
||||
results:
|
||||
- task:
|
||||
type: semantic-similarity
|
||||
name: Semantic Similarity
|
||||
dataset:
|
||||
name: sts dev
|
||||
type: sts-dev
|
||||
metrics:
|
||||
- type: pearson_cosine
|
||||
value: 0.8479945412588525
|
||||
name: Pearson Cosine
|
||||
- type: spearman_cosine
|
||||
value: 0.8466656037931976
|
||||
name: Spearman Cosine
|
||||
- type: pearson_manhattan
|
||||
value: 0.8309207821128262
|
||||
name: Pearson Manhattan
|
||||
- type: spearman_manhattan
|
||||
value: 0.8372540023545114
|
||||
name: Spearman Manhattan
|
||||
- type: pearson_euclidean
|
||||
value: 0.8328087877425099
|
||||
name: Pearson Euclidean
|
||||
- type: spearman_euclidean
|
||||
value: 0.8395342346643203
|
||||
name: Spearman Euclidean
|
||||
- type: pearson_dot
|
||||
value: 0.8212157223150336
|
||||
name: Pearson Dot
|
||||
- type: spearman_dot
|
||||
value: 0.8225569441483638
|
||||
name: Spearman Dot
|
||||
- type: pearson_max
|
||||
value: 0.8479945412588525
|
||||
name: Pearson Max
|
||||
- type: spearman_max
|
||||
value: 0.8466656037931976
|
||||
name: Spearman Max
|
||||
---
|
||||
|
||||
# upskyy/e5-small-korean
|
||||
|
||||
This model is korsts and kornli finetuning model from [intfloat/multilingual-e5-small](https://huggingface.co/intfloat/multilingual-e5-small). It maps sentences & paragraphs to a 384-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-small](https://huggingface.co/intfloat/multilingual-e5-small) <!-- at revision fd1525a9fd15316a2d503bf26ab031a61d056e98 -->
|
||||
- **Maximum Sequence Length:** 512 tokens
|
||||
- **Output Dimensionality:** 384 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: BertModel
|
||||
(1): Pooling({'word_embedding_dimension': 384, '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-small-korean")
|
||||
|
||||
# Run inference
|
||||
sentences = [
|
||||
'아이를 가진 엄마가 해변을 걷는다.',
|
||||
'두 사람이 해변을 걷는다.',
|
||||
'한 남자가 해변에서 개를 산책시킨다.',
|
||||
]
|
||||
embeddings = model.encode(sentences)
|
||||
print(embeddings.shape)
|
||||
# [3, 384]
|
||||
|
||||
# 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-small-korean")
|
||||
model = AutoModel.from_pretrained("upskyy/e5-small-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.848 |
|
||||
| spearman_cosine | 0.8467 |
|
||||
| pearson_manhattan | 0.8309 |
|
||||
| spearman_manhattan | 0.8373 |
|
||||
| pearson_euclidean | 0.8328 |
|
||||
| spearman_euclidean | 0.8395 |
|
||||
| pearson_dot | 0.8212 |
|
||||
| spearman_dot | 0.8226 |
|
||||
| **pearson_max** | **0.848** |
|
||||
| **spearman_max** | **0.8467** |
|
||||
|
||||
<!--
|
||||
## 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