Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
16.8k views
in Technique[技术] by (71.8m points)

nlp - Wordnet Find Synonyms

I am searching for a way to find all the synonyms of a particular word using wordnet. I am using JAWS.

For example:

love(v): admire, adulate, be attached to, be captivated by, be crazy about, be enamored of, be enchanted by, be fascinated with, be fond of, be in love with, canonize, care for, cherish, choose, deify, delight in, dote on, esteem, exalt, fall for, fancy, glorify, go for, gone on....

love(n): Synonym : adulation, affection, allegiance, amity, amorousness, amour, appreciation, ardency, ardor, attachment, case*, cherishing, crush, delight, devotedness, devotion, emotion, enchantment, enjoyment, fervor, fidelity, flame, fondness, friendship, hankering, idolatry, inclination, infatuation, involvement

In a related question user Ram has pointed to some code but that does not suffice as it just gives a vastly different output:

love, passion: any object of warm affection or devotion beloved, dear, dearest, honey, love: a beloved person; used as terms of endearment love, sexual love, erotic love: a deep feeling of sexual desire and attraction love: a score of zero in tennis or squash sexual love, lovemaking, making love, love, love life: sexual activities (often including sexual intercourse) between two people love: have a great affection or liking for

So how do I achieve it and is wordnet suited for what I want to do?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
by (100 points)
Услуга сопровождения предоставляется для тех, кто желает иметь профессионального помощника на различных мероприятиях.
Наш ассистент поможет Вам организовать свой график,выбрать подходящую одежду и подготовиться к мероприятию. Мы предложим интересные темы
для обсуждения и будем поддерживать беседу во время мероприятия. Наша задача - сделать так, чтобы Вы чувствовали себя комфортно и уверенно
на любом мероприятии. Мы гарантируем полную конфиденциальность и профессионализм во всех наших услугах. <a href=http://art-model-agency.ru/work>Эскорт сопровождение - работа в Москве.</a>
by (100 points)
Сайт с рецептами - это полноценная платформа, созданная для всех любителей кулинарии
где собрана огромная коллекция разнообразных рецептов,начиная от простейших блюд и заканчивая сложными гастрономическими шедеврами.
Подскажите сайт с удобной навигацией и простым интерфейсом. Хочу всегда находить новые и интересные блюда,
готовить с удовольствием, радовать себя и своих близких вкусной едой. Например приготовить <a href=https://gotovim-vkucno.ru/kabachkovye-postnye-oladi>кабачковые оладьи постные.</a>
by (100 points)
Сайт с рецептами - это полноценная платформа, созданная для всех любителей кулинарии
где собрана огромная коллекция разнообразных рецептов,начиная от простейших блюд и заканчивая сложными гастрономическими шедеврами.
Подскажите сайт с удобной навигацией и простым интерфейсом. Хочу всегда находить новые и интересные блюда,
готовить с удовольствием, радовать себя и своих близких вкусной едой. Хочу узнать как готовится <a href=https://gotovim-vkucno.ru/jajco-pashot>и как сварить яйцо пашот.</a>
by (100 points)
Всем Привет!
 
