This commit is contained in:
Filip Gralinski 2022-07-06 08:32:13 +02:00
parent 1e50331206
commit 1340767be9
4 changed files with 28 additions and 13 deletions

View File

@ -1,5 +1,20 @@
{ {
"cells": [ "cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h1> Modelowanie języka</h1>\n",
"<h2> 08. <i>Podobieństwo słów</i> [wykład]</h2> \n",
"<h3> Filip Graliński (2022)</h3>\n",
"</div>\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)\n",
"\n"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
@ -56,7 +71,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"#### Odległość Lewensztajna\n", "#### Odległość Lewensztejna\n",
"\n" "\n"
] ]
}, },
@ -69,7 +84,7 @@
" wątpliwości). Więc może oprzeć podobieństwa na powierzchownym\n", " wątpliwości). Więc może oprzeć podobieństwa na powierzchownym\n",
" podobieństwie?\n", " podobieństwie?\n",
"\n", "\n",
"Możemy zastosować tutaj **odległość Lewensztajna**, czyli minimalną liczbę operacji edycyjnych, które\n", "Możemy zastosować tutaj **odległość Lewensztejna**, czyli minimalną liczbę operacji edycyjnych, które\n",
"są potrzebne, aby przekształcić jedno słowo w drugie. Zazwyczaj jako elementarne operacje edycyjne\n", "są potrzebne, aby przekształcić jedno słowo w drugie. Zazwyczaj jako elementarne operacje edycyjne\n",
"definiuje się:\n", "definiuje się:\n",
"\n", "\n",
@ -116,7 +131,7 @@
"raczej bytów przez nie denotowanych (słowa oznaczające zwierzęta\n", "raczej bytów przez nie denotowanych (słowa oznaczające zwierzęta\n",
"należące do gromady ptaków chcemy traktować jako, w jakiejś mierze przynajmnie, podobne)?\n", "należące do gromady ptaków chcemy traktować jako, w jakiejś mierze przynajmnie, podobne)?\n",
"\n", "\n",
"Dodajmy jeszcze, że w miejsce odległości Lewensztajna warto czasami\n", "Dodajmy jeszcze, że w miejsce odległości Lewensztejna warto czasami\n",
"używać podobieństwa Jaro-Winklera, które mniejszą wagę przywiązuje do zmian w końcówkach wyrazów:\n", "używać podobieństwa Jaro-Winklera, które mniejszą wagę przywiązuje do zmian w końcówkach wyrazów:\n",
"\n" "\n"
] ]
@ -276,7 +291,7 @@
"*An Essay towards a Real Character and a Philosophical Language*\n", "*An Essay towards a Real Character and a Philosophical Language*\n",
"zaproponował on rozbudowaną hierarchię bytów.\n", "zaproponował on rozbudowaną hierarchię bytów.\n",
"\n", "\n",
"![img](./06_Podobienstwo_slow/wilkins.png \"Fragment dzieła Johna Wilkinsa\")\n", "![img](./08_Podobienstwo_slow/wilkins.png \"Fragment dzieła Johna Wilkinsa\")\n",
"\n" "\n"
] ]
}, },
@ -298,7 +313,7 @@
"- dla języka polskiego: [Słowosieć](http://plwordnet.pwr.wroc.pl),\n", "- dla języka polskiego: [Słowosieć](http://plwordnet.pwr.wroc.pl),\n",
"- dla języka angielskiego: [Princeton Wordnet](https://wordnet.princeton.edu/) (i Słowosieć!)\n", "- dla języka angielskiego: [Princeton Wordnet](https://wordnet.princeton.edu/) (i Słowosieć!)\n",
"\n", "\n",
"![img](./06_Podobienstwo_slow/slowosiec.png \"Fragment Słowosieci\")\n", "![img](./08_Podobienstwo_slow/slowosiec.png \"Fragment Słowosieci\")\n",
"\n" "\n"
] ]
} }
@ -319,7 +334,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.10.2" "version": "3.10.5"
}, },
"org": null "org": null
}, },

View File

