Как получить похожие слова в wordnet (не только синонимы)?

#python #nlp #nltk #wordnet

#python #nlp #nltk #wordnet

Вопрос:

Как получить похожие слова с помощью wordnet, а не только синонимы, используя synsets и их леммы?

Например, если вы ищете «счастливый» в онлайн-инструменте wordnet (http://wordnetweb.princeton.edu /). Для первого синтаксического набора есть только один синоним (happy), но если вы нажмете на него (по ссылке S:), вы получите дополнительные слова в словах «смотри также» и «похожие на», например, «веселый».

Как мне получить эти слова и как они называются в терминологии wordnet? Я использую python с nltk и в лучшем случае могу получить только синтаксические наборы и леммы (исключая гипернимы и т.д.)

Ответ №1:

«also_sees()» и «similar_tos()».

 >>> from nltk.corpus import wordnet as wn
>>> wn.synsets("happy")[0].also_sees() 
[Synset('cheerful.a.01'), Synset('contented.a.01'), Synset('elated.a.01'), Synset('euphoric.a.01'), Synset('felicitous.a.01'), Synset('glad.a.01'), Synset('joyful.a.01'), Synset('joyous.a.01')]
>>> wn.synsets("happy")[0].similar_tos()
[Synset('blessed.s.06'), Synset('blissful.s.01'), Synset('bright.s.09'), Synset('golden.s.02'), Synset('laughing.s.01')]
  

Если вы хотите увидеть полный список того, что может сделать синтаксический набор WordNet, попробуйте команду «dir()». (Там будет полно объектов, которые вам, вероятно, не нужны, поэтому я убрал подчеркнутые ниже.)

  >>> [func for func in dir(wn.synsets("happy")[0]) if func[0] != "_"]         
 ['acyclic_tree', 'also_sees', 'attributes', 'causes', 'closure', 'common_hypernyms', 'definition', 'entailments', 'examples', 'frame_ids', 'hypernym_distances', 'hypernym_paths', 'hypernyms', 'hyponyms', 'in_region_domains', 'in_topic_domains', 'in_usage_domains', 'instance_hypernyms', 'instance_hyponyms', 'jcn_similarity', 'lch_similarity', 'lemma_names', 'lemmas', 'lexname', 'lin_similarity', 'lowest_common_hypernyms', 'max_depth', 'member_holonyms', 'member_meronyms', 'min_depth', 'mst', 'name', 'offset', 'part_holonyms', 'part_meronyms', 'path_similarity', 'pos', 'region_domains', 'res_similarity', 'root_hypernyms', 'shortest_path_distance', 'similar_tos', 'substance_holonyms', 'substance_meronyms', 'topic_domains', 'tree', 'usage_domains', 'verb_groups', 'wup_similarity']