Próbuję znaleźć podobieństwo między dwoma słowami za pomocą wordnet z Pythona Nltk. Dwa przykładowe słowo kluczowe to "gra" i "Leonardo". Najpierw wyodrębniłem wszystkie synsety tych dwóch słów i dopasowałem każdy zestaw synchronizujący, aby znaleźć ich podobieństwo. Oto mój kodpython nltk zwraca nieparzysty wynik dla miary podobieństwa wordnet
from nltk.corpus import wordnet as wn
xx = wn.synsets("game")
yy = wn.synsets("leonardo")
for x in xx:
for y in yy:
print x.name
print x.definition
print y.name
print y.definition
print x.wup_similarity(y)
print '\n'
tu jest całkowita moc:
game.n.01 konkurs z zasadami w celu określenia zwycięzcy leonardo.n.01 włoski malarz i rzeźbiarz i inżyniera i naukowca i architekt; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,285714285714
game.n.02 pojedyncza gra sport lub innego konkursu leonardo.n.01 włoski malarz i rzeźbiarz i inżyniera i naukowca i architekta ; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,285714285714
game.n.03 rzeźbiarz rozrywki lub rozrywką leonardo.n.01 włoski malarz i i inżynier i naukowiec i architekt; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,25
game.n.04 zwierzę polować na jedzenie lub sportu leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekta; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,923076923077
game.n.05 (tenis) podział zaawansowania, podczas której jeden gracz służy leonardo.n.01 włoski malarz i rzeźbiarz i inżyniera i naukowiec i architekt; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,222222222222
game.n.06 (Games) wynikiem określonego punktu lub punktów potrzebna wygrać leonardo.n.01 włoski malarz i rzeźbiarz i inżynier oraz naukowiec i architekt; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,285714285714
game.n.07 mięso dzikich zwierząt, które służy do żywności leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekt; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,5
plot.n.01 tajny plan, aby zrobić coś (zwłaszcza coś podstępny lub nielegalne) leonardo.n.01 włoskiego malarza i rzeźbiarza i inżynier i naukowiec i architekt; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,2
game.n.09 sprzęt gra potrzebne w celu odgrywać szczególną gra leonardo.n.01 włoski malarz i rzeźbiarz i inżyniera i naukowca i architekt; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0.666666666667
game.n.10 Twój zawód lub linia pracy leonardo.n.01 Włoski malarz i rzeźbiarz, inżynier, naukowiec i architekt; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,25
game.n.11 niepoważna lub błahe zachowania leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekta; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) 0,222222222222
bet_on.v.01 postawisz na leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekta; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) -1
crippled.s.01 wyłączona w stopach lub nogach leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekta; najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519) -1
game.s.02 gotów stawić czoła niebezpieczeństwu leonardo.n.01 włoskiego malarza i rzeźbiarza i inżyniera i naukowca i architekta; Najbardziej wszechstronny geniusz włoskiego renesansu (1452/19) -1
ale podobieństwa game.n.04 i leonardo.n.01 jest naprawdę dziwne. Myślę, że podobieństwo (0.923076923077) nie powinno być tak wysokie.
game.n.04
zwierzę polować na jedzenie lub sportem
leonardo.n.01
włoski malarz i rzeźbiarz i inżynier i naukowiec i architekt; Najbardziej wszechstronny geniusz włoskiego renesansu (1452-1519)
0,923076923077
Czy jest jakiś problem z moim pojęciem?
Dzięki za wyjaśnienie. Ale jakie obliczenia wykażą ich oryginalną/przybliżoną odmienność? – qmaruf
@QuaziMarufurRahman Zależy od tego, jak definiujesz "odmienność". Możesz uzyskać lepsze wyniki za pomocą metody 'path_distance()', ale to zależy od tego, co dokładnie chcesz zmierzyć. – Aya
Właściwie chcę trochę pomiaru, który pokaże, że odmienność ("gra", "szachy") jest znacznie mniejsza niż odmienność ("gra", "leonardo") – qmaruf