Update README.md
Browse files
README.md
CHANGED
@@ -1,199 +1,176 @@
|
|
1 |
-
---
|
2 |
-
library_name: transformers
|
3 |
-
|
4 |
-
---
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
12 |
## Model Details
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
-
|
21 |
-
-
|
22 |
-
-
|
23 |
-
-
|
24 |
-
-
|
25 |
-
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
<!-- Provide the basic links for the model. -->
|
31 |
-
|
32 |
-
- **Repository:** [More Information Needed]
|
33 |
-
- **Paper [optional]:** [More Information Needed]
|
34 |
-
- **Demo [optional]:** [More Information Needed]
|
35 |
-
|
36 |
-
## Uses
|
37 |
-
|
38 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
39 |
-
|
40 |
-
### Direct Use
|
41 |
-
|
42 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
43 |
-
|
44 |
-
[More Information Needed]
|
45 |
-
|
46 |
-
### Downstream Use [optional]
|
47 |
-
|
48 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
49 |
-
|
50 |
-
[More Information Needed]
|
51 |
-
|
52 |
-
### Out-of-Scope Use
|
53 |
-
|
54 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
55 |
-
|
56 |
-
[More Information Needed]
|
57 |
-
|
58 |
-
## Bias, Risks, and Limitations
|
59 |
-
|
60 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
61 |
-
|
62 |
-
[More Information Needed]
|
63 |
-
|
64 |
-
### Recommendations
|
65 |
-
|
66 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
67 |
-
|
68 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
69 |
-
|
70 |
-
## How to Get Started with the Model
|
71 |
-
|
72 |
-
Use the code below to get started with the model.
|
73 |
-
|
74 |
-
[More Information Needed]
|
75 |
-
|
76 |
-
## Training Details
|
77 |
|
78 |
### Training Data
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
[More Information Needed]
|
83 |
|
84 |
### Training Procedure
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
##
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
## Model Card Authors [optional]
|
194 |
-
|
195 |
-
[More Information Needed]
|
196 |
-
|
197 |
-
## Model Card Contact
|
198 |
-
|
199 |
-
[More Information Needed]
|
|
|
1 |
+
---
|
2 |
+
library_name: transformers
|
3 |
+
license: apache-2.0
|
4 |
+
---
|
5 |
+
```
|
6 |
+
base_model: distilbert/distilbert-base-multilingual-cased
|
7 |
+
language: multilingual
|
8 |
+
license: apache-2.0
|
9 |
+
pipeline_tag: text-classification
|
10 |
+
tags:
|
11 |
+
- text-classification
|
12 |
+
- sentiment-analysis
|
13 |
+
- sentiment
|
14 |
+
- synthetic data
|
15 |
+
- multi-class
|
16 |
+
- social-media-analysis
|
17 |
+
- customer-feedback
|
18 |
+
- product-reviews
|
19 |
+
- brand-monitoring
|
20 |
+
widget:
|
21 |
+
- text: "I absolutely loved this movie! The acting was superb and the plot was engaging."
|
22 |
+
example_title: Very Positive Review (English)
|
23 |
+
- text: "我讨厌这种无休止的争吵。"
|
24 |
+
example_title: Very Negative Review (Chinese)
|
25 |
+
- text: "El producto funciona como se espera. Nada especial, pero cumple con su función."
|
26 |
+
example_title: Neutral Review (Spanish)
|
27 |
+
- text: "هذا الكتاب غير حياتي! لقد تعلمت الكثير منه."
|
28 |
+
example_title: Very Positive Review (Arabic)
|
29 |
+
- text: "Я разочарован покупкой, это не так хорошо, как я надеялся."
|
30 |
+
example_title: Negative Review (Russian)
|
31 |
+
inference:
|
32 |
+
parameters:
|
33 |
+
temperature: 1
|
34 |
+
```
|
35 |
+
|
36 |
+
# 🚀 distilbert-based Multilingual Sentiment Classification Model
|
37 |
+
|
38 |
+
TRY IT HERE: https://huggingface.co/spaces/vdmbrsv/sentiment-analysis-english-five-classes
|
39 |
+
|
40 |
+
|
41 |
+
# NEWS!
|
42 |
+
|
43 |
+
- 2024/12: We are excited to introduce a multilingual sentiment model! Now you can analyze sentiment across multiple languages, enhancing your global reach.
|
44 |
+
```
|
45 |
|
46 |
## Model Details
|
47 |
+
- `Model Name:` tabularisai/multilingual-sentiment-analysis
|
48 |
+
- `Base Model:` distilbert/distilbert-base-multilingual-cased
|
49 |
+
- `Task:` Text Classification (Sentiment Analysis)
|
50 |
+
- `Languages:` Supports English plus Chinese (中文), Spanish (Español), Hindi (हिन्दी), Arabic (العربية), Bengali (বাংলা), Portuguese (Português), Russian (Русский), Japanese (日本語), German (Deutsch), Malay (Bahasa Melayu), Telugu (తెలుగు), Vietnamese (Tiếng Việt), Korean (한국어), French (Français), Turkish (Türkçe), Italian (Italiano), Polish (Polski), Ukrainian (Українська), Tagalog, Dutch (Nederlands), Swiss German (Schweizerdeutsch).
|
51 |
+
- `Number of Classes:` 5 (*Very Negative, Negative, Neutral, Positive, Very Positive*)
|
52 |
+
- `Usage:`
|
53 |
+
- Social media analysis
|
54 |
+
- Customer feedback analysis
|
55 |
+
- Product reviews classification
|
56 |
+
- Brand monitoring
|
57 |
+
- Market research
|
58 |
+
- Customer service optimization
|
59 |
+
- Competitive intelligence
|
60 |
+
|
61 |
+
## Model Description
|
62 |
+
|
63 |
+
This model is a fine-tuned version of `distilbert/distilbert-base-multilingual-cased` for multilingual sentiment analysis. It leverages synthetic data from multiple sources to achieve robust performance across different languages and cultural contexts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
|
65 |
### Training Data
|
66 |
|
67 |
+
Trained exclusively on synthetic multilingual data generated by advanced LLMs, ensuring wide coverage of sentiment expressions from various languages.
|
|
|
|
|
68 |
|
69 |
### Training Procedure
|
70 |
|
71 |
+
- Fine-tuned for 5 epochs.
|
72 |
+
- Achieved a train_acc_off_by_one of approximately 0.93 on the validation dataset.
|
73 |
+
|
74 |
+
## Intended Use
|
75 |
+
|
76 |
+
Ideal for:
|
77 |
+
- Multilingual social media monitoring
|
78 |
+
- International customer feedback analysis
|
79 |
+
- Global product review sentiment classification
|
80 |
+
- Worldwide brand sentiment tracking
|
81 |
+
|
82 |
+
## How to Use
|
83 |
+
|
84 |
+
Below is a Python example on how to use the multilingual sentiment model:
|
85 |
+
|
86 |
+
```
|
87 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
88 |
+
import torch
|
89 |
+
|
90 |
+
model_name = "tabularisai/multilingual-sentiment-analysis"
|
91 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
92 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
93 |
+
|
94 |
+
def predict_sentiment(text):
|
95 |
+
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
|
96 |
+
with torch.no_grad():
|
97 |
+
outputs = model(**inputs)
|
98 |
+
probabilities = torch.nn.functional.softmax(outputs.logits, dim=-1)
|
99 |
+
predicted_class = torch.argmax(probabilities, dim=-1).item()
|
100 |
+
sentiment_map = {0: "Very Negative", 1: "Negative", 2: "Neutral", 3: "Positive", 4: "Very Positive"}
|
101 |
+
return sentiment_map[predicted_class]
|
102 |
+
|
103 |
+
texts = [
|
104 |
+
# English
|
105 |
+
"I absolutely loved this movie! The acting was superb and the plot was engaging.",
|
106 |
+
|
107 |
+
# Chinese
|
108 |
+
"我讨厌这种无休止的争吵。",
|
109 |
+
|
110 |
+
# Spanish
|
111 |
+
"El producto funciona como se espera. Nada especial, pero cumple con su función.",
|
112 |
+
|
113 |
+
# Arabic
|
114 |
+
"لم أحب هذا الفيلم على الإطلاق. القصة كانت مملة والشخصيات ضعيفة.",
|
115 |
+
|
116 |
+
# Ukrainian
|
117 |
+
"Я розчарований покупкою, вона не така гарна, як я очікував.",
|
118 |
+
|
119 |
+
# Hindi
|
120 |
+
"यह उत्पाद वास्तव में अद्भुत है! इसका उपयोग करना आसान है औ��� यह मेरे लिए बहुत मददगार रहा।",
|
121 |
+
|
122 |
+
# Bengali
|
123 |
+
"আমি এই রেস্তোরাঁর খাবার পছন্দ করিনি। এটি খুব তেলতেলে এবং অতিরিক্ত রান্না করা।",
|
124 |
+
|
125 |
+
# Portuguese
|
126 |
+
"Este livro é fantástico! Eu aprendi muitas coisas novas e inspiradoras."
|
127 |
+
]
|
128 |
+
|
129 |
+
for text in texts:
|
130 |
+
sentiment = predict_sentiment(text)
|
131 |
+
print(f"Text: {text}")
|
132 |
+
print(f"Sentiment: {sentiment}\n")
|
133 |
+
```
|
134 |
+
|
135 |
+
## Model Performance
|
136 |
+
|
137 |
+
Example predictions:
|
138 |
+
|
139 |
+
$$$
|
140 |
+
1. "I absolutely loved this movie! The acting was superb and the plot was engaging."
|
141 |
+
Predicted Sentiment: Very Positive (English)
|
142 |
+
|
143 |
+
2. "我讨厌这种无休止的争吵。"
|
144 |
+
Predicted Sentiment: Very Negative (Chinese)
|
145 |
+
|
146 |
+
3. "El producto funciona como se espera. Nada especial, pero cumple con su función."
|
147 |
+
Predicted Sentiment: Neutral (Spanish)
|
148 |
+
|
149 |
+
4. "هذا الكتاب غير حياتي! لقد تعلمت الكثير منه."
|
150 |
+
Predicted Sentiment: Very Positive (Arabic)
|
151 |
+
|
152 |
+
5. "Я разочарован покупкой, это не так хорошо, как я надеялся."
|
153 |
+
Predicted Sentiment: Negative (Russian)
|
154 |
+
$$$
|
155 |
+
|
156 |
+
## Training Procedure
|
157 |
+
|
158 |
+
- Dataset: Synthetic multilingual data
|
159 |
+
- Framework: PyTorch Lightning
|
160 |
+
- Number of epochs: 5
|
161 |
+
- Validation Off-by-one Accuracy: ~0.95
|
162 |
+
|
163 |
+
## Ethical Considerations
|
164 |
+
|
165 |
+
Synthetic data reduces bias, but validation in real-world scenarios is advised.
|
166 |
+
|
167 |
+
## Citation
|
168 |
+
```
|
169 |
+
Will be included.
|
170 |
+
```
|
171 |
+
|
172 |
+
## Contact
|
173 |
+
|
174 |
+
For inquiries or private APIs, contact info@tabularis.ai
|
175 |
+
|
176 |
+
tabularis.ai
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|