Получил высококачественный штендер для бессмертного полка с быстрым оформлением заказа https://shtenderworld.ru/
by (100 points)
Если вы ищете оригинальный способ провести время с привлекательной и умной девушкой, то услуги эскорта - это то, что вам нужно!
Эскортницы - это опытные девушки, которые готовы предоставить вам уникальный опыт общения и развлечения. Девушки по вызову - это профессионалы своего дела,
которые могут сопровождать вас на любых мероприятиях, будь то бизнес-встречи, прогулки по городу или романтические ужины. Они всегда будут одеты со вкусом и стильно,
чтобы соответствовать вашим ожиданиям. Услуги эскорта в Москве предоставляются в широком ассортименте. Вы можете выбрать девушку, которая будет соответствовать вашим потребностям и желаниям.
Это может быть молодая красавица, опытная женщина или экзотическая красотка.Девочки по вызову - это не только привлекательные и умные девушки, но и тонкие психологи, которые могут понять вас без слов.
Они готовы помочь вам расслабиться и получить удовольствие от жизни, даже если у вас нет партнера или не хватает времени на знакомство с новыми людьми. Содержанки в Москве -
это идеальный выбор для тех, кто хочет наслаждаться жизнью в полной мере. Они могут стать вашими путешественницами, гидами по городу или просто приятными собеседниками.
Вы можете быть уверены, что время, проведенное с ними, будет незабываемым. Так что, если вы ищете уникальный способ провести время и получить незабываемые впечатления,
обратитесь к услугам эскорта в Москве - <a href=http://art-model-agency.ru/> эскорт в г Москва.</a>
by (100 points)
Привет!
 
Имел безупречный опыт заказа штендера для бессмертного полка на https://shtenderworld.ru/
by (100 points)
Эскорт сопровождение - это услуга, которая предоставляется женщинами и мужчинами,
которые сопровождают своих клиентов на различные мероприятия или путешествия. Они могут быть наняты для
проведения времени вместе, общения, поддержки и даже интимных отношений.
Обратитесь к услугам эскорта моделей в Москве - <a href=http://eskortmoskva.ru/>эскорт москва.</a>
by (100 points)
Эскорт сопровождение - это услуга, которая предоставляется женщинами и мужчинами,
которые сопровождаЭскорт сопровождение - это услуга, которая предоставляется для обеспечения безопасности и комфорта клиентов
во время их пребывания в незнакомом городе или стране. Эскорт сопровождающий обычно является опытным профессионалом,
который знает все тонкости и особенности местной культуры и может помочь клиенту чувствовать себя уверенно и защищенно- <a href=https://teletype.in/@glopert/cCN4JJIH8XE>эскорт москва.</a>
by (100 points)
Эскорт сопровождение - это услуга, которая предоставляется женщинами и мужчинами,
которые сопровождаЭскорт сопровождение - это услуга, которая предоставляется для обеспечения безопасности и комфорта клиентов
во время их пребывания в незнакомом городе или стране. Эскорт сопровождающий обычно является опытным профессионалом,
который знает все тонкости и особенности местной культуры и может помочь клиенту чувствовать себя уверенно и защищенно- <a href=https://teletype.in/@glopert/Klbr5VVGQkl>девушки эскорт москва</a>
by (100 points)
В поисках идеального кондиционера в Кишиневе, столице Молдовы, вам доступно множество вариантов. Город обладает развитой инфраструктурой и многочисленными магазинами, предлагающими широкий выбор кондиционеров различных марок и моделей. Для удобства выбора и покупки, рассмотрим несколько популярных вариантов:
 
Специализированные магазины по продаже бытовой техники: В Кишиневе существует множество магазинов, специализирующихся на продаже бытовой техники, включая кондиционеры. Здесь вы сможете получить профессиональную консультацию от продавцов и выбрать подходящий кондиционер для ваших потребностей.
 
Интернет-магазины: В сети интернет также предоставляется широкий выбор кондиционеров с возможностью сравнения характеристик и цен. Многие интернет-магазины осуществляют доставку в Кишинев, что делает процесс покупки более удобным.
 
Специализированные магазины по климатической технике: В городе действуют магазины, специализирующиеся исключительно на климатической технике. Здесь вы найдете большой ассортимент кондиционеров различных типов – от оконных до сплит-систем.
 
Большие розничные сети: Некоторые крупные розничные сети также предлагают разнообразные варианты кондиционеров. Эти магазины часто предоставляют гарантии на продукцию и могут предложить дополнительные услуги, такие как монтаж и обслуживание.
 
