2014-01-27 3 views
-4

Я хочу найти взаимосвязь между двумя синтезаторами, и я наткнулся на многие алгоритмы, такие как resnik, lin, wu palmer, алгоритм пути, leacock chodorow и т. Д. Может кто-нибудь сказать мне, какой из них наиболее эффективен среди этих алгоритмов?Алгоритмы семантической привязки - python

+0

Я добавил максимальные возможности подобия https://github.com/alvations/pywsd – alvas

ответ

1

С «показать мне пример» точки зрения, вот пример, чтобы показать, как можно использовать семантическое сходство выполнить WSD :

from nltk.corpus import wordnet as wn 
from nltk.tokenize import word_tokenize 

def max_wupa(context_sentence, ambiguous_word): 
    """ 
    WSD by Maximizing Wu-Palmer Similarity. 

    Perform WSD by maximizing the sum of maximum Wu-Palmer score between possible 
    synsets of all words in the context sentence and the possible synsets of the 
    ambiguous words (see http://goo.gl/XMq2BI): 
    {argmax}_{synset(a)}(\sum_{i}^{n}{{max}_{synset(i)}(Wu-Palmer(i,a))} 

    Wu-Palmer (1994) similarity is based on path length; the similarity between 
    two synsets accounts for the number of nodes along the shortest path between 
    them. (see http://acl.ldc.upenn.edu/P/P94/P94-1019.pdf) 
    """ 

    result = {} 
    for i in wn.synsets(ambiguous_word): 
    result[i] = sum(max([i.wup_similarity(k) for k in wn.synsets(j)]+[0]) \ 
        for j in word_tokenize(context_sentence)) 
    result = sorted([(v,k) for k,v in result.items()],reverse=True) 
    return result 

bank_sents = ['I went to the bank to deposit my money', 
'The river bank was full of dead fishes'] 
ans = max_wupa(bank_sents[0], 'bank') 
print ans 
print ans[0][1].definition 

(источник: pyWSD @ github)

Используйте приведенный выше код с осторожностью, потому что вы должны рассмотреть следующие вопросы:

  1. Что происходит на самом деле, когда мы пытаемся максимизировать сходство пути между всеми возможными синтезами всех токенов в контексте предложения и возможными синсотами двусмысленного слова?
  2. - это максимизация даже логическая, если большая часть сходства пути дает None и случайно вы получаете какое-то изгоевное слово, имеющее связанный синт к одному из синхронных двусмысленных слов?
5

Во-первых,, тип OPs путается между связанностью и подобием, различие в порядке, но это стоит отметить.

Семантическая взаимосвязь измеряет, как связаны две концепции, используя любые отношения; Алгоритмы:

  • лексические цепочки (Херст и Санкт-Онж, 1998)
  • Адаптированный/обобщенно Перекрытия алгоритм (Банерджи и Педерсен, 2002/2003)
  • Векторизованные Sense Перекрытие (ПАТВАРДХАН, 2003)

Семантическое сходство рассматривает только отношение IS-A (то есть гипернимное/гипонимы); Алгоритмы:

  • Wu-Palmer мера (Wu и Palmer 1994)
  • Резник мера (Резник 1995)
  • Цзян Conrath мера (Jiang и Conrath 1997)
  • Leacock-Chodorow мера (Ликок и Chodorow 1998)
  • Lin мера (Lin 1998)

Резник, Цзян Conrath и Lin меры основаны на информации кон палатка. Информационное содержание синта представляет собой -log сумму всех вероятностей (вычисляемых из частот корпуса) всех слов в этом синтете (Resnik, 1995).

Wu-Palmer и Leacock-Chodorow основаны на длина пути; сходство между двумя концепциями/синтезами соответствует количеству узлов вдоль кратчайшего пути между ними.

Перечень, приведенный выше, является исчерпывающим, но исторически мы можем видеть, что использование меры подобия является устаревшим, поскольку алгоритмы сопоставления считают больше отношений и теоретически должны давать более устрашающую способность сравнивать понятия.


Следующая, эффективность плохо определена. Соответствует ли скорость или точность? Для какой задачи будет применяться семантическая взаимосвязь/подобие?

Если задача - это неоднозначность смысла слов (WSD), то было бы неплохо обратиться к тезису Вайна (2004): http://goo.gl/6wWums.Или обновленный обзор является Navigli (в 2009) http://dl.acm.org/citation.cfm?id=1459355

И если WSD касается, есть более сложные инструменты/методы, пожалуйста, обратитесь к Anyone know of some good Word Sense Disambiguation software?


Ссылки

Satanjeev Banerjee и Теда Педерсен. 2002. Адаптированный алгоритм Леска для устранения неоднозначности слова с использованием WordNet. В материалах третьей Международной конференции по вычислительной лингвистике и интеллектуальной обработке текстов (CICLing '02), Александр Ф. Гельбух (ред.). Springer-Verlag, Лондон, Великобритания, Великобритания, 136-145.

Satanjeev Банерджи и Тед Педерсен. 2003. Расширенное перекрытие блеска как мера смысловой связи. В материалах восемнадцатой Международной совместной конференции по искусственному интеллекту, стр. 805-810, Акапулько.

Graeme Hirst and David St-Onge, 1998. Лексические цепи как представления контекста для обнаружения и коррекции малапроизмов, глава 13, стр. 305-332. MIT Press, Кембридж, Массачусетс.

Siddarth Patwardhan. 2003. Включение словаря и corpus infor- mation в контекстную векторную меру смысловой связи. Магистерская диссертация, Университет Миннесоты.

(слишком ленив, чтобы перечислить все цитаты, пожалуйста, искать и добавлять в этот ответ должным образом)

Смежные вопросы