Compare commits

..

2 Commits

Author SHA1 Message Date
Adam Stelmaszyk
e343070e32 finished second 2 ipynb 2024-04-13 14:23:30 +02:00
Adam Stelmaszyk
22d22f8f7f first task 2024-04-13 13:33:54 +02:00
2 changed files with 210 additions and 56 deletions

View File

@ -52,7 +52,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"id": "narrow-romantic",
"metadata": {},
"outputs": [],
@ -71,7 +71,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 3,
"id": "indonesian-electron",
"metadata": {},
"outputs": [],
@ -82,7 +82,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 4,
"id": "compact-trinidad",
"metadata": {},
"outputs": [
@ -92,7 +92,7 @@
"['Press the ENTER button']"
]
},
"execution_count": 3,
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
@ -119,7 +119,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 5,
"id": "exposed-daniel",
"metadata": {},
"outputs": [],
@ -139,7 +139,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 6,
"id": "serial-velvet",
"metadata": {},
"outputs": [
@ -149,7 +149,7 @@
"['Press the ENTER button', 'Press the ENTER key']"
]
},
"execution_count": 5,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@ -176,7 +176,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 9,
"id": "every-gibson",
"metadata": {},
"outputs": [
@ -186,7 +186,7 @@
"[]"
]
},
"execution_count": 6,
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
@ -213,13 +213,26 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 11,
"id": "protected-rings",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"['Press the ENTER button', 'Press the ENTER key']"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def tm_lookup(sentence):\n",
" return ''"
" return [entry[1] for entry in translation_memory if entry[0].lower() == sentence.lower()]\n",
"\n",
"tm_lookup('Wciśnij przycisk ENTER')"
]
},
{
@ -232,17 +245,17 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 8,
"id": "severe-alloy",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"''"
"[]"
]
},
"execution_count": 18,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
@ -261,13 +274,29 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 16,
"id": "structural-diesel",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"['Press the ENTER button', 'Press the ENTER key']"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import string\n",
"\n",
"def tm_lookup(sentence):\n",
" return ''"
" sentence = sentence.translate(str.maketrans('', '', string.punctuation))\n",
" return [entry[1] for entry in translation_memory if entry[0].lower() == sentence.lower()]\n",
"\n",
"tm_lookup('Wciśnij przycisk [ENTER]')"
]
},
{
@ -280,17 +309,17 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 17,
"id": "brief-senegal",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"''"
"[]"
]
},
"execution_count": 12,
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
@ -317,13 +346,66 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 26,
"id": "mathematical-customs",
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Suggestion:\n"
]
},
{
"data": {
"text/plain": [
"['System restart required']"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def differenceThanNotBiggerThanOneElement(firstSentence, secondSentence):\n",
" firstSentenceList = firstSentence.lower().split()\n",
" secondSentenceList = secondSentence.lower().split()\n",
"\n",
" diffNumber = 0\n",
"\n",
" for i in range(len(firstSentenceList)):\n",
" if(firstSentenceList[i] != secondSentenceList[i]):\n",
" diffNumber=diffNumber+1\n",
" if(diffNumber > 2):\n",
" return False\n",
"\n",
" return True\n",
"\n",
"def tm_lookup(sentence):\n",
" return ''"
" sentence = sentence.translate(str.maketrans('', '', string.punctuation))\n",
"\n",
" exactMatchList = [entry[1] for entry in translation_memory if entry[0].lower() == sentence.lower()]\n",
"\n",
" if(len(exactMatchList) == 0):\n",
" diffMatchList = [entry[1] for entry in translation_memory if differenceThanNotBiggerThanOneElement(entry[0], sentence)]\n",
"\n",
" if(len(diffMatchList) > 0):\n",
" print('Suggestion:')\n",
" return diffMatchList\n",
"\n",
" else:\n",
" return exactMatchList\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
" \n",
"\n",
"tm_lookup('Wymagane ponowne uruchomienie maszyny')"
]
},
{
@ -344,7 +426,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 27,
"id": "humanitarian-wrong",
"metadata": {},
"outputs": [],
@ -362,7 +444,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 28,
"id": "located-perception",
"metadata": {},
"outputs": [],
@ -374,7 +456,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 29,
"id": "advised-casting",
"metadata": {},
"outputs": [
@ -384,7 +466,7 @@
"[('przycisk', 'button'), ('drukarka', 'printer')]"
]
},
"execution_count": 17,
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
@ -406,7 +488,7 @@
"id": "defensive-fifteen",
"metadata": {},
"source": [
"Odpowiedź:"
"Odpowiedź: O(n * m)"
]
},
{
@ -419,13 +501,27 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 34,
"id": "original-tunisia",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def glossary_lookup(sentence):\n",
" return ''"
" sentence_words = sentence.lower().split()\n",
" return [entry for entry in glossary if entry[0] in sentence_words]\n",
"\n",
"glossary_lookup('Każda Drukarka posiada Przycisk wznowienia drukowania')"
]
},
{
@ -438,13 +534,27 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 35,
"id": "adolescent-semiconductor",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"[('przycisk', 'button'), ('drukarka', 'printer')]"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def glossary_lookup(sentence):\n",
" return ''"
" sentence_words = set(sentence.lower().split())\n",
" return [entry for entry in glossary if entry[0] in sentence_words]\n",
"\n",
"glossary_lookup('Każda Drukarka posiada Przycisk wznowienia drukowania')"
]
}
],
@ -467,7 +577,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.11.7"
},
"subtitle": "1. Podstawowe techniki wspomagania tłumaczenia",
"title": "Komputerowe wspomaganie tłumaczenia",