Перед покупкой рекомендуется провести небольшое исследование рынка, сравнить цены и отзывы о конкретных моделях. Независимо от выбранного варианта, важно обратить внимание на квалификацию продавцов и гарантии, предоставляемые на приобретаемое оборудование.
https://norlam.md
by (100 points)
В поисках идеального кондиционера в Кишиневе, столице Молдовы, вам доступно множество вариантов. Город обладает развитой инфраструктурой и многочисленными магазинами, предлагающими широкий выбор кондиционеров различных марок и моделей. Для удобства выбора и покупки, рассмотрим несколько популярных вариантов:
 
Специализированные магазины по продаже бытовой техники: В Кишиневе существует множество магазинов, специализирующихся на продаже бытовой техники, включая кондиционеры. Здесь вы сможете получить профессиональную консультацию от продавцов и выбрать подходящий кондиционер для ваших потребностей.
 
Интернет-магазины: В сети интернет также предоставляется широкий выбор кондиционеров с возможностью сравнения характеристик и цен. Многие интернет-магазины осуществляют доставку в Кишинев, что делает процесс покупки более удобным.
 
Специализированные магазины по климатической технике: В городе действуют магазины, специализирующиеся исключительно на климатической технике. Здесь вы найдете большой ассортимент кондиционеров различных типов – от оконных до сплит-систем.
 
Большие розничные сети: Некоторые крупные розничные сети также предлагают разнообразные варианты кондиционеров. Эти магазины часто предоставляют гарантии на продукцию и могут предложить дополнительные услуги, такие как монтаж и обслуживание.
 
Перед покупкой рекомендуется провести небольшое исследование рынка, сравнить цены и отзывы о конкретных моделях. Независимо от выбранного варианта, важно обратить внимание на квалификацию продавцов и гарантии, предоставляемые на приобретаемое оборудование.
https://www.top20.md/info/jara.md
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Sticking with just WordNet, you could try to use semantic similarity to determine if two words (synsets) are similar enough to be synonyms. Below is a quick example that came from modifying another of my answers on semantic similarity using WordNet.

It does have its problems though:

  • Antonyms are mixed in with synonyms
  • It is slow! (as it has to check all ~117k synsets)

Still, it produces more synonyms than using lemma_names alone, so I leave it here in case it might be useful (in conjunction with something else perhaps).

>>> from nltk.corpus import wordnet as wn
>>> def syn(word, lch_threshold=2.26):
    for net1 in wn.synsets(word):
        for net2 in wn.all_synsets():
            try:
                lch = net1.lch_similarity(net2)
            except:
                continue
            # The value to compare the LCH to was found empirically.
            # (The value is very application dependent. Experiment!)
            if lch >= lch_threshold:
                yield (net1, net2, lch)


>>> for x in syn('love'):
    print x

Code above outputs:

(Synset('love.n.01'), Synset('feeling.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('conditioned_emotional_response.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('emotion.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('worship.n.02'), 2.9444389791664407)
(Synset('love.n.01'), Synset('anger.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('fear.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('fear.n.03'), 2.538973871058276)
(Synset('love.n.01'), Synset('anxiety.n.02'), 2.538973871058276)
(Synset('love.n.01'), Synset('joy.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('love.n.01'), 3.6375861597263857)
(Synset('love.n.01'), Synset('agape.n.02'), 2.9444389791664407)
(Synset('love.n.01'), Synset('agape.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('filial_love.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('ardor.n.02'), 2.9444389791664407)
(Synset('love.n.01'), Synset('amorousness.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('puppy_love.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('devotion.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('benevolence.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('beneficence.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('heartstrings.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('lovingness.n.01'), 2.9444389791664407)
(Synset('love.n.01'), Synset('warmheartedness.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('loyalty.n.02'), 2.9444389791664407)
(Synset('love.n.01'), Synset('hate.n.01'), 2.538973871058276)
(Synset('love.n.01'), Synset('emotional_state.n.01'), 2.538973871058276)
(Synset('love.n.02'), Synset('content.n.05'), 2.538973871058276)
(Synset('love.n.02'), Synset('object.n.04'), 2.9444389791664407)
(Synset('love.n.02'), Synset('antipathy.n.02'), 2.538973871058276)
(Synset('love.n.02'), Synset('bugbear.n.02'), 2.538973871058276)
(Synset('love.n.02'), Synset('execration.n.03'), 2.538973871058276)
(Synset('love.n.02'), Synset('center.n.06'), 2.538973871058276)
(Synset('love.n.02'), Synset('hallucination.n.03'), 2.538973871058276)
(Synset('love.n.02'), Synset('infatuation.n.03'), 2.538973871058276)
(Synset('love.n.02'), Synset('love.n.02'), 3.6375861597263857)
(Synset('beloved.n.01'), Synset('person.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('lover.n.01'), 2.9444389791664407)
(Synset('beloved.n.01'), Synset('admirer.n.03'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('beloved.n.01'), 3.6375861597263857)
(Synset('beloved.n.01'), Synset('betrothed.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('boyfriend.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('darling.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('girlfriend.n.02'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('idolizer.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('inamorata.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('inamorato.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('kisser.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('necker.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('petter.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('romeo.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('soul_mate.n.01'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('squeeze.n.04'), 2.538973871058276)
(Synset('beloved.n.01'), Synset('sweetheart.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('desire.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('sexual_desire.n.01'), 2.9444389791664407)
(Synset('love.n.04'), Synset('love.n.04'), 3.6375861597263857)
(Synset('love.n.04'), Synset('aphrodisia.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('anaphrodisia.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('passion.n.05'), 2.538973871058276)
(Synset('love.n.04'), Synset('sensuality.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('amorousness.n.02'), 2.538973871058276)
(Synset('love.n.04'), Synset('fetish.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('libido.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('lecherousness.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('nymphomania.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('satyriasis.n.01'), 2.538973871058276)
(Synset('love.n.04'), Synset('the_hots.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('bowling_score.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('football_score.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('baseball_score.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('basketball_score.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('number.n.02'), 2.538973871058276)
(Synset('love.n.05'), Synset('score.n.03'), 2.9444389791664407)
(Synset('love.n.05'), Synset('stroke.n.06'), 2.538973871058276)
(Synset('love.n.05'), Synset('birdie.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('bogey.n.02'), 2.538973871058276)
(Synset('love.n.05'), Synset('deficit.n.03'), 2.538973871058276)
(Synset('love.n.05'), Synset('double-bogey.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('duck.n.02'), 2.538973871058276)
(Synset('love.n.05'), Synset('eagle.n.02'), 2.538973871058276)
(Synset('love.n.05'), Synset('double_eagle.n.01'), 2.538973871058276)
(Synset('love.n.05'), Synset('game.n.06'), 2.538973871058276)
(Synset('love.n.05'), Synset('lead.n.07'), 2.538973871058276)
(Synset('love.n.05'), Synset('love.n.05'), 3.6375861597263857)
(Synset('love.n.05'), Synset('match.n.05'), 2.538973871058276)
(Synset('love.n.05'), Synset('par.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('bondage.n.03'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('outercourse.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('safe_sex.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('sexual_activity.n.01'), 2.9444389791664407)
(Synset('sexual_love.n.02'), Synset('conception.n.02'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('sexual_intercourse.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('pleasure.n.05'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('sexual_love.n.02'), 3.6375861597263857)
(Synset('sexual_love.n.02'), Synset('carnal_abuse.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('coupling.n.03'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('reproduction.n.05'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('foreplay.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('perversion.n.02'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('autoeroticism.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('promiscuity.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('lechery.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('homosexuality.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('bisexuality.n.02'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('heterosexuality.n.01'), 2.538973871058276)
(Synset('sexual_love.n.02'), Synset('bestiality.n.02'), 2.538973871058276)
# ...

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...