/ Модель

Характеристики

Контекст
514 токенов
Параметры
152 млн
Лицензия
Apache 2.0
Архитектура
roberta · dense
Библиотека
transformers
Опубликована
2 апр 2022

roberta-base-stocktwits-finetuned

Классификация текстаТекст → label3 профессии

Дообученная RoBERTa-base классифицирует англоязычные сообщения инвесторов как бычьи или медвежьи по настроению.

1 611скачиваний за 30 дней26лайковвеса обновлены22 апр 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Модель zhayunduo/roberta-base-stocktwits-finetuned — дообученная для классификации финансовых сообщений версия RoBERTa-base, опубликованная пользователем zhayunduo. Она определяет, выражает ли комментарий инвестора на Stocktwits настроения Bullish («бычьи») или Bearish («медвежьи»). Модель предназначена для анализа тональности сообщений и обсуждений об инвестициях на английском языке.

Модель имеет архитектуру RoBERTa для классификации последовательностей, содержит 151,8 млн параметров и принимает текст с контекстом до 514 токенов. В описании обучения указаны 3,2 млн размеченных комментариев Stocktwits и точность на валидации 92,1% после трёх эпох. Модель распространяется в формате PyTorch по лицензии Apache-2.0. Результаты относятся к указанной в карточке валидационной выборке; качество на других источниках и современных финансовых текстах отдельно не подтверждено.

Сценарии применения

  • определение бычьего или медвежьего настроения в сообщениях Stocktwits
  • анализ тональности комментариев розничных инвесторов
  • фильтрация финансовых обсуждений по направлению настроения
  • подсчёт позитивных и негативных сигналов в инвестиционных сообщениях

Ограничения

Модель обучена на пользовательских метках Bullish и Bearish для комментариев Stocktwits, поэтому её выводы могут хуже подходить для других источников и типов финансового текста. В карточке приведена точность на валидации, но не описаны состав выборки и проверка на актуальных данных.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Sentiment Inferencing model for stock related commments

A project by NUS ISS students Frank Cao, Gerong Zhang, Jiaqi Yao, Sikai Ni, Yunduo Zhang

Description

This model is fine tuned with roberta-base model on 3200000 comments from stocktwits, with the user labeled tags 'Bullish' or 'Bearish'

try something that the individual investors may say on the investment forum on the inference API, for example, try 'red' and 'green'.

code on github

Training information

  • batch size 32
  • learning rate 2e-5
Train lossValidation lossValidation accuracy
epoch10.34950.29560.8679
epoch20.27170.22350.9021
epoch30.23600.18750.9210
epoch40.21060.16030.9343

How to use

from transformers import RobertaForSequenceClassification, RobertaTokenizer
from transformers import pipeline
import pandas as pd
import emoji

# the model was trained upon below preprocessing
def process_text(texts):

  # remove URLs
  texts = re.sub(r'https?://\S+', "", texts)
  texts = re.sub(r'www.\S+', "", texts)
  # remove '
  texts = texts.replace(''', "'")
  # remove symbol names
  texts = re.sub(r'(\#)(\S+)', r'hashtag_\2', texts)
  texts = re.sub(r'(\$)([A-Za-z]+)', r'cashtag_\2', texts)
  # remove usernames
  texts = re.sub(r'(\@)(\S+)', r'mention_\2', texts)
  # demojize
  texts = emoji.demojize(texts, delimiters=("", " "))

  return texts.strip()
  
tokenizer_loaded = RobertaTokenizer.from_pretrained('zhayunduo/roberta-base-stocktwits-finetuned')
model_loaded = RobertaForSequenceClassification.from_pretrained('zhayunduo/roberta-base-stocktwits-finetuned')

nlp = pipeline("text-classification", model=model_loaded, tokenizer=tokenizer_loaded)

sentences = pd.Series(['just buy','just sell it',
                      'entity rocket to the sky!',
                      'go down','even though it is going up, I still think it will not keep this trend in the near future'])
# sentences = list(sentences.apply(process_text))  # if input text contains https, @ or # or $ symbols, better apply preprocess to get a more accurate result
sentences = list(sentences)
results = nlp(sentences)
print(results) # 2 labels, label 0 is bearish, label 1 is bullish

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
RobertaForSequenceClassification
Ревизия весов
edb82fb

0 моделей