@ -20,14 +20,14 @@ $P(u|v) \approx P(u'|v')$.
Można wskazać trzy sposoby określania podobieństwa słów: odległość Można wskazać trzy sposoby określania podobieństwa słów: odległość
edycyjna Lewensztajna, hierarchie słów i odległość w przestrzeni wielowymiarowej. edycyjna Lewensztajna, hierarchie słów i odległość w przestrzeni wielowymiarowej.
*** Odległość Lewensztajna *** Odległość Lewensztejna
Słowo /dom/ ma coś wspólnego z /domem/, /domkiem/, /domostwem/, Słowo /dom/ ma coś wspólnego z /domem/, /domkiem/, /domostwem/,
/domownikami/, /domowym/ i /udomowieniem/ (?? — tu już można mieć /domownikami/, /domowym/ i /udomowieniem/ (?? — tu już można mieć
wątpliwości). Więc może oprzeć podobieństwa na powierzchownym wątpliwości). Więc może oprzeć podobieństwa na powierzchownym
podobieństwie? podobieństwie?
Możemy zastosować tutaj *odległość Lewensztajna*, czyli minimalną liczbę operacji edycyjnych, które Możemy zastosować tutaj *odległość Lewensztejna*, czyli minimalną liczbę operacji edycyjnych, które
są potrzebne, aby przekształcić jedno słowo w drugie. Zazwyczaj jako elementarne operacje edycyjne są potrzebne, aby przekształcić jedno słowo w drugie. Zazwyczaj jako elementarne operacje edycyjne
definiuje się: definiuje się:
@ -38,7 +38,7 @@ definiuje się:
Na przykład odległość edycyjna między słowami /domkiem/ i /domostwem/ Na przykład odległość edycyjna między słowami /domkiem/ i /domostwem/
wynosi 4: zamiana /k/ na /o/, /i/ na /s/, dodanie /t/, dodanie /w/. wynosi 4: zamiana /k/ na /o/, /i/ na /s/, dodanie /t/, dodanie /w/.
#+BEGIN_SRC python :session mysession :exports both :results raw drawer #+BEGIN_SRC ipython :session mysession :exports both :results raw drawer
import Levenshtein import Levenshtein
Levenshtein.distance('domkiem', 'domostwem') Levenshtein.distance('domkiem', 'domostwem')
#+END_SRC #+END_SRC
@ -60,10 +60,10 @@ słów będące przykładem *supletywizmu*: /człowiek/-/ludzie/,
raczej bytów przez nie denotowanych (słowa oznaczające zwierzęta raczej bytów przez nie denotowanych (słowa oznaczające zwierzęta
należące do gromady ptaków chcemy traktować jako, w jakiejś mierze przynajmnie, podobne)? należące do gromady ptaków chcemy traktować jako, w jakiejś mierze przynajmnie, podobne)?
Dodajmy jeszcze, że w miejsce odległości Lewensztajna warto czasami Dodajmy jeszcze, że w miejsce odległości Lewensztejna warto czasami
używać podobieństwa Jaro-Winklera, które mniejszą wagę przywiązuje do zmian w końcówkach wyrazów: używać podobieństwa Jaro-Winklera, które mniejszą wagę przywiązuje do zmian w końcówkach wyrazów:
#+BEGIN_SRC python :session mysession :exports both :results raw drawer #+BEGIN_SRC ipython :session mysession :exports both :results raw drawer
import Levenshtein import Levenshtein
Levenshtein.jaro_winkler('domu', 'domowy') Levenshtein.jaro_winkler('domu', 'domowy')
Levenshtein.jaro_winkler('domowy', 'maskowy') Levenshtein.jaro_winkler('domowy', 'maskowy')
@ -141,7 +141,7 @@ Przykładem jest angielski uczony John Wilkins (1614-1672). W dziele
zaproponował on rozbudowaną hierarchię bytów. zaproponował on rozbudowaną hierarchię bytów.
#+CAPTION: Fragment dzieła Johna Wilkinsa #+CAPTION: Fragment dzieła Johna Wilkinsa
[[./06_Podobienstwo_slow/wilkins.png]] [[./08_Podobienstwo_slow/wilkins.png]]
***** Słowosieci ***** Słowosieci
@ -152,4 +152,4 @@ Przykłady:
- dla języka angielskiego: [[https://wordnet.princeton.edu/][Princeton Wordnet]] (i Słowosieć!) - dla języka angielskiego: [[https://wordnet.princeton.edu/][Princeton Wordnet]] (i Słowosieć!)
#+CAPTION: Fragment Słowosieci #+CAPTION: Fragment Słowosieci
[[./06_Podobienstwo_slow/slowosiec.png]] [[./08_Podobienstwo_slow/slowosiec.png]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB