--- tags: - setfit - sentence-transformers - text-classification - generated_from_setfit_trainer widget: - text: Etunimi Sukunimi nyt unohdat, että punakapinaan oli sekaantunut myös venäläisiä kommunisteja. Tukivat punakapinallisia asetoimituksin ja lähettämällä upseereita johtamaan kapinaa. Yhteisen kielen puute vain onneksi häiritsi kapinallista työskentelyä. Historiaa sinun kannattaa lukea vähän enemmän. Venäjä on hyökännyt Suomeen kremlin johdolla useastikin. Alkaen jo tsarien ajoista. Pikku ja isoviha esim. - text: 'Etunimi Sukunimi poistitko kommenttisi? Kirjoitin tällaisen vastauksen. Eipä tuolla mitään lähteitä ollut mainittu. Ainoastaan tämä jutun perässä: "Pääkirjoitukset ovat HS:n kannanottoja ajankohtaiseen aiheeseen. Kirjoitukset laatii HS:n pääkirjoitustoimitus, ja ne heijastavat lehden periaatelinjaa."' - text: Voi olla, mutta ennen sen hävityn sodan loppua kuolee paljon ukrainalaisia ja myös venäläisiä eikä Putinia kavereineen saada siitä koskaan vastuuseen 😡 - text: Etunimi Sukunimi 🙋‍♀️ - text: Koska kolme rokotetta on täysi rokotesarja, niin todennäköisesti kolmesti rokotettuja. Nyt kun niitä tarjotaan kuitenkin kaikille yli 18-vuotiaille. metrics: - metric pipeline_tag: text-classification library_name: setfit inference: true base_model: TurkuNLP/bert-base-finnish-cased-v1 model-index: - name: SetFit with TurkuNLP/bert-base-finnish-cased-v1 results: - task: type: text-classification name: Text Classification dataset: name: Unknown type: unknown split: test metrics: - type: metric value: 0.8267338331771321 name: Metric --- # Detect Actions in Asynchronous Conversation Comments ## SetFit with TurkuNLP/bert-base-finnish-cased-v1 This is a SetFit model that can be used for Text Classification of actions in asynchronous conversation. This particular model detects if a comment includes an accusation or not. The configuration of the model is that the model is based on only one annotator's annotations (annotator A2). Metric evaluations are based on conservative ground truth (see paper). This SetFit model uses TurkuNLP/bert-base-finnish-cased-v1 as the Sentence Transformer embedding model (using word embeddings). A LogisticRegression instance is used for classification. The model has been trained using an efficient few-shot learning technique that involves: 1. Fine-tuning a Sentence Transformer with contrastive learning. 2. Training a classification head with features from the fine-tuned Sentence Transformer. ## Model Details ### Model Description - **Model Type:** SetFit - **Sentence Transformer body:** [TurkuNLP/bert-base-finnish-cased-v1](https://huggingface.co/TurkuNLP/bert-base-finnish-cased-v1) - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance - **Maximum Sequence Length:** 512 tokens - **Number of Classes:** 2 classes ### Model Sources - **Repository:** [GitHub](https://github.com/henniina/Detecting-paired-actions) - **Paper:** Paakki, H., Toivanen, P. and Kajava K. (2025). Implicit and Indirect: Detecting Face-threatening and Paired Actions in Asynchronous Online Conversations. Northern European Journal of Language Technology (NEJLT), 11(1), pp. 58-83. - ### Model Labels | Label | Examples | |:------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 0 | | | 1 | | ## Evaluation ### Metrics | Label | Metric | |:--------|:-------| | **all** | 0.72 | ## Uses ### Direct Use for Inference First install the SetFit library: ```bash pip install setfit ``` Then you can load this model and run inference. ```python from setfit import SetFitModel # Download from the 🤗 Hub model = SetFitModel.from_pretrained("Finnish-actions/SetFit-FinBERT1-A2-accusation") # Run inference preds = model("Etunimi Sukunimi 🙋‍♀️") ``` ### Downstream Use NB. This model has been trained on data coming from Finnish language asynchronous conversations under crisis related news on Facebook. This specific model has been trained to detect whether a comment includes a question or not. It reflects only one of our annotators' label interpretations, so the best use of our models (see our paper) would be to combine a set of models we provide on our Huggingface (Finnish-actions), and use a model ensemble to provide label predictions. It needs to be noted also that the model may not be well applicable outside of its empirical context, so in downstream applications, one should always conduct an evaluation of the model applicability using manually annotated data from that specific context (see our paper for annotation instructions). ### Out-of-Scope Use Please use this model only for action detection and analysis. Uses of this model and the involved data for generative purposes (e.g. NLG) is prohibited. ## Bias, Risks and Limitations Note that the model may produce errors. Due to the size of the training dataset, model may not generalize very well even for other novel topics within the same context. Note that model predictions should not be regarded as final judgments e.g. for online moderation purposes, but each case should also be regarded individually if using model predictions to support moderation. Also, the annotations only reflect three (though experienced) annotators' interpretations, so there might be perspectives on data intepretation that have not been taken into account here. If model is used to support moderation on social media, we recommend that final judgments should always be left for human moderators. ## Training Details ### Training Set Metrics | Training set | Min | Median | Max | |:-------------|:----|:--------|:----| | Word count | 1 | 20.3115 | 213 | | Label | Training Sample Count | |:------|:----------------------| | 0 | 758 | | 1 | 205 | ### Training Hyperparameters - batch_size: (16, 16) - num_epochs: (4, 4) - max_steps: -1 - sampling_strategy: oversampling - num_iterations: 6 - body_learning_rate: (2e-05, 1e-05) - head_learning_rate: 0.01 - loss: CosineSimilarityLoss - distance_metric: cosine_distance - margin: 0.25 - end_to_end: False - use_amp: False - warmup_proportion: 0.1 - l2_weight: 0.01 - seed: 42 - evaluation_strategy: epoch - eval_max_steps: -1 - load_best_model_at_end: False ### Framework Versions - Python: 3.11.9 - SetFit: 1.1.3 - Sentence Transformers: 3.2.0 - Transformers: 4.44.0 - PyTorch: 2.4.0+cu124 - Datasets: 2.21.0 - Tokenizers: 0.19.1 ## Citation If you use this model, please cite the following work: ### BibTeX ```bibtex @article{paakki-implicit-indirect, doi = {https://doi.org/10.3384/nejlt.2000-1533.2025.5980}, url = {https://nejlt.ep.liu.se/article/view/5980}, author = {Paakki, Henna and Toivanen, Pihla and Kajava, Kaisla}, title = {Implicit and Indirect: Detecting Face-threatening and Paired Actions in Asynchronous Online Conversations}, publisher = {Northern European Journal of Language Technology (NEJLT)}, volume= {11}, number= {1}, year = {2025} } ```