НЛП | WuPalmer - подобие WordNet
Как работает подобие Ву и Палмера?
Он вычисляет степень родства, учитывая глубину двух синсетов в таксономиях WordNet, а также глубину LCS (наименее распространенного субпотребителя).
Оценка может быть 0 <оценка <= 1. Оценка никогда не может быть нулевой, потому что глубина LCS никогда не равна нулю (глубина корня таксономии равна единице).
Он вычисляет сходство на основе того, насколько похожи значения слов и где Synsets встречаются относительно друг друга в гиперонимном дереве.
Код # 1: знакомство с Synsets
from nltk.corpus import wordnet syn1 = wordnet.synsets( 'hello' )[ 0 ] syn2 = wordnet.synsets( 'selling' )[ 0 ] print ( "hello name : " , syn1.name()) print ( "selling name : " , syn2.name()) |
Выход :
привет имя: hello.n.01 торговое наименование: sell.n.01
Код # 2: Сходство Ву
syn1.wup_similarity(syn2) |
Выход :
0,26666666666666666
привет и продажи видимо на 27% похожи! Это потому, что они имеют общие гиперонимы.
Код №3: Давайте проверим промежуточные гиперонимы.
sorted (syn1.common_hypernyms(syn2)) |
Выход :
[Synset ('abstraction.n.06'), Synset ('entity.n.01')]
Один из основных показателей, используемых для вычисления сходства, - это кратчайший путь, расстояние между двумя наборами Synset и их общим гипернимом.
Код №4: Давайте разберемся с использованием Hypernerm.
ref = syn1.hypernyms()[ 0 ] print ( "Self comprison : " , syn1.shortest_path_distance(ref)) print ( "Distance of hello from greeting : " , syn1.shortest_path_distance(syn2)) print ( "Distance of greeting from hello : " , syn2.shortest_path_distance(syn1)) |
Выход :
Самостоятельная: 1 Расстояние приветствия от приветствия: 11 Расстояние приветствия от приветствия: 11
Примечание. Оценка сходства очень высока, т. Е. Они находятся на большом расстоянии друг от друга, потому что не так похожи. В упомянутых здесь кодах используется слово «существительное», но можно использовать любую часть речи (POS).
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.