{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Text Similarity Prediction and Analysis\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Objective\n", "\n", "The aim of this project is to create a system that can analyze the similarity between records by using text analysis techniques. The system will employ natural language processing methods and similarity metrics to assess the similarity of textual content present in different documents. This analysis will enable applications such as document retrieval, clustering, and recommendation systems to provide more accurate and relevant results based on the similarity of document contents. The goal is to improve information management and information retrieval workflows by providing a robust and efficient method for measuring document similarity using text analysis.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Problem Statement\n", "\n", "Effectively organizing, retrieving, and using large volumes of textual documents is a vital challenge in many domains, including digital libraries, knowledge management systems, and content recommendation platforms. With the exponential growth of digital information, it's becoming increasingly difficult to manually categorize, cluster, and identify related records. Without efficient methods to measure the similarity between records based on their textual content, organizations struggle to manage their document repositories effectively, hampering productivity and decision-making processes.\n", "\n", "The traditional keyword-based search and retrieval methods often fall short of capturing the true semantic similarities between documents, leading to incomplete or irrelevant results. This creates a pressing need for advanced text analysis techniques that accurately assess the degree of similarity between documents, considering their contextual meaning, themes, and conceptual overlaps.\n", "\n", "By developing a robust text similarity analysis system, organizations can unlock multiple benefits, including improved information retrieval, enhanced content clustering and categorization, and more effective recommendation systems. Accurate similarity analysis allows users to identify related documents quickly, facilitating knowledge sharing, collaboration, and decision-making processes. Moreover, such a system can streamline document management workflows, reducing redundancy and enabling more efficient storage and organization of textual information.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Justification\n", "\n", "The exponential growth of digital information has resulted in an overwhelming amount of textual data in the form of documents, reports, articles, and other written materials. As this flood of information continues to expand, organizations across various sectors are struggling to manage, organize, and extract value from their document repositories effectively.\n", "\n", "Traditional methods of document management, such as manual categorization and keyword-based search, are increasingly inadequate in handling the scale and complexity of modern document collections. These approaches often fail to capture the true semantic similarities between documents, leading to incomplete or irrelevant search results, inefficient clustering, and missed opportunities for knowledge discovery.\n", "\n", "Developing a robust system for analyzing document similarity that leverages advanced text analysis techniques and natural language processing methods is essential for several reasons:\n", "\n", "1. Improved information retrieval: By accurately measuring the similarity between documents based on their textual content, users can quickly identify and retrieve related materials, enhancing research, decision-making, and knowledge-sharing processes.\n", "\n", "2. Efficient document clustering and categorization: Similarity analysis enables automated document clustering and categorization, reducing the need for manual effort and ensuring that related documents are organized together for easier access and navigation.\n", "\n", "3. Enhanced recommendation systems: By understanding the semantic relationships between documents, recommendation systems can provide more relevant and personalized suggestions, improving user experience and facilitating content discovery.\n", "\n", "4. Reduction of redundancy and duplication: Identifying highly similar or duplicate documents can help organizations streamline their document repositories, reducing storage requirements and improving overall efficiency.\n", "\n", "5. Knowledge extraction and insight generation: Analyzing similarities between documents can reveal patterns, trends, and connections that may not be immediately apparent, enabling organizations to uncover valuable insights and make data-driven decisions.\n", "\n", "Moreover, as the volume of digital information continues to grow, the importance of effective document similarity analysis will only increase. Failing to address this challenge can lead to inefficient information management, missed opportunities, and a competitive disadvantage for organizations that rely heavily on textual data.\n", "\n", "By investing in the development of a robust document similarity analysis system, organizations can future-proof their document management processes, gain a deeper understanding of their information assets, and unlock new opportunities for innovation and growth.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Research Data\n", "\n", "The [STS (Semantic Textual Similarity) Benchmark dataset](https://ixa2.si.ehu.eus/stswiki/index.php/STSbenchmark) is a popular resource for evaluating the performance of systems designed to measure the semantic similarity between pairs of sentences. It is widely used in the natural language processing community for tasks such as text understanding, paraphrase detection, and sentence similarity analysis.\n", "\n", "The STS Benchmark dataset consists of a collection of sentence pairs, each accompanied by a human-annotated similarity score ranging from 0 (no semantic similarity) to 5 (semantic equivalence). These sentence pairs are drawn from various sources, including news articles, image captions, and online forums, covering a diverse range of topics and domains.\n", "\n", "The STS Benchmark dataset has been widely adopted due to its diversity, the availability of human-annotated similarity scores, and its usefulness in evaluating the performance of various semantic similarity models and algorithms. It provides a standardized and well-curated resource for researchers and developers working on natural language processing tasks involving semantic similarity analysis.\n", "\n", "## Description of Data\n", "\n", "The benchmark comprises 8628 sentence pairs. This is the breakdown according to genres and train-dev-test splits:\n", "\n", "| | train | dev | test | total |\n", "| ------- | ----- | ---- | ---- | ----- |\n", "| news | 3299 | 500 | 500 | 4299 |\n", "| caption | 2000 | 625 | 625 | 3250 |\n", "| forum | 450 | 375 | 254 | 1079 |\n", "| total | 5749 | 1500 | 1379 | 8628 |\n", "\n", "Breakdown according to the original names and task years of the datasets:\n", "\n", "| genre | file | years | train | dev | test |\n", "| -------- | -------------- | ------- | ----- | --- | ---- |\n", "| news | MSRpar | 2012 | 1000 | 250 | 250 |\n", "| news | headlines | 2013-16 | 1999 | 250 | 250 |\n", "| news | deft-news | 2014 | 300 | 0 | 0 |\n", "| captions | MSRvid | 2012 | 1000 | 250 | 250 |\n", "| captions | images | 2014-15 | 1000 | 250 | 250 |\n", "| captions | track5.en-en | 2017 | 0 | 125 | 125 |\n", "| forum | deft-forum | 2014 | 450 | 0 | 0 |\n", "| forum | answers-forums | 2015 | 0 | 375 | 0 |\n", "| forum | answer-answer | 2016 | 0 | 0 | 254 |\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Research Questions\n", "\n", "1. What are the most effective natural language processing techniques and algorithms for measuring semantic similarity between documents?\n", "\n", "2. What are the computational and scalability challenges associated with performing similarity analysis on text collections, and how can these challenges be addressed?\n", "\n", "3. How can user interactions and feedback be effectively incorporated into the similarity analysis system to improve its accuracy and adaptability over time?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Assumptions:\n", "\n", "1. There exists a sufficient quantity and variety textual datasets for training and evaluating the performance of the document similarity analysis system.\n", "2. The availability of computational resources, including processing power and memory, is adequate to support the implementation and deployment of the document similarity analysis system at scale.\n", "\n", "3. The natural language processing techniques and similarity metrics selected for the system are capable of effectively capturing semantic relationships and nuances within textual documents across different languages and domains.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Scope:\n", "\n", "To develop a minimum viable prototype of a document similarity analysis system using natural language processing techniques. The prototype will be designed to accept text input in the form of documents or text passages and analyze their semantic similarity.\n", "\n", "The core functionality will include:\n", "\n", "1. Text extraction and preprocessing.\n", "2. Embedding documents into vector representations using pre-trained language models\n", "3. Calculating pairwise similarity scores between document embeddings using cosine similarity or other distance metrics\n", "4. Returning a ranked list of similar documents given an input document\n", "\n", "It will be developed as a simple web application using Gradio and deployed on Hugging Face Spaces for easy access and testing.\n", "\n", "The initial scope is limited to handling text input in English. Advanced features like multilingual support, domain adaptation, scalability optimizations, and user feedback incorporation are out of scope for this prototype. The primary goal is to demonstrate the core document similarity analysis capabilities using readily available NLP tools and models.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hypothesis\n", "\n", "By leveraging NLP models and semantic text similarity techniques, it is hypothesized that the developed prototype system will be able to accurately measure and rank the similarities between documents based on their contextual content. Specifically, the prototype will demonstrate an improvement in identifying semantically related documents compared to traditional keyword-based approaches. This will be achieved by projecting documents into high-dimensional vector representations that capture their underlying meanings and concepts, allowing for a more robust similarity comparison.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Code\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instalations\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# %pip install datasets transformers\n", "# %pip install transformers\n", "# %pip install accelerate -U\n", "# %pip install streamlit\n", "# %pip install textdistance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports\n" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "from datasets import load_dataset\n", "from matplotlib import pyplot as plt\n", "from sentence_transformers import CrossEncoder, SentenceTransformer, losses, models\n", "from sentence_transformers.evaluation import EmbeddingSimilarityEvaluator\n", "from sentence_transformers.readers import InputExample\n", "from sklearn.ensemble import RandomForestRegressor\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.metrics import mean_squared_error\n", "from sklearn.metrics.pairwise import cosine_similarity\n", "from sklearn.preprocessing import StandardScaler\n", "from torch.utils.data import DataLoader\n", "import math\n", "import pandas as pd\n", "import textdistance\n", "import numpy as np\n", "import joblib\n", "from samples import get_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load English train Dataset:\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Found cached dataset json (/Users/charleskabue/.cache/huggingface/datasets/mteb___json/mteb--stsbenchmark-sts-998a21523b45a16a/0.0.0/e347ab1c932092252e717ff3f949105a4dd28b27e842dd53157d2f72e276c2e4)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ee8e8730f3834a00ab4599949457d0d4", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/3 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochstepscosine_pearsoncosine_spearmaneuclidean_pearsoneuclidean_spearmanmanhattan_pearsonmanhattan_spearmandot_pearsondot_spearman
00-10.8314590.8222860.7993200.7950010.7984730.7942570.6980200.691569
11-10.8407060.8343370.8152100.8122200.8144980.8116890.7327460.730361
22-10.8439260.8359040.8262070.8221510.8259240.8216810.7487940.737895
33-10.8464280.8394870.8281320.8252380.8278270.8247390.7552070.744858
40-10.7922020.7713970.7603670.7439110.7602030.7441130.6816470.667173
51-10.8353590.8271300.8070310.8038340.8064470.8034000.7249160.715752
62-10.8383580.8303130.8194440.8157610.8194000.8159930.7427200.731048
73-10.8423780.8376500.8220140.8205380.8219500.8207510.7469230.737437
84-10.8435330.8378120.8309530.8276990.8312410.8280580.7600230.746661
95-10.8426150.8388480.8275270.8270530.8274680.8272640.7583690.746365
106-10.8434840.8387890.8278000.8262390.8279300.8266220.7563450.745615
117-10.8447620.8402910.8286160.8273430.8284180.8273610.7632270.751573
128-10.8430060.8397700.8278600.8268930.8278710.8270510.7655440.753510
139-10.8463040.8428570.8289140.8280650.8286300.8280030.7655770.754536
1410-10.8454910.8410960.8312680.8301730.8310420.8299340.7665160.754324
1511-10.8450380.8415200.8300220.8293240.8298680.8291250.7646270.752546
1612-10.8452630.8422070.8310570.8303020.8309400.8301020.7663760.754835
1713-10.8449130.8419110.8300020.8289790.8299620.8290430.7668090.755277
1814-10.8449500.8423890.8306680.8298020.8305860.8297360.7668180.755222
1915-10.8451690.8425460.8305440.8297470.8304600.8296290.7670470.755781
200-10.7899960.7715070.7511550.7358400.7505950.7354470.6563770.647560
211-10.8347230.8256290.8058970.8011950.8052060.8006860.7141480.704298
222-10.8436090.8367680.8245530.8216470.8240050.8212320.7502880.740117
233-10.8442900.8373150.8233690.8208390.8229070.8207710.7526190.743209
244-10.8483530.8438940.8292640.8287150.8290970.8288210.7396620.729897
255-10.8469340.8413120.8287250.8271660.8283840.8270490.7624020.751935
266-10.8455850.8414050.8298970.8288220.8297700.8287400.7642670.753591
277-10.8453880.8408610.8312780.8296170.8311280.8296100.7677830.756129
288-10.8469800.8436050.8317180.8307410.8315030.8304590.7688330.757720
299-10.8467200.8436340.8298110.8295120.8296740.8292680.7655900.754997
3010-10.8471160.8432490.8321400.8307530.8319110.8307220.7679150.754851
3111-10.8473490.8440040.8324370.8316590.8321990.8315150.7693080.758294
3212-10.8475480.8444490.8327240.8321650.8324180.8319730.7685210.757657
3313-10.8473600.8439960.8327690.8318740.8324900.8316560.7688800.757353
3414-10.8481170.8449730.8328090.8320480.8325870.8319150.7698450.758487
3515-10.8480330.8449080.8327580.8319450.8325270.8319460.7694070.758096
\n", "" ], "text/plain": [ " epoch steps cosine_pearson cosine_spearman euclidean_pearson \\\n", "0 0 -1 0.831459 0.822286 0.799320 \n", "1 1 -1 0.840706 0.834337 0.815210 \n", "2 2 -1 0.843926 0.835904 0.826207 \n", "3 3 -1 0.846428 0.839487 0.828132 \n", "4 0 -1 0.792202 0.771397 0.760367 \n", "5 1 -1 0.835359 0.827130 0.807031 \n", "6 2 -1 0.838358 0.830313 0.819444 \n", "7 3 -1 0.842378 0.837650 0.822014 \n", "8 4 -1 0.843533 0.837812 0.830953 \n", "9 5 -1 0.842615 0.838848 0.827527 \n", "10 6 -1 0.843484 0.838789 0.827800 \n", "11 7 -1 0.844762 0.840291 0.828616 \n", "12 8 -1 0.843006 0.839770 0.827860 \n", "13 9 -1 0.846304 0.842857 0.828914 \n", "14 10 -1 0.845491 0.841096 0.831268 \n", "15 11 -1 0.845038 0.841520 0.830022 \n", "16 12 -1 0.845263 0.842207 0.831057 \n", "17 13 -1 0.844913 0.841911 0.830002 \n", "18 14 -1 0.844950 0.842389 0.830668 \n", "19 15 -1 0.845169 0.842546 0.830544 \n", "20 0 -1 0.789996 0.771507 0.751155 \n", "21 1 -1 0.834723 0.825629 0.805897 \n", "22 2 -1 0.843609 0.836768 0.824553 \n", "23 3 -1 0.844290 0.837315 0.823369 \n", "24 4 -1 0.848353 0.843894 0.829264 \n", "25 5 -1 0.846934 0.841312 0.828725 \n", "26 6 -1 0.845585 0.841405 0.829897 \n", "27 7 -1 0.845388 0.840861 0.831278 \n", "28 8 -1 0.846980 0.843605 0.831718 \n", "29 9 -1 0.846720 0.843634 0.829811 \n", "30 10 -1 0.847116 0.843249 0.832140 \n", "31 11 -1 0.847349 0.844004 0.832437 \n", "32 12 -1 0.847548 0.844449 0.832724 \n", "33 13 -1 0.847360 0.843996 0.832769 \n", "34 14 -1 0.848117 0.844973 0.832809 \n", "35 15 -1 0.848033 0.844908 0.832758 \n", "\n", " euclidean_spearman manhattan_pearson manhattan_spearman dot_pearson \\\n", "0 0.795001 0.798473 0.794257 0.698020 \n", "1 0.812220 0.814498 0.811689 0.732746 \n", "2 0.822151 0.825924 0.821681 0.748794 \n", "3 0.825238 0.827827 0.824739 0.755207 \n", "4 0.743911 0.760203 0.744113 0.681647 \n", "5 0.803834 0.806447 0.803400 0.724916 \n", "6 0.815761 0.819400 0.815993 0.742720 \n", "7 0.820538 0.821950 0.820751 0.746923 \n", "8 0.827699 0.831241 0.828058 0.760023 \n", "9 0.827053 0.827468 0.827264 0.758369 \n", "10 0.826239 0.827930 0.826622 0.756345 \n", "11 0.827343 0.828418 0.827361 0.763227 \n", "12 0.826893 0.827871 0.827051 0.765544 \n", "13 0.828065 0.828630 0.828003 0.765577 \n", "14 0.830173 0.831042 0.829934 0.766516 \n", "15 0.829324 0.829868 0.829125 0.764627 \n", "16 0.830302 0.830940 0.830102 0.766376 \n", "17 0.828979 0.829962 0.829043 0.766809 \n", "18 0.829802 0.830586 0.829736 0.766818 \n", "19 0.829747 0.830460 0.829629 0.767047 \n", "20 0.735840 0.750595 0.735447 0.656377 \n", "21 0.801195 0.805206 0.800686 0.714148 \n", "22 0.821647 0.824005 0.821232 0.750288 \n", "23 0.820839 0.822907 0.820771 0.752619 \n", "24 0.828715 0.829097 0.828821 0.739662 \n", "25 0.827166 0.828384 0.827049 0.762402 \n", "26 0.828822 0.829770 0.828740 0.764267 \n", "27 0.829617 0.831128 0.829610 0.767783 \n", "28 0.830741 0.831503 0.830459 0.768833 \n", "29 0.829512 0.829674 0.829268 0.765590 \n", "30 0.830753 0.831911 0.830722 0.767915 \n", "31 0.831659 0.832199 0.831515 0.769308 \n", "32 0.832165 0.832418 0.831973 0.768521 \n", "33 0.831874 0.832490 0.831656 0.768880 \n", "34 0.832048 0.832587 0.831915 0.769845 \n", "35 0.831945 0.832527 0.831946 0.769407 \n", "\n", " dot_spearman \n", "0 0.691569 \n", "1 0.730361 \n", "2 0.737895 \n", "3 0.744858 \n", "4 0.667173 \n", "5 0.715752 \n", "6 0.731048 \n", "7 0.737437 \n", "8 0.746661 \n", "9 0.746365 \n", "10 0.745615 \n", "11 0.751573 \n", "12 0.753510 \n", "13 0.754536 \n", "14 0.754324 \n", "15 0.752546 \n", "16 0.754835 \n", "17 0.755277 \n", "18 0.755222 \n", "19 0.755781 \n", "20 0.647560 \n", "21 0.704298 \n", "22 0.740117 \n", "23 0.743209 \n", "24 0.729897 \n", "25 0.751935 \n", "26 0.753591 \n", "27 0.756129 \n", "28 0.757720 \n", "29 0.754997 \n", "30 0.754851 \n", "31 0.758294 \n", "32 0.757657 \n", "33 0.757353 \n", "34 0.758487 \n", "35 0.758096 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Evaluate the model performance\n", "eval_df = pd.read_csv(f\"{model_save_path}/eval/similarity_evaluation_sts-dev_results.csv\")\n", "eval_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot the model performance evaluation" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5UAAAFzCAYAAACuKi1lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOy9d5xddZ3///ycc26/0/tMpqT3DCEhkEYHg0iRokCs6PIFdVEpriuIC+zPxRV1RaSoK8gKgoIsSJelF4EESO/J1Eym11tP+fz+OOfO3DslCemB8+Tx4XzO53xOzZ17z+vzLh8hpcTFxcXFxcXFxcXFxcXFZV9QDvcFuLi4uLi4uLi4uLi4uBy9uKLSxcXFxcXFxcXFxcXFZZ9xRaWLi4uLi4uLi4uLi4vLPuOKShcXFxcXFxcXFxcXF5d9xhWVLi4uLi4uLi4uLi4uLvuMKypdXFxcXFxcXFxcXFxc9hntcF/AoaCwsFDW1NQc7stwcXFxcXFxcXH5GLNy5coOKWXR4b4OF5dDzSdCVNbU1LBixYrDfRkuLi4uLi4uLi4fY4QQ9Yf7GlxcDgeu+6uLi4uLi4uLi4uLi4vLPuOKShcXFxcXFxcXFxcXF5d9xhWVLi4uLi4uLi4uLi4uLvvMJyKm0sXFxcXFxcXFxeWTzMqVK4s1TfsdMAvXsOTy0bGAtYZhfH3evHltwze6otLFxcXFxcXFxcXlY46mab8rLS2dXlRU1K0oijzc1+NydGFZlmhvb5+xa9eu3wHnDt/ujlK4uLi4uLi4uLi4fPyZVVRU1OcKSpd9QVEUWVRU1Itt6R65/RBfj4uLi4uLi4uLi4vLoUdxBaXL/uB8fkbVjwdVVAohlgkhNgkhtgohvj/K9iohxMtCiA+EEKuFEJ922muEEDEhxIdOuSdtn3lCiDXOMe8QQoiDeQ8uLi4uLi4uLi4uLi4uY3PQRKUQQgV+DZwFzAAuFULMGNbtRuDPUsq5wCXAXWnbtkkpj3HKlWntdwP/BEx2yrKDdQ8uLi4uLi4uLi4uLoef1157LfiVr3yl8nBfh8voHExL5QJgq5Ryu5QyCTwMnDesjwSynXoOsHN3BxRClAHZUsp/SCkl8ABw/gG9ahcXFxcXFxcXFxeXI4oTTzwxev/99zce7uvYE7quH+5LOCwczOyvFUD6P3wTcPywPv8GvCCE+GcgBJyetm28EOIDoA+4UUr5unPMpmHHrBjt5EKIK4ArAKqqqvb9LlxcXFxcXFxcXFw+Rlz/6KrKzbv6gwfymFNKs6I/vah2t6LvzjvvLLjjjjtKhBBMnz499pOf/KT5y1/+ck1XV5dWUFBgPPDAA3WTJ09O/v73v8/7j//4j3JFUWRWVpa5YsWKTU899VTWz372s5KXX3556zXXXFPe2Njora+v9+3cudN75ZVXtt54441tAHfddVf+3XffXaLrujj22GMjDzzwQL2mjS55gsHg3EsvvbTj1VdfzS4qKtIfe+yx7eXl5ca6det8V155ZVVXV5fm9/ut3/3ud/Vz586NP/TQQzm33XZbma7rSl5envHII49sr6ysNK655pry7du3+xoaGnwVFRWJH/3oRy1f/epXx+u6LizL4rHHHts2e/bsxL/927+VPPjgg4UAX/ziF9tvuummtk2bNnnPOuusyQsWLBhYsWJFuKSkJPn8889vDYfDR1X86+FO1HMpcL+UchzwaeB/hBAK0AJUOW6x1wAPCSGyd3OcEUgpfyOlnC+lnF9UVHTAL9zF5UjHMC3qOyO8ubWDd7Z3sra5l7qOCO39CeK6iW3sd3FxcXFxcXE5+KxYscJ/++23l7366qubN23atP7ee+9tuOqqq6qWL1/euXnz5vWf//znO6+66qpKgNtuu63shRde2Lxp06b1zz333NbRjrd161b/q6++uvm9997bcPvtt5cnEgnx/vvv+x999NH8FStWbNy4ceN6RVHkPffcUzDWNcViMWX+/PmRrVu3rlu8eHH/97///XKAr3/969V33XVXw7p16zb89Kc/bbrqqquqAM4444yBDz/8cOOGDRvWX3TRRV233HJLaepYW7Zs8b/22mub/va3v+341a9+VfSNb3yjdePGjetXr169Yfz48cnXX389+NBDDxWsXLlyw4oVKzY88MADRW+++WYAoKGhwX/11Ve3bd26dV1OTo75wAMP5B3IZ38oOJiWymYg3e95nNOWztdwYiKllG8LIfxAoZSyDUg47SuFENuAKc7+4/ZwTBeXTwxSStr7E2zviLDDKdvbI+zoGKChK4puji0cVUUQ8qqEfRphv0bIpxH2aYS8dj3LrxHyqYPtYV9an4w2lZBXQ1HcnFkuLi6HDiklUoIlJRJn6axbqXYrc7slJUgQQiAEKEKgiJHrirMu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JRkZWEc9djJJdM1qml57jea1H9La3kqXJgbnhtRUQVFZOZMnT6N6yYlUzDkGXzB0aG7cxeUQ8P777/sfffTR/BUrVmz0+XzyC1/4QtU999wz5ijalVdeWbV06dL+m266aZthGPT29o75Ynb77bcXBwIBa/v27eveeeedwOLFi2cAtLS0aD/+8Y/LXnvttc3Z2dnWDTfcUHrrrbeW3H777S3XX3992+23394CcP75549/+OGHcy677LJeAMMwxJo1azY88sgjObfcckv5smXLNo923l/96ldF3/jGN1qvuuqqrng8LgzDoLm52VNXV+e/9957684888zIxRdfXPPTn/606IYbbmi7+uqrq55++umt5eXlxm9/+9u86667ruIvf/lL3fLly7uvvfbaDoCrr766/I477ii84YYb2px78L7//vsbNU3jwgsvrOnt7dU++OCDjQ899FDuJZdcMumll17aOG/evNicOXOmv/XWW4FFixbFfv7znzeXlJSYhmGwaNGiqe+8807g+OOPjwEUFhYa69ev33DbbbcV3XbbbSWPPPJI/Wj39lFxReVRxh/fqef9hh4Avrywmjnjckfv2PAPO54S4IybR03YsGLXCh7a+BBvbXuXya3zOK3jCvzRLALZHmaeXcHMJRWE8+xYnZV1nfzy3meYsvoNft+1ji6f5N2CbGLjCvB4vExdtJTCebP4VeuD+D4IclLLNwkX+DjzW7MoHB/k8TVP0PD7VWjdFrq3GcWTy4mXX828U47L+BGWlkXTgz/g7affoFHOREhJKN5EdtKgOhimoKyCoslTKZhTi3/KVDwV5Xt8AX5m4/O8cf8OJvUcz7iFQc75wgKUNNej6Acf8MK/XMO2vBAzFizmU9/9nisoXY4opJS0DySGhGNnjPquyOB6a1+mtTHoVanKDzK+MMRJU4qoKhjKpFqRFxg9S7TL7rFMWygOn65jeNKcwslQPteeuslNmnNEo1s627q3sbZ+Ezu2ttDdHMVq95E3UEY4mYuHCZQBRjhGoFJQVh1g6pRqxo0vHJGBdTSMri66336LxrffYOfWLbQP9NIT8A7NDRkOUlFWwbg5c6laciJFNRNc7xiXQ8aeLIoHg+eeey5r7dq1wdra2ukA8XhcKS4uNsbq/9Zbb2U9+uijOwA0TaOgoMAcq+8bb7wRvvrqq9sAjj/++NiUKVOi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Hqq47rrrmvu71l27dqlnzpyZ2dHRoQwGg9Izzzyza8aMGR16vX7UFVdc0fDtt9/G2Gw2/3vvvbczOTk5sGXLFu3NN9+c2tTUpNLpdKGXXnpp16hRozz9XYPD4QjceeedyTt37tSWlZVpU1JSvIMGDfKWlpZqdu3apa2urtY8+uij5T/99JPhm2++iUlISPB/9dVX27Varbj77ruTPv/8c5PX61WMHTu2480339ylUCgYP3784DFjxnT88MMPMe3t7crnnnuudMaMGR0D/fnLovIQUfvFFyxztVCbnki9xkJB1gw2esIpTJsrW/nN6VncPm0QWtVe5vBEopSTIS5tz+168M/PXiG7bjymiUEqiqIRaj9NNeuIi4mhcecOlNFa8rrKiNQXw4JZ0FYJFz2LK/dyyuqckYhj2EU1vFzR5MYXDEXOo5AguTPaeOawBBxmPVpdPVu+KiCrYhqaND833X42uuh9PzURQrD+vnv4X0kBxmgDs59+DkPczy9dInOU0Nc0p7ZTPDYUQ7DzIQRSOM06fqhsmnOC4Q/5KWktoaChkK3lO6kqbcJVEyK2PQGr047BFzbQAVDEBjBlRZGemUByhgXbEXBg7Q9/XR0dq1dTuewHKrcVUd/WQnOUprs2ZIye+PhEhg3PxzFxMkk5Q9Dooo7wqGVkZGSOLOXl5bqFCxfuHDNmTGleXt7QN99807J69eqiBQsWmB555JGkd955p2TVqlVFarWaDz/80HjvvffalyxZsgOgoKBAv2HDhoKoqKhQdnb28Lvvvrs2Ozvb73a7FZMmTep45plnKm+++Wb7M888Y3v88cerp0+f3jF79uwihULBk08+aZ07d27iiy++WDFnzpx6g8EQnDt3bi3AGWec0XLeeee1dglEi8USuOuuuxoAbr/99uR58+ZZ77///jqA2tpa9erVq4vWr1+vu/jii7P3JCpfeeUV87Rp01ofe+yxmkAgQHt7uwLA7XYrxo4d63z55ZfL77777qTf//73ya+99lrZDTfckPbCCy/sGjFihPebb76JvuWWW1KXL1++dU/XALBt2zbdihUrigwGg7jzzjuTd+3apV22bNnWtWvX6qZOnTrkP//5z47nnnuuYvr06VnvvPNO7NVXX91yzz331P3973+vBrjooosy3n777dgrr7yyFSAQCEibNm0qXLhwYezcuXOTZ8yY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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot figure size\n", "plt.figure(figsize=(12, 6))\n", "# plot each column\n", "for column in eval_df.drop(columns=['epoch', 'steps']).columns:\n", " plt.plot(eval_df['epoch'], eval_df[column], label=column)\n", "# put ledgets outside plot\n", "plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')\n", "plt.xlabel('epoch')\n", "plt.ylabel('prediction accuracy')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Test the model\n" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Found cached dataset json (/Users/charleskabue/.cache/huggingface/datasets/mteb___json/mteb--stsbenchmark-sts-998a21523b45a16a/0.0.0/e347ab1c932092252e717ff3f949105a4dd28b27e842dd53157d2f72e276c2e4)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "cf477c12b90443f48828cd85cbf27e58", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/3 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence1sentence2score
0A man with a hard hat is dancing.A man wearing a hard hat is dancing.5.0
1A man is fitting silencer on a pistol.A man is adding a silencer to a gun.4.5
2Kittens are eating food.Kittens are eating from dishes.4.0
3A woman is mixing ingrediants.A woman is mixing food in a bowl.3.5
4A woman is cooking eggs.A woman is cooking something.3.0
5Someone is beating an egg.A woman stirs eggs in a bowl.2.5
6A small baby is playing a guitar.A boy sits on a bed, sings and plays a guitar.2.0
7I think it is still feasible to store seeds un...I haven't tried storing tomato seeds myself, b...1.5
8A man is playing soccer.A man is playing flute.1.0
9Two little girls are talking on the phone.A little girl is walking down the street.0.5
10The man is riding a horse.A woman is using a hoe.0.0
\n", "" ], "text/plain": [ " sentence1 \\\n", "0 A man with a hard hat is dancing. \n", "1 A man is fitting silencer on a pistol. \n", "2 Kittens are eating food. \n", "3 A woman is mixing ingrediants. \n", "4 A woman is cooking eggs. \n", "5 Someone is beating an egg. \n", "6 A small baby is playing a guitar. \n", "7 I think it is still feasible to store seeds un... \n", "8 A man is playing soccer. \n", "9 Two little girls are talking on the phone. \n", "10 The man is riding a horse. \n", "\n", " sentence2 score \n", "0 A man wearing a hard hat is dancing. 5.0 \n", "1 A man is adding a silencer to a gun. 4.5 \n", "2 Kittens are eating from dishes. 4.0 \n", "3 A woman is mixing food in a bowl. 3.5 \n", "4 A woman is cooking something. 3.0 \n", "5 A woman stirs eggs in a bowl. 2.5 \n", "6 A boy sits on a bed, sings and plays a guitar. 2.0 \n", "7 I haven't tried storing tomato seeds myself, b... 1.5 \n", "8 A man is playing flute. 1.0 \n", "9 A little girl is walking down the street. 0.5 \n", "10 A woman is using a hoe. 0.0 " ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_samples = get_samples()\n", "test_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cross-Encoder\n", "\n", "We pass both sentences simultaneously to the Transformer network. It produces then an output value between 0 and 1 indicating the similarity of the input sentence pair, see [cross-encoders-usage](https://github.com/UKPLab/sentence-transformers/tree/master/examples/applications/cross-encoder#cross-encoders-usage).\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Some weights of BertForSequenceClassification were not initialized from the model checkpoint at trained_model_stsbenchmark_bert-base-uncased and are newly initialized: ['classifier.bias', 'classifier.weight']\n", "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n" ] } ], "source": [ "cross_encoder_model = CrossEncoder(model_save_path)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.60892063" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cross_encoder_model.predict([\n", " 'A man with a hard hat is dancing.',\n", " 'A man wearing a hard hat is dancing.'])" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5701721" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cross_encoder_model.predict([\n", " 'A dog and cat laying down together.',\n", " 'Two grey dogs are carrying a stick in the water.'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bi-Encoder\n", "\n", "Bi-Encoders produce sentence embedding. These sentence embedding can then be compared using cosine similarity.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model = SentenceTransformer(model_save_path)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.9799072]], dtype=float32)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cosine_similarity(\n", " [model.encode('A man with a hard hat is dancing.')],\n", " [model.encode('A man wearing a hard hat is dancing.')])" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.13418931]], dtype=float32)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cosine_similarity(\n", " [model.encode('A dog and cat laying down together.')],\n", " [model.encode('Two grey dogs are carrying a stick in the water.')])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Comparison\n", "\n", "Normally, Cross-Encoder achieve higher performance than Bi-Encoders, however, they do not scale well for large datasets, ([Reimers, Nils and Gurevych, Iryna](https://github.com/UKPLab/sentence-transformers/tree/master/examples/applications/cross-encoder#combining-bi--and-cross-encoders)). But in the case of this dataset, Bi-Encoders achieve a higher, probably due to small dataset used for training.\n" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence1sentence2scorenormalized_scoreCross-EncoderBi-Encoder
0A man with a hard hat is dancing.A man wearing a hard hat is dancing.5.01.00.6089210.979907
1A man is fitting silencer on a pistol.A man is adding a silencer to a gun.4.50.90.6140190.874845
2Kittens are eating food.Kittens are eating from dishes.4.00.80.6132550.872530
3A woman is mixing ingrediants.A woman is mixing food in a bowl.3.50.70.6021670.440890
4A woman is cooking eggs.A woman is cooking something.3.00.60.5998420.619852
5Someone is beating an egg.A woman stirs eggs in a bowl.2.50.50.5937240.435095
6A small baby is playing a guitar.A boy sits on a bed, sings and plays a guitar.2.00.40.5939790.505967
7I think it is still feasible to store seeds un...I haven't tried storing tomato seeds myself, b...1.50.30.6034930.331625
8A man is playing soccer.A man is playing flute.1.00.20.5760150.094140
9Two little girls are talking on the phone.A little girl is walking down the street.0.50.10.6143590.390625
10The man is riding a horse.A woman is using a hoe.0.00.00.599499-0.028931
\n", "
" ], "text/plain": [ " sentence1 \\\n", "0 A man with a hard hat is dancing. \n", "1 A man is fitting silencer on a pistol. \n", "2 Kittens are eating food. \n", "3 A woman is mixing ingrediants. \n", "4 A woman is cooking eggs. \n", "5 Someone is beating an egg. \n", "6 A small baby is playing a guitar. \n", "7 I think it is still feasible to store seeds un... \n", "8 A man is playing soccer. \n", "9 Two little girls are talking on the phone. \n", "10 The man is riding a horse. \n", "\n", " sentence2 score \\\n", "0 A man wearing a hard hat is dancing. 5.0 \n", "1 A man is adding a silencer to a gun. 4.5 \n", "2 Kittens are eating from dishes. 4.0 \n", "3 A woman is mixing food in a bowl. 3.5 \n", "4 A woman is cooking something. 3.0 \n", "5 A woman stirs eggs in a bowl. 2.5 \n", "6 A boy sits on a bed, sings and plays a guitar. 2.0 \n", "7 I haven't tried storing tomato seeds myself, b... 1.5 \n", "8 A man is playing flute. 1.0 \n", "9 A little girl is walking down the street. 0.5 \n", "10 A woman is using a hoe. 0.0 \n", "\n", " normalized_score Cross-Encoder Bi-Encoder \n", "0 1.0 0.608921 0.979907 \n", "1 0.9 0.614019 0.874845 \n", "2 0.8 0.613255 0.872530 \n", "3 0.7 0.602167 0.440890 \n", "4 0.6 0.599842 0.619852 \n", "5 0.5 0.593724 0.435095 \n", "6 0.4 0.593979 0.505967 \n", "7 0.3 0.603493 0.331625 \n", "8 0.2 0.576015 0.094140 \n", "9 0.1 0.614359 0.390625 \n", "10 0.0 0.599499 -0.028931 " ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_samples['normalized_score'] = test_samples['score'] / 5.0\n", "test_samples['Cross-Encoder'] = test_samples.apply(\n", " lambda x: cross_encoder_model.predict([x['sentence1'], x['sentence2']]), axis=1)\n", "test_samples['Bi-Encoder'] = test_samples.apply(\n", " lambda x: cosine_similarity([model.encode(x['sentence1'])],[model.encode(x['sentence2'])])[0][0], axis=1)\n", "test_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Other Text Comparisons\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Levenshtein Distance\n" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence1sentence2scorenormalized_scoreCross-EncoderBi-EncoderLevenshtein
0A man with a hard hat is dancing.A man wearing a hard hat is dancing.5.01.00.6089210.9799070.861111
1A man is fitting silencer on a pistol.A man is adding a silencer to a gun.4.50.90.6140190.8748450.631579
2Kittens are eating food.Kittens are eating from dishes.4.00.80.6132550.8725300.741935
3A woman is mixing ingrediants.A woman is mixing food in a bowl.3.50.70.6021670.4408900.606061
4A woman is cooking eggs.A woman is cooking something.3.00.60.5998420.6198520.724138
5Someone is beating an egg.A woman stirs eggs in a bowl.2.50.50.5937240.4350950.310345
6A small baby is playing a guitar.A boy sits on a bed, sings and plays a guitar.2.00.40.5939790.5059670.456522
7I think it is still feasible to store seeds un...I haven't tried storing tomato seeds myself, b...1.50.30.6034930.3316250.347826
8A man is playing soccer.A man is playing flute.1.00.20.5760150.0941400.791667
9Two little girls are talking on the phone.A little girl is walking down the street.0.50.10.6143590.3906250.642857
10The man is riding a horse.A woman is using a hoe.0.00.00.599499-0.0289310.653846
\n", "
" ], "text/plain": [ " sentence1 \\\n", "0 A man with a hard hat is dancing. \n", "1 A man is fitting silencer on a pistol. \n", "2 Kittens are eating food. \n", "3 A woman is mixing ingrediants. \n", "4 A woman is cooking eggs. \n", "5 Someone is beating an egg. \n", "6 A small baby is playing a guitar. \n", "7 I think it is still feasible to store seeds un... \n", "8 A man is playing soccer. \n", "9 Two little girls are talking on the phone. \n", "10 The man is riding a horse. \n", "\n", " sentence2 score \\\n", "0 A man wearing a hard hat is dancing. 5.0 \n", "1 A man is adding a silencer to a gun. 4.5 \n", "2 Kittens are eating from dishes. 4.0 \n", "3 A woman is mixing food in a bowl. 3.5 \n", "4 A woman is cooking something. 3.0 \n", "5 A woman stirs eggs in a bowl. 2.5 \n", "6 A boy sits on a bed, sings and plays a guitar. 2.0 \n", "7 I haven't tried storing tomato seeds myself, b... 1.5 \n", "8 A man is playing flute. 1.0 \n", "9 A little girl is walking down the street. 0.5 \n", "10 A woman is using a hoe. 0.0 \n", "\n", " normalized_score Cross-Encoder Bi-Encoder Levenshtein \n", "0 1.0 0.608921 0.979907 0.861111 \n", "1 0.9 0.614019 0.874845 0.631579 \n", "2 0.8 0.613255 0.872530 0.741935 \n", "3 0.7 0.602167 0.440890 0.606061 \n", "4 0.6 0.599842 0.619852 0.724138 \n", "5 0.5 0.593724 0.435095 0.310345 \n", "6 0.4 0.593979 0.505967 0.456522 \n", "7 0.3 0.603493 0.331625 0.347826 \n", "8 0.2 0.576015 0.094140 0.791667 \n", "9 0.1 0.614359 0.390625 0.642857 \n", "10 0.0 0.599499 -0.028931 0.653846 " ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_samples['Levenshtein'] = test_samples.apply(\n", " lambda x: textdistance.levenshtein.normalized_similarity(x['sentence1'], x['sentence2']), axis=1)\n", "test_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### TF-IDF\n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence1sentence2scorenormalized_scoreCross-EncoderBi-EncoderLevenshteinTF-IDF
0A man with a hard hat is dancing.A man wearing a hard hat is dancing.5.01.00.6089210.9799070.8611110.716812
1A man is fitting silencer on a pistol.A man is adding a silencer to a gun.4.50.90.6140190.8748450.6315790.336097
2Kittens are eating food.Kittens are eating from dishes.4.00.80.6132550.8725300.7419350.510149
3A woman is mixing ingrediants.A woman is mixing food in a bowl.3.50.70.6021670.4408900.6060610.450176
4A woman is cooking eggs.A woman is cooking something.3.00.60.5998420.6198520.7241380.602975
5Someone is beating an egg.A woman stirs eggs in a bowl.2.50.50.5937240.4350950.3103450.000000
6A small baby is playing a guitar.A boy sits on a bed, sings and plays a guitar.2.00.40.5939790.5059670.4565220.087044
7I think it is still feasible to store seeds un...I haven't tried storing tomato seeds myself, b...1.50.30.6034930.3316250.3478260.143098
8A man is playing soccer.A man is playing flute.1.00.20.5760150.0941400.7916670.602975
9Two little girls are talking on the phone.A little girl is walking down the street.0.50.10.6143590.3906250.6428570.155929
10The man is riding a horse.A woman is using a hoe.0.00.00.599499-0.0289310.6538460.127360
\n", "
" ], "text/plain": [ " sentence1 \\\n", "0 A man with a hard hat is dancing. \n", "1 A man is fitting silencer on a pistol. \n", "2 Kittens are eating food. \n", "3 A woman is mixing ingrediants. \n", "4 A woman is cooking eggs. \n", "5 Someone is beating an egg. \n", "6 A small baby is playing a guitar. \n", "7 I think it is still feasible to store seeds un... \n", "8 A man is playing soccer. \n", "9 Two little girls are talking on the phone. \n", "10 The man is riding a horse. \n", "\n", " sentence2 score \\\n", "0 A man wearing a hard hat is dancing. 5.0 \n", "1 A man is adding a silencer to a gun. 4.5 \n", "2 Kittens are eating from dishes. 4.0 \n", "3 A woman is mixing food in a bowl. 3.5 \n", "4 A woman is cooking something. 3.0 \n", "5 A woman stirs eggs in a bowl. 2.5 \n", "6 A boy sits on a bed, sings and plays a guitar. 2.0 \n", "7 I haven't tried storing tomato seeds myself, b... 1.5 \n", "8 A man is playing flute. 1.0 \n", "9 A little girl is walking down the street. 0.5 \n", "10 A woman is using a hoe. 0.0 \n", "\n", " normalized_score Cross-Encoder Bi-Encoder Levenshtein TF-IDF \n", "0 1.0 0.608921 0.979907 0.861111 0.716812 \n", "1 0.9 0.614019 0.874845 0.631579 0.336097 \n", "2 0.8 0.613255 0.872530 0.741935 0.510149 \n", "3 0.7 0.602167 0.440890 0.606061 0.450176 \n", "4 0.6 0.599842 0.619852 0.724138 0.602975 \n", "5 0.5 0.593724 0.435095 0.310345 0.000000 \n", "6 0.4 0.593979 0.505967 0.456522 0.087044 \n", "7 0.3 0.603493 0.331625 0.347826 0.143098 \n", "8 0.2 0.576015 0.094140 0.791667 0.602975 \n", "9 0.1 0.614359 0.390625 0.642857 0.155929 \n", "10 0.0 0.599499 -0.028931 0.653846 0.127360 " ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tfidf_vectorizer = TfidfVectorizer()\n", "\n", "test_samples['TF-IDF'] = test_samples.apply(\n", " lambda x: cosine_similarity(tfidf_vectorizer.fit_transform([x['sentence1'], x['sentence2']]))[0][1], axis=1)\n", "test_samples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Random Forest\n" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "# Initialize the sentence transformer model\n", "bert_based_tokenizer = SentenceTransformer(model_save_path)\n", "# Scale features\n", "scaler = StandardScaler()\n", "\n", "def get_features(dataset):\n", " # Convert sentences to embeddings\n", " embeddings1 = bert_based_tokenizer.encode(dataset['sentence1'], convert_to_tensor=True).cpu()\n", " embeddings2 = bert_based_tokenizer.encode(dataset['sentence2'], convert_to_tensor=True).cpu()\n", " # Calculate the difference of embeddings as features\n", " features = abs(embeddings1 - embeddings2).numpy()\n", " # Labels\n", " labels = np.array(dataset['score']) / 5.0\n", " return scaler.fit_transform(features), labels\n", "\n", "X_train, y_train = get_features(train_dataset)\n", "X_test, y_test = get_features(test_dataset)" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean Squared Error: 0.03355835914744937\n" ] } ], "source": [ "# Initialize the Random Forest regressor\n", "random_forest = RandomForestRegressor(n_estimators=100, random_state=42)\n", "\n", "# Train the model\n", "random_forest.fit(X_train, y_train)\n", "\n", "# Predict on the test set\n", "y_pred = random_forest.predict(X_test)\n", "\n", "# Calculate the mean squared error\n", "mse = mean_squared_error(y_test, y_pred)\n", "print(f\"Mean Squared Error: {mse}\")" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['trained_model_random_forest.joblib']" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Save the model\n", "joblib.dump(random_forest, 'trained_model_random_forest.joblib')" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence1sentence2scorenormalized_scoreCross-EncoderBi-EncoderLevenshteinTF-IDFRandomForest
0A man with a hard hat is dancing.A man wearing a hard hat is dancing.5.01.00.6089210.9799070.8611110.7168120.969502
1A man is fitting silencer on a pistol.A man is adding a silencer to a gun.4.50.90.6140190.8748450.6315790.3360970.748200
2Kittens are eating food.Kittens are eating from dishes.4.00.80.6132550.8725300.7419350.5101490.723038
3A woman is mixing ingrediants.A woman is mixing food in a bowl.3.50.70.6021670.4408900.6060610.4501760.372034
4A woman is cooking eggs.A woman is cooking something.3.00.60.5998420.6198520.7241380.6029750.453100
5Someone is beating an egg.A woman stirs eggs in a bowl.2.50.50.5937240.4350950.3103450.0000000.312862
6A small baby is playing a guitar.A boy sits on a bed, sings and plays a guitar.2.00.40.5939790.5059670.4565220.0870440.345736
7I think it is still feasible to store seeds un...I haven't tried storing tomato seeds myself, b...1.50.30.6034930.3316250.3478260.1430980.440634
8A man is playing soccer.A man is playing flute.1.00.20.5760150.0941400.7916670.6029750.217502
9Two little girls are talking on the phone.A little girl is walking down the street.0.50.10.6143590.3906250.6428570.1559290.411490
10The man is riding a horse.A woman is using a hoe.0.00.00.599499-0.0289310.6538460.1273600.235032
\n", "
" ], "text/plain": [ " sentence1 \\\n", "0 A man with a hard hat is dancing. \n", "1 A man is fitting silencer on a pistol. \n", "2 Kittens are eating food. \n", "3 A woman is mixing ingrediants. \n", "4 A woman is cooking eggs. \n", "5 Someone is beating an egg. \n", "6 A small baby is playing a guitar. \n", "7 I think it is still feasible to store seeds un... \n", "8 A man is playing soccer. \n", "9 Two little girls are talking on the phone. \n", "10 The man is riding a horse. \n", "\n", " sentence2 score \\\n", "0 A man wearing a hard hat is dancing. 5.0 \n", "1 A man is adding a silencer to a gun. 4.5 \n", "2 Kittens are eating from dishes. 4.0 \n", "3 A woman is mixing food in a bowl. 3.5 \n", "4 A woman is cooking something. 3.0 \n", "5 A woman stirs eggs in a bowl. 2.5 \n", "6 A boy sits on a bed, sings and plays a guitar. 2.0 \n", "7 I haven't tried storing tomato seeds myself, b... 1.5 \n", "8 A man is playing flute. 1.0 \n", "9 A little girl is walking down the street. 0.5 \n", "10 A woman is using a hoe. 0.0 \n", "\n", " normalized_score Cross-Encoder Bi-Encoder Levenshtein TF-IDF \\\n", "0 1.0 0.608921 0.979907 0.861111 0.716812 \n", "1 0.9 0.614019 0.874845 0.631579 0.336097 \n", "2 0.8 0.613255 0.872530 0.741935 0.510149 \n", "3 0.7 0.602167 0.440890 0.606061 0.450176 \n", "4 0.6 0.599842 0.619852 0.724138 0.602975 \n", "5 0.5 0.593724 0.435095 0.310345 0.000000 \n", "6 0.4 0.593979 0.505967 0.456522 0.087044 \n", "7 0.3 0.603493 0.331625 0.347826 0.143098 \n", "8 0.2 0.576015 0.094140 0.791667 0.602975 \n", "9 0.1 0.614359 0.390625 0.642857 0.155929 \n", "10 0.0 0.599499 -0.028931 0.653846 0.127360 \n", "\n", " RandomForest \n", "0 0.969502 \n", "1 0.748200 \n", "2 0.723038 \n", "3 0.372034 \n", "4 0.453100 \n", "5 0.312862 \n", "6 0.345736 \n", "7 0.440634 \n", "8 0.217502 \n", "9 0.411490 \n", "10 0.235032 " ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from encode_sentences import encode_sentences\n", "\n", "test_samples['RandomForest'] = test_samples.apply(\n", " lambda x: random_forest.predict(encode_sentences(model, x['sentence1'], x['sentence2']))[0], axis=1)\n", "test_samples" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.637266])" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from encode_sentences import encode_sentences\n", "\n", "joblib.load('trained_model_random_forest.joblib').predict(encode_sentences(model, 'sentence1', 'sentence2'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Deployment\n" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", "To disable this warning, you can either:\n", "\t- Avoid using `tokenizers` before the fork if possible\n", "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[0m\n", "\u001b[34m\u001b[1m You can now view your Streamlit app in your browser.\u001b[0m\n", "\u001b[0m\n", "\u001b[34m Local URL: \u001b[0m\u001b[1mhttp://localhost:8501\u001b[0m\n", "\u001b[34m Network URL: \u001b[0m\u001b[1mhttp://192.168.1.107:8501\u001b[0m\n", "\u001b[0m\n", "\u001b[34m\u001b[1m For better performance, install the Watchdog module:\u001b[0m\n", "\n", " $ xcode-select --install\n", " $ pip install watchdog\n", " \u001b[0m\n", "Some weights of BertForSequenceClassification were not initialized from the model checkpoint at trained_model_stsbenchmark_bert-base-uncased and are newly initialized: ['classifier.bias', 'classifier.weight']\n", "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n", "Some weights of BertForSequenceClassification were not initialized from the model checkpoint at trained_model_stsbenchmark_bert-base-uncased and are newly initialized: ['classifier.bias', 'classifier.weight']\n", "You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n", "^C\n", "\u001b[34m Stopping...\u001b[0m\n" ] } ], "source": [ "!streamlit run app.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code and deployment are at: https://huggingface.co/spaces/mckabue/text-similarity-prediction-and-analysis\n" ] } ], "metadata": { "kernelspec": { "display_name": "dss-env", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 2 }