View File

@ -57,7 +57,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 22,
"id": "confident-prison",
"metadata": {},
"outputs": [],
@ -80,13 +80,44 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 43,
"id": "continental-submission",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"['The printer is switched off',\n",
" 'Check the network settings',\n",
" 'System restart required']"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"def ice_lookup(sentence, prev_sentence, next_sentence):\n",
" return []"
" for index in range(len(translation_memory)):\n",
" if index == 0:\n",
" continue\n",
" elif index + 1 >= len(translation_memory):\n",
" return []\n",
" else:\n",
" middleText = translation_memory[index]\n",
" prevText = translation_memory[index-1]\n",
" nextText = translation_memory[index+1]\n",
" if(sentence == middleText[0] and prev_sentence == prevText[0] and next_sentence == nextText[0]):\n",
" return [middleText[1], prevText[1], nextText[1]]\n",
" \n",
" return []\n",
" \n",
"\n",
" \n",
" \n",
"ice_lookup('Drukarka jest wyłączona','Sprawdź ustawienia sieciowe','Wymagane ponowne uruchomienie komputera') \n"
]
},
{
@ -119,7 +150,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 44,
"id": "fourth-pillow",
"metadata": {},
"outputs": [],
@ -141,7 +172,7 @@
"id": "graduate-theorem",
"metadata": {},
"source": [
"Odpowiedź:"
"Odpowiedź: Tak, Spełnia warunki dla 1,2,3,4, "
]
},
{
@ -179,7 +210,7 @@
"id": "metallic-leave",
"metadata": {},
"source": [
"Odpowiedź:"
"Odpowiedź: Nie, Spełnia dla warunku 3, poniewaz x = 4, y = 4, to wychodzi d(x,y) = 3, a nie 0"
]
},
{
@ -223,7 +254,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 45,
"id": "secondary-wrist",
"metadata": {},
"outputs": [
@ -233,7 +264,7 @@
"2"
]
},
"execution_count": 5,
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
@ -254,7 +285,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 46,
"id": "associate-tuner",
"metadata": {},
"outputs": [],
@ -273,7 +304,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 47,
"id": "focal-pathology",
"metadata": {},
"outputs": [
@ -283,7 +314,7 @@
"0.9166666666666666"
]
},
"execution_count": 7,
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
@ -294,7 +325,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 48,
"id": "roman-ceiling",
"metadata": {},
"outputs": [
@ -304,7 +335,7 @@
"0.9428571428571428"
]
},
"execution_count": 8,
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
@ -315,7 +346,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 49,
"id": "invisible-cambodia",
"metadata": {},
"outputs": [
@ -325,7 +356,7 @@
"0.631578947368421"
]
},
"execution_count": 9,
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
@ -344,13 +375,26 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 51,
"id": "genetic-cradle",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"['Press the ENTER button']"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def fuzzy_lookup(sentence, threshold):\n",
" return []"
" return [entry[1] for entry in translation_memory if levenshtein_similarity(entry[0],sentence ) > threshold]\n",
"\n",
"fuzzy_lookup('Wciśnij przycisk Enter', 0.5)"
]
}
],
@ -373,7 +417,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
"version": "3.11.7"
},
"subtitle": "2. Zaawansowane użycie pamięci tłumaczeń",
"title": "Komputerowe wspomaganie tłumaczenia",