{
"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, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"DatasetDict({\n",
" train: Dataset({\n",
" features: ['split', 'genre', 'dataset', 'year', 'sid', 'score', 'sentence1', 'sentence2'],\n",
" num_rows: 5749\n",
" })\n",
" validation: Dataset({\n",
" features: ['split', 'genre', 'dataset', 'year', 'sid', 'score', 'sentence1', 'sentence2'],\n",
" num_rows: 1500\n",
" })\n",
" test: Dataset({\n",
" features: ['split', 'genre', 'dataset', 'year', 'sid', 'score', 'sentence1', 'sentence2'],\n",
" num_rows: 1379\n",
" })\n",
"})"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# The dataset is loaded from https://huggingface.co/datasets/mteb/stsbenchmark-sts\n",
"dataset = load_dataset(\"mteb/stsbenchmark-sts\")\n",
"dataset"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prepare for Training\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(5749, 1379, 1500)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_dataset = dataset['train']\n",
"test_dataset = dataset['test']\n",
"validation_dataset = dataset['validation']\n",
"\n",
"# Format the dataset for training\n",
"def format_dataset(row):\n",
" # Normalize score to range 0 ... 1\n",
" score = float(row[\"score\"]) / 5.0\n",
" sentence1, sentence2 = row[\"sentence1\"], row[\"sentence2\"]\n",
" return InputExample(texts=[sentence1, sentence2], label=score)\n",
"\n",
"\n",
"formated_train_dataset = [format_dataset(i) for i in train_dataset]\n",
"formated_test_dataset = [format_dataset(i) for i in test_dataset]\n",
"formated_validation_dataset = [format_dataset(i) for i in validation_dataset]\n",
"len(train_dataset), len(formated_test_dataset), len(formated_validation_dataset)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Read the dataset\n",
"train_batch_size = 32\n",
"num_epochs = 16\n",
"model_save_path = 'trained_model_stsbenchmark_bert-base-uncased'\n",
"# Load pre-trained BERT Transformer model from Huggingface\n",
"word_embedding_model = models.Transformer('bert-base-uncased')\n",
"# Apply mean pooling to get one fixed sized sentence vector\n",
"pooling_model = models.Pooling(\n",
" word_embedding_dimension=word_embedding_model.get_word_embedding_dimension(),\n",
" pooling_mode_mean_tokens=True,\n",
" pooling_mode_cls_token=False,\n",
" pooling_mode_max_tokens=False,\n",
")\n",
"model = SentenceTransformer(modules=[word_embedding_model, pooling_model])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warmup-steps: 288\n"
]
}
],
"source": [
"train_dataloader = DataLoader(formated_train_dataset, shuffle=True, batch_size=train_batch_size)\n",
"train_loss = losses.CosineSimilarityLoss(model=model)\n",
"evaluator = EmbeddingSimilarityEvaluator.from_input_examples(formated_test_dataset, name=\"sts-dev\")\n",
"# Configure the training. We skip evaluation in this example\n",
"# 10% of train data for warm-up\n",
"warmup_steps = math.ceil(len(train_dataloader) * num_epochs * 0.1)\n",
"print(f\"Warmup-steps: {warmup_steps}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Train the model\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b759320f32764618981bda9c0775e1e5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Epoch: 0%| | 0/16 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a7f0f2ded3c244698dfd263162dcac22",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7ce9e6da265949f4a05f479eeea16f03",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2ba7a13ba89d4e5c96514afadaf1b6e5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6cb1c2a645774fe098b4c12534f55523",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "790f29c5386e4bca8a36aa9de6005226",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "db02431ce43b4ccdb5c98907a123cd0c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ee949f1b64f94cb59dc764a4e65ead73",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "30167834e1454cfd8087b4c632a91ba5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "da8c1ccd110241e09a95e2ec66aabcf3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7e32421ebeb0451f9fdbb413b74c93b1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "edea341ecc39475582926e292f84ceae",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "476ab0a0e9d04969a1764cf892111065",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b10f5ebdade247e19b4ef64e5cc9642a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cb352a1b390b49b4a4edf5ab4901b62f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ae51d6d8c76b4e818d73116d1c0629e3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cca3ce6202a7492690fa41a1971f2b09",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Iteration: 0%| | 0/180 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"model.fit(\n",
" train_objectives=[(train_dataloader, train_loss)],\n",
" evaluator=evaluator,\n",
" epochs=num_epochs,\n",
" evaluation_steps=10_000,\n",
" warmup_steps=warmup_steps,\n",
" output_path=model_save_path)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Evaluate the model"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy on STS test dataset: 0.8759463607276905\n"
]
}
],
"source": [
"# Load the stored model and evaluate its performance on STS benchmark dataset\n",
"if model is None:\n",
" model = SentenceTransformer(model_save_path)\n",
"test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(formated_validation_dataset, name=\"sts-test\")\n",
"accuracy = test_evaluator(model, output_path=model_save_path)\n",
"print(f\"Accuracy on STS test dataset: {accuracy}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### View the model performance"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" epoch \n",
" steps \n",
" cosine_pearson \n",
" cosine_spearman \n",
" euclidean_pearson \n",
" euclidean_spearman \n",
" manhattan_pearson \n",
" manhattan_spearman \n",
" dot_pearson \n",
" dot_spearman \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0 \n",
" -1 \n",
" 0.831459 \n",
" 0.822286 \n",
" 0.799320 \n",
" 0.795001 \n",
" 0.798473 \n",
" 0.794257 \n",
" 0.698020 \n",
" 0.691569 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" -1 \n",
" 0.840706 \n",
" 0.834337 \n",
" 0.815210 \n",
" 0.812220 \n",
" 0.814498 \n",
" 0.811689 \n",
" 0.732746 \n",
" 0.730361 \n",
" \n",
" \n",
" 2 \n",
" 2 \n",
" -1 \n",
" 0.843926 \n",
" 0.835904 \n",
" 0.826207 \n",
" 0.822151 \n",
" 0.825924 \n",
" 0.821681 \n",
" 0.748794 \n",
" 0.737895 \n",
" \n",
" \n",
" 3 \n",
" 3 \n",
" -1 \n",
" 0.846428 \n",
" 0.839487 \n",
" 0.828132 \n",
" 0.825238 \n",
" 0.827827 \n",
" 0.824739 \n",
" 0.755207 \n",
" 0.744858 \n",
" \n",
" \n",
" 4 \n",
" 0 \n",
" -1 \n",
" 0.792202 \n",
" 0.771397 \n",
" 0.760367 \n",
" 0.743911 \n",
" 0.760203 \n",
" 0.744113 \n",
" 0.681647 \n",
" 0.667173 \n",
" \n",
" \n",
" 5 \n",
" 1 \n",
" -1 \n",
" 0.835359 \n",
" 0.827130 \n",
" 0.807031 \n",
" 0.803834 \n",
" 0.806447 \n",
" 0.803400 \n",
" 0.724916 \n",
" 0.715752 \n",
" \n",
" \n",
" 6 \n",
" 2 \n",
" -1 \n",
" 0.838358 \n",
" 0.830313 \n",
" 0.819444 \n",
" 0.815761 \n",
" 0.819400 \n",
" 0.815993 \n",
" 0.742720 \n",
" 0.731048 \n",
" \n",
" \n",
" 7 \n",
" 3 \n",
" -1 \n",
" 0.842378 \n",
" 0.837650 \n",
" 0.822014 \n",
" 0.820538 \n",
" 0.821950 \n",
" 0.820751 \n",
" 0.746923 \n",
" 0.737437 \n",
" \n",
" \n",
" 8 \n",
" 4 \n",
" -1 \n",
" 0.843533 \n",
" 0.837812 \n",
" 0.830953 \n",
" 0.827699 \n",
" 0.831241 \n",
" 0.828058 \n",
" 0.760023 \n",
" 0.746661 \n",
" \n",
" \n",
" 9 \n",
" 5 \n",
" -1 \n",
" 0.842615 \n",
" 0.838848 \n",
" 0.827527 \n",
" 0.827053 \n",
" 0.827468 \n",
" 0.827264 \n",
" 0.758369 \n",
" 0.746365 \n",
" \n",
" \n",
" 10 \n",
" 6 \n",
" -1 \n",
" 0.843484 \n",
" 0.838789 \n",
" 0.827800 \n",
" 0.826239 \n",
" 0.827930 \n",
" 0.826622 \n",
" 0.756345 \n",
" 0.745615 \n",
" \n",
" \n",
" 11 \n",
" 7 \n",
" -1 \n",
" 0.844762 \n",
" 0.840291 \n",
" 0.828616 \n",
" 0.827343 \n",
" 0.828418 \n",
" 0.827361 \n",
" 0.763227 \n",
" 0.751573 \n",
" \n",
" \n",
" 12 \n",
" 8 \n",
" -1 \n",
" 0.843006 \n",
" 0.839770 \n",
" 0.827860 \n",
" 0.826893 \n",
" 0.827871 \n",
" 0.827051 \n",
" 0.765544 \n",
" 0.753510 \n",
" \n",
" \n",
" 13 \n",
" 9 \n",
" -1 \n",
" 0.846304 \n",
" 0.842857 \n",
" 0.828914 \n",
" 0.828065 \n",
" 0.828630 \n",
" 0.828003 \n",
" 0.765577 \n",
" 0.754536 \n",
" \n",
" \n",
" 14 \n",
" 10 \n",
" -1 \n",
" 0.845491 \n",
" 0.841096 \n",
" 0.831268 \n",
" 0.830173 \n",
" 0.831042 \n",
" 0.829934 \n",
" 0.766516 \n",
" 0.754324 \n",
" \n",
" \n",
" 15 \n",
" 11 \n",
" -1 \n",
" 0.845038 \n",
" 0.841520 \n",
" 0.830022 \n",
" 0.829324 \n",
" 0.829868 \n",
" 0.829125 \n",
" 0.764627 \n",
" 0.752546 \n",
" \n",
" \n",
" 16 \n",
" 12 \n",
" -1 \n",
" 0.845263 \n",
" 0.842207 \n",
" 0.831057 \n",
" 0.830302 \n",
" 0.830940 \n",
" 0.830102 \n",
" 0.766376 \n",
" 0.754835 \n",
" \n",
" \n",
" 17 \n",
" 13 \n",
" -1 \n",
" 0.844913 \n",
" 0.841911 \n",
" 0.830002 \n",
" 0.828979 \n",
" 0.829962 \n",
" 0.829043 \n",
" 0.766809 \n",
" 0.755277 \n",
" \n",
" \n",
" 18 \n",
" 14 \n",
" -1 \n",
" 0.844950 \n",
" 0.842389 \n",
" 0.830668 \n",
" 0.829802 \n",
" 0.830586 \n",
" 0.829736 \n",
" 0.766818 \n",
" 0.755222 \n",
" \n",
" \n",
" 19 \n",
" 15 \n",
" -1 \n",
" 0.845169 \n",
" 0.842546 \n",
" 0.830544 \n",
" 0.829747 \n",
" 0.830460 \n",
" 0.829629 \n",
" 0.767047 \n",
" 0.755781 \n",
" \n",
" \n",
" 20 \n",
" 0 \n",
" -1 \n",
" 0.789996 \n",
" 0.771507 \n",
" 0.751155 \n",
" 0.735840 \n",
" 0.750595 \n",
" 0.735447 \n",
" 0.656377 \n",
" 0.647560 \n",
" \n",
" \n",
" 21 \n",
" 1 \n",
" -1 \n",
" 0.834723 \n",
" 0.825629 \n",
" 0.805897 \n",
" 0.801195 \n",
" 0.805206 \n",
" 0.800686 \n",
" 0.714148 \n",
" 0.704298 \n",
" \n",
" \n",
" 22 \n",
" 2 \n",
" -1 \n",
" 0.843609 \n",
" 0.836768 \n",
" 0.824553 \n",
" 0.821647 \n",
" 0.824005 \n",
" 0.821232 \n",
" 0.750288 \n",
" 0.740117 \n",
" \n",
" \n",
" 23 \n",
" 3 \n",
" -1 \n",
" 0.844290 \n",
" 0.837315 \n",
" 0.823369 \n",
" 0.820839 \n",
" 0.822907 \n",
" 0.820771 \n",
" 0.752619 \n",
" 0.743209 \n",
" \n",
" \n",
" 24 \n",
" 4 \n",
" -1 \n",
" 0.848353 \n",
" 0.843894 \n",
" 0.829264 \n",
" 0.828715 \n",
" 0.829097 \n",
" 0.828821 \n",
" 0.739662 \n",
" 0.729897 \n",
" \n",
" \n",
" 25 \n",
" 5 \n",
" -1 \n",
" 0.846934 \n",
" 0.841312 \n",
" 0.828725 \n",
" 0.827166 \n",
" 0.828384 \n",
" 0.827049 \n",
" 0.762402 \n",
" 0.751935 \n",
" \n",
" \n",
" 26 \n",
" 6 \n",
" -1 \n",
" 0.845585 \n",
" 0.841405 \n",
" 0.829897 \n",
" 0.828822 \n",
" 0.829770 \n",
" 0.828740 \n",
" 0.764267 \n",
" 0.753591 \n",
" \n",
" \n",
" 27 \n",
" 7 \n",
" -1 \n",
" 0.845388 \n",
" 0.840861 \n",
" 0.831278 \n",
" 0.829617 \n",
" 0.831128 \n",
" 0.829610 \n",
" 0.767783 \n",
" 0.756129 \n",
" \n",
" \n",
" 28 \n",
" 8 \n",
" -1 \n",
" 0.846980 \n",
" 0.843605 \n",
" 0.831718 \n",
" 0.830741 \n",
" 0.831503 \n",
" 0.830459 \n",
" 0.768833 \n",
" 0.757720 \n",
" \n",
" \n",
" 29 \n",
" 9 \n",
" -1 \n",
" 0.846720 \n",
" 0.843634 \n",
" 0.829811 \n",
" 0.829512 \n",
" 0.829674 \n",
" 0.829268 \n",
" 0.765590 \n",
" 0.754997 \n",
" \n",
" \n",
" 30 \n",
" 10 \n",
" -1 \n",
" 0.847116 \n",
" 0.843249 \n",
" 0.832140 \n",
" 0.830753 \n",
" 0.831911 \n",
" 0.830722 \n",
" 0.767915 \n",
" 0.754851 \n",
" \n",
" \n",
" 31 \n",
" 11 \n",
" -1 \n",
" 0.847349 \n",
" 0.844004 \n",
" 0.832437 \n",
" 0.831659 \n",
" 0.832199 \n",
" 0.831515 \n",
" 0.769308 \n",
" 0.758294 \n",
" \n",
" \n",
" 32 \n",
" 12 \n",
" -1 \n",
" 0.847548 \n",
" 0.844449 \n",
" 0.832724 \n",
" 0.832165 \n",
" 0.832418 \n",
" 0.831973 \n",
" 0.768521 \n",
" 0.757657 \n",
" \n",
" \n",
" 33 \n",
" 13 \n",
" -1 \n",
" 0.847360 \n",
" 0.843996 \n",
" 0.832769 \n",
" 0.831874 \n",
" 0.832490 \n",
" 0.831656 \n",
" 0.768880 \n",
" 0.757353 \n",
" \n",
" \n",
" 34 \n",
" 14 \n",
" -1 \n",
" 0.848117 \n",
" 0.844973 \n",
" 0.832809 \n",
" 0.832048 \n",
" 0.832587 \n",
" 0.831915 \n",
" 0.769845 \n",
" 0.758487 \n",
" \n",
" \n",
" 35 \n",
" 15 \n",
" -1 \n",
" 0.848033 \n",
" 0.844908 \n",
" 0.832758 \n",
" 0.831945 \n",
" 0.832527 \n",
" 0.831946 \n",
" 0.769407 \n",
" 0.758096 \n",
" \n",
" \n",
"
\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, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0b61d3c996934e999be7af415b13856c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b6b5e2bddae1406eac479653f67d5283",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3a5e6ae0fa6f4186862f05c829a7ee38",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9bb6ab18289043dda6b5076cf16028b0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d065326f9fc8459797014d08fd1afea0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f1156939a4c34c63a949c6089851aaa5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "350c3e23d4a7488fa1fe2a4a47408fe1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "10ecdd3ae0424e4aad3c08fa044fe748",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "74d23769e9f842aead2804c0632c6a9c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bed8470ea561468f8fe3d42c9141b88b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a33978361c5b40cca6b84ad7595c2569",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Filter: 0%| | 0/1500 [00:00, ? examples/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" sentence1 \n",
" sentence2 \n",
" score \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" A man with a hard hat is dancing. \n",
" A man wearing a hard hat is dancing. \n",
" 5.0 \n",
" \n",
" \n",
" 1 \n",
" A man is fitting silencer on a pistol. \n",
" A man is adding a silencer to a gun. \n",
" 4.5 \n",
" \n",
" \n",
" 2 \n",
" Kittens are eating food. \n",
" Kittens are eating from dishes. \n",
" 4.0 \n",
" \n",
" \n",
" 3 \n",
" A woman is mixing ingrediants. \n",
" A woman is mixing food in a bowl. \n",
" 3.5 \n",
" \n",
" \n",
" 4 \n",
" A woman is cooking eggs. \n",
" A woman is cooking something. \n",
" 3.0 \n",
" \n",
" \n",
" 5 \n",
" Someone is beating an egg. \n",
" A woman stirs eggs in a bowl. \n",
" 2.5 \n",
" \n",
" \n",
" 6 \n",
" A small baby is playing a guitar. \n",
" A boy sits on a bed, sings and plays a guitar. \n",
" 2.0 \n",
" \n",
" \n",
" 7 \n",
" I think it is still feasible to store seeds un... \n",
" I haven't tried storing tomato seeds myself, b... \n",
" 1.5 \n",
" \n",
" \n",
" 8 \n",
" A man is playing soccer. \n",
" A man is playing flute. \n",
" 1.0 \n",
" \n",
" \n",
" 9 \n",
" Two little girls are talking on the phone. \n",
" A little girl is walking down the street. \n",
" 0.5 \n",
" \n",
" \n",
" 10 \n",
" The man is riding a horse. \n",
" A woman is using a hoe. \n",
" 0.0 \n",
" \n",
" \n",
"
\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",
" sentence1 \n",
" sentence2 \n",
" score \n",
" normalized_score \n",
" Cross-Encoder \n",
" Bi-Encoder \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" A man with a hard hat is dancing. \n",
" A man wearing a hard hat is dancing. \n",
" 5.0 \n",
" 1.0 \n",
" 0.608921 \n",
" 0.979907 \n",
" \n",
" \n",
" 1 \n",
" A man is fitting silencer on a pistol. \n",
" A man is adding a silencer to a gun. \n",
" 4.5 \n",
" 0.9 \n",
" 0.614019 \n",
" 0.874845 \n",
" \n",
" \n",
" 2 \n",
" Kittens are eating food. \n",
" Kittens are eating from dishes. \n",
" 4.0 \n",
" 0.8 \n",
" 0.613255 \n",
" 0.872530 \n",
" \n",
" \n",
" 3 \n",
" A woman is mixing ingrediants. \n",
" A woman is mixing food in a bowl. \n",
" 3.5 \n",
" 0.7 \n",
" 0.602167 \n",
" 0.440890 \n",
" \n",
" \n",
" 4 \n",
" A woman is cooking eggs. \n",
" A woman is cooking something. \n",
" 3.0 \n",
" 0.6 \n",
" 0.599842 \n",
" 0.619852 \n",
" \n",
" \n",
" 5 \n",
" Someone is beating an egg. \n",
" A woman stirs eggs in a bowl. \n",
" 2.5 \n",
" 0.5 \n",
" 0.593724 \n",
" 0.435095 \n",
" \n",
" \n",
" 6 \n",
" A small baby is playing a guitar. \n",
" A boy sits on a bed, sings and plays a guitar. \n",
" 2.0 \n",
" 0.4 \n",
" 0.593979 \n",
" 0.505967 \n",
" \n",
" \n",
" 7 \n",
" I think it is still feasible to store seeds un... \n",
" I haven't tried storing tomato seeds myself, b... \n",
" 1.5 \n",
" 0.3 \n",
" 0.603493 \n",
" 0.331625 \n",
" \n",
" \n",
" 8 \n",
" A man is playing soccer. \n",
" A man is playing flute. \n",
" 1.0 \n",
" 0.2 \n",
" 0.576015 \n",
" 0.094140 \n",
" \n",
" \n",
" 9 \n",
" Two little girls are talking on the phone. \n",
" A little girl is walking down the street. \n",
" 0.5 \n",
" 0.1 \n",
" 0.614359 \n",
" 0.390625 \n",
" \n",
" \n",
" 10 \n",
" The man is riding a horse. \n",
" A woman is using a hoe. \n",
" 0.0 \n",
" 0.0 \n",
" 0.599499 \n",
" -0.028931 \n",
" \n",
" \n",
"
\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",
" sentence1 \n",
" sentence2 \n",
" score \n",
" normalized_score \n",
" Cross-Encoder \n",
" Bi-Encoder \n",
" Levenshtein \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" A man with a hard hat is dancing. \n",
" A man wearing a hard hat is dancing. \n",
" 5.0 \n",
" 1.0 \n",
" 0.608921 \n",
" 0.979907 \n",
" 0.861111 \n",
" \n",
" \n",
" 1 \n",
" A man is fitting silencer on a pistol. \n",
" A man is adding a silencer to a gun. \n",
" 4.5 \n",
" 0.9 \n",
" 0.614019 \n",
" 0.874845 \n",
" 0.631579 \n",
" \n",
" \n",
" 2 \n",
" Kittens are eating food. \n",
" Kittens are eating from dishes. \n",
" 4.0 \n",
" 0.8 \n",
" 0.613255 \n",
" 0.872530 \n",
" 0.741935 \n",
" \n",
" \n",
" 3 \n",
" A woman is mixing ingrediants. \n",
" A woman is mixing food in a bowl. \n",
" 3.5 \n",
" 0.7 \n",
" 0.602167 \n",
" 0.440890 \n",
" 0.606061 \n",
" \n",
" \n",
" 4 \n",
" A woman is cooking eggs. \n",
" A woman is cooking something. \n",
" 3.0 \n",
" 0.6 \n",
" 0.599842 \n",
" 0.619852 \n",
" 0.724138 \n",
" \n",
" \n",
" 5 \n",
" Someone is beating an egg. \n",
" A woman stirs eggs in a bowl. \n",
" 2.5 \n",
" 0.5 \n",
" 0.593724 \n",
" 0.435095 \n",
" 0.310345 \n",
" \n",
" \n",
" 6 \n",
" A small baby is playing a guitar. \n",
" A boy sits on a bed, sings and plays a guitar. \n",
" 2.0 \n",
" 0.4 \n",
" 0.593979 \n",
" 0.505967 \n",
" 0.456522 \n",
" \n",
" \n",
" 7 \n",
" I think it is still feasible to store seeds un... \n",
" I haven't tried storing tomato seeds myself, b... \n",
" 1.5 \n",
" 0.3 \n",
" 0.603493 \n",
" 0.331625 \n",
" 0.347826 \n",
" \n",
" \n",
" 8 \n",
" A man is playing soccer. \n",
" A man is playing flute. \n",
" 1.0 \n",
" 0.2 \n",
" 0.576015 \n",
" 0.094140 \n",
" 0.791667 \n",
" \n",
" \n",
" 9 \n",
" Two little girls are talking on the phone. \n",
" A little girl is walking down the street. \n",
" 0.5 \n",
" 0.1 \n",
" 0.614359 \n",
" 0.390625 \n",
" 0.642857 \n",
" \n",
" \n",
" 10 \n",
" The man is riding a horse. \n",
" A woman is using a hoe. \n",
" 0.0 \n",
" 0.0 \n",
" 0.599499 \n",
" -0.028931 \n",
" 0.653846 \n",
" \n",
" \n",
"
\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",
" sentence1 \n",
" sentence2 \n",
" score \n",
" normalized_score \n",
" Cross-Encoder \n",
" Bi-Encoder \n",
" Levenshtein \n",
" TF-IDF \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" A man with a hard hat is dancing. \n",
" A man wearing a hard hat is dancing. \n",
" 5.0 \n",
" 1.0 \n",
" 0.608921 \n",
" 0.979907 \n",
" 0.861111 \n",
" 0.716812 \n",
" \n",
" \n",
" 1 \n",
" A man is fitting silencer on a pistol. \n",
" A man is adding a silencer to a gun. \n",
" 4.5 \n",
" 0.9 \n",
" 0.614019 \n",
" 0.874845 \n",
" 0.631579 \n",
" 0.336097 \n",
" \n",
" \n",
" 2 \n",
" Kittens are eating food. \n",
" Kittens are eating from dishes. \n",
" 4.0 \n",
" 0.8 \n",
" 0.613255 \n",
" 0.872530 \n",
" 0.741935 \n",
" 0.510149 \n",
" \n",
" \n",
" 3 \n",
" A woman is mixing ingrediants. \n",
" A woman is mixing food in a bowl. \n",
" 3.5 \n",
" 0.7 \n",
" 0.602167 \n",
" 0.440890 \n",
" 0.606061 \n",
" 0.450176 \n",
" \n",
" \n",
" 4 \n",
" A woman is cooking eggs. \n",
" A woman is cooking something. \n",
" 3.0 \n",
" 0.6 \n",
" 0.599842 \n",
" 0.619852 \n",
" 0.724138 \n",
" 0.602975 \n",
" \n",
" \n",
" 5 \n",
" Someone is beating an egg. \n",
" A woman stirs eggs in a bowl. \n",
" 2.5 \n",
" 0.5 \n",
" 0.593724 \n",
" 0.435095 \n",
" 0.310345 \n",
" 0.000000 \n",
" \n",
" \n",
" 6 \n",
" A small baby is playing a guitar. \n",
" A boy sits on a bed, sings and plays a guitar. \n",
" 2.0 \n",
" 0.4 \n",
" 0.593979 \n",
" 0.505967 \n",
" 0.456522 \n",
" 0.087044 \n",
" \n",
" \n",
" 7 \n",
" I think it is still feasible to store seeds un... \n",
" I haven't tried storing tomato seeds myself, b... \n",
" 1.5 \n",
" 0.3 \n",
" 0.603493 \n",
" 0.331625 \n",
" 0.347826 \n",
" 0.143098 \n",
" \n",
" \n",
" 8 \n",
" A man is playing soccer. \n",
" A man is playing flute. \n",
" 1.0 \n",
" 0.2 \n",
" 0.576015 \n",
" 0.094140 \n",
" 0.791667 \n",
" 0.602975 \n",
" \n",
" \n",
" 9 \n",
" Two little girls are talking on the phone. \n",
" A little girl is walking down the street. \n",
" 0.5 \n",
" 0.1 \n",
" 0.614359 \n",
" 0.390625 \n",
" 0.642857 \n",
" 0.155929 \n",
" \n",
" \n",
" 10 \n",
" The man is riding a horse. \n",
" A woman is using a hoe. \n",
" 0.0 \n",
" 0.0 \n",
" 0.599499 \n",
" -0.028931 \n",
" 0.653846 \n",
" 0.127360 \n",
" \n",
" \n",
"
\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",
" sentence1 \n",
" sentence2 \n",
" score \n",
" normalized_score \n",
" Cross-Encoder \n",
" Bi-Encoder \n",
" Levenshtein \n",
" TF-IDF \n",
" RandomForest \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" A man with a hard hat is dancing. \n",
" A man wearing a hard hat is dancing. \n",
" 5.0 \n",
" 1.0 \n",
" 0.608921 \n",
" 0.979907 \n",
" 0.861111 \n",
" 0.716812 \n",
" 0.969502 \n",
" \n",
" \n",
" 1 \n",
" A man is fitting silencer on a pistol. \n",
" A man is adding a silencer to a gun. \n",
" 4.5 \n",
" 0.9 \n",
" 0.614019 \n",
" 0.874845 \n",
" 0.631579 \n",
" 0.336097 \n",
" 0.748200 \n",
" \n",
" \n",
" 2 \n",
" Kittens are eating food. \n",
" Kittens are eating from dishes. \n",
" 4.0 \n",
" 0.8 \n",
" 0.613255 \n",
" 0.872530 \n",
" 0.741935 \n",
" 0.510149 \n",
" 0.723038 \n",
" \n",
" \n",
" 3 \n",
" A woman is mixing ingrediants. \n",
" A woman is mixing food in a bowl. \n",
" 3.5 \n",
" 0.7 \n",
" 0.602167 \n",
" 0.440890 \n",
" 0.606061 \n",
" 0.450176 \n",
" 0.372034 \n",
" \n",
" \n",
" 4 \n",
" A woman is cooking eggs. \n",
" A woman is cooking something. \n",
" 3.0 \n",
" 0.6 \n",
" 0.599842 \n",
" 0.619852 \n",
" 0.724138 \n",
" 0.602975 \n",
" 0.453100 \n",
" \n",
" \n",
" 5 \n",
" Someone is beating an egg. \n",
" A woman stirs eggs in a bowl. \n",
" 2.5 \n",
" 0.5 \n",
" 0.593724 \n",
" 0.435095 \n",
" 0.310345 \n",
" 0.000000 \n",
" 0.312862 \n",
" \n",
" \n",
" 6 \n",
" A small baby is playing a guitar. \n",
" A boy sits on a bed, sings and plays a guitar. \n",
" 2.0 \n",
" 0.4 \n",
" 0.593979 \n",
" 0.505967 \n",
" 0.456522 \n",
" 0.087044 \n",
" 0.345736 \n",
" \n",
" \n",
" 7 \n",
" I think it is still feasible to store seeds un... \n",
" I haven't tried storing tomato seeds myself, b... \n",
" 1.5 \n",
" 0.3 \n",
" 0.603493 \n",
" 0.331625 \n",
" 0.347826 \n",
" 0.143098 \n",
" 0.440634 \n",
" \n",
" \n",
" 8 \n",
" A man is playing soccer. \n",
" A man is playing flute. \n",
" 1.0 \n",
" 0.2 \n",
" 0.576015 \n",
" 0.094140 \n",
" 0.791667 \n",
" 0.602975 \n",
" 0.217502 \n",
" \n",
" \n",
" 9 \n",
" Two little girls are talking on the phone. \n",
" A little girl is walking down the street. \n",
" 0.5 \n",
" 0.1 \n",
" 0.614359 \n",
" 0.390625 \n",
" 0.642857 \n",
" 0.155929 \n",
" 0.411490 \n",
" \n",
" \n",
" 10 \n",
" The man is riding a horse. \n",
" A woman is using a hoe. \n",
" 0.0 \n",
" 0.0 \n",
" 0.599499 \n",
" -0.028931 \n",
" 0.653846 \n",
" 0.127360 \n",
" 0.235032 \n",
" \n",
" \n",
"
\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
}