forked from bfijalkowski/KWT-2024
Upload files to "lab"
This commit is contained in:
parent
71ca3b66ed
commit
9a804fe3dd
113
lab/lab_01.ipynb
113
lab/lab_01.ipynb
@ -213,13 +213,34 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 7,
|
"execution_count": 13,
|
||||||
"id": "protected-rings",
|
"id": "protected-rings",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def tm_lookup(sentence):\n",
|
"def tm_lookup(sentence):\n",
|
||||||
" return ''"
|
" return [entry[1].casefold() for entry in translation_memory if entry[0] == sentence]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 14,
|
||||||
|
"id": "99d75100-0f9d-4586-82ef-ab42180472a2",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"['press the enter button', 'press the enter key']"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 14,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"tm_lookup('Wciśnij przycisk Enter')"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -232,17 +253,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 18,
|
"execution_count": 15,
|
||||||
"id": "severe-alloy",
|
"id": "severe-alloy",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"''"
|
"[]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 18,
|
"execution_count": 15,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -261,13 +282,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 11,
|
"execution_count": 16,
|
||||||
"id": "structural-diesel",
|
"id": "structural-diesel",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
|
"import string \n",
|
||||||
|
"\n",
|
||||||
"def tm_lookup(sentence):\n",
|
"def tm_lookup(sentence):\n",
|
||||||
" return ''"
|
" return [entry[1].casefold() for entry in translation_memory if entry[0] == sentence]\n",
|
||||||
|
" translator = str.maketrans('', '', string.punctuation) \n",
|
||||||
|
" return sentence.translate(translator)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -280,17 +305,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 12,
|
"execution_count": 20,
|
||||||
"id": "brief-senegal",
|
"id": "brief-senegal",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"''"
|
"[]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 12,
|
"execution_count": 20,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -317,15 +342,41 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 14,
|
"execution_count": 24,
|
||||||
"id": "mathematical-customs",
|
"id": "mathematical-customs",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def tm_lookup(sentence):\n",
|
"def tm_lookup(sentence):\n",
|
||||||
|
" translator = str.maketrans('', '', string.punctuation)\n",
|
||||||
|
" sentence = sentence.translate(translator).casefold()\n",
|
||||||
|
" for entry in translation_memory:\n",
|
||||||
|
" if any(word in entry[0].casefold() for word in sentence.split()):\n",
|
||||||
|
" return entry[1]\n",
|
||||||
" return ''"
|
" return ''"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 25,
|
||||||
|
"id": "f6537825-62a6-4503-91a5-bbb17d84170b",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"'System restart required'"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 25,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"tm_lookup('Wymagane ponowne uruchomienie maszyny')"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"id": "meaningful-virus",
|
"id": "meaningful-virus",
|
||||||
@ -344,7 +395,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 15,
|
"execution_count": 26,
|
||||||
"id": "humanitarian-wrong",
|
"id": "humanitarian-wrong",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -362,7 +413,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 16,
|
"execution_count": 27,
|
||||||
"id": "located-perception",
|
"id": "located-perception",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -374,7 +425,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 17,
|
"execution_count": 28,
|
||||||
"id": "advised-casting",
|
"id": "advised-casting",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -384,7 +435,7 @@
|
|||||||
"[('przycisk', 'button'), ('drukarka', 'printer')]"
|
"[('przycisk', 'button'), ('drukarka', 'printer')]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 17,
|
"execution_count": 28,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -419,13 +470,35 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 19,
|
"execution_count": 37,
|
||||||
"id": "original-tunisia",
|
"id": "original-tunisia",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def glossary_lookup(sentence):\n",
|
"def glossary_lookup(sentence):\n",
|
||||||
" return ''"
|
" sentence_words = sentence.casefold().split()\n",
|
||||||
|
" return [entry for entry in glossary if entry[0] in sentence_words]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 39,
|
||||||
|
"id": "b3ae5504-4168-4fe0-ad25-60558242a31d",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"[('przycisk', 'button'), ('drukarka', 'printer')]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 39,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"glossary_lookup('Każda Drukarka posiada przycisk wznowienia drukowania')"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -438,7 +511,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 20,
|
"execution_count": 38,
|
||||||
"id": "adolescent-semiconductor",
|
"id": "adolescent-semiconductor",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -452,7 +525,7 @@
|
|||||||
"author": "Rafał Jaworski",
|
"author": "Rafał Jaworski",
|
||||||
"email": "rjawor@amu.edu.pl",
|
"email": "rjawor@amu.edu.pl",
|
||||||
"kernelspec": {
|
"kernelspec": {
|
||||||
"display_name": "Python 3",
|
"display_name": "Python 3 (ipykernel)",
|
||||||
"language": "python",
|
"language": "python",
|
||||||
"name": "python3"
|
"name": "python3"
|
||||||
},
|
},
|
||||||
@ -467,7 +540,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.8.10"
|
"version": "3.10.12"
|
||||||
},
|
},
|
||||||
"subtitle": "1. Podstawowe techniki wspomagania tłumaczenia",
|
"subtitle": "1. Podstawowe techniki wspomagania tłumaczenia",
|
||||||
"title": "Komputerowe wspomaganie tłumaczenia",
|
"title": "Komputerowe wspomaganie tłumaczenia",
|
||||||
|
112
lab/lab_02.ipynb
112
lab/lab_02.ipynb
@ -57,7 +57,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 1,
|
"execution_count": 31,
|
||||||
"id": "confident-prison",
|
"id": "confident-prison",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -80,13 +80,49 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 2,
|
"execution_count": 29,
|
||||||
"id": "continental-submission",
|
"id": "continental-submission",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def ice_lookup(sentence, prev_sentence, next_sentence):\n",
|
"def ice_lookup(sentence, prev_sentence, next_sentence, translation_memory):\n",
|
||||||
" return []"
|
" \n",
|
||||||
|
" ice_previous = \"\"\n",
|
||||||
|
" ice_next = \"\"\n",
|
||||||
|
" \n",
|
||||||
|
" for original, translation in translation_memory:\n",
|
||||||
|
" if sentence == original:\n",
|
||||||
|
" index = translation_memory.index((original, translation))\n",
|
||||||
|
" if index > 0:\n",
|
||||||
|
" ice_previous = translation_memory[index - 1][1]\n",
|
||||||
|
" if index < len(translation_memory) - 1:\n",
|
||||||
|
" ice_next = translation_memory[index + 1][1]\n",
|
||||||
|
" break\n",
|
||||||
|
" \n",
|
||||||
|
" return (ice_previous, ice_next)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 35,
|
||||||
|
"id": "f125ddd2-89fc-4496-93d9-9d640b7f616e",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"prev: Press the ENTER button , next: The printer is switched off\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"sentence = \"Sprawdź ustawienia sieciowe\"\n",
|
||||||
|
"prev_sentence = \"Wciśnij przycisk Enter\"\n",
|
||||||
|
"next_sentence = \"Wymagane ponowne uruchomienie komputera\"\n",
|
||||||
|
"\n",
|
||||||
|
"ice_result = ice_lookup(sentence, prev_sentence, next_sentence, translation_memory)\n",
|
||||||
|
"print('prev: ', ice_result[0], ', next: ', ice_result[1])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -119,7 +155,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 3,
|
"execution_count": 36,
|
||||||
"id": "fourth-pillow",
|
"id": "fourth-pillow",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -141,7 +177,7 @@
|
|||||||
"id": "graduate-theorem",
|
"id": "graduate-theorem",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Odpowiedź:"
|
"Odpowiedź: Funkcja nie jest dobrą funkcją dystansu, gdyż bierze pod uwagaę jedynie różnice w długości zdań."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -154,7 +190,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 4,
|
"execution_count": 56,
|
||||||
"id": "continued-christopher",
|
"id": "continued-christopher",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -179,7 +215,7 @@
|
|||||||
"id": "metallic-leave",
|
"id": "metallic-leave",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Odpowiedź:"
|
"Odpowiedź: Nie jest to dobra funkcja dystansu, gdyż znajduje jedynie fakt, że zdania się mogą między sobą różnić."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -206,7 +242,7 @@
|
|||||||
"id": "bibliographic-stopping",
|
"id": "bibliographic-stopping",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Odpowiedź:"
|
"Odpowiedź: Dystans Lavenshteina jest poprawną funkcją dystansu, opisuje ilość operacji, które należy wykonać, aby porównywane do siebie zdania były takie same (np. zamiana liter, wstawienie innej litery, usunięcie litery, itp)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -223,7 +259,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 5,
|
"execution_count": 62,
|
||||||
"id": "secondary-wrist",
|
"id": "secondary-wrist",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -233,7 +269,7 @@
|
|||||||
"2"
|
"2"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 5,
|
"execution_count": 62,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -254,7 +290,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 6,
|
"execution_count": 63,
|
||||||
"id": "associate-tuner",
|
"id": "associate-tuner",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -273,7 +309,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 7,
|
"execution_count": 64,
|
||||||
"id": "focal-pathology",
|
"id": "focal-pathology",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -283,7 +319,7 @@
|
|||||||
"0.9166666666666666"
|
"0.9166666666666666"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 7,
|
"execution_count": 64,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -294,7 +330,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 8,
|
"execution_count": 65,
|
||||||
"id": "roman-ceiling",
|
"id": "roman-ceiling",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -304,7 +340,7 @@
|
|||||||
"0.9428571428571428"
|
"0.9428571428571428"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 8,
|
"execution_count": 65,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -315,7 +351,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 9,
|
"execution_count": 66,
|
||||||
"id": "invisible-cambodia",
|
"id": "invisible-cambodia",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -325,7 +361,7 @@
|
|||||||
"0.631578947368421"
|
"0.631578947368421"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 9,
|
"execution_count": 66,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@ -344,13 +380,43 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 10,
|
"execution_count": 71,
|
||||||
"id": "genetic-cradle",
|
"id": "genetic-cradle",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def fuzzy_lookup(sentence, threshold):\n",
|
"import difflib\n",
|
||||||
" return []"
|
"\n",
|
||||||
|
"def fuzzy_lookup(sentence, threshold, translation_memory):\n",
|
||||||
|
" fuzzy_matches = []\n",
|
||||||
|
" for original, translation in translation_memory:\n",
|
||||||
|
" similarity = difflib.SequenceMatcher(None, sentence, original).ratio()\n",
|
||||||
|
" if similarity >= threshold:\n",
|
||||||
|
" fuzzy_matches.append((original, translation, similarity))\n",
|
||||||
|
" return fuzzy_matches"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 80,
|
||||||
|
"id": "6bebcb12-8c73-4beb-b4c2-00553d3b375f",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"[('Wciśnij przycisk Enter', 'Press the ENTER button', 0.8636363636363636)]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 80,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"sentence = 'Wcisnij pszycisk ęnter'\n",
|
||||||
|
"threshold = 0.8\n",
|
||||||
|
"fuzzy_lookup(sentence, threshold, translation_memory)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -358,7 +424,7 @@
|
|||||||
"author": "Rafał Jaworski",
|
"author": "Rafał Jaworski",
|
||||||
"email": "rjawor@amu.edu.pl",
|
"email": "rjawor@amu.edu.pl",
|
||||||
"kernelspec": {
|
"kernelspec": {
|
||||||
"display_name": "Python 3",
|
"display_name": "Python 3 (ipykernel)",
|
||||||
"language": "python",
|
"language": "python",
|
||||||
"name": "python3"
|
"name": "python3"
|
||||||
},
|
},
|
||||||
@ -373,7 +439,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.8.10"
|
"version": "3.10.12"
|
||||||
},
|
},
|
||||||
"subtitle": "2. Zaawansowane użycie pamięci tłumaczeń",
|
"subtitle": "2. Zaawansowane użycie pamięci tłumaczeń",
|
||||||
"title": "Komputerowe wspomaganie tłumaczenia",
|
"title": "Komputerowe wspomaganie tłumaczenia",
|
||||||
|
168
lab/lab_03.ipynb
168
lab/lab_03.ipynb
@ -63,7 +63,7 @@
|
|||||||
"id": "diverse-sunglasses",
|
"id": "diverse-sunglasses",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Odpowiedź:"
|
"Odpowiedź: metal cabinets guides. Proz.com"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -128,13 +128,41 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 3,
|
"execution_count": 7,
|
||||||
"id": "cognitive-cedar",
|
"id": "cognitive-cedar",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def terminology_lookup():\n",
|
"import re\n",
|
||||||
" return []"
|
"\n",
|
||||||
|
"def terminology_lookup(text, dictionary):\n",
|
||||||
|
" pattern = re.compile(r'\\b(?:' + '|'.join(dictionary) + r')\\b', re.IGNORECASE)\n",
|
||||||
|
" matches = pattern.finditer(text)\n",
|
||||||
|
" occurance = ''\n",
|
||||||
|
" for match in matches:\n",
|
||||||
|
" occurance += (f\"({match.start()}, {match.end()})\")\n",
|
||||||
|
" return occurance"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 8,
|
||||||
|
"id": "5781b95b-3af9-4c82-8388-b98a11e6c343",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"'(80, 91)(164, 175)(468, 475)(516, 523)(533, 540)'"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 8,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"terminology_lookup(text, dictionary)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -161,7 +189,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 4,
|
"execution_count": 12,
|
||||||
"id": "tribal-attention",
|
"id": "tribal-attention",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
@ -205,7 +233,7 @@
|
|||||||
"IDE\n",
|
"IDE\n",
|
||||||
",\n",
|
",\n",
|
||||||
"see\n",
|
"see\n",
|
||||||
"Running\n",
|
"run\n",
|
||||||
"Tutorial\n",
|
"Tutorial\n",
|
||||||
"Examples\n",
|
"Examples\n",
|
||||||
"in\n",
|
"in\n",
|
||||||
@ -218,7 +246,7 @@
|
|||||||
"work\n",
|
"work\n",
|
||||||
"for\n",
|
"for\n",
|
||||||
"all\n",
|
"all\n",
|
||||||
"swing\n",
|
"Swing\n",
|
||||||
"program\n",
|
"program\n",
|
||||||
"—\n",
|
"—\n",
|
||||||
"applet\n",
|
"applet\n",
|
||||||
@ -232,7 +260,7 @@
|
|||||||
"be\n",
|
"be\n",
|
||||||
"the\n",
|
"the\n",
|
||||||
"step\n",
|
"step\n",
|
||||||
"-PRON-\n",
|
"you\n",
|
||||||
"need\n",
|
"need\n",
|
||||||
"to\n",
|
"to\n",
|
||||||
"follow\n",
|
"follow\n",
|
||||||
@ -248,7 +276,7 @@
|
|||||||
"platform\n",
|
"platform\n",
|
||||||
",\n",
|
",\n",
|
||||||
"if\n",
|
"if\n",
|
||||||
"-PRON-\n",
|
"you\n",
|
||||||
"have\n",
|
"have\n",
|
||||||
"not\n",
|
"not\n",
|
||||||
"already\n",
|
"already\n",
|
||||||
@ -260,7 +288,7 @@
|
|||||||
"program\n",
|
"program\n",
|
||||||
"that\n",
|
"that\n",
|
||||||
"use\n",
|
"use\n",
|
||||||
"Swing\n",
|
"swing\n",
|
||||||
"component\n",
|
"component\n",
|
||||||
".\n",
|
".\n",
|
||||||
"compile\n",
|
"compile\n",
|
||||||
@ -302,13 +330,31 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 5,
|
"execution_count": 19,
|
||||||
"id": "surgical-demonstration",
|
"id": "surgical-demonstration",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def terminology_lookup():\n",
|
"def terminology_lookup(text, dictionary):\n",
|
||||||
" return []"
|
" nlp = spacy.load(\"en_core_web_sm\")\n",
|
||||||
|
" doc = nlp(text)\n",
|
||||||
|
"\n",
|
||||||
|
" word_forms = set()\n",
|
||||||
|
" for word in dictionary:\n",
|
||||||
|
" word_forms.add(word)\n",
|
||||||
|
" for token in doc:\n",
|
||||||
|
" if token.text.lower() == word:\n",
|
||||||
|
" word_forms.add(token.lemma_)\n",
|
||||||
|
"\n",
|
||||||
|
" matches = []\n",
|
||||||
|
" for token in doc:\n",
|
||||||
|
" if token.text.lower() in word_forms:\n",
|
||||||
|
" matches.append((token.idx, token.idx + len(token)))\n",
|
||||||
|
"\n",
|
||||||
|
" occurrences = ''\n",
|
||||||
|
" for match in matches:\n",
|
||||||
|
" occurrences += f\"({match[0]}, {match[1]})\"\n",
|
||||||
|
" return occurrences"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -337,13 +383,59 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 6,
|
"execution_count": 23,
|
||||||
"id": "superb-butterfly",
|
"id": "superb-butterfly",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def get_nouns(text):\n",
|
"def get_nouns(text):\n",
|
||||||
" return []"
|
" nlp = spacy.load(\"en_core_web_sm\")\n",
|
||||||
|
" doc = nlp(text)\n",
|
||||||
|
" nouns = [token.text for token in doc if token.pos_ == \"NOUN\"]\n",
|
||||||
|
" \n",
|
||||||
|
" return nouns"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 24,
|
||||||
|
"id": "8203c3e5-74a6-42c1-add1-e378f09164fd",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"['programmers',\n",
|
||||||
|
" 'section',\n",
|
||||||
|
" 'Swing',\n",
|
||||||
|
" 'application',\n",
|
||||||
|
" 'command',\n",
|
||||||
|
" 'line',\n",
|
||||||
|
" 'information',\n",
|
||||||
|
" 'Swing',\n",
|
||||||
|
" 'application',\n",
|
||||||
|
" 'compilation',\n",
|
||||||
|
" 'instructions',\n",
|
||||||
|
" 'programs',\n",
|
||||||
|
" 'applets',\n",
|
||||||
|
" 'applications',\n",
|
||||||
|
" 'steps',\n",
|
||||||
|
" 'release',\n",
|
||||||
|
" 'platform',\n",
|
||||||
|
" 'program',\n",
|
||||||
|
" 'Swing',\n",
|
||||||
|
" 'components',\n",
|
||||||
|
" 'program',\n",
|
||||||
|
" 'program']"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 24,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"get_nouns(text)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -356,7 +448,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 7,
|
"execution_count": 25,
|
||||||
"id": "acting-tolerance",
|
"id": "acting-tolerance",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
@ -374,13 +466,29 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 8,
|
"execution_count": 30,
|
||||||
"id": "eight-redhead",
|
"id": "eight-redhead",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def extract_terms(text):\n",
|
"def extract_terms(text):\n",
|
||||||
" return []"
|
" nlp = spacy.load(\"en_core_web_sm\")\n",
|
||||||
|
" doc = nlp(text)\n",
|
||||||
|
" \n",
|
||||||
|
" tally = {}\n",
|
||||||
|
" \n",
|
||||||
|
" for token in doc:\n",
|
||||||
|
" if token.pos_ != \"NOUN\":\n",
|
||||||
|
" continue\n",
|
||||||
|
" \n",
|
||||||
|
" lemma = token.lemma_.lower()\n",
|
||||||
|
" \n",
|
||||||
|
" if lemma in tally:\n",
|
||||||
|
" tally[lemma] += 1\n",
|
||||||
|
" else:\n",
|
||||||
|
" tally[lemma] = 1\n",
|
||||||
|
" \n",
|
||||||
|
" return tally"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -393,13 +501,29 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 9,
|
"execution_count": 32,
|
||||||
"id": "monetary-mambo",
|
"id": "monetary-mambo",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"def extract_terms(text):\n",
|
"def extract_terms(text):\n",
|
||||||
" return []"
|
" nlp = spacy.load(\"en_core_web_sm\")\n",
|
||||||
|
" doc = nlp(text)\n",
|
||||||
|
" \n",
|
||||||
|
" tally = {}\n",
|
||||||
|
" \n",
|
||||||
|
" for token in doc:\n",
|
||||||
|
" if token.pos_ not in ['NOUN', 'VERB', 'ADJ']:\n",
|
||||||
|
" continue\n",
|
||||||
|
" \n",
|
||||||
|
" lemma = token.lemma_.lower()\n",
|
||||||
|
" \n",
|
||||||
|
" if lemma in tally:\n",
|
||||||
|
" tally[lemma] += 1\n",
|
||||||
|
" else:\n",
|
||||||
|
" tally[lemma] = 1\n",
|
||||||
|
" \n",
|
||||||
|
" return tally"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -407,7 +531,7 @@
|
|||||||
"author": "Rafał Jaworski",
|
"author": "Rafał Jaworski",
|
||||||
"email": "rjawor@amu.edu.pl",
|
"email": "rjawor@amu.edu.pl",
|
||||||
"kernelspec": {
|
"kernelspec": {
|
||||||
"display_name": "Python 3",
|
"display_name": "Python 3 (ipykernel)",
|
||||||
"language": "python",
|
"language": "python",
|
||||||
"name": "python3"
|
"name": "python3"
|
||||||
},
|
},
|
||||||
@ -422,7 +546,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.8.10"
|
"version": "3.10.12"
|
||||||
},
|
},
|
||||||
"subtitle": "3. Terminologia",
|
"subtitle": "3. Terminologia",
|
||||||
"title": "Komputerowe wspomaganie tłumaczenia",
|
"title": "Komputerowe wspomaganie tłumaczenia",
|
||||||
|
Loading…
Reference in New Issue
Block a user