1632 lines
365 KiB
Plaintext
1632 lines
365 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "953fd65a",
|
|
"metadata": {},
|
|
"source": [
|
|
"# 3rd Phase: Fusion model\n",
|
|
"Combining Syntactic (Tree Edit Distance) and Semantic (BERT) branches into a single classification\n",
|
|
"\n",
|
|
"The goal is to train a logistical regression model using features from both branches to predict the liklihood of plagiarism"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "1c45d83192facfc6",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "b0d416371b6c438bbcdc750301240d68",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"modules.json: 0%| | 0.00/349 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "a7b1657fc75346a18c7d2a7a3f096313",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config_sentence_transformers.json: 0%| | 0.00/116 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ae3f3f6247a5440abfe73a13fa69283e",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"README.md: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "629b99694e654a469d04c4b42385ba69",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"sentence_bert_config.json: 0%| | 0.00/53.0 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ec714af14453479f84ea91fbdeb0a5e0",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config.json: 0%| | 0.00/612 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "70e163142ab04a53ae2b6d1eb83e08b0",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"model.safetensors: 0%| | 0.00/90.9M [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "538150e747e04bccb34bb691ebb1f3ab",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer_config.json: 0%| | 0.00/350 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "ad4b584258754059b6f04052a8605813",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"vocab.txt: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "cef8aab72d51486dba9737d8e30e4239",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"tokenizer.json: 0.00B [00:00, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "979d08190f344bcaa4c87b3d697dc702",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"special_tokens_map.json: 0%| | 0.00/112 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "049f02fb6f964b148a613c65cf0a3a69",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"config.json: 0%| | 0.00/190 [00:00<?, ?B/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Loaded 29 test pairs for fusion analysis\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import spacy\n",
|
|
"import numpy as np\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import seaborn as sns\n",
|
|
"from sklearn.preprocessing import StandardScaler\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from sklearn.linear_model import LogisticRegression\n",
|
|
"from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score, roc_curve\n",
|
|
"from sentence_transformers import SentenceTransformer\n",
|
|
"\n",
|
|
"from scipy.stats import mannwhitneyu\n",
|
|
"from statsmodels.stats.multitest import multipletests\n",
|
|
"\n",
|
|
"# import pickle\n",
|
|
"\n",
|
|
"# Load models\n",
|
|
"nlp = spacy.load(\"en_core_web_lg\")\n",
|
|
"model_bert = SentenceTransformer(\"all-MiniLM-L6-v2\")\n",
|
|
"\n",
|
|
"test_pairs = [\n",
|
|
"## STANDARD TEST PAIRS (from previous notebooks)\n",
|
|
" # Direct copies and near-copies\n",
|
|
" (\"The cat sat on the mat.\", \"The cat sat on the mat.\"), # Exact copy\n",
|
|
" (\"The cat sat on the mat.\", \"The cat sat on the mat\"), # No punctuation\n",
|
|
" (\"The cat sat on the mat.\", \"The cat sat on the mat.\"), # Extra spaces\n",
|
|
" \n",
|
|
" # Paraphrases with same meaning\n",
|
|
" (\"The cat sat on the mat.\", \"On the mat, the cat was sitting.\"), # Structural change\n",
|
|
" (\"The cat sat on the mat.\", \"The feline rested on the rug.\"), # Synonym replacement\n",
|
|
" (\"The quick brown fox jumps.\", \"A fast brown fox leaps.\"), # Partial synonym\n",
|
|
" \n",
|
|
" # Different sentences\n",
|
|
" (\"The cat sat on the mat.\", \"The dog ran in the park.\"), # Different content\n",
|
|
" (\"I love programming.\", \"She enjoys reading books.\"), # Completely different\n",
|
|
" (\"The weather is nice today.\", \"It's raining outside.\"), # Opposite meaning\n",
|
|
" \n",
|
|
" # Edge cases\n",
|
|
" (\"Short.\", \"Short.\"), # Very short\n",
|
|
" (\"A B C D E F G\", \"A B C D E F G\"), # Repeated words\n",
|
|
" (\"\", \"\"), # Empty strings\n",
|
|
" \n",
|
|
"## ADDITIONAL TEST PAIRS (for semantic evaluation)\n",
|
|
" # Polysemy (word sense ambiguity) - Critical for BERT vs SpaCy\n",
|
|
" (\"He went to the bank to deposit money.\", \"He went to the river bank to fish.\"), # Bank: financial vs. riverbank\n",
|
|
" (\"I saw the bat in the cave.\", \"The baseball bat is broken.\"), # Bat: animal vs. sports equipment\n",
|
|
" (\"The light is very bright.\", \"Can you carry this light package?\"), # Light: brightness vs. weight\n",
|
|
" \n",
|
|
" # Synonymy (different words, same meaning) - Tests semantic understanding\n",
|
|
" (\"The car is fast.\", \"The automobile is quick.\"), # car/automobile, fast/quick\n",
|
|
" (\"He commenced the project.\", \"He started the work.\"), # commenced/started, project/work\n",
|
|
" (\"The substantial building is ornate.\", \"The large building is decorated.\"), # substantial/large, ornate/decorated\n",
|
|
" \n",
|
|
" # Negation (opposite meaning) - Tests if methods catch semantic inversion\n",
|
|
" (\"The weather is good.\", \"The weather is bad.\"), # Direct negation\n",
|
|
" (\"The solution is simple.\", \"The problem is complex.\"), # Opposite adjectives\n",
|
|
" (\"I like this movie.\", \"I dislike this movie.\"), # Explicit negation\n",
|
|
" \n",
|
|
" # Semantic similarity without word overlap - Pure meaning test\n",
|
|
" (\"A man walks down the street.\", \"A person strolls along the road.\"), # Very few shared words, similar meaning\n",
|
|
" (\"The student studied the textbook.\", \"The pupil learned from the book.\"), # Different words, same semantic content\n",
|
|
" \n",
|
|
" # Partial overlap (high word similarity, low semantic similarity)\n",
|
|
" (\"The bank is on the river.\", \"The bank account is overdrawn.\"), # \"bank\" is only shared word; different meanings\n",
|
|
" (\"I read the book last night.\", \"The book was read by many people.\"), # Same key words (book, read) but different focus\n",
|
|
" \n",
|
|
" # Length variation (tests robustness to sentence length)\n",
|
|
" (\"Cat sat.\", \"The cat sat on the mat for hours and hours.\"), # Very different lengths, similar core meaning\n",
|
|
" (\"Go.\", \"You should go to the store and buy milk immediately.\"), # Minimal vs. detailed\n",
|
|
" \n",
|
|
" # Metaphor/Figurative language\n",
|
|
" (\"Time is money.\", \"Time has value.\"), # Metaphor vs. literal\n",
|
|
" (\"The world is a stage.\", \"Life is like a theater performance.\"), # Figurative expressions\n",
|
|
"]\n",
|
|
"\n",
|
|
"print(f\"Loaded {len(test_pairs)} test pairs for fusion analysis\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "ea6f478e",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Method 1: Tree Edit Distance (Syntactic)\n",
|
|
"Calculates minimum edit operations to convert one dependency tree to another"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "9665682bd5a7951e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Tree Structure Demo:\n",
|
|
"======================================================================\n",
|
|
"Sentence: 'The cat sat on the mat.'\n",
|
|
"Root token ID: 2\n",
|
|
"\n",
|
|
"Tree nodes:\n",
|
|
" ID 0: 'The ' POS=DET DEP=det Children=[]\n",
|
|
" ID 1: 'cat ' POS=NOUN DEP=nsubj Children=[0]\n",
|
|
" ID 2: 'sat ' POS=VERB DEP=ROOT Children=[1, 3, 6]\n",
|
|
" ID 3: 'on ' POS=ADP DEP=prep Children=[5]\n",
|
|
" ID 4: 'the ' POS=DET DEP=det Children=[]\n",
|
|
" ID 5: 'mat ' POS=NOUN DEP=pobj Children=[4]\n",
|
|
" ID 6: '. ' POS=PUNCT DEP=punct Children=[]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def build_tree_from_dependencies(text):\n",
|
|
" \"\"\"Build hierarchical tree structure from dependency parse.\"\"\"\n",
|
|
" doc = nlp(text)\n",
|
|
" \n",
|
|
" # node dictionary with parent-child relationships\n",
|
|
" tree = {}\n",
|
|
" root_token = None\n",
|
|
" \n",
|
|
" for token in doc:\n",
|
|
" tree[token.i] = {\n",
|
|
" 'text': token.text,\n",
|
|
" 'lemma': token.lemma_,\n",
|
|
" 'pos': token.pos_,\n",
|
|
" 'dep': token.dep_,\n",
|
|
" 'head_id': token.head.i,\n",
|
|
" 'children': []\n",
|
|
" }\n",
|
|
" \n",
|
|
" # parent-child relationships\n",
|
|
" for token in doc:\n",
|
|
" if token.head.i != token.i: # Not root\n",
|
|
" tree[token.head.i]['children'].append(token.i)\n",
|
|
" else: # Root node\n",
|
|
" root_token = token.i\n",
|
|
" \n",
|
|
" return tree, root_token\n",
|
|
"\n",
|
|
"# small demo\n",
|
|
"s1 = \"The cat sat on the mat.\"\n",
|
|
"tree1, root1 = build_tree_from_dependencies(s1)\n",
|
|
"\n",
|
|
"print(\"Tree Structure Demo:\")\n",
|
|
"print(\"=\" * 70)\n",
|
|
"print(f\"Sentence: '{s1}'\")\n",
|
|
"print(f\"Root token ID: {root1}\")\n",
|
|
"print(\"\\nTree nodes:\")\n",
|
|
"for node_id in sorted(tree1.keys()):\n",
|
|
" node = tree1[node_id]\n",
|
|
" print(f\" ID {node_id}: '{node['text']:<10}' POS={node['pos']:<6} DEP={node['dep']:<8} Children={node['children']}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d36fd1dd",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Helper functions for tree comparison"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "9d936f69",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Postorder Traversals:\n",
|
|
"======================================================================\n",
|
|
"Sentence 1: 'The cat sat on the mat.'\n",
|
|
"Postorder: [0, 1, 4, 5, 3, 6, 2]\n",
|
|
"Labels: [('DET', 'det'), ('NOUN', 'nsubj'), ('DET', 'det'), ('NOUN', 'pobj'), ('ADP', 'prep'), ('PUNCT', 'punct'), ('VERB', 'ROOT')]\n",
|
|
"\n",
|
|
"Sentence 2: 'On the mat, the cat was sitting.'\n",
|
|
"Postorder: [1, 2, 0, 3, 4, 5, 6, 8, 7]\n",
|
|
"Labels: [('DET', 'det'), ('NOUN', 'pobj'), ('ADP', 'prep'), ('PUNCT', 'punct'), ('DET', 'det'), ('NOUN', 'nsubj'), ('AUX', 'aux'), ('PUNCT', 'punct'), ('VERB', 'ROOT')]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def get_nodes_postorder(node_id, tree):\n",
|
|
" \"\"\"\n",
|
|
" Get all nodes in postorder traversal (children before parents).\n",
|
|
" This is required for Zhang-Shasha algorithm.\n",
|
|
" \"\"\"\n",
|
|
" nodes = []\n",
|
|
" if node_id in tree:\n",
|
|
" # traverse children first\n",
|
|
" for child_id in tree[node_id]['children']:\n",
|
|
" nodes.extend(get_nodes_postorder(child_id, tree))\n",
|
|
" # then add parent\n",
|
|
" nodes.append(node_id)\n",
|
|
" return nodes\n",
|
|
"\n",
|
|
"def node_label(node_id, tree):\n",
|
|
" \"\"\"\n",
|
|
" Get label for a node (combination of POS tag and dependency relation).\n",
|
|
" Two nodes match if they have the same (POS, DEP) pair.\n",
|
|
" \"\"\"\n",
|
|
" if node_id in tree:\n",
|
|
" return (tree[node_id]['pos'], tree[node_id]['dep'])\n",
|
|
" return ('', '')\n",
|
|
"\n",
|
|
"def nodes_match(node_id1, tree1, node_id2, tree2):\n",
|
|
" \"\"\"Check if two nodes have matching labels (same POS and DEP).\"\"\"\n",
|
|
" label1 = node_label(node_id1, tree1)\n",
|
|
" label2 = node_label(node_id2, tree2)\n",
|
|
" return label1 == label2\n",
|
|
"\n",
|
|
"# small demo\n",
|
|
"s2 = \"On the mat, the cat was sitting.\"\n",
|
|
"tree2, root2 = build_tree_from_dependencies(s2)\n",
|
|
"\n",
|
|
"print(\"Postorder Traversals:\")\n",
|
|
"print(\"=\" * 70)\n",
|
|
"print(f\"Sentence 1: '{s1}'\")\n",
|
|
"nodes1 = get_nodes_postorder(root1, tree1)\n",
|
|
"print(f\"Postorder: {nodes1}\")\n",
|
|
"labels1 = [node_label(n, tree1) for n in nodes1]\n",
|
|
"print(f\"Labels: {labels1}\")\n",
|
|
"\n",
|
|
"print(f\"\\nSentence 2: '{s2}'\")\n",
|
|
"nodes2 = get_nodes_postorder(root2, tree2)\n",
|
|
"print(f\"Postorder: {nodes2}\")\n",
|
|
"labels2 = [node_label(n, tree2) for n in nodes2]\n",
|
|
"print(f\"Labels: {labels2}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5f99f2ea",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Zhang-Shasha Tree Edit Distance"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "6a91abd3",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Tree Edit Distance Calculation:\n",
|
|
"======================================================================\n",
|
|
"Sentence 1: 'The cat sat on the mat.'\n",
|
|
"Sentence 2: 'On the mat, the cat was sitting.'\n",
|
|
"\n",
|
|
"Tree 1 size: 7 nodes\n",
|
|
"Tree 2 size: 9 nodes\n",
|
|
"\n",
|
|
"Zhang-Shasha Tree Edit Distance Similarity: 0.444\n",
|
|
"(Higher = more similar tree structures)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def tree_edit_distance_zhang_shasha(tree1, tree2, root1, root2):\n",
|
|
" \"\"\"\n",
|
|
" Full Tree Edit Distance using Zhang-Shasha algorithm.\n",
|
|
" \n",
|
|
" Compares two trees by:\n",
|
|
" 1. Computing minimum edit operations (insert, delete, replace)\n",
|
|
" 2. Preserving hierarchical structure and node ordering\n",
|
|
" 3. Matching nodes by (POS tag, dependency relation)\n",
|
|
" \n",
|
|
" Returns: Normalized similarity score (0-1)\n",
|
|
" \"\"\"\n",
|
|
" \n",
|
|
" # get postorder traversals of both trees\n",
|
|
" nodes1 = get_nodes_postorder(root1, tree1)\n",
|
|
" nodes2 = get_nodes_postorder(root2, tree2)\n",
|
|
" \n",
|
|
" m, n = len(nodes1), len(nodes2)\n",
|
|
" \n",
|
|
" # Initialize DP table\n",
|
|
" # dp[i][j] = minimum edit distance between first i nodes of tree1 and first j nodes of tree2\n",
|
|
" dp = [[0] * (n + 1) for _ in range(m + 1)]\n",
|
|
" \n",
|
|
" # Base cases: converting empty tree to/from another tree\n",
|
|
" for i in range(m + 1):\n",
|
|
" dp[i][0] = i # Delete all i nodes from tree1\n",
|
|
" for j in range(n + 1):\n",
|
|
" dp[0][j] = j # Insert all j nodes to get tree2\n",
|
|
" \n",
|
|
" # Fill DP table\n",
|
|
" for i in range(1, m + 1):\n",
|
|
" for j in range(1, n + 1):\n",
|
|
" node1 = nodes1[i - 1]\n",
|
|
" node2 = nodes2[j - 1]\n",
|
|
" \n",
|
|
" if nodes_match(node1, tree1, node2, tree2):\n",
|
|
" # nodes match: no operation needed\n",
|
|
" cost = dp[i - 1][j - 1]\n",
|
|
" else:\n",
|
|
" # nodes don't match: choose cheapest operation\n",
|
|
" delete_cost = dp[i - 1][j] + 1 # Delete node from tree1\n",
|
|
" insert_cost = dp[i][j - 1] + 1 # Insert node into tree1\n",
|
|
" replace_cost = dp[i - 1][j - 1] + 1 # Replace node\n",
|
|
" cost = min(delete_cost, insert_cost, replace_cost)\n",
|
|
" \n",
|
|
" dp[i][j] = cost\n",
|
|
" \n",
|
|
" # convert edit distance to similarity (0-1)\n",
|
|
" max_size = max(m, n)\n",
|
|
" if max_size == 0:\n",
|
|
" return 1.0\n",
|
|
" \n",
|
|
" edit_distance = dp[m][n]\n",
|
|
" similarity = 1.0 - (edit_distance / max_size)\n",
|
|
" \n",
|
|
" return max(0.0, similarity)\n",
|
|
"\n",
|
|
"# small demo\n",
|
|
"ted_score = tree_edit_distance_zhang_shasha(tree1, tree2, root1, root2)\n",
|
|
"\n",
|
|
"print(\"Tree Edit Distance Calculation:\")\n",
|
|
"print(\"=\" * 70)\n",
|
|
"print(f\"Sentence 1: '{s1}'\")\n",
|
|
"print(f\"Sentence 2: '{s2}'\")\n",
|
|
"print(f\"\\nTree 1 size: {len(tree1)} nodes\")\n",
|
|
"print(f\"Tree 2 size: {len(tree2)} nodes\")\n",
|
|
"print(f\"\\nZhang-Shasha Tree Edit Distance Similarity: {ted_score:.3f}\")\n",
|
|
"print(\"(Higher = more similar tree structures)\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c01a28b5",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Wrapper for TED similarity"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "16436c70",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"Sentence Similarity using Tree Edit Distance:\n",
|
|
"======================================================================\n",
|
|
"\n",
|
|
"'The cat sat on the mat.'\n",
|
|
" vs\n",
|
|
"'The cat sat on the mat.'\n",
|
|
" → Similarity: 1.000\n",
|
|
"\n",
|
|
"'The cat sat on the mat.'\n",
|
|
" vs\n",
|
|
"'On the mat, the cat was sitting.'\n",
|
|
" → Similarity: 0.444\n",
|
|
"\n",
|
|
"'The cat sat on the mat.'\n",
|
|
" vs\n",
|
|
"'The dog ran in the park.'\n",
|
|
" → Similarity: 1.000\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def sentence_similarity_ted(sent1, sent2):\n",
|
|
" \"\"\"\n",
|
|
" Compute similarity between two sentences using Tree Edit Distance.\n",
|
|
" Analyzes full hierarchical tree structure.\n",
|
|
" \"\"\"\n",
|
|
" if not sent1.strip() or not sent2.strip():\n",
|
|
" return 0.0\n",
|
|
" \n",
|
|
" try:\n",
|
|
" tree1, root1 = build_tree_from_dependencies(sent1)\n",
|
|
" tree2, root2 = build_tree_from_dependencies(sent2)\n",
|
|
" return tree_edit_distance_zhang_shasha(tree1, tree2, root1, root2)\n",
|
|
" except:\n",
|
|
" return 0.0\n",
|
|
"\n",
|
|
"# Demo\n",
|
|
"print(\"\\nSentence Similarity using Tree Edit Distance:\")\n",
|
|
"print(\"=\" * 70)\n",
|
|
"test_pairs_demo = [\n",
|
|
" (\"The cat sat on the mat.\", \"The cat sat on the mat.\"),\n",
|
|
" (\"The cat sat on the mat.\", \"On the mat, the cat was sitting.\"),\n",
|
|
" (\"The cat sat on the mat.\", \"The dog ran in the park.\"),\n",
|
|
"]\n",
|
|
"\n",
|
|
"for sent1, sent2 in test_pairs_demo:\n",
|
|
" sim = sentence_similarity_ted(sent1, sent2)\n",
|
|
" print(f\"\\n'{sent1}'\")\n",
|
|
" print(f\" vs\")\n",
|
|
" print(f\"'{sent2}'\")\n",
|
|
" print(f\" → Similarity: {sim:.3f}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "83262ade",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Method 2: Baseline Similarity (notebook 2)\n",
|
|
"Jaccard similarity as a quick baseline for structural matching"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "91282393",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Jaccard Similarity: 0.375\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def sentence_similarity_jaccard(sent1, sent2):\n",
|
|
" \"\"\"Jaccard similarity baseline.\"\"\"\n",
|
|
" words1 = set(sent1.lower().split())\n",
|
|
" words2 = set(sent2.lower().split())\n",
|
|
" \n",
|
|
" if not words1 and not words2:\n",
|
|
" return 1.0\n",
|
|
" if not words1 or not words2:\n",
|
|
" return 0.0\n",
|
|
" \n",
|
|
" intersection = len(words1.intersection(words2))\n",
|
|
" union = len(words1.union(words2))\n",
|
|
" return intersection / union\n",
|
|
"\n",
|
|
"# Demo\n",
|
|
"print(f\"Jaccard Similarity: {sentence_similarity_jaccard(s1, s2):.3f}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "30db037d",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Feature Extraction\n",
|
|
"Extract all relevent features for each pair"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "3c9f502e",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Feature Extraction"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "54916598",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Feature Extraction Demo:\n",
|
|
"============================================================\n",
|
|
"bert : 0.930\n",
|
|
"ted : 0.444\n",
|
|
"jaccard : 0.375\n",
|
|
"len_ratio : 0.719\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def extract_features(sent1, sent2):\n",
|
|
" \"\"\"Extract semantic and syntactic features for a sentence pair.\"\"\"\n",
|
|
" \n",
|
|
" # Semantic features\n",
|
|
" embeddings = model_bert.encode([sent1, sent2])\n",
|
|
" bert_similarity = np.dot(embeddings[0], embeddings[1]) / (\n",
|
|
" np.linalg.norm(embeddings[0]) * np.linalg.norm(embeddings[1])\n",
|
|
" )\n",
|
|
" \n",
|
|
" # Syntactic features\n",
|
|
" ted_similarity = sentence_similarity_ted(sent1, sent2)\n",
|
|
" \n",
|
|
" # Baseline features\n",
|
|
" jaccard_similarity = sentence_similarity_jaccard(sent1, sent2)\n",
|
|
" \n",
|
|
" # Length ratio (robustness feature)\n",
|
|
" len_ratio = min(len(sent1), len(sent2)) / max(len(sent1), len(sent2)) if max(len(sent1), len(sent2)) > 0 else 0.0\n",
|
|
" \n",
|
|
" return {\n",
|
|
" 'bert': bert_similarity,\n",
|
|
" 'ted': ted_similarity,\n",
|
|
" 'jaccard': jaccard_similarity,\n",
|
|
" 'len_ratio': len_ratio\n",
|
|
" }\n",
|
|
"\n",
|
|
"# Demo\n",
|
|
"print(\"Feature Extraction Demo:\")\n",
|
|
"print(\"=\" * 60)\n",
|
|
"features = extract_features(s1, s2)\n",
|
|
"for feature_name, value in features.items():\n",
|
|
" print(f\"{feature_name:<15}: {value:.3f}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "26a1aa86",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Building feature map"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "e8a13c18",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Extracting features for all pairs...\n",
|
|
" Processed 10/29 pairs...\n",
|
|
" Processed 20/29 pairs...\n",
|
|
"\n",
|
|
"Feature Matrix Shape: (29, 7)\n",
|
|
"\n",
|
|
"Feature Summary Statistics:\n",
|
|
"================================================================================\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>bert</th>\n",
|
|
" <th>ted</th>\n",
|
|
" <th>jaccard</th>\n",
|
|
" <th>len_ratio</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>count</th>\n",
|
|
" <td>29.000</td>\n",
|
|
" <td>29.000</td>\n",
|
|
" <td>29.000</td>\n",
|
|
" <td>29.000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>mean</th>\n",
|
|
" <td>0.671</td>\n",
|
|
" <td>0.663</td>\n",
|
|
" <td>0.405</td>\n",
|
|
" <td>0.786</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>std</th>\n",
|
|
" <td>0.271</td>\n",
|
|
" <td>0.330</td>\n",
|
|
" <td>0.328</td>\n",
|
|
" <td>0.266</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>min</th>\n",
|
|
" <td>0.067</td>\n",
|
|
" <td>0.000</td>\n",
|
|
" <td>0.000</td>\n",
|
|
" <td>0.000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25%</th>\n",
|
|
" <td>0.506</td>\n",
|
|
" <td>0.429</td>\n",
|
|
" <td>0.200</td>\n",
|
|
" <td>0.760</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>50%</th>\n",
|
|
" <td>0.652</td>\n",
|
|
" <td>0.714</td>\n",
|
|
" <td>0.333</td>\n",
|
|
" <td>0.857</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>75%</th>\n",
|
|
" <td>0.930</td>\n",
|
|
" <td>1.000</td>\n",
|
|
" <td>0.600</td>\n",
|
|
" <td>0.957</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>max</th>\n",
|
|
" <td>1.000</td>\n",
|
|
" <td>1.000</td>\n",
|
|
" <td>1.000</td>\n",
|
|
" <td>1.000</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" bert ted jaccard len_ratio\n",
|
|
"count 29.000 29.000 29.000 29.000\n",
|
|
"mean 0.671 0.663 0.405 0.786\n",
|
|
"std 0.271 0.330 0.328 0.266\n",
|
|
"min 0.067 0.000 0.000 0.000\n",
|
|
"25% 0.506 0.429 0.200 0.760\n",
|
|
"50% 0.652 0.714 0.333 0.857\n",
|
|
"75% 0.930 1.000 0.600 0.957\n",
|
|
"max 1.000 1.000 1.000 1.000"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"Extracting features for all pairs...\")\n",
|
|
"feature_list = []\n",
|
|
"\n",
|
|
"for i, (sent1, sent2) in enumerate(test_pairs):\n",
|
|
" features = extract_features(sent1, sent2)\n",
|
|
" features['pair_id'] = i\n",
|
|
" features['sentence_1'] = sent1\n",
|
|
" features['sentence_2'] = sent2\n",
|
|
" feature_list.append(features)\n",
|
|
" \n",
|
|
" if (i + 1) % 10 == 0:\n",
|
|
" print(f\" Processed {i + 1}/{len(test_pairs)} pairs...\")\n",
|
|
"\n",
|
|
"feature_df = pd.DataFrame(feature_list)\n",
|
|
"\n",
|
|
"print(f\"\\nFeature Matrix Shape: {feature_df.shape}\")\n",
|
|
"print(\"\\nFeature Summary Statistics:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"display(feature_df[['bert', 'ted', 'jaccard', 'len_ratio']].describe().round(3))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "15d1f95a",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Correlation and Visualization"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "292e3d91",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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GFElIiIivSI11H5EtbCSk5Nx9+5d8f8RERG4fPkyypQpg/Lly2Py5Ml4+vQp1q1bBwAYNmwYFi9ejAkTJuCzzz7D0aNHsXnzZuzbt08sIyAgAAMHDkT9+vXh4+ODBQsWICUlBf7+/u+9fUXFjioRERFRCfv333/RsmVL8f9vxrcOHDgQa9asQWRkJB49eiTu9/DwwL59+/Dll1/i119/haurK1auXIn27duLeXr37o2YmBhMmzYNUVFRqF27NoKCgnJMsNJlOrOOKmf96yfO+tc/nPWvnzjrXz/p6qz/g7bVtX6O9nHXtX4OfcAxqkRERESkk3jrn4iIiPSKLo5RJfUYUSUiIiIincSIKhEREemV97GOKmkGI6pEREREpJMYUSUiIiK9wjGqpQcjqkRERESkkxhRJSIiIr3CMaqlByOqRERERKSTGFElIiIivcIxqqUHI6pEREREpJMYUSUiIiK9IjFgRLW0YESViIiIiHQSI6pERESkV6SMqJYajKgSERERkU5iRJWIiIj0ikTKiGppwYgqEREREekkRlSJiIhIr0gMGKcrLfhOEREREZFOYkSViIiI9Apn/ZcejKgSERERkU5iRJWIiIj0Cmf9lx6MqBIRERGRTmJElYiIiPQKx6iWHoyoEhEREZFOYkSViIiI9IqEEdVSgxFVIiIiItJJjKgSERGRXpFIGacrLfhOEREREZFOYkSViIiI9ArXUS092FElIiIivcLlqUoP3vonIiIiIp3EiCoRERHpFd76Lz0YUSUiIiIincSIKhEREekVLk9VevCdIiIiIiKdxIgqERER6RWOUS09GFElIiIiIp3EiCoRERHpFa6jWnowokpEREREOokRVSIiItIrHKNaejCiSkREREQ6iRFVIiIi0itcR7X04DtFRERERDqpSB3VEydOIDMzM0d6ZmYmTpw4UexKEREREWmLRCrR+kaaUaSOasuWLREfH58jPTExES1btix2pYiIiIiIijRGVRAESCQ5/1qIi4uDmZlZsStFREREpC2MeJYeheqo9ujRAwAgkUgwaNAgyOVycZ9CocDVq1fRqFEjzdaQiIiIiPRSoTqqVlZWALIiqhYWFjAxMRH3yWQyNGzYEEOGDNFsDYmIiIg0iBHV0qNQHdXVq1dDEAQAwKJFi2Bubq6VShERERERFXqMqiAIWL9+PaZMmYLKlStr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qOofdlT1Ezuq+klXO6p7QzPzz1RMH9Tl3S5NKHQX+cKFC2rX6Tp37hz+/fdfjVSKiIiIiKjQHdWRI0fi8eOcy+E8ffoUI0eO1EiliIiIiLSltD9CVZ8UuqN648YN1K2b89GOderUwY0bNzRSKSIiIiKiQndU5XI5oqOjc6RHRkbmeAwXERERka4RBInWN9KMQndU27Vrh8mTJyMx8e0zhxMSEjBlyhS0bds2jyOJiIiIiAqu0CHQefPmoVmzZnBzc0OdOllP67h8+TIcHBzw559/5nM0ERERUclScgxpqVHojqqLiwuuXr2K9evX48qVKzAxMYG/vz/69u2b76O4iIiIiIgKqkiDSs3MzDB06FBN14WIiIhI6zgrv/Qo8uynGzdu4NGjR0hPT1dJ79KlS7ErRURERERU6I7q/fv30b17d4SFhUEikeDNg63ePO9YoVBotoZEREREGiSAs/JLi0LP+h87diw8PDzw/PlzmJqa4vr16zhx4gTq16+PY8eOaaGKRERERKSPCh1RDQkJwdGjR2FnZwepVAqpVIomTZpg9uzZGDNmDC5duqSNehIRERFpBGf9lx6FjqgqFApYWFgAAOzs7PDs2TMAgJubG27duqXZ2hERERGR3ip0RLVGjRq4cuUKPDw84Ovri59++gkymQzLly9HhQoVtFFHIiIiIo3hrP/So9Ad1W+//RYpKSkAgBkzZuDDDz9E06ZNYWtri40bN2q8gkRERESknwrdUW3fvr34unLlyggPD0d8fDxsbGzEmf9EREREuooR1dKjQB3VHj16YM2aNbC0tESPHj3yzGtubo7q1atj2LBhsLKy0kgliYiIiEj/FKijamVlJUZL8+t8pqWlYenSpTh9+jR2795d/BoSERERaZBS4B3g0qJAHdXVq1erfZ2bGzduoEGDBkWvFRERERHpvSI/QjUvnp6eOHPmjDaKJiIiIioWjlEtPQq9jmpBGBgYwNvbWxtFExEREZGe0EpElYiIiEhXMaJaemglokpEREREVFyMqBIREZFeUTKiWmowokpEREREOokRVSIiItIrAtdRLTUYUSUiIiIincSIKhEREekVzvovPRhRJSIiIiKdxIgqERER6RXO+i89GFElIiIiIp3EiCoRERHpFY5RLT0YUSUiIiIincSIKhEREekVRlRLD0ZUiYiIiEgnMaJKREREeoWz/ksPRlSJiIiISCcxokpERER6hWNUSw9GVImIiIhIJzGiSkRERHpFqSzpGlBBMaJKRERERDqJEVUiIiLSKxyjWnowokpEREREOokRVSIiItIrjKiWHoyoEhEREZFOYkSViIiI9AqfTFV6MKJKRERERDqJEVUiIiLSK8J7GaQqeQ/n+O9jRJWIiIiIdBIjqkRERKRXOOu/9GBHlYiIiPQKH6FaevDWPxERERHpJHZUiYiISK8IgvY3bYqPj0f//v1haWkJa2trDB48GMnJyXke06JFC0gkEpVt2LBhKnkePXqEzp07w9TUFGXLlsXXX3+NzMxMbTYlX7z1T0RERFSK9O/fH5GRkTh8+DAyMjLg7++PoUOHYsOGDXkeN2TIEHz33Xfi/01NTcXXCoUCnTt3hqOjI86cOYPIyEgMGDAARkZG+OGHH7TWlvywo0pERER6pTQv+H/z5k0EBQXhwoULqF+/PgBg0aJF6NSpE+bNmwdnZ+dcjzU1NYWjo6PafYcOHcKNGzfwzz//wMHBAbVr18bMmTMxceJETJ8+HTKZTCvtyQ9v/RMRERFpWFpaGpKSklS2tLS0YpcbEhICa2trsZMKAG3atIFUKsW5c+fyPHb9+vWws7NDjRo1MHnyZLx69Uql3Jo1a8LBwUFMa9++PZKSknD9+vVi17uodCaiav/1hJKuApWA1zv/Kukq0HvW6N/lJV0FKgFn6g8t6SpQCeiccaukq6DW+1ieavbs2ZgxY4ZKWmBgIKZPn16scqOiolC2bFmVNENDQ5QpUwZRUVG5HtevXz+4ubnB2dkZV69excSJE3Hr1i1s375dLDd7JxWA+P+8ytU2nemoEhEREf1XTJ48GQEBASppcrk81/yTJk3Cjz/+mGeZN2/eLHJ9hg59+8dizZo14eTkhNatW+PevXuoWLFikcvVNnZUiYiISK8I72GQqlwuz7Nj+q7x48dj0KBBeeapUKECHB0d8fz5c5X0zMxMxMfH5zr+VB1fX18AwN27d1GxYkU4Ojri/PnzKnmio6MBoFDlaho7qkREREQlzN7eHvb29vnm8/PzQ0JCAi5evIh69eoBAI4ePQqlUil2Pgvi8uXLAAAnJyex3O+//x7Pnz8XhxYcPnwYlpaWqFatWiFbozmcTEVERER6RSlof9MWLy8vdOjQAUOGDMH58+dx+vRpjBo1Cn369BFn/D99+hRVq1YVI6T37t3DzJkzcfHiRTx48AC7d+/GgAED0KxZM9SqVQsA0K5dO1SrVg2ffvoprly5goMHD+Lbb7/FyJEjCxUZ1jR2VImIiIhKkfXr16Nq1apo3bo1OnXqhCZNmmD58rcTVTMyMnDr1i1xVr9MJsM///yDdu3aoWrVqhg/fjx69uyJPXv2iMcYGBhg7969MDAwgJ+fHz755BMMGDBAZd3VksBb/0RERKRX3sesf20qU6ZMnov7u7u7Q8jWyHLlyuH48eP5luvm5ob9+/drpI6awogqEREREekkRlSJiIhIryhL86Op9AwjqkRERESkkxhRJSIiIr1S2seo6hNGVImIiIhIJzGiSkRERHqFEdXSgxFVIiIiItJJjKgSERGRXlEypFpqMKJKRERERDqJEVUiIiLSK4KypGtABcWIKhERERHpJEZUiYiISK8IHKNaajCiSkREREQ6iRFVIiIi0itKjlEtNRhRJSIiIiKdxIgqERER6RWOUS09GFElIiIiIp3EiCoRERHpFSUDqqUGI6pEREREpJMYUSUiIiK9IjCkWmowokpEREREOokRVSIiItIrnPRfejCiSkREREQ6iRFVIiIi0itKjlEtNRhRJSIiIiKdxIgqERER6RU+mar0YESViIiIiHQSI6pERESkVwRlSdeACooRVSIiIiLSSUWOqCoUCuzcuRM3b94EAFSvXh1dunSBgYGBxipHREREpGlKjlEtNYrUUb179y46d+6MJ0+ewNPTEwAwe/ZslCtXDvv27UPFihU1WkkiIiIi0j9FuvU/ZswYVKhQAY8fP0ZoaChCQ0Px6NEjeHh4YMyYMZquIxEREZHGCIKg9Y00o0gR1ePHj+Ps2bMoU6aMmGZra4s5c+agcePGGqscEREREemvInVU5XI5Xr58mSM9OTkZMpms2JUiIiIi0hY+mar0KNKt/w8++ABDhw7FuXPnxBD32bNnMWzYMHTp0kXTdSQiIiIiPVSkjurChQtRsWJF+Pn5wdjYGMbGxmjcuDEqVaqEX3/9VdN1JCIiItIYQdD+RppRpFv/1tbW2LVrF+7cuYPw8HAAgJeXFypVqqTRyhERERGR/irWk6kqV66MypUra6ouRERERFoncIxqqVHgjmpAQABmzpwJMzMzBAQE5Jl3/vz5xa4YEREREem3AndUL126hIyMDPE1ERER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",
|
|
"text/plain": [
|
|
"<Figure size 800x600 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"Feature Correlation Insights:\n",
|
|
"================================================================================\n",
|
|
" bert ted jaccard len_ratio\n",
|
|
"bert 1.000000 0.219195 0.770717 0.157109\n",
|
|
"ted 0.219195 1.000000 0.272899 0.621469\n",
|
|
"jaccard 0.770717 0.272899 1.000000 0.149126\n",
|
|
"len_ratio 0.157109 0.621469 0.149126 1.000000\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Correlation heatmap\n",
|
|
"plt.figure(figsize=(8, 6))\n",
|
|
"feature_corr = feature_df[['bert', 'ted', 'jaccard', 'len_ratio']].corr()\n",
|
|
"sns.heatmap(feature_corr, annot=True, cmap='coolwarm', center=0, vmin=-1, vmax=1, \n",
|
|
" square=True, fmt='.3f', cbar_kws={'label': 'Correlation'})\n",
|
|
"plt.title('Feature Correlation Matrix\\n(Low correlation = good for fusion model)', fontsize=12, fontweight='bold')\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"print(\"\\nFeature Correlation Insights:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"print(feature_corr)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "49482f8f",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Ground Truth Labels\n",
|
|
"As a demo within the notebook labels will be assigned based on semantic similarity threshold\n",
|
|
"(Real training would use MSRP corpus labels)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "4bea7544",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Label Distribution:\n",
|
|
"================================================================================\n",
|
|
"Paraphrases (1): 14\n",
|
|
"Non-Paraphrases (0): 15\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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frxhNpuNM2fOWMqOHz9uuLi4GJMmTbrqMXJ+Fp9++ulV66WlpVltX7x40WjSpIlx2223FSnmoUOHGtWqVTNOnjxp1b5///6Gj4+P5Xh5nW+grODyPQBydna2fEuYnZ2tU6dOKTMzU61bt9bWrVtz1e/bt6+qV69u2W7Tpo3atm2rFStWSJJOnTqltWvX6p577tG5c+d08uRJnTx5Uv/995/CwsK0d+9eHT161ObPo1y5cle9C1+FChUkScuXLy/youBms1lDhgwpcP1BgwZZfTvZr18/VatWzXKuSsqKFSvk7OyskSNHWpU/9dRTMgwj192JQkNDVbt2bct2s2bN5O3tbZNLFQAAKAkzZ85UXFyc4uLitHDhQnXp0kUPPfSQvvjii1x1+/TpY6l7+aNLly5W9VJTU1W1alVVrVpVderU0ZgxY9ShQwctX74815IARTV//ny9/fbbqlmzpr788kuNGTNGDRs2VNeuXQs0PipXrpz69+9v2a5fv74qVKighg0bqm3btpbynP8X9rO8sOPCu+66S1WrVi3UMS5Xr149tW3bVosWLbKUnTp1St99950GDBhQoPPevn17tWrVyrJdo0YN9enTR99//72ysrIkXRqTpaenW11Ot3TpUmVmZhZoNlZBXD4L/vTp0zp79qxuvfXWPM/btWI2DEOff/65IiIiZBiGZTx98uRJhYWF6ezZs3n2C5Q1XL4HQJL0wQcf6PXXX9fu3buVkZFhKa9Zs2auunXr1s1VVq9ePX3yySeSpH379skwDE2YMEETJkzI83jHjx+3SmzZQkpKitVaDFe699579d577+mhhx7SuHHj1LVrV915553q16+fnJwKlqOvXr16oRY1v/JcmUwm1alT56prOdjCoUOHFBAQkGu6fsOGDS37L1ejRo1cfVSsWFGnT58uuSABACiGNm3aWC10ft9996lFixYaMWKEevfubfV5fdNNNyk0NPSafbq7u+vrr7+WJP3zzz969dVXdfz48UJdcn8tTk5OGj58uIYPH67//vtPP//8s+bMmaPvvvtO/fv3148//njV9jfddFOuRI2Pj48CAwNzlUkq0md5YcaFeZUV1qBBgzRixAgdOnRIQUFB+vTTT5WRkaGBAwcWqH1+Y9O0tDSdOHFC/v7+atCggW6++WYtWrRIQ4cOlXTp0r127dqpTp06xX4OkvTNN9/oxRdf1LZt25Senm4pzyuxdq2YnZycdObMGb377ru5FsXPcfz4cZvEDTgSSSkAWrhwoQYPHqy+ffvq6aeflq+vr5ydnTVt2jTt37+/0P3lzEIaM2aMwsLC8qxjqw//HP/884/Onj171X49PDy0fv16xcfH69tvv9XKlSu1dOlS3XbbbVq1alWB7kZjy0Fpjvy+AczKyirRO+RcLr/jGFcsig4AQGnl5OSkLl266I033tDevXvVuHHjQvfh7OxslbwKCwtTgwYN9Mgjj5TIzVoqV66s22+/Xbfffrs6d+6sH374wZKYuVqMhSkv7Gd5YceFthgb9e/fX6NHj9aiRYv07LPPauHChWrdurXq169f7L4vN2jQID355JP6559/lJ6ero0bN+rtt9+2Sd8//vijbr/9dv3vf//TrFmzVK1aNbm6umr+/Pn6+OOPC91fznj6gQceUGRkZJ51mjVrVqyYgdKApBQAffbZZ6pVq5a++OILqwTJpEmT8qy/d+/eXGV//fWX5e5vtWrVkiS5uroW6FtJW8hZNDO/JFgOJycnde3aVV27dlVMTIxeeuklPffcc4qPj1doaKjNpubnuPJcGYahffv2WQ0iKlasqDNnzuRqe+jQIcu5lPJPXuUlKChIq1ev1rlz56xmS+3evduyHwCA601mZqakS7OnbaFatWoaPXq0oqOjtXHjRrVr184m/ealdevW+uGHH3Ts2DGHfk4XdlxYUFcbx1SqVEm9evXSokWLNGDAAP3888+KjY0tcN/5jU09PT2tLi3s37+/oqKitHjxYp0/f16urq669957C/U88vP555/L3d1d33//vcxms6V8/vz5RY65fPnyysrKstt4GnAE1pQCYPlm7fJv0n799dd8b427bNkyqzUPNm3apF9//VXh4eGSJF9fX3Xu3FnvvPOOjh07lqv9iRMnbBm+1q5dqxdeeEE1a9bUgAED8q136tSpXGU5d5DJmWLt5eUlSXkmiYoi506FOT777DMdO3bMcq4kqXbt2tq4caMuXrxoKfvmm2905MgRq74KE1vPnj2VlZWV69u/GTNmyGQyWR0fAIDrQUZGhlatWiU3NzfL5eq28MQTT8jT01Mvv/xysftKTEzUn3/+mav84sWLWrNmjZycnGw+m7ywCjsuLKhrjWMGDhyoP//8U08//bScnZ2t1s26lg0bNlit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Spvujf0lSbV9y8nD1bnY/e05dlZPfbZDr/drqvrVfIrdn3QpIVWzipdN+kLp5NCkVGpqqkJCQvTggw/qzjvvtNqXlpamrVu3asKECQoJCdHp06f15JNP6vbbb9eWLVscFDEAAIDjLF26VFFRUZozZ47atm2r2NhYhYWFac+ePfL19c1V/+OPP9a4ceM0b9483XLLLfrrr780ePBgmUwmxcTEOOAZAABKi0peburfpobN+svMzJQk1a7qpSbVbZOUwvXPoUmp8PBwhYeH57nPx8dHcXFxVmVvv/222rRpo8OHD6tGDdv98gAAAJQFMTExGjZsmIYMGSJJmjNnjr799lvNmzdP48aNy1X/l19+UYcOHXT//fdLkoKDg3Xffffp119/tWvcAAAAeSlTd987e/asTCaTKlSokG+d9PR0JScnWz0AAADKuosXLyohIUGhoaGWMicnJ4WGhmrDhg15trnllluUkJCgTZs2SZL+/vtvrVixQj179rRLzAAAAFdTZlYMu3DhgsaOHav77rtP3t7e+dabNm2aoqOj7RgZAABAyTt58qSysrLk5+dnVe7n56fdu3fn2eb+++/XyZMn1bFjRxmGoczMTD366KN69tln8z1Oenq60tPTLds5X/BlZGQoIyPDBs8EZVnOa4DXAoAr5Vy+l5mZyXsECvwaKBNJqYyMDN1zzz0yDEOzZ8++at3x48crKirKsp2cnKzAwMCSDhEAAKDUWbdunV566SXNmjVLbdu21b59+/Tkk0/qhRde0IQJE/Jsk98XfKtWrZKnp2dJh4wy4splNgDgSIokuWjjxo06utPR0cDR0tLSClSv1CelchJShw4d0tq1a686S0qSzGazzGaznaIDAACwjypVqsjZ2VlJSUlW5UlJSfL398+zzYQJEzRw4EA99NBDkqSmTZsqNTVVDz/8sJ577jk5OeVeySG/L/i6d+9+zXEYrn8ZGRmKi4tTt27d5Orq6uhwAJQi2w+fknZsUbt27RRSo5Kjw4GDFXQppVKdlMpJSO3du1fx8fGqXLmyo0MCAABwCDc3N7Vq1Upr1qxR3759JUnZ2dlas2aNRowYkWebtLS0XIknZ+dLt/02DCPPNvl9wefq6koSAha8HgBcycXFxfIv7w8o6GvAoUmplJQU7du3z7J94MABbdu2TZUqVVK1atXUr18/bd26Vd98842ysrKUmJgoSapUqZLc3NwcFTYAAIBDREVFKTIyUq1bt1abNm0UGxur1NRUy934Bg0apOrVq2vatGmSpIiICMXExKhFixaWy/cmTJigiIgIS3IKAADAURyalNqyZYu6dOli2c6ZKh4ZGanJkyfrq6++kiQ1b97cql18fLw6d+5srzABAABKhXvvvVcnTpzQxIkTlZiYqObNm2vlypWWxc8PHz5sNTPq+eefl8lk0vPPP6+jR4+qatWqioiI0NSpUx31FAAAACwcmpTq3LlzvlPHpfynlQMAANyoRowYke/leuvWrbPadnFx0aRJkzRp0iQ7RAYAAFA4uVe3BAAAAAAAAEoYSSkAAAAAAADYHUkpAAAAAAAA2B1JKQAAAAAAANgdSSkAAAAAAADYHUkpAAAAAAAA2B1JKQAAAAAAANgdSSkAAAAAAADYHUkpAAAAAAAA2B1JKQAAAAAAANgdSSkAAAAAAADYHUkpAAAAAAAA2B1JKQAAAAAAANgdSSkAAAAAAADYHUkpAAAAAAAA2J2LowMAAAAAAAClU1pamnbv3n3NenuOnVF64j7t2umh7P8qXLN+gwYN5OnpaYMIUZaRlAIAAAAAAHnavXu3WrVqVeD6939QsHoJCQlq2bJlEaPC9YKkFAAAQAn5+++/VatWLUeHAQBAkTVo0EAJCQnXrJdyPl3fxm9Qry7tVc7DXKB+AZJSAAAAJaROnTrq1KmThg4dqn79+snd3d3RIQEAUCienp4FmtGUkZGh0yePq32b1nJ1dbVDZLgesNA5AABACdm6dauaNWumqKgo+fv765FHHtGmTZscHRYAAECpQFIKAACghDRv3lxvvPGG/v33X82bN0/Hjh1Tx44d1aRJE8XExOjEiROODhEAAMBhSEoBAACUMBcXF91555369NNP9corr2jfvn0aM2aMAgMDNWjQIB07dszRIQIAANgdSSkAAIAStmXLFj3++OOqVq2aYmJiNGbMGO3fv19xcXH6999/1adPH0eHCAAAYHcsdA4AAFBCYmJiNH/+fO3Zs0c9e/bUhx9+qJ49e8rJ6dL3gjVr1tSCBQsUHBzs2EABAAAcgKQUAABACZk9e7YefPBBDR48WNWqVcuzjq+vr95//307RwYAAOB4Dr18b/369YqIiFBAQIBMJpOWLVtmtd8wDE2cOFHVqlWTh4eHQkNDtXfvXscECwAAUEhxcXEaO3ZsroSUYRg6fPiwJMnNzU2RkZGOCA8AAMChHJqUSk1NVUhIiGbOnJnn/ldffVVvvvmm5syZo19//VVeXl4KCwvThQsX7BwpAABA4dWuXVsnT57MVX7q1CnVrFnTAREBAACUHg69fC88PFzh4eF57jMMQ7GxsXr++ecti39++OGH8vPz07Jly9S/f397hgoAAFBohmHkWZ6SkiJ3d3c7RwMAAFC6lNo1pQ4cOKDExESFhoZaynx8fNS2bVtt2LCBpBQAACi1oqKiJEkmk0kTJ06Up6enZV9WVpZ+/fVXNW/e3EHRAQAAlA6lNimVmJgoSfLz87Mq9/Pzs+zLS3p6utLT0y3bycnJJRMgAABAPn777TdJl2ZK7dixQ25ubpZ9bm5uCgkJ0ZgxYxwVHgAAQKlQapNSRTVt2jRFR0c7OgwAAHADi4+PlyQNGTJEb7zxhry9vR0cEQAAQOnj0IXOr8bf31+SlJSUZFWelJRk2ZeX8ePH6+zZs5bHkSNHSjROAACA/MyfP5+EFAAAQD5K7UypmjVryt/fX2vWrLGsuZCcnKxff/1Vjz32WL7tzGazzGaznaIEAACwduedd2rBggXy9vbWnXfeedW6X3zxhZ2iAgAAKH0cmpRKSUnRvn37LNsHDhzQtm3bVKlSJdWoUUOjRo3Siy++qLp166pmzZqaMGGCAgIC1LdvX8cFDQAAcBU+Pj4ymUyW/wMAACBvDk1KbdmyRV26dLFs59ypJjIyUgsWLNAzzzyj1NRUPfzwwzpz5ow6duyolStXcgtlAABQas2fP1/SpUXOo6OjVbVqVXl4eDg4KgAAgNLHoUmpzp07yzCMfPebTCZNmTJFU6ZMsWNUAAAAxWcYhurUqaM//vhDdevWdXQ4wFWlpaVp9+7d16yXcj5dv+zYr4pVtqicx7WXzGjQoIE8PT1tESIA4DpUateUAgAAKMucnJxUt25d/ffffySlUOrt3r1brVq1KnD9VwtYLyEhQS1btixaUACA6x5JKQAAgBLy8ssv6+mnn9bs2bPVpEkTR4cD5KtBgwZKSEi4Zr09x84o6tMdirm7qepXq1CgfgEAyA9JKQAAgBIyaNAgpaWlKSQkRG5ubrnWljp16pSDIgOseXp6FmhGk9Oh/2T+8bwaNglR86DKdogMAHA9IykFAABQQmJjYx0dAgAAQKlFUgoAAKCEREZGOjoEAACAUoukFAAAgB1cuHBBFy9etCrz9vZ2UDQAAACO5+ToAAAAAK5XqampGjFihHx9feXl5aWKFStaPQAAAG5kJKUAAABKyDPPPKO1a9dq9uzZMpvNeu+99xQdHa2AgAB9+OGHjg4PAADAobh8DwAAoIR8/fXX+vDDD9W5c2cNGTJEt956q+rUqaOgoCAtWrRIAwYMcHSIAAAADsNMKQAAgBJy6tQp1apVS9Kl9aNOnTolSerYsaPWr1/vyNAAAAAcjplSAAAAJaRWrVo6cOCAatSooQYNGuiTTz5RmzZt9PXXX6tChQpF6nPmzJl67bXXlJiYqJCQEL311ltq06ZNvvXPnDmj5557Tl988YVOnTqloKAgxcbGqmfPnkV8VihrDpxMVWp6pk362n8i1fKvi4tt/pTwMruoZhUvm/QFAChbSEoBAACUkCFDhmj79u3q1KmTxo0bp4iICL399tvKyMhQTExMoftbunSpoqKiNGfOHLVt21axsbEKCwvTnj175Ovrm6v+xYsX1a1bN/n6+uqzzz5T9erVdejQoSInxFD2HDiZqi7T19m836c+22HT/uLHdCYxBQA3IJJSAAAAJWT06NGW/4eGhmr37t1KSEhQnTp11KxZs0L3FxMTo2HDhmnIkCGSpDlz5ujbb7/VvHnzNG7cuFz1582bp1OnTumXX36Rq6urJCk4OLhoTwZlUs4Mqdh7m6uOb7ni93c+Xd+s26DendvLy8Nc7P72HU/RqKXbbDaTCwBQtpCUAgAAsJOgoCAFBQUVqe3FixeVkJCg8ePHW8qcnJwUGhqqDRs25Nnmq6++Uvv27TV8+HAtX75cVatW1f3336+xY8fK2dk5zzbp6elKT0+3bCcnJ0uSMjIylJGRUaTY4TiZmZeSPcGV3FXf17PY/WVkuCqxqtQ0oJwl0VkcOfFlZmby+gLKuJzfYX6XIRX8dUBSCgAAwIbefPPNAtcdOXJkgeuePHlSWVlZ8vPzsyr38/PT7t2782zz999/a+3atRowYIBWrFihffv26fHHH1dGRoYmTZqUZ5tp06YpOjo6V/mqVavk6Vn8pAbs60iKJLnop59+0qHiT5SyiIuLs0k/JRUfAMex1fsDyra0tLQC1StSUqpWrVravHmzKleubFV+5swZtWzZUn///XdRugUAACjzZsyYUaB6JpOpUEmposjOzpavr6/effddOTs7q1WrVjp69Khee+21fJNS48ePV1RUlGU7OTlZgYGB6t69u7y9vUs0XtjeH/8ma/qOjerYsaMaBxT/55eRkaG4uDh169bNJjOlbB0fAMex9fsDyracmdbXUqSk1MGDB5WVlZWrPD09XUePHi1KlwAAANeFAwcOlEi/VapUkbOzs5KSkqzKk5KS5O/vn2ebatWqydXV1epSvYYNGyoxMVEXL16Um5tbrjZms1lmc+61glxdXfkjowzKuUOei4uLTX9+tno9lFR8AByHzwtIKvBroFBJqa+++sry/++//14+Pj6W7aysLK1Zs4bFMwEAAEqAm5ubWrVqpTVr1qhv376SLs2EWrNmjUaMGJFnmw4dOujjjz9Wdna2nJycJEl//fWXqlWrlmdCCgAAwJ4KlZTKGQCZTCZFRkZa7XN1dVVwcLBef/11mwUHAABQ1kRFRemFF16Ql5eX1WVweYmJiSl035GRkWrdurXatGmj2NhYpaamWu7GN2jQIFWvXl3Tpk2TJD322GN6++239eSTT+qJJ57Q3r179dJLL5X4ZYMAAAAFUaikVHZ2tiSpZs2a2rx5s6pUqVIiQQEAAJRVv/32m+WOM7/99lu+9UwmU6H7vvfee3XixAlNnDhRiYmJat68uVauXGlZ/Pzw4cOWGVGSFBgYqO+//16jR49Ws2bNVL16dT355JMaO3ZsoY8NAABga0VaU6qk1koAAAAo6+Lj4/P8v62MGDEi38v11q1bl6usffv22rhxo83jAAAAKK4iJaUkac2aNVqzZo2OHz9umUGVY968ecUODAAAAAAAANevIiWloqOjNWXKFLVu3VrVqlUr0vRzAACA692FCxf01ltvKT4+Ps8v8rZu3eqgyAAAAByvSEmpOXPmaMGCBRo4cKCt4wEAALhuDB06VKtWrVK/fv3Upk0bvsgDAAC4TJGSUhcvXtQtt9xi61gAAACuK998841WrFihDh06ODoUAACAUsfp2lVye+ihh/Txxx/bOhYAAIDrSvXq1VW+fHlHhwEAAFAqFWmm1IULF/Tuu+9q9erVatasmVxdXa32x8TE2CS4rKwsTZ48WQsXLlRiYqICAgI0ePBgPf/880x/BwAApd7rr7+usWPHas6cOQoKCnJ0OAAAAKVKkZJSv//+u5o3by5J2rlzp9U+WyaLXnnlFc2ePVsffPCBGjdurC1btmjIkCHy8fHRyJEjbXYcAACAktC6dWtduHBBtWrVkqenZ64v8k6dOuWgyAAAAByvSEmp+Ph4W8eRp19++UV9+vRRr169JEnBwcFavHixNm3aZJfjAwAAFMd9992no0eP6qWXXpKfnx8zvQEAAC5TpKSUvdxyyy1699139ddff6levXravn27fvrpJ5tdHggAAFCSfvnlF23YsEEhISGODgUAAKDUKVJSqkuXLlf9pm/t2rVFDuhy48aNU3Jysho0aCBnZ2dlZWVp6tSpGjBgQL5t0tPTlZ6ebtlOTk62SSwAAACF1aBBA50/f97RYQAAAJRKRUpK5awnlSMjI0Pbtm3Tzp07FRkZaYu4JEmffPKJFi1apI8//liNGzfWtm3bNGrUKAUEBOR7nGnTpik6OtpmMQAAABTVyy+/rKeeekpTp05V06ZNc60p5e3t7aDIAAAAHK9ISakZM2bkWT558mSlpKQUK6DLPf300xo3bpz69+8vSWratKkOHTqkadOm5ZuUGj9+vKKioizbycnJCgwMtFlMAAAABdWjRw9JUteuXa3KDcOQyWRSVlaWI8ICAAAoFWy6ptQDDzygNm3aaPr06TbpLy0tTU5OTlZlzs7Oys7OzreN2WyW2Wy2yfEBAACKw143hwEAACiLbJqU2rBhg9zd3W3WX0REhKZOnaoaNWqocePG+u233xQTE6MHH3zQZscAAAAoKZ06dXJ0CAAAAKVWkZJSd955p9W2YRg6duyYtmzZogkTJtgkMEl66623NGHCBD3++OM6fvy4AgIC9Mgjj2jixIk2OwYAAIAt/f7772rSpImcnJz0+++/X7Vus2bN7BQVAABA6VOkpJSPj4/VtpOTk+rXr68pU6aoe/fuNglMksqXL6/Y2FjFxsbarE8AAICS1Lx5cyUmJsrX11fNmzeXyWSSYRi56rGmFAAAuNEVKSk1f/58W8cBAABwXThw4ICqVq1q+T8AAADyVqw1pRISErRr1y5JUuPGjdWiRQubBAUAAFBWBQUF5fl/AAAAWCtSUur48ePq37+/1q1bpwoVKkiSzpw5oy5dumjJkiWWbwcBAABuRH/99ZfOnDmjNm3aWMrWrFmjF198Uampqerbt6+effZZB0YIAADgeEVKSj3xxBM6d+6c/vjjDzVs2FCS9OeffyoyMlIjR47U4sWLbRokAABAWTJ27Fg1bdrUkpQ6cOCAIiIidOutt6pZs2aaNm2aPD09NWrUKMcGihuCySVZB5L3yMm9XLH7yszM1L+Z/2rXqV1ycSn+jbwPJKfI5JJc7H4AAGVTkT5JVq5cqdWrV1sSUpLUqFEjzZw506YLnQMAAJRFW7Zs0TPPPGPZXrRokerVq6fvv/9e0qW77r311lskpWAXrhV+1bObXrJpn7NWzrJZX64VukrqabP+AABlR5GSUtnZ2XJ1dc1V7urqquzs7GIHBQAAUJadPHlSN910k2U7Pj5eERERlu3OnTvrqaeeckRouAFlnGmr13vdr9q+tpkp9fNPP6tDxw42mSm1/3iKRi7aX+x+AABlU5E+SW677TY9+eSTWrx4sQICAiRJR48e1ejRo9W1a1ebBggAAFDWVKpUSceOHVNgYKCys7O1ZcsWRUVFWfZfvHhRhmE4MELcSIxMb9X0rq9GlX2K3VdGRoYOuBxQw0oN8/ySurCyL5yVkXmi2P0AAMomp6I0evvtt5WcnKzg4GDVrl1btWvXVs2aNZWcnKy33nrL1jECAACUKZ07d9YLL7ygI0eOKDY2VtnZ2ercubNl/59//qng4GCHxQcAAFAaFGmmVGBgoLZu3arVq1dr9+7dkqSGDRsqNDTUpsEBAACURVOnTlW3bt0UFBQkZ2dnvfnmm/Ly8rLs/+ijj3Tbbbc5MEIAAADHK1RSau3atRoxYoQ2btwob29vdevWTd26dZMknT17Vo0bN9acOXN06623lkiwAAAAZUFwcLB27dqlP/74Q1WrVrUsd5AjOjraas0pAACAG1GhLt+LjY3VsGHD5O3tnWufj4+PHnnkEcXExNgsOAAAgLLKxcVFISEhuRJSkhQSEqLKlSs7ICoAAIDSo1BJqe3bt6tHjx757u/evbsSEhKKHRQAAAAAAACub4VKSiUlJV31LhsuLi46cYK7ZwAAAAAAAODqCpWUql69unbu3Jnv/t9//13VqlUrdlAAAAAAAAC4vhUqKdWzZ09NmDBBFy5cyLXv/PnzmjRpknr37m2z4AAAAMqiKVOmKC0tzdFhAAAAlGqFSko9//zzOnXqlOrVq6dXX31Vy5cv1/Lly/XKK6+ofv36OnXqlJ577rmSihUAAKBMiI6OVkpKiqPDAAAAKNVcClPZz89Pv/zyix577DGNHz9ehmFIkkwmk8LCwjRz5kz5+fmVSKAAAABlRc4YCQAAAPkrVFJKkoKCgrRixQqdPn1a+/btk2EYqlu3ripWrFgS8QEAAJRJJpPJ0SEAAACUaoVOSuWoWLGibr75ZlvGAgAAcN2oV6/eNRNTp06dslM0AAAApU+Rk1IAAADIX3R0tHx8fBwdBgAAQKlFUgoAAKAE9O/fX76+vo4OAwAAoNQq1N33AAAAcG2sJwUAAHBtJKUAAABsrCB33/vss8/sEAkAAEDpRVIKAADAxrKzs1WpUiXt3LlTf/31l9W+5cuXKyQkRAMGDHBQdAAAAKUDSSkAAAAb++OPP1SnTh2FhISoYcOGuvPOO5WUlKROnTrpwQcfVHh4uPbv3+/oMAEAAByKhc4BAABs7JlnnlGdOnX09ttva/HixVq8eLF27dqloUOHauXKlfLw8HB0iAAAAA5X6mdKHT16VA888IAqV64sDw8PNW3aVFu2bHF0WAAAAPnavHmzpk+frt69e2vWrFmSpGeffVZjxowhIQUAAPD/leqZUqdPn1aHDh3UpUsXfffdd6patar27t2rihUrOjo0AACAfJ08eVIBAQGSJB8fH3l5ealdu3YOjgoAAKB0KdVJqVdeeUWBgYGaP3++paxmzZoOjAgAAODaTCaTzp07J3d3dxmGIZPJpPPnzys5Odmqnre3t4MiBAAAcLxSffneV199pdatW+vuu++Wr6+vWrRooblz5161TXp6upKTk60eAAAA9mQYhurVq6eKFSuqUqVKSklJUYsWLVSxYkVVrFhRFSpUKPLM75kzZyo4OFju7u5q27atNm3aVKB2S5YskclkUt++fYt0XAAAAFsr1TOl/v77b82ePVtRUVF69tlntXnzZo0cOVJubm6KjIzMs820adMUHR1t50gBAAD+T3x8fIn0u3TpUkVFRWnOnDlq27atYmNjFRYWpj179sjX1zffdgcPHtSYMWN06623lkhcAAAARVGqk1LZ2dlq3bq1XnrpJUlSixYttHPnTs2ZMyffpNT48eMVFRVl2U5OTlZgYKBd4gUAAJCkTp06lUi/MTExGjZsmIYMGSJJmjNnjr799lvNmzdP48aNy7NNVlaWBgwYoOjoaP344486c+ZMicQGAABQWKX68r1q1aqpUaNGVmUNGzbU4cOH821jNpvl7e1t9QAAALCnTz75RBcvXrRs//PPP8rOzrZsp6Wl6dVXXy1UnxcvXlRCQoJCQ0MtZU5OTgoNDdWGDRvybTdlyhT5+vpq6NChhToeAABASSvVM6U6dOigPXv2WJX99ddfCgoKclBEAAAA13bffffp2LFjlkvqGjVqpG3btqlWrVqSpHPnzmn8+PF65plnCtznyZMnlZWVJT8/P6tyPz8/7d69O882P/30k95//31t27atwMdJT09Xenq6ZTtnfc6MjAxlZGQUuB+UDpmZmZZ/bfHzy+nDVq8FW8cHwHFs/f6Asq2gr4NSnZQaPXq0brnlFr300ku65557tGnTJr377rt69913HR0aAABAvgzDuOq2PZw7d04DBw7U3LlzVaVKlQK3y299zlWrVsnT09OWIcIOjqRIkot++uknHSpnu37j4uJs0k9JxQfAcWz1/oCyLS0trUD1SnVS6uabb9aXX36p8ePHa8qUKapZs6ZiY2M1YMAAR4cGAABgV1WqVJGzs7OSkpKsypOSkuTv75+r/v79+3Xw4EFFRERYynIuIXRxcdGePXtUu3btXO3yW5+ze/fuLItQBv3xb7Km79iojh07qnFA8X9+GRkZiouLU7du3eTq6lrq4gPgOLZ+f0DZljPT+lpKdVJKknr37q3evXs7OgwAAACHcnNzU6tWrbRmzRr17dtX0qUk05o1azRixIhc9Rs0aKAdO3ZYlT3//PM6d+6c3njjjXxvBGM2m2U2m3OVu7q68kdGGeTi4mL515Y/P1u9HkoqPgCOw+cFJBX4NVDqk1IAAABl0ffffy8fHx9J/5c82rlzpyQV+Q54UVFRioyMVOvWrdWmTRvFxsYqNTXVcje+QYMGqXr16po2bZrc3d3VpEkTq/YVKlSQpFzlAAAAjkBSCgAAoARERkZabT/yyCNW2yaTqdB93nvvvTpx4oQmTpyoxMRENW/eXCtXrrQsfn748GE5OZXqmysDAABYkJQCAACwsZy1m0rCiBEj8rxcT5LWrVt31bYLFiywfUAo1c5nZEmSdh49a5P+Us+na8sJyf/QaXl55L7Ms7D2HU+xQVQAgLKKpBQAAABwndr//5M+477YcY2aheGij/ZttmF/kpeZP0sA4EbEuz8AAEAJ+e+//1S5cmVJ0pEjRzR37lydP39eERER+t///ufg6HAj6N740p0Za/uWk4erc7H723PsrJ76bIde79dU9av5FLs/6VJCqmYVL5v0BQAoW0hKAQAA2NiOHTsUERGhI0eOqG7dulqyZIl69Oih1NRUOTk5acaMGfrss88sd9EDSkolLzf1b1PDZv1lZmZKkmpX9VKT6rZJSgEAblyshAkAAGBjzzzzjJo2bar169erc+fO6t27t3r16qWzZ8/q9OnTeuSRR/Tyyy87OkwAAACHYqYUAACAjW3evFlr165Vs2bNFBISonfffVePP/645c54TzzxhNq1a+fgKAEAAByLmVIAAAA2durUKfn7X1rLp1y5cvLy8lLFihUt+ytWrKhz5845KjwAAIBSgaQUAABACTCZTFfdBgAAuNFx+R4AAEAJGDx4sMxmsyTpwoULevTRR+XldekOY+np6Y4MDQAAoFQgKQUAAGBjkZGRVtsPPPBArjqDBg2yVzgAAAClEkkpAAAAG5s/f76jQwAAACj1WFMKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdlemklIvv/yyTCaTRo0a5ehQAAAAAAAAUAxlJim1efNmvfPOO2rWrJmjQwEAAAAAAEAxlYmkVEpKigYMGKC5c+eqYsWKjg4HAAAAAAAAxVQmklLDhw9Xr169FBoaes266enpSk5OtnoAAAAAAACgdHFxdADXsmTJEm3dulWbN28uUP1p06YpOjq6hKMCAAAAAABAcZTqmVJHjhzRk08+qUWLFsnd3b1AbcaPH6+zZ89aHkeOHCnhKAEAAAAAAFBYpXqmVEJCgo4fP66WLVtayrKysrR+/Xq9/fbbSk9Pl7Ozs1Ubs9kss9ls71ABAAAAAABQCKU6KdW1a1ft2LHDqmzIkCFq0KCBxo4dmyshBQAAAAAAgLKhVCelypcvryZNmliVeXl5qXLlyrnKAQAAAAAAUHaU6jWlAAAAAAAAcH0q1TOl8rJu3TpHhwAAAAAAAIBiYqYUAAAAAAAA7I6kFAAAAAAAAOyOpBQAAAAAAADsjqQUAAAAAAAA7I6kFAAAAAAAAOyOpBQAAAAAAADsjqQUAAAAAAAA7I6kFAAAAAAAAOyOpBQAAAAAAADsjqQUAAAAAAAA7I6kFAAAAAAAAOyOpBQAAAAAAADsjqQUAABAGTJz5kwFBwfL3d1dbdu21aZNm/KtO3fuXN16662qWLGiKlasqNDQ0KvWBwAAsCeSUgAAAGXE0qVLFRUVpUmTJmnr1q0KCQlRWFiYjh8/nmf9devW6b777lN8fLw2bNigwMBAde/eXUePHrVz5AAAALmRlAIAACgjYmJiNGzYMA0ZMkSNGjXSnDlz5OnpqXnz5uVZf9GiRXr88cfVvHlzNWjQQO+9956ys7O1Zs0aO0cOAACQm4ujAwAAAMC1Xbx4UQkJCRo/frylzMnJSaGhodqwYUOB+khLS1NGRoYqVaqUb5309HSlp6dbtpOTkyVJGRkZysjIKGL0uF5kZmZa/uX1AOByOe8JvDdAKvjrgKQUAABAGXDy5EllZWXJz8/PqtzPz0+7d+8uUB9jx45VQECAQkND860zbdo0RUdH5ypftWqVPD09Cxc0rjtHUiTJRRs3btTRnY6OBkBpFBcX5+gQUAqkpaUVqB5JKQAAgBvAyy+/rCVLlmjdunVyd3fPt9748eMVFRVl2U5OTrasReXt7W2PUFGKbT98StqxRe3atVNIjfxn3AG48WRkZCguLk7dunWTq6uro8OBg+XMtL4WklIAAABlQJUqVeTs7KykpCSr8qSkJPn7+1+17fTp0/Xyyy9r9erVatas2VXrms1mmc3mXOWurq78kQG5uLhY/uX1ACAvfF5AUoFfAyx0DgAAUAa4ubmpVatWVouU5yxa3r59+3zbvfrqq3rhhRe0cuVKtW7d2h6hAgAAFAgzpQAAAMqIqKgoRUZGqnXr1mrTpo1iY2OVmpqqIUOGSJIGDRqk6tWra9q0aZKkV155RRMnTtTHH3+s4OBgJSYmSpLKlSuncuXKOex5AAAASCSlAAAAyox7771XJ06c0MSJE5WYmKjmzZtr5cqVlsXPDx8+LCen/5sIP3v2bF28eFH9+vWz6mfSpEmaPHmyPUMHAADIhaQUAABAGTJixAiNGDEiz33r1q2z2j548GDJBwQAAFBErCkFAAAAAAAAuyMpBQAAAAAAALsr1UmpadOm6eabb1b58uXl6+urvn37as+ePY4OCwAAAAAAAMVUqpNSP/zwg4YPH66NGzcqLi5OGRkZ6t69u1JTUx0dGgAAAAAAAIqhVC90vnLlSqvtBQsWyNfXVwkJCfrf//7noKgAAAAAAABQXKV6ptSVzp49K0mqVKmSgyMBAAAAAABAcZTqmVKXy87O1qhRo9ShQwc1adIk33rp6elKT0+3bCcnJ9sjPAAAAAAAABRCmZkpNXz4cO3cuVNLliy5ar1p06bJx8fH8ggMDLRThAAAAAAAACioMpGUGjFihL755hvFx8frpptuumrd8ePH6+zZs5bHkSNH7BQlAAAAAAAACqpUX75nGIaeeOIJffnll1q3bp1q1qx5zTZms1lms9kO0QEAAAAAAKCoSnVSavjw4fr444+1fPlylS9fXomJiZIkHx8feXh4ODg6AAAAAAAAFFWpvnxv9uzZOnv2rDp37qxq1apZHkuXLnV0aAAAAAAAACiGUj1TyjAMR4cAAAAAAACAElCqZ0oBAAAAAADg+kRSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHbn4ugAAAAAADhWWlqadu/efc16e46dUXriPu3a6aHs/ypcs36DBg3k6elpgwgBANcjklIAAADADW737t1q1apVgevf/0HB6iUkJKhly5ZFjAoAcL0jKQUAAADc4Bo0aKCEhIRr1ks5n65v4zeoV5f2KudhLlC/AADkh6QUAAAAcIPz9PQs0IymjIwMnT55XO3btJarq6sdIgMAXM9Y6BwAAAAAAAB2R1IKAAAAAAAAdkdSCgAAAAAAAHZHUgoAAAAAAAB2R1IKAAAAAAAAdlcmklIzZ85UcHCw3N3d1bZtW23atMnRIQEAAAAAAKAYSn1SaunSpYqKitKkSZO0detWhYSEKCwsTMePH3d0aAAAAAAAACiiUp+UiomJ0bBhwzRkyBA1atRIc+bMkaenp+bNm+fo0AAAAAAAAFBEpTopdfHiRSUkJCg0NNRS5uTkpNDQUG3YsMGBkQEAAAAAAKA4XBwdwNWcPHlSWVlZ8vPzsyr38/PT7t2782yTnp6u9PR0y/bZs2clScnJySUXaBmRkpXl6BBQivA7gctlnef9Af+H94f/OweGYTg4EsfLOQe8LiBJGRkZSktLU3JyslxdXR0dDoBShPcHXK6gY6lSnZQqimnTpik6OjpXeWBgoAOiAUoxHx9HRwCglPJ5jPeHHOfOnZPPDf5+ee7cOUmMpQAAQOFdayxVqpNSVapUkbOzs5KSkqzKk5KS5O/vn2eb8ePHKyoqyrKdnZ2tU6dOqXLlyjKZTCUaL0q/5ORkBQYG6siRI/L29nZ0OABKEd4fcDnDMHTu3DkFBAQ4OhSHCwgI0JEjR1S+fHnGUuC9EkC+eH/A5Qo6lirVSSk3Nze1atVKa9asUd++fSVdSjKtWbNGI0aMyLON2WyW2Wy2KqtQoUIJR4qyxtvbmzdKAHni/QE5bvQZUjmcnJx00003OToMlDK8VwLID+8PyFGQsVSpTkpJUlRUlCIjI9W6dWu1adNGsbGxSk1N1ZAhQxwdGgAAAAAAAIqo1Cel7r33Xp04cUITJ05UYmKimjdvrpUrV+Za/BwAAAAAAABlR6lPSknSiBEj8r1cDygMs9msSZMm5brEEwB4fwCAa+O9EkB+eH9AUZgM7nUMAAAAAAAAO3NydAAAAAAAAAC48ZCUAgAAAAAAgN2RlEKZYDKZtGzZMsv27t271a5dO7m7u6t58+b5lgFAYRw8eFAmk0nbtm1zdCgAAADAdY+kFBxq8ODBMplMMplMcnV1lZ+fn7p166Z58+YpOzvbUu/YsWMKDw+3bE+aNEleXl7as2eP1qxZk2+ZIwUHBys2NtbRYQCl0uW/+25ubqpTp46mTJmizMxMR4cGAMjHzJkzFRwcLHd3d7Vt21abNm1ydEgASoH169crIiJCAQEBuSYTANdCUgoO16NHDx07dkwHDx7Ud999py5duujJJ59U7969LX+g+vv7W93FYf/+/erYsaOCgoJUuXLlfMsK6+LFi8V/QgAKJOd3f+/evXrqqac0efJkvfbaa4XuJysryyqJbW+OPj4A2MPSpUsVFRWlSZMmaevWrQoJCVFYWJiOHz/u6NAAOFhqaqpCQkI0c+ZMR4eCMoikFBzObDbL399f1atXV8uWLfXss89q+fLl+u6777RgwQJJ1pfvmUwmJSQkaMqUKTKZTJo8eXKeZZJ05MgR3XPPPapQoYIqVaqkPn366ODBg5ZjDx48WH379tXUqVMVEBCg+vXrF6rd9OnTVa1aNVWuXFnDhw9XRkaGJKlz5846dOiQRo8ebZkNAsBazu9+UFCQHnvsMYWGhuqrr75STEyMmjZtKi8vLwUGBurxxx9XSkqKpd2CBQtUoUIFffXVV2rUqJHMZrMOHz6szZs3q1u3bqpSpYp8fHzUqVMnbd261eqYJpNJs2fPVnh4uDw8PFSrVi199tlnuWL7+++/1aVLF3l6eiokJEQbNmwo9vENw9DkyZNVo0YNmc1mBQQEaOTIkZb96enpGjNmjKpXry4vLy+1bdtW69ats+EZB4Cii4mJ0bBhwzRkyBA1atRIc+bMkaenp+bNm+fo0AA4WHh4uF588UXdcccdjg4FZRBJKZRKt912m0JCQvTFF1/k2nfs2DE1btxYTz31lI4dO6YxY8bkWZaRkaGwsDCVL19eP/74o37++WeVK1dOPXr0sJoRtWbNGu3Zs0dxcXH65ptvCtwuPj5e+/fvV3x8vD744AMtWLDAkkT74osvdNNNN2nKlCk6duyYjh07VuLnDCjrPDw8dPHiRTk5OenNN9/UH3/8oQ8++EBr167VM888Y1U3LS1Nr7zyit577z398ccf8vX11blz5xQZGamffvpJGzduVN26ddWzZ0+dO3fOqu2ECRN01113afv27RowYID69++vXbt2WdV57rnnNGbMGG3btk316tXTfffdZ3VpYVGO//nnn2vGjBl65513tHfvXi1btkxNmza19DlixAht2LBBS5Ys0e+//667775bPXr00N69e219qgGgUC5evKiEhASFhoZaypycnBQaGmqVtAcAoLBcHB0AkJ8GDRro999/z1Xu7+8vFxcXlStXTv7+/pKkcuXK5SpbuHChsrOz9d5771lmKs2fP18VKlTQunXr1L17d0mSl5eX3nvvPbm5uRWqXcWKFfX222/L2dlZDRo0UK9evbRmzRoNGzZMlSpVkrOzs8qXL2+JB0DeDMPQmjVr9P333+uJJ57QqFGjLPuCg4P14osv6tFHH9WsWbMs5RkZGZo1a5ZCQkIsZbfddptVv++++64qVKigH374Qb1797aU33333XrooYckSS+88ILi4uL01ltvWfU/ZswY9erVS5IUHR2txo0ba9++fWrQoEGRj3/48GH5+/srNDRUrq6uqlGjhtq0aSNJOnz4sObPn6/Dhw8rICDAEsPKlSs1f/58vfTSS4U/sQBgIydPnlRWVpb8/Pysyv38/LR7924HRQUAuB4w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/Xz00UdGtWrVLNuSjC+//DLf4/bp08d48MEHrcqGDRtmdO/e3aosNTXVkGSsWLHCMAzDSEtLM/bu3XvVR3JysqV9p06djCeffDLPGNq2bWuEh4cbhmEYBw4cMCQZv/32m2W/j4+PMX/+fKs2V5a98MILuWI+cuSIIcnYs2ePJYYWLVpY1Slou44dO1rVufnmm42xY8datq91ngsivz6SkpKuea5zXHn+Tp8+bdxxxx1GuXLljMTExDyP27hxY+Ott96ybAcFBRl9+/a9Zryvvfaa0apVK8v2pEmTDGdnZ+Off/6xlH333XeGk5OTcezYMcMwLv1eBAUFGZmZmZY6d999t3HvvfcW+/jly5c3FixYkGfdoUOHGg8//LBV2Y8//mg4OTkZ58+ft5QtX77ccHJyMrKysq55fAAAbkSFGeM6anwL4PrnkmemCkCBrV69WtOmTdPu3buVnJyszMxMXbhwQWlpafL09JQkubi46Oabb7a0adCggSpUqKBdu3apTZs22r59u37++Werb46ysrJy9XM158+fl7u7e6Hj9/DwUJ06dQrdLi+GYchkMhWrj+3btys+Pj7PWUP79+9XvXr1JCnXrLCCtmvWrJnVvmrVqun48ePFirmgfH195evrW6g2t9xyi5ycnJSamqpatWpp6dKl8vPzU0pKiiZPnqxvv/1Wx44dU2Zmps6fP59rplTr1q1z9bl06VK9+eab2r9/v1JSUpSZmSlvb2+rOjVq1FD16tUt2+3bt1d2drb27Nkjf39/SVLjxo3l7OxsqVOtWjXt2LGj2MePiorSQw89pI8++kihoaG6++67Vbt2bUmXfs6///671ew9wzCUnZ2tAwcOqGHDhpIuva6zs7OVnp5umWEGAAAKprSMbwFc/0hKAcVw8OBB9e7dW4899pimTp2qSpUq6aefftLQoUN18eLFAn/YpqSkKDo6WnfeeWeufQVNNFWpUkWnT5+2KvP399emTZusypKSkiz7pEtTq8PDw6/a9zvvvKMBAwZctU5WVpb27t1rNTgpipSUFEVEROiVV17Jta9atWqW/3t5eRWpXc5lYDlMJpPd7tL26KOPauHChVetc+V6DUuXLlWjRo1UuXJlq4Xgx4wZo7i4OE2fPl116tSRh4eH+vXrl2utsCvP04YNGzRgwABFR0crLCxMPj4+WrJkiV5//fVCP5+CnMuiHH/y5Mm6//779e233+q7777TpEmTtGTJEt1xxx1KSUnRI488opEjR+aKp0aNGpb/nzp1Sl5eXiSkAAAopNI0vgVw/SMpBRRDQkKCsrOz9frrr8vJ6dISbZ988kmuepmZmdqyZYvatGkjSdqzZ4/OnDljmdXRsmVL7dmzp1gzllq0aJEr4dG+fXtNnTpVx48ft8zQiYuLk7e3txo1aiTp0kyWbdu2XbXvy9ekys8HH3yg06dP66677iraE/j/WrZsqc8//1zBwcFWd+4rqXZXcnV1VVZWVpHbX82UKVM0ZsyYQrUJDAy0zBK63M8//6zBgwdbFlZPSUnRwYMHr9nfL7/8oqCgID333HOWskOHDuWqd/jwYf37778KCAiQJG3cuFFOTk6qX79+oeIv6vHr1aunevXqafTo0brvvvs0f/583XHHHWrZsqX+/PPPa/6u7Ny5Uy1atChWrAAA3IhK0/gWwPWPpBRQAGfPns2VuKlcubLq1KmjjIwMvfXWW4qIiLAsun0lV1dXPfHEE3rzzTfl4uKiESNGqF27dpYP8YkTJ6p3796qUaOG+vXrJycnJ23fvl07d+7Uiy++WKAYw8LCNH78eJ0+fVoVK1aUJHXv3l2NGjXSwIED9eqrryoxMVHPP/+8hg8fLrPZLKlol++lpaUpMTFRmZmZ+ueff/Tll19qxowZeuyxx9SlS5dC9XWl4cOHa+7cubrvvvssd8nbt2+flixZovfee8/qcjFbtLtScHCw1qxZow4dOshsNlvO5bWkpKRo3759lu0DBw5o27ZtqlSpkmUGT1Eu38tP3bp19cUXXygiIkImk0kTJkwo0IyvunXr6vDhw1qyZIluvvlmffvtt/ryyy9z1XN3d1dkZKSmT5+u5ORkjRw5Uvfcc49lhl1x4r7a8c+fP6+nn35a/fr1U82aNfXPP/9o8+bNlmTn2LFj1a5dO40YMUIPPfSQvLy89OeffyouLk5vv/22pZ8ff/xR3bt3L1asAABc7/Ia41apUqXUjG8BXP+4+x5QAOvWrVOLFi2sHtHR0QoJCVFMTIxeeeUVNWnSRIsWLdK0adNytff09NTYsWN1//33q0OHDipXrpyWLl1q2R8WFqZvvvlGq1at0s0336x27dppxowZCgoKKnCMTZs2VcuWLa2+yXJ2dtY333wjZ2dntW/fXg888IAGDRqkKVOmFOt8zJ07V9WqVVPt2rV155136s8//9TSpUs1a9asYvUrSQEBAfr555+VlZWl7t27q2nTpho1apQqVKhg+bbOlu2u9PrrrysuLk6BgYGWmTYHDx6UyWTSunXr8m23ZcsWy2tDurQuUosWLTRx4sQCH7swYmJiVLFiRd1yyy2KiIhQWFiYWrZsec12t99+u0aPHq0RI0aoefPm+uWXXyx3xbtcnTp1dOedd6pnz57q3r27mjVrZpOf77WO7+zsrP/++0+DBg1SvXr1dM899yg8PFzR0dGSLq0J9sMPP+ivv/7SrbfeajnHOTO6JOno0aP65ZdfNGTIkGLHCwDA9SyvMe5HH31Uasa3AK5/JsMwDEcHAcA2vv32Wz399NPauXNnoRIxuLr4+Hjdeeed+vvvvws8c6osmzx5spYtW3bNyzpLq7Fjx+r06dN69913HR0KAAAAgKvg8j3gOtKrVy/t3btXR48eVWBgoKPDuW6sWLFCzz777A2RkLoe+Pr6KioqytFhAAAAALgGZkoBAKyU9ZlSAAAAAMoGklIAAAAAAACwOxadAQAAAAAAgN2RlAIAAAAAAIDdkZQCAAAAAACA3ZGUAgAAAAAAgN2RlAIAAAAAAIDdkZQCAAAAAACA3ZGUAgAAAAAAgN2RlAIAAAAAAIDdkZQCAAAAAACA3f0/S1id04DPO/QAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# For demo purposes: pairs with BERT similarity > 0.7 are \"paraphrases\" (label=1)\n",
|
|
"feature_df['label'] = (feature_df['bert'] > 0.7).astype(int)\n",
|
|
"\n",
|
|
"print(\"Label Distribution:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"label_counts = feature_df['label'].value_counts()\n",
|
|
"print(f\"Paraphrases (1): {label_counts.get(1, 0)}\")\n",
|
|
"print(f\"Non-Paraphrases (0): {label_counts.get(0, 0)}\")\n",
|
|
"\n",
|
|
"# Visualize label distribution\n",
|
|
"fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n",
|
|
"\n",
|
|
"# Count plot\n",
|
|
"label_counts.plot(kind='bar', ax=axes[0], color=['#d62728', '#2ca02c'])\n",
|
|
"axes[0].set_title('Label Distribution')\n",
|
|
"axes[0].set_xlabel('Label (0=Different, 1=Paraphrase)')\n",
|
|
"axes[0].set_ylabel('Count')\n",
|
|
"axes[0].set_xticklabels(['Different', 'Paraphrase'], rotation=0)\n",
|
|
"\n",
|
|
"# Feature distributions by label\n",
|
|
"feature_df.boxplot(column='bert', by='label', ax=axes[1])\n",
|
|
"axes[1].set_title('BERT Similarity by Label')\n",
|
|
"axes[1].set_xlabel('Label')\n",
|
|
"axes[1].set_ylabel('BERT Similarity')\n",
|
|
"plt.suptitle('')\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "db7ede30",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Statistical Feature Validation"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "27a74280",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Mann-Whitney U Test: Feature Discrimination Power\n",
|
|
"==========================================================================================\n",
|
|
"Tests whether each feature separates Paraphrases from Non-Paraphrases\n",
|
|
"\n",
|
|
"Feature U-stat p-value p-corrected Effect Sig? Med(Para) Med(Diff)\n",
|
|
"------------------------------------------------------------------------------------------\n",
|
|
"bert 210.0 0.0000 0.0000 -1.000 (LARGE) ✓✓✓ 0.938 0.506\n",
|
|
"jaccard 189.5 0.0002 0.0005 -0.805 (LARGE) ✓✓✓ 0.600 0.200\n",
|
|
"ted 142.0 0.1013 0.1351 -0.352 (MED ) ✗ 0.929 0.429\n",
|
|
"len_ratio 125.5 0.3821 0.3821 -0.195 (SMALL) ✗ 0.899 0.818\n",
|
|
"\n",
|
|
"==========================================================================================\n",
|
|
"Interpretation:\n",
|
|
" - Effect size: >0 means feature is higher for paraphrases\n",
|
|
" - p-corrected: Benjamini-Hochberg FDR correction (controls false discoveries)\n",
|
|
" - ✓✓✓ = p<0.001 (highly significant), ✓✓ = p<0.01, ✓ = p<0.05, ✗ = not significant\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"def mann_whitney_feature_test(df, feature_col, label_col='label'):\n",
|
|
" \"\"\"\n",
|
|
" Test if feature distributions differ significantly between classes.\n",
|
|
" \n",
|
|
" Returns:\n",
|
|
" - U statistic, p-value, effect size, medians\n",
|
|
" \"\"\"\n",
|
|
" group0 = df[df[label_col] == 0][feature_col].dropna().values\n",
|
|
" group1 = df[df[label_col] == 1][feature_col].dropna().values\n",
|
|
" \n",
|
|
" if len(group0) < 2 or len(group1) < 2:\n",
|
|
" return None # Not enough data\n",
|
|
" \n",
|
|
" # Two-sided test: are distributions different?\n",
|
|
" u_stat, p_val = mannwhitneyu(group1, group0, alternative='two-sided')\n",
|
|
" \n",
|
|
" # Rank-biserial correlation (effect size: -1 to +1)\n",
|
|
" n1, n0 = len(group1), len(group0)\n",
|
|
" rbc = 1 - (2 * u_stat) / (n1 * n0)\n",
|
|
" \n",
|
|
" return {\n",
|
|
" \"feature\": feature_col,\n",
|
|
" \"n_paraphrase\": n1,\n",
|
|
" \"n_different\": n0,\n",
|
|
" \"U_statistic\": u_stat,\n",
|
|
" \"p_value\": p_val,\n",
|
|
" \"effect_size\": rbc, # >0.5 = large, >0.3 = medium, >0.1 = small\n",
|
|
" \"median_paraphrase\": np.median(group1),\n",
|
|
" \"median_different\": np.median(group0),\n",
|
|
" }\n",
|
|
"\n",
|
|
"# Test all features\n",
|
|
"print(\"Mann-Whitney U Test: Feature Discrimination Power\")\n",
|
|
"print(\"=\" * 90)\n",
|
|
"print(\"Tests whether each feature separates Paraphrases from Non-Paraphrases\\n\")\n",
|
|
"\n",
|
|
"test_results = []\n",
|
|
"for feature in ['bert', 'ted', 'jaccard', 'len_ratio']:\n",
|
|
" result = mann_whitney_feature_test(feature_df, feature)\n",
|
|
" if result:\n",
|
|
" test_results.append(result)\n",
|
|
"\n",
|
|
"# Apply Benjamini-Hochberg correction for multiple testing\n",
|
|
"p_values = [r['p_value'] for r in test_results]\n",
|
|
"reject, p_corrected, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh')\n",
|
|
"\n",
|
|
"# Add corrected p-values\n",
|
|
"for i, result in enumerate(test_results):\n",
|
|
" result['p_corrected'] = p_corrected[i]\n",
|
|
" result['significant'] = reject[i]\n",
|
|
"\n",
|
|
"# Display results\n",
|
|
"results_df = pd.DataFrame(test_results)\n",
|
|
"results_df = results_df.sort_values('effect_size', ascending=False, key=abs)\n",
|
|
"\n",
|
|
"print(f\"{'Feature':<15} {'U-stat':<10} {'p-value':<10} {'p-corrected':<12} {'Effect':<8} {'Sig?':<6} {'Med(Para)':<10} {'Med(Diff)'}\")\n",
|
|
"print(\"-\" * 90)\n",
|
|
"\n",
|
|
"for _, row in results_df.iterrows():\n",
|
|
" sig_mark = \"✓✓✓\" if row['p_corrected'] < 0.001 else (\"✓✓\" if row['p_corrected'] < 0.01 else (\"✓\" if row['significant'] else \"✗\"))\n",
|
|
" effect_interp = \"LARGE\" if abs(row['effect_size']) > 0.5 else (\"MED\" if abs(row['effect_size']) > 0.3 else \"SMALL\")\n",
|
|
" \n",
|
|
" print(f\"{row['feature']:<15} {row['U_statistic']:<10.1f} {row['p_value']:<10.4f} {row['p_corrected']:<12.4f} \"\n",
|
|
" f\"{row['effect_size']:>+.3f} ({effect_interp:<5}) {sig_mark:<6} {row['median_paraphrase']:<10.3f} {row['median_different']:.3f}\")\n",
|
|
"\n",
|
|
"print(\"\\n\" + \"=\" * 90)\n",
|
|
"print(\"Interpretation:\")\n",
|
|
"print(\" - Effect size: >0 means feature is higher for paraphrases\")\n",
|
|
"print(\" - p-corrected: Benjamini-Hochberg FDR correction (controls false discoveries)\")\n",
|
|
"print(\" - ✓✓✓ = p<0.001 (highly significant), ✓✓ = p<0.01, ✓ = p<0.05, ✗ = not significant\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4d9fc526",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Visualize Mann-Whitney U"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"id": "2c877a29",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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Q+Ht7Y1u3boByO0cjoiI+LKNyEdbW1vujbVu3boFiUSC5cuXcx2X+/btU6jM0NBQrF+/Hh06dAAAvHnzBh8+fChWXM7OzlBXV8fZs2e5m7g9e/YMkZGRRY5MBvC/9u48vqkq///4O2mbdEkXKC2UUvZFEVABdUAdXEBQB0EdRUQFdVBncEVwZFyQUcEFcRtXRsFlFEcFxd1RATdEEFBQZIeyl6V0b9Im5/dHfuRrpUApbU7avp6PRx+H3N7cvHNucnrz4ebc0DcoVq9erUWLFunee+894LrGBL+K6vV6JUnFxcWh6Tz22Xc7HFfyBgAg0jDxCQAgfEq3S8v+GWzRYC3Lz1fXrl21bNky21FgG2OCNm/erKFDh6pTp066+OKLlZqaqu+++05pafuf4dpQRUVFacWKFfrll18UFRW13+8TExM1ZswY3XLLLXrppZe0du1aLV68WE8++aReeuklSdJ1112n1atXa+zYsVq5cqVee+01TZ8+/aCP26FDB82cOVNLly7Vjz/+qEsvvbTWi4ft27dXWVmZnnzySa1bt06vvPKKnn322Srdt0OHDnrllVe0YsUKLViwQMOGDdtvSoFx48aFLupWmeTkZF199dUaPXq05syZox9++EFXXnmlevXqpT/84Q+h9Y466ijNmjUrdPvNN9/U3LlztW7dOr377rvq16+fBg8erLPOOkuStG7dOk2aNEk//PCDsrOz9e233+qiiy5SXFxcqMjcr18/5ebmatSoUVqxYoV+/vlnXXnllYqOjtbpp59e5T4EAKC+oGgLAAifmGQpa3CwBQDGBM2YMUNbt26V1+vV5s2bNWPGDLVr1852rIiTlJSkpKQDT7dw77336q677tKkSZN09NFHa8CAAfrggw/Upk0bSVLLli319ttv65133tGxxx6rZ599VhMnTjzoY06ZMkWNGjVS7969NXDgQPXv31/du3ev0ef1e8cee6ymTJmiBx98UF26dNF//vOfKs9D+8ILLyg3N1fdu3fX5ZdfrhtvvHG/aWi2bdu235y8v/foo4/qT3/6ky688EL98Y9/VLNmzTRz5swK66xcuVJ5eXkVtnv55ZfrqKOO0o033qjLL79cr7/+euj3sbGx+uqrr3TOOeeoffv2GjJkiBITE/Xtt9+GMh511FF677339NNPP6lXr1469dRTtXXrVn388cfKyMio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8ue6L0dc4zglpFXv9Vi4u1CBQMD6c4kU1enTDlkd5C3zyh3jVkJaQqhPY1NiG9R+qepjcIQsacSIEdq7d6/eeecd21EAoF4rcsToezWzHQOWxafF65FHHqnzZxegBrhSpBbn2U4BAKgFp/3hD7YjAIgwfziGceFwNOiird/vlyMCJjMHgIbCaYzc8surKOsXb4A9fp9fK1euVGJiohIi4GwrWBTwS/5iKSpeckbG/J82FBYWas2aNaHb69ev19KlS9W4cWO1bNnSYjIAAADYUufOxS4vL9f111+v5ORkNWnSRHfddVfoipZer1djxoxRZmamEhISdNJJJ2nu3Lmh+06fPl0pKSmaPXu2OnfuLLfbrauuukovvfSS3n333eAVDR2OCvcBANScZHk1WGuVLO+hV0a9VbClQKeddppWrFhhOwps8+ZIKx4Jtg3YokWLdPzxx+v444+XJI0ePVrHH3+87r77bsvJAAAAYEudO9P2pZde0tVXX63vv/9eixYt0jXXXKOWLVtq5MiRuv766/XLL79oxowZat68uWbNmqUBAwZo2bJl6tChgySpuLhYDz74oP79738rNTVVGRkZKikpUX5+vqZNmyZJaty4caWP7fV65fX+X6EhPz+/9p8wANQjhYrRPGWqUNW/EjGAesTVSGp9abBtwE477bTQSQgAAACAVAeLtllZWXr00UflcDjUqVMnLVu2TI8++qj69++vadOmKTs7W82bN5ckjRkzRh9//LGmTZumiRMnSpLKysr09NNP69hjjw1tMy4uTl6vV82aHXyexUmTJmnChAm19+QAoJ4rc0RpazWvGgugHoqKlZI62k4BAKgFL77xhgqLi+WJj9dVQ4bYjgMgArzxxRsqLi1WfGy8hpzBuHAodW56hD/84Q8V5qHt1auXVq9erWXLlsnv96tjx47yeDyhn3nz5mnt2rWh9V0ul7p161atxx43bpzy8vJCP5s2bTri5wMADYnblKuDyZXblNuOAiASlBdJu74PtgCAesVXXi5fWZl85Rz3AQgqLy9XWXmZyhkXqqTOnWl7IIWFhYqKitIPP/ygqKiKF7LweP7vrK64uLhqX3zM7XbL7XYfUU4AaMjiVa7u2qldipO3/vwJwmFyOBxyuVxcDBRSWb607RMpIUuK5qJ0AAAAwD517hPzggULKtz+7rvv1KFDBx1//PHy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tMLypk2bhn6HYD+lp6dXWBYdHa3GjRsftJ/++9//asiQIUpNTVV0dLTi4+M1a9YstW/fvrYj1xnV6dt169ZJku655x5NnjxZxx13nF5++WWdeeaZWr58uTp06FDrueuK6r52b7nlFvXu3VuDBg2q7Yh1VnX79rd27dqle++9t8rTVdRHu3btkt/vr/Tv0K+//lrpfbZv387frSqoTt/+3t///nc1b958vwNRADWH92r9V519/PXXX+uFF17Q0qVLw5AQNaE6+3ndunX64osvNGzYMH344Ydas2aN/va3v6msrEzjx48PR2wchurs40svvVS7du3SKaecImOMysvLdd111zE9Qj1yoM8m+fn5KikpUVxcXNiycKatBbfffrscDsdBf6p6QIeKartv77rrLu3du1efffaZFi1apNGjR+viiy/WsmXLavBZRKba7NtAICBJuvbaa3XllVfq+OOP16OPPqpOnTrpxRdfrMmnEbFqs39nz56tL774Qo899ljNhq4jwjXm5ufn69xzz1Xnzp11zz33HHlwoIY98MADmjFjhmbNmqXY2FjbcQAcAO/V+qegoECXX365pk6dqiZNmtiOg1oUCASUnp6u559/Xj169NCQIUN0xx136Nlnn7UdDTVk7ty5mjhxop5++mktXrxYM2fO1AcffKB7773XdjTUQ5xpa8Gtt96qESNGHHSdtm3bVmvb+772vGPHDmVkZISW79ixQ8cdd1y1tlmXVLVvmzVrtt/E4uXl5dqzZ88Bvzq+du1a/etf/9Ly5ct1zDHHSJKOPfZYffXVV3rqqafq/R/i2uzbfa/Vzp07V1h+9NFHKzs7u/qh65Da7N8vvvhCa9euVUpKSoXlF154oU499VTNnTv3CJJHvtrs230KCgo0YMAAJSYmatasWYqJiTnS2HVWkyZNFBUVpR07dlRYvmPHjgP2Y7NmzQ5r/YaqOn27z+TJk/XAAw/os88+U7du3WozJtDg8V6t/w53H69du1YbNmzQwIEDQ8v2nbQQHR2tlStXql27drUbGoetOu/ljIwMxcTEKCoqKrTs6KOP1vbt2+Xz+eRyuWo1Mw5PdfbxXXfdpcsvv1x/+ctfJEldu3ZVUVGRrrnmGt1xxx1cSLseONBnk6SkpLCeZStRtLUiLS1NaWlptbLtNm3aqFmzZvr8889DRdr8/HwtWLBAf/3rX2vlMSNJVfu2V69e2rt3r3744Qf16NFDUrCwFQgEdNJJJ1V6n+LiYknabxCOiooKHXTVZ7XZt61bt1bz5s21cuXKCstXrVqls88++8jD1wG12b+333576KBin65du+rRRx+t8OGhvqrNvpWCY2z//v3ldrs1e/bsBn9WlMvlUo8ePfT5559r8ODBkoIfTD///HNdf/31ld6nV69e+vzzz3XzzTeHlv3vf/9Tr169wpC47qhO30rSQw89pPvvv1+ffPJJhTmbAdQO3qv13+Hu46OOOmq/b+bdeeedKigo0OOPP66srKxwxMZhqs57+eSTT9Zrr72mQCAQ+ty4atUqZWRkULCNQNXZx8XFxZXWBCTJGFOreREevXr10ocfflhhmbXPJmG/9BkOy8aNG82SJUvMhAkTjMfjMUuWLDFLliwxBQUFoXU6depkZs6cGbr9wAMPmJSUFPPuu++an376yQwaNMi0adPGlJSU2HgKEWvAgAHm+OOPNwsWLDBff/216dChgxk6dGjo95s3bzadOnUyCxYsMMYY4/P5TPv27c2pp55qFixYYNasWWMmT55sHA6H+eCDD2w9jYh0uH1rjDGPPvqoSUpKMm+++aZZvXq1ufPOO01sbKxZs2aNjacQ0arTv7+nKlw1syE63L7Ny8szJ510kunatatZs2aN2bZtW+invLzc1tOwbsaMGcbtdpvp06ebX375xVxzzTUmJSXFbN++3RhjzOWXX25uv/320PrffPONiY6ONpMnTzYrVqww48ePNzExMWbZsmW2nkLEOty+feCBB4zL5TJvvfVWhdfnb48jANQ83qv13+Hu498bPny4GTRoUJjSoroOdz9nZ2ebxMREc/3115uVK1ea999/36Snp5v77rvP1lPAIRzuPh4/frxJTEw0r7/+ulm3bp359NNPTbt27czFF19s6yngEAoKCkK1NElmypQpZsmSJWbjxo3GGGNuv/12c/nll4fWX7dunYmPjzdjx441K1asME899ZSJiooyH3/8cdizU7SNcMOHDzeS9vuZM2dOaB1JZtq0aaHbgUDA3HXXXaZp06bG7XabM88806xcuTL84SPc7t27zdChQ43H4zFJSUnmyiuvrHBgvH79+v36etWqVeaCCy4w6enpJj4+3nTr1s28/PLLFtJHtur0rTHGTJo0ybRo0cLEx8ebXr16ma+++irMyeuG6vbvb1G0rdzh9u2cOXMqHaMlmfXr19t5EhHiySefNC1btjQul8uceOKJ5rvvvgv9rk+fPmb48OEV1v/vf/9rOnbsaFwulznmmGP4z7CDOJy+bdWqVaWvz/Hjx4c/ONDA8F6t/w73b91vUbStOw53P3/77bfmpJNOMm6327Rt29bcf//9Dfo/8+uCw9nHZWVl5p577jHt2rUzsbGxJisry/ztb38zubm54Q+OKjnQZ7Z9+3X48OGmT58++93nuOOOMy6Xy7Rt27ZCzS2cHMZw/jYAAAAAAAAARApmSAYAAAAAAACACELRFgAAAAAAAAAiCEVbAAAAAAAAAIggFG0BAAAAAAAAIIJQtAUAAAAAAACACELRFgAAAAAAAAAiCEVbAAAAAAAAAIggFG0BAAAAAAAAIIJQtAVQbdu3b1e/fv2UkJCglJSUAy6LFHPnzpXD4dDevXtr9XFeeOEFnXXWWbX6GAfSunVrPfbYYzW+3dNOO00333xzjW/3t+655x4dd9xxh3Ufh8Ohd955p1by1Kaayl0bz/8Pf/iD3n777RrdJgAAAADg8FC0BVCpESNGyOFw7PczYMCA0DqPPvqotm3bpqVLl2rVqlUHXHakqlqI/PHHH3XeeecpPT1dsbGxat26tYYMGaKcnBxJUu/evbVt2zYlJyfXSK7KlJaW6q677tL48eNDy+65555Q/0VFRSkrK0vXXHON9uzZU2s5qmpfIXvfT1xcnI455hg9//zzFdabOXOm7r333lrNMmbMGH3++ec1vt3t27frhhtuUNu2beV2u5WVlaWBAwfWymPVlgMVtLdt26azzz67Rh/rzjvv1O23365AIFCj2wUAAJHr98f+qampGjBggH766acK61X2+cDhcGjGjBmS9j+2TEtL0znnnKNly5Yd9P77fu65555K861fv16XXnqpmjdvrtjYWLVo0UKDBg3Sr7/+Wqv9AgA2RdsOACByDRgwQNOmTauwzO12h/69du1a9ejRQx06dDjosnDYuXOnzjzzTP3pT3/SJ598opSUFG3YsEGzZ89WUVGRJMnlcqlZs2a1muOtt95SUlKSTj755ArLjznmGH322Wfy+/1asWKFrrrqKuXl5emNN96o1TxVtXLlSiUlJamkpETvvfee/vrXv6pdu3Y688wzJUmNGzeutcc2xsjv98vj8cjj8dTotjds2KCTTz5ZKSkpevjhh9W1a1eVlZXpk08+0ahRo6p9oO/z+eRyufZbXlZWppiYmCONXWW18Xo+++yz9Ze//EUfffSRzj333BrfPgAAiEy/Pfbfvn277rzzTv3pT39SdnZ2hfWmTZtW4UQOSft9w27fseXWrVs1duxYnXvuuVqzZo22bdsWWueNN97Q3XffrZUrV4aWVXYsWFZWpn79+qlTp06aOXOmMjIytHnzZn300Ue1+g26cB/XAcB+DABUYvjw4WbQoEEH/H2rVq2MpNDP8OHDK11mjDG5ubnm6quvNk2aNDGJiYnm9NNPN0uXLq2wvdmzZ5uePXsat9ttUlNTzeDBg40xxvTp06fCNg80bM2aNctER0ebsrKyA2aeM2eOkWRyc3MPuG1JZv369VXO/XvnnnuuGTNmTIVl48ePN8cee2yFZaNHjzaNGjUK3S4vLzdXXXWVad26tYmNjTUdO3Y0jz32WIX77NsnDz/8sGnWrJlp3Lix+dvf/mZ8Pl9onVatWplHH300dHvq1KkmOTnZfPbZZ1Xqk33atWtnHnroodDtPn36mJtuuil0+6mnnjLt27c3brfbpKenmwsvvDD0O7/fbyZOnBh6Lt26dTNvvvnmfo/54Ycfmu7du5uYmBgzZ86c/frp+++/N3379jWpqakmKSnJ/PGPfzQ//PBDhZySzKxZsyp9bsYYc/bZZ5vMzExTWFi43+9++5w3btxozjvvPJOQkGASExPNRRddZLZv3x76/b5sU6dONa1btzYOhyP0+E8//bQZOHCgiY+PN+PHjzfGGPPOO++Y448/3rjdbtOmTRtzzz33VHht/j73bbfdZjp06GDi4uJMmzZtzJ133hnar9OmTdvvNTpt2rRKt/PTTz+Z008/3cTGxprGjRubkSNHmoKCgtDvq/IaMsaYK6+80lx22WUH7FcAAFC/VHbs/9VXXxlJJicnJ7TsUMdelR1bzp4920gyP/74Y4V1p02bZpKTkw+ZbcmSJUaS2bBhw0HX27Rpk7nkkktMo0aNTHx8vOnRo4f57rvvQr9/+umnTdu2bU1MTIzp2LGjefnllyvcv7rHdQBQWzjTFkC1LFy4UFdccYWSkpL0+OOPKy4uTj6fb79lknTRRRcpLi5OH330kZKTk/Xcc8/pzDPP1KpVq9S4cWN98MEHOv/883XHHXfo5Zdfls/n04cffigp+LX8Y489Vtdcc41Gjhx5wDzNmjVTeXm5Zs2apT//+c9yOByHfA4zZ86Uz+cL3R41apR+/vlnNW3atEq5K/P111/r8ssvP+jjbtiwQZ988kmFMzUDgYBatGihN998U6mpqfr22291zTXXKCMjQxdffHFovTlz5igjI0Nz5szRmjVrNGTIEB133HGV9s1DDz2khx56SJ9++qlOPPHEQ/aHFDzr9ZNPPlF2drZOOumkStdZtGiRbrzxRr3yyivq3bu39uzZo6+++ir0+0mTJunVV1/Vs88+qw4dOujLL7/UZZddprS0NPXp0ye03u23367Jkyerbdu2atSokebOnVvhcQoKCjR8+HA9+eSTMsbokUce0TnnnKPVq1crMTHxkM9lz549+vjjj3X//fcrISFhv9/vOyMkEAho0KBB8ng8mjdvnsrLyzVq1CgNGTKkQqY1a9bo7bff1syZMxUVFRVafs899+iBBx7QY489pujoaH311Ve64oor9MQTT+jUU0/V2rVrdc0110hShWkzfisxMVHTp09X8+bNtWzZMo0cOVKJiYm67bbbNGTIEC1fvlwff/yxPvvsM0mqdIqPoqIi9e/fX7169dLChQuVk5Ojv/zlL7r++us1ffr00HpVeQ2deOKJeuCBBw7ZxwAAoH4qLCzUq6++qvbt2ys1NbXa28nLywtNnVDZt5SqIi0tTU6nU2+99ZZuvvnmCsdhv83bp08fZWZmavbs2WrWrJkWL14cmu5p1qxZuummm/TYY4+pb9++ev/993XllVeqRYsWOv3000PbqYnjOgCoMbarxgAi0/Dhw01UVJRJSEio8HP//feH1hk0aFDobNoDLfvqq69MUlKSKS0trbBeu3btzHPPPWeMMaZXr15m2LBhB8zy+7NHD+Qf//iHiY6ONo0bNzYDBgwwDz30UIWzJQ90VqkxxkyZMsWkpKSYlStXVjn37+Xm5hpJ5ssvv6ywfPz48cbpdJqEhAQTGxsbOltyypQpB30+o0aNqnAG676zmcvLy0PLLrroIjNkyJDQ7X19ddttt5mMjAyzfPnygz7Gvj7Zt3+jo6ON0+k09913X4X1fnum7dtvv22SkpJMfn7+ftsrLS018fHx5ttvv62w/OqrrzZDhw6t8JjvvPNOhXUqOyP5t/x+v0lMTDTvvfdeaJkOcrbHggULjCQzc+bMA27TGGM+/fRTExUVZbKzs0PLfv75ZyPJfP/996FsMTExFc402ff4N998c4VlZ555ppk4cWKFZa+88orJyMioUm5jjHn44YdNjx49QrcP1De/3c7zzz9vGjVqVOGs4g8++MA4nc7Q+6AqryFjjHn33XeN0+k0fr//gBkBAED98ftjf0kmIyOj0m85xcbG7vcZYePGjcaY/Y8t9x33nnfeefs9ZlXPtDXGmH/9618mPj4+9O23f/7zn2bt2rWh3z/33HMmMTHR7N69u9L79+7d24wcObLCsosuusicc845FZ5bdY7rAKC2cKYtgAM6/fTT9cwzz1RYdrhzm/74448qLCzc73/oS0pKtHbtWknS0qVLD3oWbVXdf//9Gj16tL744gstWLBAzz77rCZOnKgvv/xSXbt2PeD9PvroI91+++1677331LFjxyrn/r2SkhJJUmxs7H6/69Spk2bPnq3S0lK9+uqrWrp0qW644YYK6zz11FN68cUXlZ2drZKSEvl8vv0uPnXMMcdUOLsgIyMjdGGHfR555BEVFRVp0aJFatu2bWj5f/7zH1177bUVnvc+X331lRITE+X1evX999/r+uuvV+PGjfXXv/51v+fSr18/tWrVSm3bttWAAQM0YMAAnX/++YqPj9eaNWtUXFysfv36VbiPz+fT8ccfX2FZz54999v2b+3YsUN33nmn5s6dq5ycHPn9fhUXF+83r9qBGGOqtN6KFSuUlZWlrKys0LLOnTsrJSVFK1as0AknnCBJatWqldLS0va7/++fx48//qhvvvlG999/f2iZ3+9XaWmpiouLFR8fv9823njjDT3xxBNau3atCgsLVV5erqSkpCrl/+3zOPbYYyucVXzyyScrEAho5cqVoTPIq/IaiouLUyAQkNfrDZ0xDwAA6rffHvvn5ubq6aef1tlnn63vv/9erVq1Cq336KOPqm/fvhXu27x58wq3v/rqK8XHx+u7777TxIkT9eyzzx5RtlGjRumKK67Q3Llz9d133+nNN9/UxIkTNXv2bPXr109Lly7V8ccff8DPKitWrAidIbvPySefrMcff7zCspo4rgOAmkLRFsABJSQkqH379ke0jcLCQmVkZOz31Xfp/76eXpNFodTUVF100UW66KKLNHHiRB1//PGaPHmyXnrppUrX/+WXX3TJJZfogQce0FlnnXVYuSt7bIfDodzc3P1+53K5Qn35wAMP6Nxzz9WECRN07733SpJmzJihMWPG6JFHHlGvXr2UmJiohx9+WAsWLKiwnd9fDMHhcIS+9rXPqaeeqg8++ED//e9/dfvtt4eWn3feeRWmPMjMzAxtv02bNqHndcwxx2jBggW6//77Ky3aJiYmavHixZo7d64+/fRT3X333brnnnu0cOFCFRYWSpI++OADZWZmVrjfby9iJ6nSKQt+a/jw4dq9e7cef/xxtWrVSm63W7169aowpcXBdOjQQQ6Ho8auKnygvL9fXlhYqAkTJuiCCy7Yb93KCvrz58/XsGHDNGHCBPXv31/JycmaMWOGHnnkkRrJ/XtVeQ3t2bNHCQkJFGwBAGhAfn/s/+9//1vJycmaOnWq7rvvvtDyZs2aHfIzwr5jy06dOiknJ0dDhgzRl19+eUT5EhMTNXDgQA0cOFD33Xef+vfvr/vuu0/9+vWrsWOWIz2uA4CaRNEWQK3q3r27tm/frujoaLVu3brSdbp166bPP/9cV155ZaW/d7lc8vv9h/3YLpdL7dq1U1FRUaW/37VrlwYOHKgLL7xQt9xyy2HnruzxOnfurF9++aVCAbgyd955p8444wz99a9/VfPmzfXNN9+od+/e+tvf/hZa50Bn9B7KiSeeqOuvv14DBgxQdHS0xowZIyl4oFuVuWAlKSoqKnTmcGWio6PVt29f9e3bV+PHj1dKSoq++OIL9evXT263W9nZ2RXmr62Ob775Rk8//bTOOeccSdKmTZu0a9euKt+/cePG6t+/v5566indeOON+x2E7927VykpKTr66KO1adMmbdq0KXS27S+//KK9e/eqc+fOh527e/fuWrlyZZX/w+Pbb79Vq1atdMcdd4SWbdy4scI6VXkPHH300Zo+fbqKiopCz/Wbb76R0+lUp06dDus5LF++fL8zowEAQMPicDjkdDoPekxYFaNGjdKkSZM0a9YsnX/++TWW7aijjtK3334rKfh54t///rf27NlT6dm2Rx99tL755hsNHz48tOybb7455LHe4R7XAUBNctoOACByeb1ebd++vcLP4RTNJKlv377q1auXBg8erE8//VQbNmzQt99+qzvuuEOLFi2SFJzE//XXX9f48eO1YsUKLVu2TA8++GBoG61bt9aXX36pLVu2HPDx33//fV122WV6//33tWrVKq1cuVKTJ0/Whx9+qEGDBlV6nwsvvFDx8fG65557KjxHv99fpdyV6d+/v77++utD9kuvXr3UrVs3TZw4UVLwrNBFixbpk08+0apVq3TXXXdp4cKFh9zOgfTu3VsffvihJkyYoMcee+yQ6+fk5Gj79u3auHGj3nzzTb3yyisH7Lf3339fTzzxhJYuXaqNGzfq5ZdfViAQUKdOnZSYmKgxY8bolltu0UsvvaS1a9dq8eLFevLJJw94tvOBdOjQQa+88opWrFihBQsWaNiwYYd9FsVTTz0lv9+vE088UW+//bZWr16tFStW6IknnlCvXr0kBV+jXbt21bBhw7R48WJ9//33uuKKK9SnT59DTuFQmbvvvlsvv/yyJkyYoJ9//lkrVqzQjBkzdOeddx7weWZnZ2vGjBlau3atnnjiCc2aNavCOq1bt9b69eu1dOlS7dq1S16vd7/tDBs2TLGxsRo+fLiWL1+uOXPm6IYbbtDll18emhqhqr766qtD/scDAACoX3577L9ixQrdcMMNKiws1MCBAyust3fv3v0+IxzoJAlJio+P18iRIzV+/PgqT1/1W0uXLtWgQYP01ltv6ZdfftGaNWv0wgsv6MUXXwwdrw4dOlTNmjXT4MGD9c0332jdunV6++23NX/+fEnS2LFjNX36dD3zzDNavXq1pkyZopkzZ4ZObjiQwz2uA4AaZXtSXQCRafjw4aELB/z2p1OnTqF1qnIhMmOMyc/PNzfccINp3ry5iYmJMVlZWWbYsGEVLvz09ttvm+OOO864XC7TpEkTc8EFF4R+N3/+fNOtWzfjdrvNgYattWvXmpEjR5qOHTuauLg4k5KSYk444QQzbdq00Dq/vxBZZc9Pklm/fn2Vc//ezz//bOLi4szevXtDyw50EanXX3/duN1uk52dbUpLS82IESNMcnKySUlJMX/961/N7bffXuF+w4cPN4MGDaqwjZtuusn06dMndPv3F22bN2+eSUhIME888USleff1yb6f6Oho06ZNGzNmzJgKF7T67YXIvvrqK9OnTx/TqFEjExcXZ7p162beeOON0LqBQMA89thjplOnTiYmJsakpaWZ/v37m3nz5lV4zN9fEO73/bR48WLTs2dPExsbazp06GDefPPN/Z6fDnFBL2OM2bp1qxk1apRp1aqVcblcJjMz05x33nlmzpw5oXU2btxozjvvPJOQkGASExPNRRddVOEidlW5ENhvffzxx6Z3794mLi7OJCUlmRNPPNE8//zzB7zf2LFjTWpqqvF4PGbIkCHm0UcfrXBhjtLSUnPhhRealJQUIyn0uv79dn766Sdz+umnm9jYWNO4cWMzcuRIU1BQEPp9VV5DmzdvNjExMWbTpk2V9icAAKh/fn/sn5iYaE444QTz1ltvVVjvQMfPkyZNMsYc+DgvOzvbREdHVzhmrOqFyHbu3GluvPFG06VLF+PxeExiYqLp2rWrmTx5coWLpm7YsMFceOGFJikpycTHx5uePXuaBQsWhH7/9NNPm7Zt25qYmBjTsWNH8/LLL+/33KpzXAcAtcVhTDX+qwsAcEAXXXSRunfvrnHjxtmOAhy2v//978rNzdXzzz9vOwoAAAAANFhMjwAANezhhx+Wx+OxHQOolvT09NAF8gAAAAAAdnCmLQAAAAAAAABEEM60BQAAAAAAAIAIQtEWAAAAAAAAACIIRVsAAAAAAAAAiCAUbQEAAAAAAAAgglC0BQAAAAAAAIAIQtEWAAAAAAAAACIIRVsAAAAAAAAAiCAUbQEAAAAAAAAgglC0BQAAAAAAAIAI8v8A9yIxDZtBgJAAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1400x500 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"Key Insight: BERT has the strongest separation between classes\n",
|
|
"Effect size: -1.000 (p=0.0000)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, axes = plt.subplots(1, 2, figsize=(14, 5))\n",
|
|
"\n",
|
|
"# 1: Effect sizes\n",
|
|
"features_sorted = results_df.sort_values('effect_size')\n",
|
|
"colors = ['green' if x else 'red' for x in features_sorted['significant']]\n",
|
|
"\n",
|
|
"axes[0].barh(features_sorted['feature'], features_sorted['effect_size'], color=colors, alpha=0.7)\n",
|
|
"axes[0].axvline(x=0, color='black', linestyle='--', linewidth=1)\n",
|
|
"axes[0].axvline(x=0.3, color='orange', linestyle=':', linewidth=1, alpha=0.5, label='Medium effect')\n",
|
|
"axes[0].axvline(x=-0.3, color='orange', linestyle=':', linewidth=1, alpha=0.5)\n",
|
|
"axes[0].set_xlabel('Effect Size (Rank-Biserial Correlation)')\n",
|
|
"axes[0].set_title('Feature Discrimination: Effect Sizes\\n(Green = significant after FDR correction)')\n",
|
|
"axes[0].legend()\n",
|
|
"axes[0].grid(axis='x', alpha=0.3)\n",
|
|
"\n",
|
|
"# 2: Distribution comparison for best feature\n",
|
|
"best_feature = results_df.iloc[0]['feature']\n",
|
|
"group0 = feature_df[feature_df['label'] == 0][best_feature]\n",
|
|
"group1 = feature_df[feature_df['label'] == 1][best_feature]\n",
|
|
"\n",
|
|
"axes[1].hist(group0, bins=10, alpha=0.6, label=f'Non-Paraphrase (n={len(group0)})', color='red', edgecolor='black')\n",
|
|
"axes[1].hist(group1, bins=10, alpha=0.6, label=f'Paraphrase (n={len(group1)})', color='green', edgecolor='black')\n",
|
|
"axes[1].axvline(np.median(group0), color='darkred', linestyle='--', linewidth=2, label=f'Median Non-Para: {np.median(group0):.3f}')\n",
|
|
"axes[1].axvline(np.median(group1), color='darkgreen', linestyle='--', linewidth=2, label=f'Median Para: {np.median(group1):.3f}')\n",
|
|
"axes[1].set_xlabel(f'{best_feature.upper()} Score')\n",
|
|
"axes[1].set_ylabel('Frequency')\n",
|
|
"axes[1].set_title(f'Distribution Comparison: {best_feature.upper()}\\n(Best discriminating feature)')\n",
|
|
"axes[1].legend()\n",
|
|
"axes[1].grid(axis='y', alpha=0.3)\n",
|
|
"\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"print(f\"\\nKey Insight: {best_feature.upper()} has the strongest separation between classes\")\n",
|
|
"print(f\"Effect size: {results_df.iloc[0]['effect_size']:+.3f} (p={results_df.iloc[0]['p_corrected']:.4f})\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "64c8b61b",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Model Training & Evaluation\n",
|
|
"Train Logistical Regression on merged features"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "0d0a4596",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Training set size: 23\n",
|
|
"Test set size: 6\n",
|
|
"\n",
|
|
"Model Training Complete!\n",
|
|
"================================================================================\n",
|
|
"Training Accuracy: 1.000\n",
|
|
"Test Accuracy: 0.833\n",
|
|
"\n",
|
|
"Feature Importance (Model Coefficients):\n",
|
|
"================================================================================\n",
|
|
"bert : +1.7775\n",
|
|
"ted : +0.2371\n",
|
|
"jaccard : +0.9941\n",
|
|
"len_ratio : +0.0367\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Prepare features\n",
|
|
"X = feature_df[['bert', 'ted', 'jaccard', 'len_ratio']].values\n",
|
|
"y = feature_df['label'].values\n",
|
|
"\n",
|
|
"# Standardize features (important for Logistic Regression)\n",
|
|
"scaler = StandardScaler()\n",
|
|
"X_scaled = scaler.fit_transform(X)\n",
|
|
"\n",
|
|
"# Train-test split (80-20)\n",
|
|
"X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)\n",
|
|
"\n",
|
|
"print(f\"Training set size: {len(X_train)}\")\n",
|
|
"print(f\"Test set size: {len(X_test)}\")\n",
|
|
"\n",
|
|
"# Train Logistic Regression\n",
|
|
"model = LogisticRegression(random_state=42, max_iter=1000)\n",
|
|
"model.fit(X_train, y_train)\n",
|
|
"\n",
|
|
"print(\"\\nModel Training Complete!\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"print(f\"Training Accuracy: {model.score(X_train, y_train):.3f}\")\n",
|
|
"print(f\"Test Accuracy: {model.score(X_test, y_test):.3f}\")\n",
|
|
"\n",
|
|
"# Feature importance (coefficients)\n",
|
|
"print(\"\\nFeature Importance (Model Coefficients):\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"feature_names = ['bert', 'ted', 'jaccard', 'len_ratio']\n",
|
|
"for name, coef in zip(feature_names, model.coef_[0]):\n",
|
|
" print(f\"{name:<15}: {coef:+.4f}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "8ce47f9c",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Classification report & Confusion Matrix"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "ed9f0973",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Classification Report:\n",
|
|
"================================================================================\n",
|
|
" precision recall f1-score support\n",
|
|
"\n",
|
|
" Different 0.75 1.00 0.86 3\n",
|
|
" Paraphrase 1.00 0.67 0.80 3\n",
|
|
"\n",
|
|
" accuracy 0.83 6\n",
|
|
" macro avg 0.88 0.83 0.83 6\n",
|
|
"weighted avg 0.88 0.83 0.83 6\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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cOHCRpMmTRLt538f+/vg8b6TJk1K1PeXX34xypcvb7i4uBilSpUyvv76a2PkyJHGv/9r2rJli/Hmm28aBQoUMFxcXIwCBQoYbdu2TfCo3wf7WLhwYYLtb9682ahdu7aRKVMmI3v27EazZs2Mv/76K0GfB/u7efNmgvYHj2Q+f/78Q8+pYdx/nHGWLFke2SepcxAVFWX069fPyJ8/v5EpUyajdu3axp49e5J8bPIPP/xglC1b1nByckpwnHXq1DHKlSuX5D7/vZ2wsDCjcOHCRtWqVY3Y2NgE/fr27Ws4ODgYe/bseeQxiIiISNp7cP2xf//+RMvi4+ONYsWKGcWKFTPi4uIStC9cuNCoXbu2kT17dsPNzc0oV66c4e/vb4SHhz90X6tWrTIaNGhg5M6d23BycjLy589vtG7d2ti2bVuyskZGRhqTJ082atSoYWTNmtVwcXExSpQoYXzyySfGmTNnEvT9+uuvjaJFixouLi5G5cqVjY0bNxqdOnUyChcubOvzqGvGB8LCwoxMmTIZgPH1118n2efevXvG4MGDjeLFixsuLi5Gnjx5jJdeesmYPHmyERMTk6xjE5H0YzGMFMziKyIiIiIiIiIikgo0p5SIiIiIiIiIiKQ7FaVERERERERERCTdqSglIiIiIiIiIiLpTkUpERERERERERFJdypKiYiIiIiIiIhIulNRSkRERERERERE0p2T2QFERERExP5YrVauXr1KtmzZsFgsZscRERGRDMQwDO7du0eBAgVwcHj4eKinsiiVqUovsyOIiB27vX+m2RFExM65PZVXSClz9epVPD09zY4hIiIiGdjly5cpVKjQQ5frkktEREREEsmWLRtw/2Iye/bsqb59q9XKzZs3cXd3f+RfUCVt6PybT++BuXT+zaXzb760fg/CwsLw9PS0XU88jIpSIiIiIpLIg1v2smfPnmZFqaioKLJnz65fSEyg828+vQfm0vk3l86/+dLrPfivKQD07ouIiIiIiIiISLpTUUpERERERERERNKdilIiIiIiIiIiIpLuVJQSEREREREREZF0p6KUiIiIiIiIiIikOxWlREREREREREQk3akoJSIiIiIiIiIi6U5FKRERERE7t337dpo1a0aBAgWwWCx8//33/7nOtm3bqFq1Kq6urhQvXpxFixaleU4RERGRlFBRSkRERMTORUREUKlSJWbNmpWs/ufPn6dJkybUq1ePoKAgfHx86NatGxs3bkzjpCIiIiLJ52R2ABERERF5tEaNGtGoUaNk958zZw5FihRhypQpAJQpU4adO3cybdo0GjZsmFYxRURERFJERSkRERGRp8yePXvw9vZO0NawYUN8fHweuk50dDTR0dG212FhYQBYrVasVmuqZ7RarRiGkSbblv+m8w/rj1xj2ubTRETHmbJ/g/vvg4ODAxZTEjzbdP7NpfNvrrALR/jn5mXyVHuDvNkzsbZX7VTfR3J/vqgoJSIiIvKUuX79Onnz5k3QljdvXsLCwvjnn3/IlClTonXGjRuHv79/ovabN28SFRWV6hmtVit3797FMAwcHDSjRHrT+YdJG05w8Xbqf22LiNiruLvB3N62kMgTO8DRmdh85cEoRHBwcKrv6969e8nqp6KUiIiIiDB48GB8fX1tr8PCwvD09MTd3Z3s2bOn+v6sVisWiwV3d/dntihiJp1/iI4/CoCDBTyyuab7/jVSxFw6/+bS+TfHuc0r7xekLBbcq9QnT86s5M2RCQ8Pj1Tfl5ubW7L6qSglIiIi8pTJly8fN27cSNB248YNsmfPnuQoKQBXV1dcXRP/Yu7g4JBmRQuLxZKm25dH0/m//6uwRzY39g55Pd33brVaCQ4OxsPD4xl+D8yj828unf/0YbVaCQ8Pt/1x6WrnsnTv3p0xY8ZQsWLFNH0PkrtNvfsiIiIiT5latWqxZcuWBG2bNm2iVq1aJiUSERGR9LR3715eeuklOnfubGsrUKAA69ato3Llyqbl+l8qSomIiIjYufDwcIKCgggKCgLg/PnzBAUFcenSJeD+rXcdO3a09e/Rowfnzp1j4MCBnDhxgtmzZ7Ny5Ur69u1rRnwRERFJJ3///TcdOnSgVq1a7Nu3j02bNnHlyhWzYz2UilIiIiIidu6PP/6gSpUqVKlSBQBfX1+qVKnCiBEjALh27ZqtQAVQpEgR1q1bx6ZNm6hUqRJTpkzhyy+/pGHDhqbkFxERkbQVGRlJQEAApUqVYunSpVgsFt5//31Onz5NwYIFzY73UJpTSkRERMTO1a1bF8MwHrp80aJFSa5z6NChNEwlIiIi9uDIkSM0adKEy5cvA1C7dm2mT59OtWrVTE723zRSSkREREREREQkgypWrBgAzz//PMuXL2fHjh0ZoiAFKkqJiIiIiIiIiGQY165dY8SIEcTHxwOQOXNm1q9fz4kTJ2jdujUWi8XkhMmn2/dEREREREREROxcVFQUU6dOZezYsURERPD888/TrVs3AMqXL29yusejopSIiIiIiIiIiJ0yDIM1a9bQv39/Lly4AEDNmjWpWLGiucFSgW7fExERERERERGxQ0FBQdSrV4+3336bCxcuULBgQZYsWcLu3bt54YUXzI73xDRSSkRERERERETEDn3yySfs3LkTNzc3Bg4cyMCBA8mSJYvZsVKNRkqJiIiIiIiIiNiB6OhoIiMjba+nTp1KmzZtOHnyJP7+/k9VQQpUlBIRERERERERMZVhGPzwww+UK1eOgIAAW3uNGjX45ptveP75501Ml3ZUlBIRERERERERMcmRI0eoX78+LVq04OzZs6xYsYLo6GizY6ULFaVERERERERERNJZSEgIH330EZUrV2bLli24uroyePBg/vzzT1xdXc2Oly400bmIiIiIiIiISDrauHEjbdq04c6dOwC0atWKSZMmUaRIEXODpTMVpURERERERERE0lG5cuWIiYmhUqVKTJ8+nTp16pgdyRS6fU9EREREREREJA0dP36cCRMm2F4XKlSInTt3cuDAgWe2IAUqSomIiIiIiIiIpInQ0FD69OlDhQoV8PPz47fffrMtq1KlCo6OjiamM59u3xMRERERERERSUVxcXHMnTuXESNGEBoaCkDz5s0pVKiQycnsi4pSIiIiIiIiIiKpZNOmTfTt25djx44B9+ePCgwMxNvb2+Rk9kdFKRERERERERGRVBAdHc3777/P33//zXPPPUdAQAAffPABTk4qvyRFZ0VERERERERE5DHdvXuXrFmz4ujoiKurK5MnT2bPnj2MHDmSXLlymR3PrmmicxERERERERGRFIqPj2fu3LmUKFGCxYsX29pbt25NYGCgClLJoKKUiIiIiIiIiEgKbNu2jWrVqtGjRw9u3rzJkiVLzI6UIakoJSIiIiIiIiKSDOfOnaNVq1bUq1ePw4cPkzNnTgIDA/nll1/MjpYhaU4pEREREREREZH/8MUXX9CrVy9iYmJwcHCgR48e+Pv7kydPHrOjZVgqSomIiIiIiIiI/IcKFSoQExODt7c306ZNo3z58mZHyvBUlBIRERERERER+R87duzgr7/+4sMPPwTgxRdf5MCBA1SpUgWLxWJyuqeD5pQS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uk1XYUpERDKcXr16PfR2vW3btiV47eTkxMiRIxk5cmQ6JBMRkWddZGQkr776KgcOHACgePHiTJkyhWbNmmGxWP5jbXmW2UVRauHChY+9blJPinHMWwPn/C88aSx5CsTGxXPucggAh45fplq55/m4bV0+GbPc5GQiYqZcOXPh6OjIrVu3ErTfunWLPHnymJRKREREJGPKnDkzxYoV4/Tp04wYMYJevXolOU+hyP+yizmlAOLi4ti8eTNz5861PTrw6tWrhIeHP3K9wYMHc/fu3QQfTnmrpUdkyYAcLBZcXeyiFisiJnJ2caFM2XLs27vH1ma1Wtm3bw8VK1UxMZmIiIiI/YuIiGDkyJFcunTJ1hYYGMjp06fp16+fClKSbHbx2/nFixd54403uHTpEtHR0dSvX59s2bIxYcIEoqOjmTNnzkPXTepJMbp1TwACPmnOxl3HuHztNtmyuNG6UXVerV6CZh/NNjuaiNiB9zp1YfiQQZQrV57yFSry9ZLF/PPPP7R4q6XZ0URERETsktVqZenSpfj5+XH16lVOnz7NsmXLAMifP7/J6SQjsouiVJ8+fahevTqHDx9OMOnsW2+9Rffu3U1MJhmZe+6szB/dkXx5snM3PIqjp6/Q7KPZbN13wuxoImIH3mjUmNuhocyeOYOQkJuUKl2G2XO/5DndviciIiKSyN69e/Hx8WHfvn0AeHl5Pfbc0CIP2EVRaseOHezevRsXF5cE7V5eXly5csWkVJLR9fRfZnYEEbFzbdt3oG37DmbHEBEREbFbf//9N35+fixduhSArFmzMnToUHx8fHBzczM5nWR0dlGUslqtxMfHJ2r/+++/yZYtmwmJRERERERERGTu3LksXboUi8VC586dGTNmjG7Vk1RjFxOdN2jQgMDAQNtri8VCeHg4I0eOpHHjxuYFExEREREREXmGGIaR4AnFgwYNomXLluzfv58FCxaoICWpyi5GSk2ZMoWGDRtStmxZoqKiaNeuHadPnyZPnjx88803ZscTEREREREReer98ccf+Pj4EBsby549e3BwcCBr1qysXr3a7GjylLKLolShQoU4fPgwK1as4PDhw4SHh9O1a1fat29PpkyZzI4nIiIiIiIi8tS6du0aQ4YMYfHixRiGQebMmfnrr78oX7682dHkKWdaUapq1aps2bKFXLlyERAQQP/+/Wnfvj3t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KkUIAQDIzs6ulfwVCgVycnLUvpbFPxXrX/3YBurF+lcv1r/61XYblPQfSvoT5ZGJV6Uges0VFBQgPDwcc+fOha6urrrDIaI6hp8RRGX7888/YWNjo+4wiIiI6DV2+/ZtWFtbl7ufg1JU72VnZ8PU1BSPHz+GiYmJusMhojqGnxFEZVMoFPjrr79gbGwMmUxW4/lnZ2fDxsYGt2/f5rWnBqx/9WMbqBfrX71Y/+pX220ghEBOTg6srKxeOhOLt+8RERERUSkaGhov/WWzppiYmPALiRqx/tWPbaBerH/1Yv2rX222gamp6SvT8OZNIiIiIiIiIiJSOQ5KERERERERERGRynFQiuo9XV1dhISEcAFjIioTPyOI1IPXnnqx/tWPbaBerH/1Yv2rX11pAy50TkREREREREREKseZUkREREREREREpHIclCIiIiIiIiIiIpXjoBTVWTKZDNHR0dL7q1evolu3btDT00OHDh3K3UZEVFnp6emQyWRITk5WdyhERERERP8YHJQilfvggw8gk8kgk8mgra2Npk2bon///ti+fTsUCoWULjMzEwMGDJDeh4SEwNDQEKmpqUhISCh3mzrZ2triiy++UHcYRHXW89e/jo4O7OzssGjRIhQVFak7NCKqBV9++SVsbW2hp6eHN998E+fOnXtp+n379qF169bQ09ODs7Mzjh49qqJI66fK1P+WLVvQq1cvNGjQAA0aNIC7u/sr24terbLXQImoqCjIZDIMHTq0dgOs5ypb/3///Tf8/PxgaWkJXV1dODg48HOoGipb/1988QUcHR2hr68PGxsbBAYGIj8/X0XR1i8//vgjBg8eDCsrq1KTPcqTmJgIV1dX6Orqws7ODpGRkbUeJ8BBKVITT09PZGZmIj09Hd9//z3c3NwQEBCAQYMGSV9OLSwslJ4EcPPmTbz11lto0aIFGjZsWO62ypLL5dU/ISKqsJLr//r165g5cyZCQ0OxcuXKSudTXFysNJCtauoun6iu27t3L4KCghASEoKLFy/CxcUFHh4euHfvXpnpz5w5gzFjxmDSpEn49ddfMXToUAwdOhT//e9/VRx5/VDZ+k9MTMSYMWNw4sQJnD17FjY2NnjnnXdw584dFUdef1S2DUqkp6cjODgYvXr1UlGk9VNl618ul6N///5IT0/Hd999h9TUVGzZsgXNmjVTceT1Q2Xr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",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Predictions\n",
|
|
"y_pred = model.predict(X_test)\n",
|
|
"y_pred_proba = model.predict_proba(X_test)[:, 1]\n",
|
|
"\n",
|
|
"print(\"Classification Report:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"print(classification_report(y_test, y_pred, target_names=['Different', 'Paraphrase']))\n",
|
|
"\n",
|
|
"# Confusion matrix\n",
|
|
"cm = confusion_matrix(y_test, y_pred)\n",
|
|
"\n",
|
|
"fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n",
|
|
"\n",
|
|
"# Confusion matrix heatmap\n",
|
|
"sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=axes[0], cbar=False)\n",
|
|
"axes[0].set_title('Confusion Matrix')\n",
|
|
"axes[0].set_xlabel('Predicted')\n",
|
|
"axes[0].set_ylabel('Actual')\n",
|
|
"axes[0].set_xticklabels(['Different', 'Paraphrase'])\n",
|
|
"axes[0].set_yticklabels(['Different', 'Paraphrase'])\n",
|
|
"\n",
|
|
"# ROC Curve\n",
|
|
"fpr, tpr, _ = roc_curve(y_test, y_pred_proba)\n",
|
|
"auc_score = roc_auc_score(y_test, y_pred_proba)\n",
|
|
"axes[1].plot(fpr, tpr, label=f'ROC Curve (AUC = {auc_score:.3f})', linewidth=2)\n",
|
|
"axes[1].plot([0, 1], [0, 1], 'k--', label='Random Classifier')\n",
|
|
"axes[1].set_xlabel('False Positive Rate')\n",
|
|
"axes[1].set_ylabel('True Positive Rate')\n",
|
|
"axes[1].set_title('ROC Curve')\n",
|
|
"axes[1].legend()\n",
|
|
"axes[1].grid(alpha=0.3)\n",
|
|
"\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "1bc9f488",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Visualize feature importance"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "6dc8a0c6",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAHqCAYAAADyGZa5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZABJREFUeJzt3Xd4FOX+/vF70xtJKKkQQu9dioAcimCoB0RFAgKhWRE5UsQGRKoFlaKICgSRIl1EAZFDExQQCDXSpOkJvYYSSHZ+f/DLfl2ygSTusht4v65rL7Mzzz7zmX1miHdm9lmTYRiGAAAAAACAQ7g5uwAAAAAAAO5nBG8AAAAAAByI4A0AAAAAgAMRvAEAAAAAcCCCNwAAAAAADkTwBgAAAADAgQjeAAAAAAA4EMEbAAAAAAAHIngDAAAAAOBABG8AAIDbmEwmDRs2zNll5FqjRo3UqFEjZ5dxTxUrVkxxcXG5em1eH28Aro/gDQC45xISEmQymWw+Bg8e7JBtbty4UcOGDdOFCxcc0v8/kfF+/Pbbb84uJdc+/fRTJSQkOLsMlxUXF5flMb98+XJnl2c3a9assezX119/bbNN/fr1ZTKZVKlSpXtcHQA4j4ezCwAAPLjeeecdFS9e3GqZo/5nfOPGjYqPj1dcXJyCg4Mdso0H2aeffqpChQrl+oqjq7l27Zo8POz7v0ne3t768ssvMy2vWrWqXbcjST/++KPd+8wJHx8fzZo1S88884zV8iNHjmjjxo3y8fFxUmUA4BwEbwCA07Ro0UI1a9Z0dhn/yJUrV+Tv7+/sMpzm6tWr8vPzc3YZdueIYOjh4ZEpiDqKl5fXPdlOVlq2bKklS5bozJkzKlSokGX5rFmzFBYWptKlS+v8+fNOrBAA7i1uNQcAuKxly5apQYMG8vf3V758+dSqVSvt2bPHqs3OnTsVFxenEiVKyMfHR+Hh4erRo4fOnj1raTNs2DANHDhQklS8eHHLrbBHjhzRkSNHZDKZbN4mffvnPocNGyaTyaS9e/eqU6dOyp8/vx555BHL+q+//loPPfSQfH19VaBAAXXs2FHHjx/P1b7HxcUpICBAx44dU+vWrRUQEKDChQvrk08+kSTt2rVLTZo0kb+/v6KjozVr1iyr12fcvr5u3To999xzKliwoAIDA9W1a1ebgefTTz9VxYoV5e3trcjISL300kuZbstv1KiRKlWqpK1bt+pf//qX/Pz89MYbb6hYsWLas2eP1q5da3lvMz5ffO7cOQ0YMECVK1dWQECAAgMD1aJFC+3YscOq74xblOfOnauRI0eqSJEi8vHx0aOPPqqDBw9mqnfTpk1q2bKl8ufPL39/f1WpUkXjxo2zavP777/rySefVIECBeTj46OaNWtqyZIl2Xr/sxr7gwcPWu6aCAoKUvfu3XX16tVs9XknGfu/Zs0aq+W2js8TJ06oe/fuKlKkiLy9vRUREaG2bdvqyJEjlja2PuN96tQp9ezZU2FhYfLx8VHVqlU1ffp0m9v74IMP9Pnnn6tkyZLy9vZWrVq1tGXLlmzvT9u2beXt7a158+ZZLZ81a5Y6dOggd3f3TK9JS0vT8OHDLdssVqyY3njjDaWmplq1MwxDI0aMUJEiReTn56fGjRtn+nchw4ULF9SvXz9FRUXJ29tbpUqV0rvvviuz2ZztfQEAe+CKNwDAaS5evKgzZ85YLcu4OjZjxgx169ZNMTExevfdd3X16lVNmjRJjzzyiLZv365ixYpJklauXKk//vhD3bt3V3h4uPbs2aPPP/9ce/bs0a+//iqTyaT27dtr//79mj17tj766CPLNkJCQnT69Okc1/3UU0+pdOnSGjVqlAzDkCSNHDlSb7/9tjp06KBevXrp9OnTmjBhgv71r39p+/btubq9PT09XS1atNC//vUvvffee5o5c6b69Okjf39/vfnmm+rcubPat2+vzz77TF27dlXdunUz3brfp08fBQcHa9iwYdq3b58mTZqko0ePWoKedCtUxsfHq2nTpnrhhRcs7bZs2aINGzbI09PT0t/Zs2fVokULdezYUc8884zCwsLUqFEjvfzyywoICNCbb74pSQoLC5Mk/fHHH1q8eLGeeuopFS9eXCdPntTkyZPVsGFD7d27V5GRkVb1jhkzRm5ubhowYIAuXryo9957T507d9amTZssbVauXKnWrVsrIiJCr7zyisLDw5WUlKSlS5fqlVdekSTt2bNH9evXV+HChTV48GD5+/tr7ty5ateunRYsWKDHH388x+MhSR06dFDx4sU1evRobdu2TV9++aVCQ0P17rvvZuv1tx/vnp6eCgoKylENTzzxhPbs2aOXX35ZxYoV06lTp7Ry5UodO3bMcl7c7tq1a2rUqJEOHjyoPn36qHjx4po3b57i4uJ04cIFy/uWYdasWbp8+bKee+45mUwmvffee2rfvr3++OMPq+MhK35+fmrbtq1mz56tF154QZK0Y8cO7dmzR19++aV27tyZ6TW9evXS9OnT9eSTT6p///7atGmTRo8eraSkJC1atMjSbsiQIRoxYoRatmypli1batu2bXrsscd048YNq/6uXr2qhg0b6q+//tJzzz2nokWLauPGjXr99deVnJysjz/++K77AQB2YwAAcI9NmzbNkGTzYRiGcfnyZSM4ONjo3bu31etOnDhhBAUFWS2/evVqpv5nz55tSDLWrVtnWfb+++8bkozDhw9btT18+LAhyZg2bVqmfiQZQ4cOtTwfOnSoIcmIjY21anfkyBHD3d3dGDlypNXyXbt2GR4eHpmWZ/V+bNmyxbKsW7duhiRj1KhRlmXnz583fH19DZPJZMyZM8ey/Pfff89Ua0afDz30kHHjxg3L8vfee8+QZHz77beGYRjGqVOnDC8vL+Oxxx4z0tPTLe0mTpxoSDKmTp1qWdawYUNDkvHZZ59l2oeKFSsaDRs2zLT8+vXrVv0axq333Nvb23jnnXcsy1avXm1IMsqXL2+kpqZalo8bN86QZOzatcswDMNIS0szihcvbkRHRxvnz5+36tdsNlt+fvTRR43KlSsb169ft1pfr149o3Tp0pnqvF1WY9+jRw+rdo8//rhRsGDBu/aXMZ63PzLes4z9X716tdXrbj8+z58/b0gy3n///Ttur2HDhlbj8fHHHxuSjK+//tqy7MaNG0bdunWNgIAA49KlS1bbK1iwoHHu3DlL22+//daQZHz33Xd33G7GfsybN89YunSpYTKZjGPHjhmGYRgDBw40SpQoYamvYsWKltclJiYakoxevXpZ9TdgwABDkvHf//7XMIz/O15btWplNd5vvPGGIcno1q2bZdnw4cMNf39/Y//+/VZ9Dh482HB3d7fUZRiZxxsA7I1bzQEATvPJJ59o5cqVVg/p1hXNCxcuKDY2VmfOnLE83N3dVadOHa1evdrSh6+vr+Xn69ev68yZM3r44YclSdu2bXNI3c8//7zV84ULF8psNqtDhw5W9YaHh6t06dJW9eZUr169LD8HBwerbNmy8vf3V4cOHSzLy5Ytq+DgYP3xxx+ZXv/ss89aXaF84YUX5OHhoR9++EGS9NNPP+nGjRvq16+f3Nz+738LevfurcDAQH3//fdW/Xl7e6t79+7Zrt/b29vSb3p6us6ePauAgACVLVvW5vh0797d6vPJDRo0kCTLvm3fvl2HDx9Wv379Mt1FkHEF/9y5c/rvf/+rDh066PLly5bxOHv2rGJiYnTgwAH99ddf2d6Hv7t97Bs0aKCzZ8/q0qVLd32tj49PpuN97NixOdq+r6+vvLy8tGbNmhx9RvqHH35QeHi4YmNjLcs8PT3Vt29fpaSkaO3atVbtn376aeXPn9/y/PZxyI7HHntMBQoU0Jw5c2QYhubMmWO1/dvrk6RXX33Vann//v0lyXIcZhyvL7/8smW8Jalfv36Z+pw3b54aNGig/PnzW52XTZs2VXp6utatW5ftfQGAf4pbzQEATlO7dm2bk6sdOHBAktSkSRObrwsMDLT8fO7cOcXHx2vOnDk6deqUVbuLFy/asdr/c/vt3AcOHJBhGCpdurTN9tm5NdcWHx8fhYSEWC0LCgpSkSJFrEJHxnJbQez2mgICAhQREWH5PPDRo0cl3Qrvf+fl5aUSJUpY1mcoXLhwjibuMpvNGjdunD799FMdPnxY6enplnUFCxbM1L5o0aJWzzPCX8a+HTp0SNKdZ78/ePCgDMPQ22+/rbfffttmm1OnTqlw4cLZ3o/s1Pf349IWd3d3NW3aNMfb/Dtvb2+9++676t+/v8LCwvTwww+rdevW6tq1q8LDw7N83dGjR1W6dGmrP65IUvny5S3r/+5u45Adnp6eeuqppzRr1izVrl1bx48fV6dOnbKsz83NTaVKlbJaHh4eruDgYEt9Gf+9/bgOCQmx+kOBdOu83LlzZ6ZzKMPt/14AgCMRvAEALidj4qMZM2bYDBN//5qnDh06aOPGjRo4cKCqVaumgIAAmc1mNW/ePFsTKN0eYDP8PSDe7u9X2TPqNZlMWrZsmc1JowICAu5ahy22+rrTcuP/f97ckW7f97sZNWqU3n77bfXo0UPDhw9XgQIF5Obmpn79+tkcH3vsW0a/AwYMUExMjM02twe87HLUe5+T47Bfv35q06aNFi9erBUrVujtt9/W6NGj9d///lfVq1f/R3VksNd+durUSZ999pmGDRumqlWrqkKFCndsn9X7kBtms1nNmjXToEGDbK4vU6aM3bYFAHdD8AYAuJySJUtKkkJDQ+94hfD8+fNatWqV4uPjNWTIEMvyjCvmf5fV/9BnXCW7fQbv268A3q1ewzBUvHhxl/uf+QMHDqhx48aW5ykpKUpOTlbLli0lSdHR0ZKkffv2qUSJEpZ2N27c0OHDh7N9hTar93f+/Plq3LixpkyZYrX8woULVl8zlV0Zx8bu3buzrC1jPzw9Pf/xFeZ7JafHYcmSJdW/f3/1799fBw4cULVq1TR27Fh9/fXXNttHR0dr586dMpvNVle9f//9d8t6R3jkkUdUtGhRrVmz5o4T0EVHR8tsNuvAgQOWq/CSdPLkSV24cMFSX8Z/Dxw4YHW8nj59OtPV+JIlSyolJSXPHAMA7m98xhsA4HJiYmIUGBioUaNG6ebNm5nWZ8xEnnFV7varcLZmK874ru3bg01gYKAKFSqU6fOen376abbrbd++vdzd3RUfH5+pFsMwrL7a7F77/PPPrd7DSZMmKS0tTS1atJAkNW3aVF5eXho/frxV7VOmTNHFixfVqlWrbG3H398/03sr3Rqj29+TefPm5foz1jVq1FDx4sX18ccfZ9pexnZCQ0PVqFEjTZ48WcnJyZn6yM1M9o4WHR0td3f3ux6HV69e1fXr162WlSxZUvny5cv0tVt/17JlS504cULffPONZVlaWpomTJiggIAANWzY0A57kZnJZNL48eM1dOhQdenS5Y71SZnP3Q8//FCSLMdh06ZN5enpqQkTJlgdV7bO+Q4dOuiXX37RihUrMq27cOGC0tLScro7AJBrXPEGALicwMBATZo0SV26dFGNGjXUsWNHhYSE6NixY/r+++9Vv359TZw4UYGBgZav2rp586YKFy6sH3/8UYcPH87U50MPPSRJevPNN9WxY0d5enqqTZs28vf3V69evTRmzBj16tVLNWvW1Lp167R///5s11uyZEmNGDFCr7/+uo4cOaJ27dopX758Onz4sBYtWqRnn31WAwYMsNv7kxM3btzQo48+qg4dOmjfvn369NNP9cgjj+jf//63pFufjX399dcVHx+v5s2b69///relXa1atfTMM89kazsPPfSQJk2apBEjRqhUqVIKDQ1VkyZN1Lp1a73zzjvq3r276tWrp127dmnmzJlWVytzws3NTZMmTVKbNm1UrVo1de/eXREREfr999+1Z88eS8j65JNP9Mgjj6hy5crq3bu3SpQooZMnT+qXX37Rn3/+mel7xJ0tKChITz31lCZMmCCTyaSSJUtq6dKl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RIQKFiyol156STdv3rxjzSaTSeHh4YqIiFC9evXUs2dPbd68WZcuXbK0ee2111SmTBn5+fmpRIkSevvtty39JiQkKD4+Xjt27LBcPU9ISLD0/fdbzXft2qUmTZrI19dXBQsW1LPPPquUlJQcvMMAAAAAgDu5r4P3hQsX1KRJE1WvXl2//fabli9frpMnT6pDhw5W7aZPny5/f39t2rRJ7733nt555x2tXLlSkpSenq527drJz89PmzZt0ueff64333zT6vWbN2+WJP30009KTk7WwoULLetWr16tQ4cOafXq1Zo+fboSEhIsITg7Tp06pUWLFsnd3V3u7v/3Oep8+fIpISFBe/fu1bhx4/TFF1/oo48+kiQ9/fTT6t+/vypWrKjk5GQlJyfr6aefztT3lStXFBMTo/z582vLli2aN2+efvrpJ/Xp0yfLelJTU3Xp0iWrBwAAAAAgax7OLsCRJk6cqOrVq2vUqFGWZVOnTlVUVJT279+vMmXKSJKqVKmioUOHSpJKly6tiRMnatWqVWrWrJlWrlypQ4cOac2aNQoPD5ckjRw5Us2aNbP0GRISIkkqWLCgpU2G/Pnza+LEiXJ3d1e5cuXUqlUrrVq1Sr17986y7osXLyogIECGYejq1auSpL59+8rf39/S5q233rL8XKxYMQ0YMEBz5szRoEGD5Ovrq4CAAHl4eGSq5+9mzZql69ev66uvvrL0PXHiRLVp00bvvvuuwsLCMr1m9OjRio+Pz7JPAAAAAIC1+zp479ixQ6tXr1ZAQECmdYcOHbIK3n8XERGhU6dOSZL27dunqKgoqwBbu3btbNdQsWJFqyvVERER2rVr1x1fky9fPm3btk03b97UsmXLNHPmTI0cOdKqzTfffKPx48fr0KFDSklJUVpamgIDA7NdlyQlJSWpatWqVoG+fv36MpvN2rdvn83g/frrr+vVV1+1PL906ZKioqLk7sOs5gAAAABgy30dvFNSUixXb28XERFh+dnT09NqnclkktlstksNuenbzc1NpUqVkiSVL19ehw4d0gsvvKAZM2ZIkn755Rd17txZ8fHxiomJUVBQkObMmaOxY8fapeY78fb2tj05m+HwTQMAAABAnnRfB+8aNWpowYIFKlasmDw8crerZcuW1fHjx3Xy5EnLFeAtW7ZYtfHy8pJ06/PgjjB48GCVLFlS//nPf1Sj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guzWZ6FChdS1a1cNHTrUbn0CAAAAAG65b654G4ahtLTc3+48fvx4de/eXW5u1m/JO++8o+TkZB07dkwzZ87UunXr1Ldv339abq55eXkpPDxcJpPJrv12795dM2fO1Llz5+zaLwAAAAA86HIdvJcvX65HHnlEwcHBKliwoFq3bq1Dhw5Ztfnzzz8VGxurAgUKyN/fXzVr1tSmTZss67/77jvVqlVLPj4+KlSokB5//HHLuhkzZqhmzZrKly+fwsPD1alTJ506dcqyPuOW62XLlumhhx6St7e3fv75Z125ckVdu3ZVQECAIiIiNHbs2Lvuy+nTp/Xf//5Xbdq0ybQuY/uFCxdW48aN1a1bN23bts2y/uzZs4qNjVXhwoXl5+enypUra/bs2VZ9zJ8/X5UrV5avr68KFiyopk2b6sqVK5b1X375pcqXLy8fHx+VK1dOn376aZa13n6reUJCgoKDg7VixQqVL19eAQEBat68uZKTk61ed7dtVKxYUZGRkVq0aNFd3y9b3Lzvm7/hAAAAAIBd5TotXblyRa+++qp+++03rVq1Sm5ubnr88cdlNt/6sG9KSooaNmyov/76S0uWLNGOHTs0aNAgy/rvv/9ejz/+uFq2bKnt27dr1apVql27tqX/mzdvavjw4dqxY4cWL16sI0eOKC4uLlMdgwcP1pgxY5SUlKQqVapo4MCBWrt2rb799lv9+OOPWrNmjVVQtuXnn3+Wn5+fypcvf8d2f/31l7777jvVqVPHsuz69et66KGH9P3332v37t169tln1aVLF23evFmSlJycrNjYWPXo0UNJSUlas2aN2rdvL8MwJEkzZ87UkCFDNHLkSCUlJWnUqFF6++23NX369LsPwv939epVffDBB5oxY4bWrVunY8eOacCAAZb12d1G7dq1tX79+jtuKzU1VZcuXbJ6SMp0pwAAAAAA4BaP3L7wiSeesHo+depUhYSEaO/evapUqZJmzZql06dPa8uWLSpQoIAkqVSpUpb2I0eOVMeOHRUfH29ZVrVqVcvPPXr0sPxcokQJjR8/XrVq1VJKSooCAgIs69555x01a9ZM0q2wP2XKFH399dd69NFHJUnTp09XkSJF7rgvR48eVVhYmM3w+Nprr+mtt95Senq6rl+/rjp16ujDDz+0rC9cuLBVyH355Ze1YsUKzZ07V7Vr11ZycrLS0tLUvn17RUdHS5IqV65saT906FCNHTtW7du3lyQVL15ce/fu1eTJk9WtW7c71p3h5s2b+uyzz1SyZElJUp8+ffTOO+/keBuRkZHavn37Hbc1evRoqzHLkHYtTR5+uT6cAAAAAOC+levLlAcOHFBsbKxKlCihwMBAFStWTJJ07NgxSVJiYqKqV69uCd23S0xMtIRjW7Zu3ao2bdqoaNGiypcvnxo2bGjVf4aaNWtafj506JBu3LhhdUW6QIECKlu27B335dq1a/Lx8bG5buDAgUpMTNTOnTu1atUqSVKrVq2Unp4uSUpPT9fw4cNVuXJlFShQQAEBAVqxYoWlzqpVq+rRRx9V5cqV9dRTT+mLL76wTM525coVHTp0SD179lRAQIDlMWLEiEy37d+Jn5+fJXRLUkREhOW2/Jxsw9fXV1evXr3jtl5//XVdvHjR8jh+/Hi26wQAAACAB1GuL1G2adNG0dHR+uKLLxQZGSmz2axKlSrpxo0bkm6FuDu50/orV64oJiZGMTExmjlzpkJCQnTs2DHFxMRY+s/g7++f212wKFSoUJYzlRcqVMhypb506dL6+OOPVbduXa1evVpNmzbV+++/r3Hjxunjjz9W5cqV5e/vr379+lnqdHd318qVK7Vx40b9+OOPmjBhgt58801t2rRJfn5+kqQvvvjC6o8FGa/LLk9PT6vnJpPJcit7SkpKtrdx7tw5hYSE3HFb3t7e8vb2znZtAAAAAPCgy9UV77Nnz2rfvn1666239Oijj6p8+fKZgmuVKlWUmJiY5SzZVapUsVxBvt3vv/+us2fPasyYMWrQoIHKlStnNbFaVkqWLClPT0+rCdzOnz+v/fv33/F11atX14kTJ7L1NWEZYfXatWuSpA0bNqht27Z65plnVLVqVZUoUSLT9kwmk+rXr6/4+Hht375dXl5eWrRokcLCwhQZGak//vhDpUqVsnoUL178rrVkR062sXv3blWvXt0u2wUAAAAA3JKrK9758+dXwYIF9fnnnysiIkLHjh3T4MGDrdrExsZq1KhRateunUaPHq2IiAht375dkZGRqlu3roYOHapHH31UJUuWVMeOHZWWlqYffvhBr732mooWLSovLy9NmDBBzz//vHbv3q3hw4ffta6AgAD17NlTAwcOVMGCBRUaGqo333zzrhN/Va9eXYUKFdKGDRvUunVrq3WXL1/W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pqZa/fHh0qVLWbYFAAAAALjwFe9vvvlGiYmJVo/sMIxb3yf99zD8d9euXZO3t3em9S+99JJOnDihmTNnqm7dupo3b54qVqyolStXSpJ8fHzUpUsXTZ06VZK0bds27d69W3FxcVb9VKlSxfJzRhg+derUHWs+efKkevfurdKlSysoKEiBgYFKSUnRsWPHJEmJiYkqUqSIJTDnRnb78PX11dWrV7NcP3r0aAUFBVkeUVFRua4JAAAAAB4ELhu8o6KiVKpUKatHdiQlJSkwMNBqIra/K1SokK5evaobN25kWpcvXz61adNGI0eO1I4dO9SgQQONGDHCsr5Xr15auXKl/vzzT02bNk1NmjRRdHS0VR9//xy6dCt83+0rurp166bExESNGzdOGzduVGJiogoWLGip0dfXN1v7fifZ7ePcuXN3nJTt9ddf18WLFy2P48ePS5LcvFz2UAIAAAAAp7qv0tKpU6c0a9YstWvXLtNt6hmqVasmSdq7d+8d+zKZTCpXrpyuXLliWVa5cmXVrFlTX3zxhWbNmqUePXrkqD4vLy9JyvQ58g0bNqhv375q2bKlKlasKG9vb8vs7tKtq+h//vmn9u/fn2W/WX02Pbt9SNL169d16NAhVa9ePcs23t7eCgwMtHpIkpv7fXUoAQAAAIDduGxaOnv2rE6cOGH1uH79umW9YRg6ceKEkpOTlZSUpKlTp6pevXoKCgrSmDFjsuw3JCRENWrU0M8//2xZlpiYqLZt22r+/Pnau3evDh48qClTpmjq1Klq27at1et79eqlMWPGyDAMPf744znap9DQUPn6+mr58uU6efKk5TvHS5curRkzZigpKUmbNm1S586dra5QN2zYUP/617/0xBNPaOXKlTp8+LCWLVum5cuXS7o1e3lKSopWrVqlM2fO2LxV/G59SNKvv/4qb29v1a1bN0f7JTGrOQAAAABkxWWDd9OmTRUREWH1WLx4sWX9pUuXFBERocKFC6tu3bqaPHmyunXrpu3btysiIuKOfffq1UszZ860PC9SpIiKFSum+Ph41alTRzVq1NC4ceMUHx+vN9980+q1sbGx8vDwUGxsrHx8fHK0Tx4eHho/frwmT56syMhIS6ifMmWKzp8/rxo1aqhLly7q27dvponhFixYoFq1aik2NlYVKlTQoEGDLFe569Wrp+eff15PP/20QkJC9N57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hgyxOUN5VgoUKKBff/1VzzzzjEaMGKHq1aurQYMGmj17tt5//30FBQVJkqZNm6aHHnpIrVu3Vt26dWUYhn744QfLrbP2qCUrCxYsUK1atRQbG6sKFSpo0KBBWV59jImJ0dKlS/Xjjz+qVq1aevjhh/XRRx8pOjo629srXLiw4uPjNXjwYIWFhd3xjwe9evWyeduzPfj5+em1115Tp06dVL9+fQUEBOibb76xrP/www+VP39+1atXT23atFFMTIxq1Khh1cekSZP05JNP6sUXX1S5cuXUu3dvy1e8ZXc/a9Sooblz52rOnDmqVKmShgwZonfeeeeOXz/mKH5+flq3bp2KFi2q9u3bq3z58urZs6euX79uOd/69++vLl26qFu3bqpbt67y5cunxx9//I792uN9uts5kl1z5sxR7969c/QaALA3k5HdmWAAAAAc7Nq1aypbtqy++eabTJPf/RMJCQnq16/fHa/U4v6zbNky9e/fXzt37szWrfcA4Chc8QYAAC7D19dXX331lc6cOePsUnAfuHLliqZNm0boBuB0/CsEAABcSqNGjZxdAu4TTz75pLNLAABJ3GoOAAAAAIBDcas5AAAAAAAORPAGAAAAAMCBCN4AAAAAADgQwRsAAAAAAAcieAMAAAAA4EAEbwAAAAAAHIjgDQAAAACAAxG8AQAAAABwIII3AAAAAAAO9P8A1fkaT3aBgWgAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1000x500 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Feature Importance Summary:\n",
|
|
"================================================================================\n",
|
|
"BERT (Semantic) : +1.7775 ↑ Increases paraphrase likelihood\n",
|
|
"TED (Syntactic) : +0.2371 ↑ Increases paraphrase likelihood\n",
|
|
"Jaccard (Baseline) : +0.9941 ↑ Increases paraphrase likelihood\n",
|
|
"Length Ratio : +0.0367 ↑ Increases paraphrase likelihood\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure(figsize=(10, 5))\n",
|
|
"feature_names = ['BERT (Semantic)', 'TED (Syntactic)', 'Jaccard (Baseline)', 'Length Ratio']\n",
|
|
"coefficients = model.coef_[0]\n",
|
|
"colors = ['green' if c > 0 else 'red' for c in coefficients]\n",
|
|
"\n",
|
|
"plt.barh(feature_names, coefficients, color=colors, alpha=0.7)\n",
|
|
"plt.xlabel('Model Coefficient (Impact on Prediction)')\n",
|
|
"plt.title('Feature Importance in Fusion Model')\n",
|
|
"plt.axvline(x=0, color='black', linestyle='--', linewidth=0.8)\n",
|
|
"plt.grid(axis='x', alpha=0.3)\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"print(\"Feature Importance Summary:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"for name, coef in zip(feature_names, coefficients):\n",
|
|
" direction = \"↑ Increases paraphrase likelihood\" if coef > 0 else \"↓ Decreases paraphrase likelihood\"\n",
|
|
" print(f\"{name:<25}: {coef:+.4f} {direction}\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "45112ea7",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Ablation Study\n",
|
|
"Comparing performance when removing individual features, evaluate importance of each"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"id": "611b74f9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Ablation Study Results:\n",
|
|
"================================================================================\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>Model</th>\n",
|
|
" <th>F1-Score</th>\n",
|
|
" <th>Precision</th>\n",
|
|
" <th>Recall</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>Full (All Features)</td>\n",
|
|
" <td>0.8</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>0.667</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>Without bert</td>\n",
|
|
" <td>0.4</td>\n",
|
|
" <td>0.5</td>\n",
|
|
" <td>0.333</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>Without ted</td>\n",
|
|
" <td>0.8</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>0.667</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>Without jaccard</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>1.000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>Without len_ratio</td>\n",
|
|
" <td>0.8</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>0.667</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Model F1-Score Precision Recall\n",
|
|
"0 Full (All Features) 0.8 1.0 0.667\n",
|
|
"1 Without bert 0.4 0.5 0.333\n",
|
|
"2 Without ted 0.8 1.0 0.667\n",
|
|
"3 Without jaccard 1.0 1.0 1.000\n",
|
|
"4 Without len_ratio 0.8 1.0 0.667"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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Fy5cqGTJkqlHjx76/vvvVbBgQQ0ePFh9+/aN9rN58OCBKleurPz582vixInKmTOn+vTpo82bN5vrhIeHq3r16ho2bJgKFiyoiRMnqmvXrnr06JFOnTplrteuXTv16tVLJUuW1Pfff6+WLVtq6dKlqlSpksW5//zzz8qVK5d+/vnnWP3+/vjjD50/f16NGzeWk5OT6tatq6VLl760fsOGDRUUFKTRo0eratWqmjx5stq2bfvKY1y8eFFr165V9erVNWnSJPXq1UsnT55UmTJldPPmTUlSrly5NHz4cElS27ZttWTJEi1ZskSlS5eOcZ9v8pmRpH379qljx4764osvNG7cOAUFBalevXq6d+/eK2PPnDmzwsPDtWTJklfWGzBggAoUKCB3d3dz7G/zOZs3b57atWuntGnTaty4cSpZsqRq1qypa9eumeskS5ZMderU0YoVK6J92fPjjz/KMAx9+eWXb3xsAEhwDABAgrNgwQJDkvHnn38aU6dONZInT248ffrUMAzDaNCggVGuXDnDMAwjc+bMRrVq1czbrV271pBkfPvttxb7q1+/vmEymYzz588bhmEYx44dMyQZHTt2tKjXpEkTQ5IxZMgQc1nr1q2NdOnSGf7+/hZ1v/jiCyNFihTmuC5dumRIMhYsWPDKc9u1a5chyZg/f75x9+5d4+bNm8bGjRsNb29vw2QyGX/++acREBBgpEyZ0mjTpo3Ftrdu3TJSpEhhUd68eXNDktG3b99oxxoyZIghybh796657M6dO4aTk5NRsWJFIzw83Fw+depUc1yRypQpY0gyZs6cabHfyHP18PAwHj58aC7v16+fIcnInz+/ERoaai5v3Lix4eTkZAQFBZnLIn9uUbVr185wdXW1qBcZw+LFi81lwcHBRtq0aY169eqZy+bPn29IMiZNmhRtvxEREYZhGMZvv/1mSDKWLl1q8f6WLVuilUe2wdf9PiP5+voamTJlMh/r119/NSQZR48etagX+TupWbOmRXnHjh0NScbx48fNZZkzZzaaN29ufh0UFGTxOzOM578LZ2dnY/jw4eayP//886WxN2/e3MicObP5dWw/M4ZhGJIMJycni7Ljx48bkowpU6bE/IP5/27dumV4eHgYkoycOXMa7du3N5YtW2bRfiJVq1bNIsZIkb+TS5cuWZRHfqZ27dplGIZhhISEGJ6enkaB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M4P44PTp0ypdurSaN2+us2fPysfHR61btzYn3KGhoWrYsKH69++vkSNHknAjToq83j558kTBwcGys7PTjh079O+//yplypQqU6aMDhw4oIIFC6patWqaPn26JOn+/fvatWuXjh07xjUbcV7UZHnJkiXq1q2bBg4cqLVr10qSqlatqq5duypZsmRq1aqVzp07Z+7ti5qEkHAjLsuYMaMyZMiggIAApUyZUuvWrZMkJUmSREFBQZKkgwcPKl26dKpUqZLOnDljsT0Jd/zBlSiRe/HG6/Lly/rmm2/k4eGhUaNGadKkSdq8ebMKFSqkmzdvysXFRRUqVNDw4cO1dOlS8z74Rw3xwdmzZ+Xs7Kzw8HBVrFhRPj4+mj17tiRp2bJl8vPzkyTVq1dPmTNntmGkwMvZ2dnpxo0bKliwoA4fPqwff/xRFSpU0NGjRyVJH330kUaOHKns2bNrwoQJ5p6/CRMm6MCBA/r888+5ZiPOi2yjffr0Ub9+/XTr1i1dvHhRnTt31syZMyVJNWvWVKdOneTm5qbq1avr2rVrJCGI8yIHGUfegxcvXlz79u1T69atNWvWLI0ePVrS88eHhYeHS5L27dunFi1aRHucGOIPJgAkYlGT5eXLl6t+/fry9/fX3bt3NXXqVE2YMEHLli1ThQoVFBYWpilTpihjxozq1KmTvL29JYkVnREnvWy4Vb169dSkSROlSJFCzZs317Rp08z/+B08eFD+/v568uSJkiVL9r5DBt5IhgwZlC1bNtWsWVMPHjzQ3Llzzc+Q7927t27evKnFixere/fuSpEihfz9/bV+/Xrt2rXLfP0G4rq5c+dq5cqVWr16tYoWLarFixdr1apV6t69uwICAtSrVy/VrFlTQUFB+v3335U+fXpbhwy8UtR774CAALm5uSl79uyyt7eXu7u7goODtWjRItnb26t3796yt7fXsGHD1LRpU02bNk1SzIseI+4j6U6kon7ov/rqK125ckXlypVTxYoVNW/ePF25ckWrVq1SpUqVJEnXrl3T7t27zauUR+IbZcQlkcl25P8vXryoe/fuKVOmTHJzc1OBAgVUqVIlbdmyxTyn9datW5o6dapWrFihPXv2kHAjzou84erbt69Kly6t5MmTK2vWrAoJCTFPifDz89MHH3yg48eP648//lDBggW1f/9+8wq5QFwXHBysCxcuqHPn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DEDfsomIiMiPb/78+XzyySfs37+fqqoqMjIyCA0Nvd9lidxTfn4+wcHBVFVVERgYyJAhQxg9ejR9+/ZlypQpFBQUkJKSQt++fQGoqKggLS2NmJgYfZEk/9OsJnTfHrhfeeUVNm3axN69e+nTpw8ApaWlJCYmcurUKcLCwpgyZYr52IiICM6dO8ewYcOYO3fufalfRERErNvtX/YfPXqUv/3tb+zZs4ecnBwFEmmzNO2diBV1L7/1op09ezYbNmzg0KFD5sBdW1uLYRjEx8fTq1cvNm3aRGpqKtAwqNrly5eJjY01B24r+Z5CRERE2hAbGxvzZ5CAgACWLl3KRx99hK2tLbW1tfe5OpGmado7ESsK3QB79uxh9erVjB07Fm9vbwCqq6sZPHgwqampdOnShXnz5uHn50dSUhK9evUiMDCQuro6goODgbsPvCYiIiLS2pr6DGIYhgKJtEma9k6kgdV0L4eGq9bx8fHk5+fz29/+lujoaAYOHIirqyvp6el06NABgEuXLnHixAn2799P165dmTZtGqDALSIiIiLSXJr2TqSBVYVugP/85z8sW7aMo0ePUlZWhr+/Pzt27DC/sO8WrDVomoiIiIjId6dp78TaWV2K9PDwYP78+QwcOBAnJycGDBhgfkHX1dVZzN99OwVuEREREZHvTtPeibWzuivdt1y4cIH4+Hhyc3N57rnnmD17NtAQvNu1a3efqxMRERER+WnStHdibaw2dMP/dzU/fvw4ISEh5uAtIiIiIiItS9PeibWy6tANDcE7ISGBnTt3snr1avMo5SIiIiIi0rLuNn6S7uGWnzKrD93QMH/gP//5T8aPH3+/SxERERERsSqaIUh+6hS676AXvYiIiIiIiLQUDcl9BwVuERERERERaSkK3SIiIiIiIiKtRKFbREREREREpJUodIuIiIiIiIi0EoVuERERERERkVai0C0iIiIiIiLSShS6RURERERERFqJQreIiMiPYN++fZhMJiorK5t9jJeXF8nJya1W03e1ePFiunTpgslkIjMzk/DwcEJDQ+93Wd/q+zzvIiIiLUmhW0RErF54eDgmk4moqKhG26ZNm4bJZCI8PPzHL6wZrl27xvz58/nFL36Bo6MjHh4eDB8+nIyMDAzDaLHzFBYWsmTJEv7yl79QXl7OqFGjSElJYf369S12jh9q6NChxMbGWqwb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rl+/zqOPPkpISAiRkZEcOHCAkydPMm7cOLp169aom/UP4erqSlhYGHFxcXz44Yd8+umnREREWIx2DjBs2DBSU1M5ceIEx44dIyoqqlnTgT366KPs2bOHQ4cOUVhYyMsvv8yFCxcs9vHy8uLIkSOUlZVx+fLlJq9Mv/rqq+zdu5fXXnuN4uJiNmzYQGpqqnnQOBERkZam0C0iInKHDh060KFDh7tuT0xM5IUXXmD8+PH4+fnx2WefsXv3bjp27Ag0dA9PT08nMzOTPn368Oc//5mEhASLNp544gmys7MpLi4mMDCQfv36sWjRoiZHIr+bBx54gMOHDzNu3Dji4+Pp168fgYGBvPPOO6xYsQI3NzcA0tLS8Pf355lnnmHQoEEYhkFWVtb3nvv6bl5//XUGDRrEM888w/DhwxkyZAg+Pj44Ojqa90lKSsLT05PAwEBeeuklZs6c2az7shcsWICfnx9BQUEMHToUDw8Pi+nKoGGU9Xbt2uHr60unTp04d+5co3b8/PzYtm0bW7du5fHHH2fRokUsXbqU8PDwH/rwRUREmmQyWuOGLREREbF6X331Fd26dSMpKcncC0BERMTaaCA1ERERaREnTpzg9OnTBAQEUFVVxdKlSwFatBu7iIjI/xqFbhEREWkxK1eupKioCHt7e/z9/cnJyWk07ZqIiIg1UfdyERERERERkVaigdREREREREREWolCt4iIiIiIiEgrUegWERERERERaSUK3SIiIiIiIiKtRKFbREREREREpJUodIuIiIiIiIi0EoVuERERERERkVai0C0iIiIiIiLSShS6RURERERERFrJ/wEQ8WEFT+CmIwAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 1000x500 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"from sklearn.metrics import f1_score, precision_score, recall_score\n",
|
|
"\n",
|
|
"ablation_results = []\n",
|
|
"\n",
|
|
"# Full model\n",
|
|
"full_pred = model.predict(X_test)\n",
|
|
"full_score = f1_score(y_test, full_pred)\n",
|
|
"ablation_results.append({\n",
|
|
" 'Model': 'Full (All Features)',\n",
|
|
" 'F1-Score': full_score,\n",
|
|
" 'Precision': precision_score(y_test, full_pred),\n",
|
|
" 'Recall': recall_score(y_test, full_pred)\n",
|
|
"})\n",
|
|
"\n",
|
|
"# Remove each feature one at a time\n",
|
|
"feature_idx_map = {'bert': 0, 'ted': 1, 'jaccard': 2, 'len_ratio': 3}\n",
|
|
"\n",
|
|
"for feature_name, idx in feature_idx_map.items():\n",
|
|
" # Create feature set without this feature\n",
|
|
" mask = np.ones(X_scaled.shape[1], dtype=bool)\n",
|
|
" mask[idx] = False\n",
|
|
" X_ablated = X_scaled[:, mask]\n",
|
|
" \n",
|
|
" # Train and test\n",
|
|
" X_train_abl, X_test_abl, _, _ = train_test_split(X_ablated, y, test_size=0.2, random_state=42)\n",
|
|
" model_abl = LogisticRegression(random_state=42, max_iter=1000)\n",
|
|
" model_abl.fit(X_train_abl, y_train)\n",
|
|
" \n",
|
|
" y_pred_abl = model_abl.predict(X_test_abl)\n",
|
|
" \n",
|
|
" ablation_results.append({\n",
|
|
" 'Model': f'Without {feature_name}',\n",
|
|
" 'F1-Score': f1_score(y_test, y_pred_abl),\n",
|
|
" 'Precision': precision_score(y_test, y_pred_abl),\n",
|
|
" 'Recall': recall_score(y_test, y_pred_abl)\n",
|
|
" })\n",
|
|
"\n",
|
|
"ablation_df = pd.DataFrame(ablation_results)\n",
|
|
"\n",
|
|
"print(\"Ablation Study Results:\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"display(ablation_df.round(3))\n",
|
|
"\n",
|
|
"# Visualization\n",
|
|
"fig, ax = plt.subplots(figsize=(10, 5))\n",
|
|
"ablation_df.set_index('Model')[['F1-Score', 'Precision', 'Recall']].plot(kind='bar', ax=ax, alpha=0.8)\n",
|
|
"ax.set_title('Model Performance: Ablation Study')\n",
|
|
"ax.set_ylabel('Score')\n",
|
|
"ax.set_xlabel('Model Configuration')\n",
|
|
"ax.set_ylim(0, 1)\n",
|
|
"ax.legend(loc='lower left')\n",
|
|
"plt.xticks(rotation=45, ha='right')\n",
|
|
"plt.grid(axis='y', alpha=0.3)\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e7949424",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### Summary"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"id": "53e53eb5",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"FUSION MODEL ANALYSIS SUMMARY\n",
|
|
"================================================================================\n",
|
|
"\n",
|
|
"1. Feature Correlations:\n",
|
|
" - BERT & TED correlation: 0.219\n",
|
|
" → Low = both branches provide independent information ✓\n",
|
|
"\n",
|
|
"2. Feature Importance:\n",
|
|
" - Most important feature: BERT (Semantic)\n",
|
|
" → Coefficient: 1.7775\n",
|
|
"\n",
|
|
"3. Model Performance:\n",
|
|
" - Test Accuracy: 0.833\n",
|
|
" - Test F1-Score: 0.800\n",
|
|
" - ROC AUC: 0.889\n",
|
|
"\n",
|
|
"4. Ablation Insights:\n",
|
|
" - Max performance drop when removing feature: 0.400\n",
|
|
" - All features contribute to model performance ✓\n",
|
|
"\n",
|
|
"5. Recommendations for Next Phase:\n",
|
|
" - Train on full MSRP corpus (35 pairs too small)\n",
|
|
" - Experiment with SVM or Random Forest for non-linear relationships\n",
|
|
" - Optimize threshold for precision vs. recall trade-off\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"FUSION MODEL ANALYSIS SUMMARY\")\n",
|
|
"print(\"=\" * 80)\n",
|
|
"\n",
|
|
"print(\"\\n1. Feature Correlations:\")\n",
|
|
"print(f\" - BERT & TED correlation: {feature_corr.loc['bert', 'ted']:.3f}\")\n",
|
|
"print(f\" → Low = both branches provide independent information ✓\")\n",
|
|
"\n",
|
|
"print(\"\\n2. Feature Importance:\")\n",
|
|
"most_important = feature_names[np.argmax(np.abs(model.coef_[0]))]\n",
|
|
"print(f\" - Most important feature: {most_important}\")\n",
|
|
"print(f\" → Coefficient: {np.max(np.abs(model.coef_[0])):.4f}\")\n",
|
|
"\n",
|
|
"print(\"\\n3. Model Performance:\")\n",
|
|
"print(f\" - Test Accuracy: {model.score(X_test, y_test):.3f}\")\n",
|
|
"print(f\" - Test F1-Score: {f1_score(y_test, y_pred):.3f}\")\n",
|
|
"print(f\" - ROC AUC: {auc_score:.3f}\")\n",
|
|
"\n",
|
|
"print(\"\\n4. Ablation Insights:\")\n",
|
|
"performance_drop = ablation_df.iloc[0]['F1-Score'] - ablation_df['F1-Score'].iloc[1:].min()\n",
|
|
"print(f\" - Max performance drop when removing feature: {performance_drop:.3f}\")\n",
|
|
"print(f\" - All features contribute to model performance ✓\")\n",
|
|
"\n",
|
|
"print(\"\\n5. Recommendations for Next Phase:\")\n",
|
|
"print(\" - Train on full MSRP corpus (35 pairs too small)\")\n",
|
|
"print(\" - Experiment with SVM or Random Forest for non-linear relationships\")\n",
|
|
"print(\" - Optimize threshold for precision vs. recall trade-off\")"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": ".venv",
|
|
"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.13.12"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|