Online dictionary: English Definition translation of words and expressions, definition, synonyms
English dictionary with thousands of definitions, examples, synonyms and phrases
An English monolingual dictionary is useful for understanding a word meaning — not only for native English speakers, but also for those who are learning English as a second language. Whether you are translating from English into your mother tongue or you simply don’t know what a word means, you can always count on our English dictionary, with its definitions of common words, technical terms and idioms, many of them added by our community members.
See the latest user contributions to the English dictionary and add your own:
You want to reject this entry: please give us your comments (bad translation/definition, duplicate entries…) |
- Edit the entry
- Delete the entry
- Add a suggestion
- Add comment
- Validate
- !Put in pending
- !Reject
To add entries to your own vocabulary, become a member of Reverso community or login if you are already a member.
It’s easy and only takes a few seconds:
How to take part:
- Add words and phrases with complete definitions
- Comment on the English definitions submitted by other users
- Vote for or against an English definition
» How to contribute
Help us write our English dictionary
English words are used all over the world. They are borrowed by other languages, and often become buzzwords used daily by millions of people. It is obviously vital to understand their meaning and use them correctly. That’s why Reverso allows its users to contribute to the online dictionary with their own English definitions. Thousands of English words and idioms, colloquial expressions, phrase, slang terms, and specialized terms have already been added to the English dictionary. You can help us write our online dictionary by adding words and expressions and their English definition, or by making comments on the definitions added by other users.
A wide-ranging dictionary lookup tool
When you look up the definition of a word in our English dictionary, the results displayed will include not only words and phrases from the general dictionary, but also definitions added by users. With a single click, you can suggest a new definition for an English word, search for its synonyms, conjugate verbs or hear the pronunciation of the word.
Why use the English dictionary
- Searches are made both in the general dictionary and among the words and idioms submitted by users.
- It can be used not only by beginners learning English, but also by proficient users as a tool for improving English translations
- It provides access to idioms which are missing from other English dictionaries, added by Reverso community members
- It gives you the opportunity to show how proficient you are in English by contributing new entries and comments to the English dictionary
Register to enjoy these benefits and much more
See English definitions from our dictionary
»See more
Reverso Products
- Need professional translation solutions for your company?
- Get the famous Collins dictionaries on your PC
- Add Reverso to your browser
- Translate millions of words and expressions in context
- Download Reverso Context free app for iOS and Android
«Collins English Dictionary 5th Edition first published in 2000 © HarperCollins Publishers 1979, 1986, 1991, 1994, 1998, 2000 and Collins A-Z Thesaurus 1st edition first published in 1995 © HarperCollins Publishers 1995»
Contact |
Newsletter | Tell a friend
| News
| Company |
Conditions of use | Help (?)
Traduction,
Traducción,
Traduzione,
Übersetzung,
Tradução,
Перевод,
Překlad,
Traducere Online,
翻译,
Spanish English translation
| Italian English translation
| German English translation
| Portuguese English translation
| Russian English translation
| Arabic English translation
| Hebrew English translation
| Dutch English translation
| Polish English translation
Dictionnaire,
Diccionario,
Wörterbuch,
Dizionario,
Dicionario
English Spanish Dictionary
| English Italian Dictionary
| English German Dictionary
| English Portuguese Dictionary
| English Russian Dictionary
| Medical dictionary English French
| Computer dictionary English French
| Computer dictionary English Spanish
| Business dictionary English French
| English Arabic Dictionary
| English Hebrew Dictionary
| English Dutch Dictionary
| English Polish Dictionary
Traduction en contexte,
Traducción en contexto,
Traduzione in contesto,
Übersetzung im Kontext,
Tradução em contexto,
Vertaling in context,
Переводчик Контекст,
Tłumaczenie w kontekście,
الترجمة في السياق ,
תרגום בהקשר
English French translation in context |
English Spanish translation in context |
English German translation in context |
English Italian translation in context |
English Portuguese translation in context |
English Dutch translation in context |
English Polish translation in context |
English Russian translation in context |
Conjugaison,
Conjugación, Konjugation, Coniugazione
English Verb Conjugation | French Verb Conjugation | Spanish Verb Conjugation | German Verb Conjugation | Hebrew Verb Conjugation
English Grammar,
English Spellchecker
Recommended links:
Free: Learn English, French and other languages |
Reverso Documents: translate your documents online
Fleex:
Learn English watching your favourite videos |
Learn English with movies |
Learn English with TV shows
All English definitions from our dictionary
English monolingual dictionary: understand what words mean through definitions and synonyms
©2023 Reverso-Softissimo. All rights reserved.
Where can I search for words using descriptive sentences? For example, now I’m looking for a word meaning «to purify (by hand) a quantity of grain and take away anything that isn’t good grain.»
How could I get words like that? I know it in my first-language, but I don’t have a classic version of it to use in automatic translators.
Maybe a search engine that uses content words from my description and offers words that could mean the same with their dictionary definitions. Nothing I’d tried in (translate.)google.com gave me the desired result.
Update:
An example dictionary that I use is (Oxford’s Word-Power Dictionary). It’s not for the purpose of the question but for clarification.
Oxford’s has a 3,000 word list of ‘bare-bone-essentials.’ It contains the most-used words in English and all of the grammatical operators. Ideally, these are the words necessary for a learner to use an English-English dictionary such as Oxford’s. The descriptions of words in Oxford’s rely on this list for definitions.
An electronic (web-based) dictionary for word-meaning-search should have a larger list (maybe 10,000) and use a thesaurus to down-level difficult words a user may use in the search then, using all content words in the search phrase, present a list of words whose definitions seem appropriate. Another regular dictionary may be used from there.
-
Example:
Search query: «to use hands to purify a quantity of grain taking away anything that isn’t good grain.»
Content Words: «use-hands; purify; quantity-of-grain; taking-away; anything; isn’t; good-grain»
Filtered: «use-hands; clean; quantity-of-seeds; take-away;anything; not-good-grain»
Words: «1; 2; 3; 4» that use the content words to varying degrees.
And that’s a five minutes’ work!
PS. Sorry about the delay; connection problems…
- Go to Preferences page and choose from different actions for taps or mouse clicks.
The English Dictionary
WordReference is proud to offer three monolingual English dictionaries from two of the world’s most respected publishers—the WordReference Random House Learner’s Dictionary of American English, the WordReference Random House Unabridged Dictionary of American English, and the Collins Concise English Dictionary. These prestigious dictionaries contain more than 259409 words and phrases.
In addition, we offer an English verb conjugator, comprehensive collections of synonyms and collocations, and an active English Only forum. If you still cannot find a term, you can ask or search in this forum, where native English speakers from around the world love to assist others in their understanding of the English language.
To get started, type a word in the search box above to find its definition.
Monolingual English dictionary
Spanish verb conjugator
English synonyms
English collocations
English Only forum
Copyright © 2023 WordReference Random House Learner’s Dictionary of American English
Copyright © 2023 WordReference Random House Unabridged Dictionary of American English
Collins Concise English Dictionary © HarperCollins Publishers
Download Article
Download Article
Maybe you are in the middle of an exam and suddenly come across a word that makes absolutely no sense. This is usually a cue for most people to panic if a dictionary is not handy. But don’t worry! There are several steps you can take to help you figure out the meaning of a word without a dictionary.
-
1
Read the entire sentence. It can be very frustrating to have your reading interrupted by an unknown word. If you are in the middle of an exam or an assignment for school or work, it can also be very stressful. If you can’t reach for a dictionary, take other steps to figure out what the word means.
- Your first step is to go back and re-read the entire sentence. You probably lost track of what your were reading when you stumbled upon the new word.
- Think about the content of the sentence. Do you understand the sentence without using the new word? Or is it incomprehensible?
- Try underlining the unknown word. This will help you separate it from the rest of the sentence.
-
2
Identify words you do understand. You can often use other words in the sentence to help you define the unknown word. Think about what else is happening in the sentence. Hopefully, this will help you figure out whether the unknown word is a noun, verb, or adjective.
- For example, maybe you are looking at a sentence that says, «It was a very sultry day in the middle of the summer.» You probably understand each word except for «sultry».
- Think about what you know about the summer. It is likely that «sultry» has something to do with weather.
- Maybe your biology exam has this sentence, «Many members of the canine family are predators, looking for other animals to eat.» You can surmise that «predators» prey on other animals.
Advertisement
-
3
Look for illustrative examples. Once you have examined the other words in that sentence, you can move on. Start looking at the sentences that follow the unknown word. An author will often give descriptions that can help you figure out the meaning of an unknown word.[1]
- For example, take the sentence, «It was a very sultry day in the middle of summer.» It could be followed by the sentence, «The heat and humidity made it appealing to sit in the shade and drink lemonade.»
- You can now more confidently define «sultry». The descriptive words such as «heat» and «humidity» are further clues that it is a description of the weather.
- Sometimes, the descriptive examples will be right in the original sentence. For example, it could say, «Sultry days are so damp and hot.»
-
4
Think logically. Sometimes, the context clues will not be as clear. You will have to use logic to figure out the word. You can also use experience, or prior knowledge, of the topic.[2]
- For example, maybe a sentence says, «In the antebellum South, many plantation owners kept slaves.» It is likely that «antebellum» is the unknown word.
- The sentence itself does not offer many clues. However, the following sentences are, «But after the Civil War, slavery was outlawed. This was a major change between the two periods.»
- Think about what you know now. You are reading information about two different time periods, right? Before the Civil War and after the Civil War.
- You can now make a pretty logical assumption about the word «antebellum». Based on your experience and reading the following sentences, you know it probably means «before the war».
-
5
Use other context clues. Sometimes an author will offer other types of clues. Look for restatement. This is where the meaning of the word is restated in other words.
- Here is an example of «restatement»: «The pig squealed in pain. The high-pitched cry was very loud.»
- You can also look for «appositives». This is where an author highlights a specific word by placing a further description between two commas.
- This is an example of the use of an appositive: «The Taj Mahal, which is a massive white marble mausoleum, is one of the most famous landmarks in India.
- You may not know the words «Taj Mahal», but the use of appositives makes it clear that it is a landmark.
Advertisement
-
1
Look for a prefix. Etymology is the study of the meanings of words. It also looks at the origins of words, and how they have changed over time. By learning about etymology, you can find new ways to define unknown words without using a dictionary.
- Start by looking at each part of the word in question. It is very helpful to look to see if the word has a common prefix.
- Prefixes are the first part of the word. For example, a common prefix is «anti».
- «Anti» means «against». Knowing this should help you figure out the meanings of words such as «antibiotic» or «antithesis».
- «Extra» is a prefix that means «beyond». Use this to figure out words such as «extraterrestrial» or «extracurricular».
- Other common prefixes are «hyper», «intro», «macro» and «micro». You can also look for prefixes such as «multi», «neo» and «omni».
-
2
Pay attention to the suffix. The suffix are the letters at the end of the word. There are several suffixes in the English language that are common. They can help you figure out what kind of word you are looking at.
- Some suffixes indicate a noun. For example, «ee» at the end of the word almost always indicates a noun. Some examples are «trainee» and «employee».
- «-ity» is also a common suffix for a noun. Examples include «electricity» and «velocity».
- Other suffixes indicate verbs. For example, «-ate». This is used in words such as «create» and «deviate».
- «-ize» is another verb suffix. Think about the words «exercise» and «prioritize».
-
3
Identify root words. A root word is the core word, without a prefix or suffix. Most words in the English language come from either a Latin or Greek root word.[3]
- By learning common root words, you can begin to identify new words more easily. You will also be able to recognize words that have had a prefix or suffix added.
- An example of a root word is «love». You can add many things to the word: «-ly» to make «lovely».
- «Bio» is a Greek root word. It means «life, or living matter». Think about how we have adapted this root word to become «biology», «biography», or «biodegradable».
- The root word mater- or matri- comes from the Latin word mater, meaning mother. By understanding this root, you can better understand the definitions of words like matron, maternity, matricide, matrimony, and matriarchal.
Advertisement
-
1
Keep notes. If you can increase the size of your vocabulary, you will find yourself less likely to encounter unknown words. There are several steps you can take to effectively build your vocabulary. For example, you can start by writing notes.
- Every time you encounter an unfamiliar word, write it down. Then later, when you have access to a dictionary, you can look it up for a precise definition.
- Keep a small pack of sticky notes with you while you read. You can write the unfamiliar word on a note and just stick it on the page to return to later.
- Start carrying a small notebook. You can use it to keep track of words that you don’t know and new words that you have learned.
-
2
Utilize multiple resources. There are a lot of tools that you can use to help you build your vocabulary. The most obvious is a dictionary. Purchase a hard copy, or book mark an online dictionary that you find useful.
- A thesaurus can also be very helpful. It will give you synonyms for all of the new words you are learning.
- Try a word of the day calendar. These handle desk tools will give you a new word to learn each day. They are available online and at bookstores.
-
3
Read a lot. Reading is one of the best ways to increase the size of your vocabulary. Make it a point to read each day. Both fiction and non-fiction will be helpful.
- Novels can expose you to new words. For example, reading the latest legal thriller will likely expose you to some legal jargon you’ve never heard before.
- Read the newspaper. Some papers even have a daily feature that highlights language and explores the meanings of words.
- Make time to read each day. You could make it a point to scroll through the news while you drink your morning coffee, for example.
-
4
Play games. Learning can actually be fun! There are many enjoyable activities that can help you to build your vocabulary. Try doing crossword puzzles.
- Crossword puzzles are a great way to learn new words. They will also stretch your brain by giving you interesting clues to figure out the right word.
- Play Scrabble. You’ll quickly learn that unusual words can often score the most points.
Advertisement
Add New Question
-
Question
Is there a list of prefixes/suffixes, or a simple etymology handbook, that I can obtain from the Internet or someplace else?
I’m sure there are many! Check websites like Amazon, Barnes and Noble, or other booksellers who might sell grammar handbooks. You could also try checking your local book stores.
-
Question
How does one find out and understand the formation of words?
If you can recognize the prefixes, suffixes, and anything else that might alter the root word, then you’ll know how the root is being altered. For example, ‘amuse’ is made up of ‘a’ as in ‘not’ and ‘muse’ referring to ponderous thought. Even if you don’t recognize the root ‘muse’ because it’s a more archaic term, you know that the ‘a’ inverses it’s meaning.
-
Question
How can I know the exact meaning of a word using dictionaries from many leanings given?
Substitute each meaning into the sentence where you encountered the word, and see which definition makes the most sense within the context of that sentence.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
Keep a notebook. This could be useful if you come across a word that you want to learn later, if you want to list any words that share suffixes or prefixes (both of which are known as «roots», which also include anything that goes into the middle.)
-
Read etymology dictionaries. They are found online and presumably in bookstores if you look hard enough.
-
Make your own notes in your personal English notebook to remember important points later on.
Advertisement
References
About This Article
Article SummaryX
To understand a word without a dictionary, try re-reading the entire sentence to see if the context helps you to find out what the word means. If it’s unclear, try to figure it out by thinking about the meaning of the words you’re familiar with, since the unknown word might have a similar meaning. Additionally, look for common prefixes in words, such as «anti,» which means against, or «extra,» which means beyond. Next, check the following sentences for clues, such as the topic the word is related to. Alternatively, keep a list of unknown words so you can check them in a dictionary at a later date. For tips on how to identify root words and how to learn words by doing crossword puzzles, read on!
Did this summary help you?
Thanks to all authors for creating a page that has been read 215,260 times.
Reader Success Stories
-
Aaron Junior
Jul 26, 2016
«This article has really helped me especially finding the meaning of the word using prefixes, suffixes, and word…» more
Did this article help you?
How do I use OneLook’s thesaurus / reverse dictionary?
OneLook lets you find any kind of word for any kind of writing.
Like a traditional thesaurus, you
can use it to find synonyms and antonyms, but it’s far more flexible.
Describe what you’re looking for with a single word, a few words,
or even a whole sentence. Type in your description and hit
Enter (or select a word that shows up in the autocomplete preview)
to see the related words.
You can order, filter, and explore the
words that come back in a variety of creative ways.
Here’s a video which
goes over some of the basics.
What are some examples?
Exploring the results
Click on any result to see definitions and usage examples tailored to your search,
as well as links to follow-up searches and additional usage information when available.
OneLook knows about more than 2 million different
words and expressions covering every topic under the sun.
Try exploring a favorite topic for a while and you’ll be surprised
how much new stuff there is to learn!
Ordering the results
Your results will initially appear with the most closely related word shown first,
the second-most closely shown second, and so on.
You can re-order the results in a variety of different ways, including
alphabetically, by length, by popularity, by modernness, by formality, and by other
aspects of style. Click the
box that says «Closest meaning first…» to see them all.
(Here’s a short video about sorting and filtering
with OneLook Thesaurus.)
Filtering the results
You can refine your search by clicking on the «Advanced filters» button
on the results page. This lets you narrow down your results to match
a certain starting letter, number of letters, number of syllables, related
concept, meter, vowel sound, or number of syllables.
Read more details on filters if you’re interested in how they work.
I’m only looking for synonyms! What’s with all of these weird results?
For some kinds of searches only the
first result or the first few results are truly synonyms
or good substitutions for your search word.
We highlight these results in yellow.
Beyond that, the results are meant to inspire you to consider similar words and adjacent
concepts. Not all of the results will make sense at first, but they’re all
connected with your search in some way. We’d rather give you too many options than
too few. If you’re unsure of a word, we urge you to click on
it to check its definitions and usage examples before using it in your Oscars
acceptance speech or honors thesis.
What are letter patterns?
If you know some letters in the word you’re looking for, you can enter a pattern instead of, or in addition to, a description. Here are how
patterns work:
- The asterisk (*) matches any number of letters.
That means that you can use it as a placeholder for any part of a word or phrase.
For example, if you enter blueb* you’ll get all the terms that start with «blueb»; if you enter
*bird
you’ll get all the terms that end with «bird»; if you enter
*lueb*
you’ll get all the terms that contain the sequence «lueb»,
and so forth. An asterisk can match zero letters, too. -
The question mark (?) matches exactly one letter.
That means that you can use it as a placeholder for a single letter
or symbol. The query l?b?n?n,
for example, will find the word «Lebanon». -
The number-sign (#) matches any English consonant.
For example, the query tra#t finds the word «tract» but not «trait». -
The at-sign (@) matches any English vowel (including «y»).
For example, the query abo@t finds the word «about» but not «abort». -
NEW! The comma (,) lets you combine multiple patterns into one.
For example, the query ?????,*y* finds 5-letter words
that contain a «y» somewhere, such as «happy» and «rhyme». -
NEW! Use double-slashes (//) before
a group of letters to unscramble them (that is, find anagrams.)
For example, the query //soulbeat will find «absolute»
and «bales out»,
and re//teeprsn will find «represent» and «repenters».
You can use another double-slash to end the group and put letters you’re sure of to the
right of it. For example, the query //blabrcs//e will find «scrabble».
Question marks can signify unknown letters as usual; for example, //we???
returns 5-letter words that contain a W and an E, such as «water» and «awake». -
NEW! A minus sign (—) followed by some letters at the end of a pattern means «exclude these letters». For example, the query sp???-ei finds 5-letter words that start with «sp» but do not contain an «e»or an «i», such as «spoon» and «spray».
-
NEW! A plus sign (+) followed by some letters at the end of a pattern means «restrict to these letters». For example, the query *+ban finds «banana».
- On OneLook’s main search or directly on OneLook Thesaurus, you can combine patterns and thesaurus lookups
by putting a colon (:) after a pattern and then typing
a description of the word, as in
??lon:synthetic fabric and the other examples above.
Other ways to access this service:
- Drag this link to your browser’s bookmarks bar for a convenient button that goes to the thesaurus:
OneLook
- Enter onelook.com/word into your browser’s address bar to go directly to the OneLook Thesaurus entry for word.
- We offer a OneLook Thesaurus iPhone/iPad app
for a low subscription fee, with a two-week free trial.
This gives you OneLook at your fingertips, and
several cool app-only features, while helping us maintain the service for all! - If you use Google Docs, the thesaurus is integrated into the free OneLook Thesaurus Google Docs Add-On as the «Synonyms» button. (Wildcard patterns are not yet suppoerted by this add-on.)
- If you regularly use the main OneLook site, you can put colon (:) into any OneLook search box,
followed by a description, to go directly to the thesaurus. - If you’re a developer, the Datamuse API gives you access to the core features of this site.
Is this available in any language other than English?
The same interface is now available in Spanish at OneLook Tesauro
as a beta version. More languages are coming!
How does it work?
We use a souped-up version of our own Datamuse API,
which in turn uses several lingustic resources described in the «Data sources» section
on that page. The definitions come from Wiktionary,
Wikipedia, and WordNet.
Here are some known problems
with the current system.
Much gratitude to Gultchin et al for the algorithm behind the «Most funny-sounding» sort order.
Profanity and problematic word associations
If you’re using this site with children, be forewarned you’ll
find profanity and other vulgar expressions if you use OneLook frequently.
(We take an unflinching look at how words have actually been used; scrubbing out
hurtful wordswould be a disservice to everyone.)
Some of the thesaurus results come from a statistical analysis of the
words in a large collection of books written in the past two
centuries. A handful of times we’ve found that this analysis can lead
us to suggest word associations that reflect racist or harmful
stereotypes present in this source material. If you see one of these,
please know that we do not endorse what the word association implies.
In egregious cases we will remove it from the site if you
report it to us via the feedback link below.
Privacy
No personally identifying information is ever collected on this site
or by any add-ons or apps associated with OneLook. OneLook Thesaurus sends
your search query securely to the Datamuse API, which keeps a log file of
the queries made to the service in the last 24 hours. The log file is deleted
after 24 hours and we do not retain any long-term information about your
IP address or invididual queries.
Who’s behind this site and where can I send my comments and complaints feedback?
OneLook is a service of Datamuse.
You can send us feedback here.
The sunburst logo (🔆) is the emoji symbol for «high
brightness», which we aspire to create with OneLook. (The
graphic came from the open-source Twemoji
project.)
Although
the borderline between various linguistic units is not always sharp
and clear, we shall try to define every new term on its first
appearance at once simply and unambiguously, if not always very
rigorously. The approximate definition of the term word
has already been given in the opening page of the book.
The
important point to remember about
definitions
is that they should indicate the most essential characteristic
features of the notion expressed by the term under discussion, the
features by which this notion is distinguished from other similar
notions. For instance, in defining the word one must distinguish it
from other linguistic units, such as the phoneme, the morpheme, or
the word-group. In contrast with a definition, a description
aims at enumerating all the essential features of a notion.
To
make things easier we shall begin by a preliminary description,
illustrating it with some examples.
The
word
may be described as the basic unit of language. Uniting meaning and
form, it is composed of one or more morphemes, each consisting of one
or more spoken sounds or their written representation. Morphemes as
we have already said are also meaningful units but they cannot be
used independently, they are always parts of words whereas words can
be used as a complete utterance (e. g. Listen!).
The
combinations of morphemes within words are subject to certain linking
conditions. When a derivational affix is added a new word is formed,
thus, listen
and
listener
are
different words. In fulfilling different grammatical functions words
may take functional affixes: listen
and
listened
are
different forms of the same word. Different forms of the same word
can be also built analytically with the help of auxiliaries. E.g.:
The
world should listen then as I am listening now (Shelley).
When
used in sentences together with other words they are syntactically
organised. Their freedom of entering into syntactic constructions is
limited by many factors, rules and constraints (e. g.: They
told me this story but
not *They
spoke me this story).
The
definition of every basic notion is a very hard task: the definition
of a word is one of the most difficult in linguistics because the
27
simplest
word has many different aspects. It has a sound form because it is a
certain arrangement of phonemes; it has its morphological structure,
being also a certain arrangement of morphemes; when used in actual
speech, it may occur in different word forms, different syntactic
functions and signal various meanings. Being the central element of
any language system, the word is a sort of focus for the problems of
phonology, lexicology, syntax, morphology and also for some other
sciences that have to deal with language and speech, such as
philosophy and psychology, and probably quite a few other branches of
knowledge. All attempts to characterise the word are necessarily
specific for each domain of science and are therefore considered
one-sided by the representatives of all the other domains and
criticised for incompleteness. The variants of definitions were so
numerous that some authors (A. Rossetti, D.N. Shmelev) collecting
them produced works of impressive scope and bulk.
A
few examples will suffice to show that any definition is conditioned
by the aims and interests of its author.
Thomas
Hobbes (1588-1679),
one
of the great English philosophers, revealed a materialistic approach
to the problem of nomination when he wrote that words are not mere
sounds but names of matter. Three centuries later the great Russian
physiologist I.P. Pavlov (1849-1936)
examined
the word in connection with his studies of the second signal system,
and defined it as a universal signal that can substitute any other
signal from the environment in evoking a response in a human
organism. One of the latest developments of science and engineering
is machine translation. It also deals with words and requires a
rigorous definition for them. It runs as follows: a word is a
sequence of graphemes which can occur between spaces, or the
representation of such a sequence on morphemic level.
Within
the scope of linguistics the word has been defined syntactically,
semantically, phonologically and by combining various approaches.
It
has been syntactically defined for instance as “the minimum
sentence” by H. Sweet and much later by L. Bloomfield as “a
minimum free form”. This last definition, although structural in
orientation, may be said to be, to a certain degree, equivalent to
Sweet’s, as practically it amounts to the same thing: free forms
are later defined as “forms which occur as sentences”.
E.
Sapir takes into consideration the syntactic and semantic aspects
when he calls the word “one of the smallest completely satisfying
bits of isolated ‘meaning’, into which the sentence resolves
itself”. Sapir also points out one more, very important
characteristic of the word, its indivisibility:
“It cannot be cut into without a disturbance of meaning, one or two
other or both of the several parts remaining as a helpless waif on
our hands”. The essence of indivisibility will be clear from a
comparison of the article a
and
the prefix a-
in
a
lion and
alive.
A lion is
a word-group because we can separate its elements and insert other
words between them: a
living lion, a dead lion. Alive is
a word: it is indivisible, i.e. structurally impermeable: nothing can
be inserted between its elements. The morpheme a-
is
not free, is not a word. The
28
situation
becomes more complicated if we cannot be guided by solid spelling.’
“The Oxford English Dictionary», for instance, does not
include the
reciprocal pronouns each
other and
one
another under
separate headings, although
they should certainly be analysed as word-units, not as word-groups
since they have become indivisible: we now say with
each other and
with
one another instead
of the older forms one
with another or
each
with the other.1
Altogether
is
one word according to its spelling, but how is one to treat all
right, which
is rather a similar combination?
When
discussing the internal cohesion of the word the English linguist
John Lyons points out that it should be discussed in terms of two
criteria “positional
mobility”
and
“uninterruptability”.
To illustrate the first he segments into morphemes the following
sentence:
the
—
boy
—
s
—
walk
—
ed
—
slow
—
ly
—
up
—
the
—
hill
The
sentence may be regarded as a sequence of ten morphemes, which occur
in a particular order relative to one another. There are several
possible changes in this order which yield an acceptable English
sentence:
slow
—
ly
—
the
—
boy
—
s
—
walk
—
ed
—
up
—
the
—
hill
up —
the
—
hill
—
slow
—
ly
—
walk
—
ed
—
the
—
boy
—
s
Yet
under all the permutations certain groups of morphemes behave as
‘blocks’ —
they
occur always together, and in the same order relative to one another.
There is no possibility of the sequence s
—
the
—
boy,
ly —
slow,
ed —
walk.
“One
of the characteristics of the word is that it tends to be internally
stable (in terms of the order of the component morphemes), but
positionally mobile (permutable with other words in the same
sentence)”.2
A
purely semantic treatment will be found in Stephen Ullmann’s
explanation: with him connected discourse, if analysed from the
semantic point of view, “will fall into a certain number of
meaningful segments which are ultimately composed of meaningful
units. These meaningful units are called words.»3
The
semantic-phonological approach may be illustrated by A.H.Gardiner’s
definition: “A word is an articulate sound-symbol in its aspect of
denoting something which is spoken about.»4
The
eminent French linguist A. Meillet (1866-1936)
combines
the semantic, phonological and grammatical criteria and advances a
formula which underlies many subsequent definitions, both abroad and
in our country, including the one given in the beginning of this
book: “A word is defined by the association of a particular meaning
with a
1Sapir
E. Language.
An Introduction to the Study of Speech. London, 1921,
P.
35.
2 Lyons,
John. Introduction
to Theoretical Linguistics. Cambridge: Univ. Press, 1969.
P. 203.
3 Ullmann
St. The
Principles of Semantics. Glasgow, 1957.
P.
30.
4 Gardiner
A.H. The
Definition of the Word and the Sentence //
The
British Journal of Psychology. 1922.
XII.
P. 355
(quoted
from: Ullmann
St.,
Op.
cit., P. 51).
29
particular
group of sounds capable of a particular grammatical employment.»1
This
definition does not permit us to distinguish words from phrases
because not only child,
but
a
pretty child as
well are combinations of a particular group of sounds with a
particular meaning capable of a particular grammatical employment.
We
can, nevertheless, accept this formula with some modifications,
adding that a word is the smallest significant unit of a given
language capable of functioning alone and characterised by positional
mobility
within
a sentence, morphological
uninterruptability
and semantic
integrity.2
All these criteria are necessary because they permit us to create a
basis for the oppositions between the word and the phrase, the word
and the phoneme, and the word and the morpheme: their common feature
is that they are all units of the language, their difference lies in
the fact that the phoneme is not significant, and a morpheme cannot
be used as a complete utterance.
Another
reason for this supplement is the widespread scepticism concerning
the subject. It has even become a debatable point whether a word is a
linguistic unit and not an arbitrary segment of speech. This opinion
is put forth by S. Potter, who writes that “unlike a phoneme or a
syllable, a word is not a linguistic unit at all.»3
He calls it a conventional and arbitrary segment of utterance, and
finally adopts the already mentioned
definition of L. Bloomfield. This position is, however, as
we have already mentioned, untenable, and in fact S. Potter himself
makes ample use of the word as a unit in his linguistic analysis.
The
weak point of all the above definitions is that they do not establish
the relationship between language and thought, which is formulated if
we treat the word as a dialectical unity of form and content, in
which the form is the spoken or written expression which calls up a
specific meaning, whereas the content is the meaning rendering the
emotion or the concept in the mind of the speaker which he intends to
convey to his listener.
Summing
up our review of different definitions, we come to the conclusion
that they are bound to be strongly dependent upon the line of
approach, the aim the scholar has in view. For a comprehensive word
theory, therefore, a description seems more appropriate than a
definition.
The
problem of creating a word theory based upon the materialistic
understanding of the relationship between word and thought on the one
hand, and language and society, on the other, has been one of the
most discussed for many years. The efforts of many eminent scholars
such as V.V. Vinogradov, A. I. Smirnitsky, O.S. Akhmanova, M.D.
Stepanova, A.A. Ufimtseva —
to
name but a few, resulted in throwing light
1Meillet
A. Linguistique
historique et linguistique generate. Paris,
1926.
Vol.
I. P. 30.
2 It
might be objected that such words as articles, conjunctions and a few
other words
never occur as sentences, but they are not numerous and could be
collected into a
list of exceptions.
3 See:
Potter
S. Modern
Linguistics. London, 1957.
P.
78.
30
on this problem and achieved a
clear presentation of the word as a basic unit of the language. The
main points may now be summarised.
The
word
is the
fundamental
unit
of language.
It is a dialectical
unity
of form
and
content.
Its content or meaning is not identical to notion, but it may reflect
human notions, and in this sense may be considered as the form of
their existence. Concepts fixed in the meaning of words are formed as
generalised and approximately correct reflections of reality,
therefore in signifying them words reflect reality in their content.
The
acoustic aspect of the word serves to name objects of reality, not to
reflect them. In this sense the word may be regarded as a sign. This
sign, however, is not arbitrary but motivated by the whole process of
its development. That is to say, when a word first comes into
existence it is built out of the elements already available in the
language and according to the existing patterns.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
This post on IELTS Reading Skills focuses on some methods to guess/predict the meaning of new/unknown/confusing words. Hopefully, reading this post will guide beginners in IELTS Reading easily to understand how to guess the meaning of such words in a real-test situation.
When you don’t understand a new/unknown/confusing word in a large text, what’s the first thing you do? Most probably you stop reading the text; then you search for a good dictionary and try to find out the meaning. When you are satisfied with the meaning, you come back to read the text. Now, the black magic happens with a lot of people like it always happened with me! You suddenly find that you’ve lost your interest in reading. Taking the ‘Dictionary break’ sometimes costs your attention and you fail to get into the reading again.
Well, how about a different approach to Reading an article? When you start reading a text, you will surely face some new/unknown/confusing words you don’t have idea about. You might be a native speaker of English and still you will face the same problem. Taking help from a dictionary can be a solution but you can’t use a dictionary in an exam situation, can you? Therefore, you need some strategies that may help you predict the meaning of the word. Here, is this lesson, I’ll try to show you some strategies that can help you guess the meaning of such words.
Let’s begin.
1. You don’t need to know every new/unknown word. Sometimes they aren’t needed.
Ask yourself this question: Do I need to know all the words? Let’s take the following sentence as an example:
“By asking people about their experiences of boredom, Thomas Goetz and his team at the University of Konstanz in Germany have recently identified five distinct types: indifferent, calibrating, searching, reactant and apathetic.” (Cambridge IELTS 13 Test 1 Reading Test 2)
Here, in this long sentence, most average English learners have the possibility to get stuck with these 3 words, calibrating, reactant and apathetic. Should you stop reading for that?
OK, let’s try to guess what these words mean in general, not the exact meaning. Do these words belong to a same group? The previous lines talk about boredom and their types. All these three words are the types of boredom. The other two words are known to you, indifferent and searching. Probably, in the next few paragraphs, there will be some sort of discussion on each type. So, for now, you don’t need the exact meaning. Have you got my point? A long list of games may have peculiar names of games like Molkky which you don’t need to know; a game is a game, isn’t it?
2. Parts of speech can help to find out the meaning:
It’s easy to find a meaning, not exact but close at least, if you know what part of speech it belongs to. Most often candidates and students of IELTS test get jammed to an unknown word without considering much about the part of speech. In most cases the new words are nouns, adjectives, verbs or adverbs. If you know the functions of these parts of speech, it becomes easier to guess a meaning.
Let’s look at this example sentence:
“Fish were a vital commodity in growing towns and cities, where food supplies were a constant concern. . ..”. (Cambridge IELTS Series 8 Reading Test 2)
Let’s suppose you don’t know the word commodity in this text. Let’s try to guess it from it’s part of speech. What kind of part of speech is it?
The sentence says, “Fish were a vital commodity . .. .” The preceding words are ‘a’ and ‘vital’. ‘a’ is an article and ‘vital’ is an adjective. Therefore, to maintain grammatical rule, the next word has to be a noun (article + adjective + noun). As the word commodity is a noun, we can guess the meaning as a thing or person (a noun is always a thing or a person). Now, the sentence tells us that it is about fish and fish cannot be a person. So, we can guess that the meaning of commodity should be something. So, we can read the sentence like this: “Fish were a vital something. .. . ..”
3. Root words can direct you to the meaning:
This is another easy way to find the meaning of a confusing/unknown word. Take this example:
“… . . Extreme high performance sports may lead to optimal cardiovascular performance, but they quite certainly do not prolong life . . .” (Cambridge IELTS Series 8 Reading Test 3)
As the word is before the word ‘performance (noun)’, we already know that this new word cardiovascular is an adjective. So, can we guess the root word for this particular word? Let’s dissect the word first:
- cardiovascular = cardio + vascular
So, the root word here is cardio which means heart-related. You may even know other words like cardiology, cardiac, cardiogram, cardiologist, cardiograph; all these word relate to something or someone dealing with heart (body part).
Now, if you read the sentence again, you can guess the meaning better.
“… . . Extreme high performance sports may lead to optimal cardiovascular (or heart) performance, but they quite certainly do not prolong life . . .”
It does the work quite well, doesn’t it?
4. Break down the sentence. You may learn the meaning of the word from the whole sentence.
When you find a very long sentence with some unknown words, don’t panic. You can break down the sentence which may help you find the meaning of the unknown word(s). Let’s have a close look at the following example:
“… At various points in evolutionary history; enterprising individuals within many different animal groups moved out onto the land, sometimes even to the most parched deserts, taking their own private seawater with them in blood and cellular fluids.” (Cambridge IELTS Series 9 Reading Test 1)
Suppose, you don’t know the meaning of the word ‘parched’. Let’s take a deep breath and break down the sentence. Can you see two commas separating the sentence in three individual parts?
Part 1: At various points in evolutionary history; enterprising individuals within many different animal groups moved out onto the land,
Part 2: sometimes even to the most parched deserts,
Part 3: taking their own private seawater with them in blood and cellular fluids.
Now, think about the second part only, forget the first and third part for the time-being.
“. . .. . sometimes even to the most parched deserts,. .. ..”
So, here we can see that the text is taking about deserts which are parched. Again, just like in method no. 2, desert is a noun, so, the word ‘parched’ is an adjective. Therefore, this word describes a quality or status of deserts. We know that the most significant status or quality of a desert is that it is a dry place. So, the word ‘parched’ must be something related to ‘dry’.
Now, you can check your dictionary at a later time and find out whether you were correct in guessing the meaning or not. If not correct, you will be close, trust me.
5. Search for clues around: it can be synonyms, antonyms, prefixes, suffixes, anything.
Let’s take a look at the following sentence:
“Hearing impairment or other auditory function deficit in young children can have a major impact on their development of speech and communication, resulting in a detrimental effect on their ability to learn at school.” (Cambridge IELTS Series 9 Reading Test 2)
Suppose, you don’t know these words: auditory and deficit. Let’s look for other words here, may be some synonyms or antonyms.
First, let’s dissect the word auditory to find out the root word:
The root word for auditory is audio. Does the root word ring any bell? Take a look the first word of the whole sentence. Hearing is synonymous to audio. Thus, the word auditory relates to sound.
Now, let’s have a look at the second word, deficit.
Take a look at the first part of the sentence again:
“Hearing impairment or other auditory function deficit in young children . .. .”
Can you see the word ‘or’ here? What’s the function of the word ‘or’ here?
According to Cambridge Dictionary, the word or is a conjunction that connects two or more possibilities or alternatives. It connects words, phrases and clauses which are the same grammatical type.
So, we can say that ‘or’ connects two synonymous words.
The phrase ‘Hearing impairment’ has an adjective (hearing) and then a noun (impairment). Here, impairment means a problem.
Now, let’s have a look at the phrase after ‘or’. The phrase is ‘auditory function deficit’. Here, ‘Hearing’ means ‘auditory function’. So, in this text deficit means impairment.
6. Definitions or explanations might help too.
If you know how to find out the definition of a word, you are in luck! No unknown or new words can obstruct your reading of the text.
You can look for different words such as is, mean(s), depict(s), describe(s), refer(s) to, known as, called, named, entitled, deal(s) with, explain(s), suggest(s), comprise(s), consist(s) of etc.
You should also look for asterisk sign (*) or numbers (1, 2, etc.), a hyphen or double hyphen (-, – -), even brackets ( ) with a word too. If you find them, look below or around the text. There should be some sort of footnotes or glossary explaining the word(s).
Let’s have a look at some examples:
“As their name suggests, stepwells comprise a series of stone steps descending from ground level to the water source . . ..” (Cambridge IELTS Series 10 Reading Test 1)
Here, the words suggests and comprise give us the definition of stepwells.
Another example:
“Easter Island, or Rapa Nui as it is known locally, is home to several hundred ancient human statues – the moai.” (Cambridge 11 Test 2 Reading Passage 2)
Suppose here, in this sentence, you don’t understand the words Rapa Nui and the moai. Now, take a close look at the phrase Rapa Nui, you’ll see a definition of the word given just after that; “. . . .is home to several hundred ancient human statues – the moai.”
Again, the explanation or definition of the phrase the moai is given in the same sentence. Have a look at the sentence again and you will see a hyphen before the phrase the moai. This means an explanation is given just before the hyphen which is “.. .. ancient human statues”.
Here is one more instance:
Take a look at this image of the text taken from Cambridge IELTS Series 10. In paragraph B, you’ll find a word – photosynthesis with an asterisk sign (*). This means the word is explained just below the text. I’ve marked it with a red line.
One final example for your better understanding:
“Silk is a fine, smooth material produced from the cocoons – soft protective shells – that are made by mulberry silkworms (insect larvae).” (Cambridge IELTS Series 11 Test 3 Reading Passage 1)
Suppose, these two word seem confusing to you; cocoons and silkworms. Actually, both the words are explained here. The word ‘cocoons’ is explained within two hyphens “– soft protective shells –“ and the word silkworms is explained within brackets “(insect larvae)”.
So, looking for an explanation or definition around can help you directly.
7. Think about nuance/ connotations of a word: what’s the implied positive or negative?
This technique will be useful for candidates who are already in a good place in Reading or Writing Test and now want to target 8.0 or 9.0.
Connotation refers to the implied meaning of a word. It can be positive or negative. Confused ? Let’s take a look at some examples:
- “Alex’s thesis paper looked a bit different in that it constructively criticized the government plan to reduce the number of basic shelters for the homeless.”
- “Hannah’s dissertation seemed to be different from her classmates’ as it did not follow the basic structure or any writing plan.”
As you can see, both sentences A and B contain the word different. Then why have I used green in A and red in B?
In sentence A the word different implies that Alex’s writing was unique.
In sentence B the word different implies that Hannah’s writing was peculiar.
This is known as connotation. If you can understand connotation in IELTS, you have a great chance to score way better than others. However, it needs a huge amount of practice.
That’s all from me for this post. I hope you now have a better understanding to think about new/unknown/confusing words. If you are already in a good position in Reading, this post may/might help you to get a better score, but if you are seriously in troubles with your Reading test because of unknown words, try these ideas while you do a test of your own and keep the dictionary away from you for a while. I bet you’ll find these ideas useful and effective.
If you still have queries or want to know more about this lesson, hit the messenger button and throw your questions there or mail me at ieltsdeal@gmail.com. I’ll be in touch, I promise.
Click here to learn about IELTS Reading skills: Skimming and Scanning
NLTK Wordnet can be used to find synonyms and antonyms of words. NLTK Corpus package is used to read the corpus to understand the lexical semantics of the words within the document. A WordNet involves semantic relations of words and their meanings within a lexical database. The semantic relations within the WordNet are hypernyms, synonyms, holonyms, hyponyms, meronyms. NLTK WordNet includes the usage of synsets for finding the words within the WordNet with their usages, definitions, and examples. NLTK WordNet is to find the representations between senses. Relation type detection is connected to the WordNet with lexical semantics. A dog can be a mammal, and this can be expressed with an “IS-A” relation type sentence. Thus, NLTK Wordnet is used to find the relations between words from a document, spam detection, duplication detection, or characteristics of the words within a written text with their POS Tags.
NLTK Lemmatization, stemming, tokenization, and POS Tagging are related to the NLTK WordNet for Natural Language Processing. To use the Natural Language Tool Kit WordNet with better efficiency, the synonyms, and antonyms, holonyms, hypernyms, and hyponyms, and all of the lexical relations should be used for text processing and text cleaning. In this NLTK WordNet Python tutorial, the synonym and antonym finding, along with word similarity calculation will be used with NLTK Corpus Reader for the English Language.
A quick example of the synonym and antonym finding with NLTK Python can be found below.
def synonym_antonym_extractor(phrase):
from nltk.corpus import wordnet
synonyms = []
antonyms = []
for syn in wordnet.synsets(phrase):
for l in syn.lemmas():
synonyms.append(l.name())
if l.antonyms():
antonyms.append(l.antonyms()[0].name())
print(set(synonyms))
print(set(antonyms))
synonym_antonym_extractor(phrase="word")
OUTPUT >>>
{'tidings', 'password', 'Holy_Writ', 'Good_Book', 'Bible', 'discussion', 'news', 'parole', 'give_voice', 'articulate', 'Son', 'word', 'Holy_Scripture', 'Book', 'give-and-take', 'Christian_Bible', 'intelligence', 'Logos', 'phrase', 'word_of_honor', 'formulate', 'Scripture', 'Word', 'watchword', 'countersign', 'Word_of_God'}
set()
The Synonym and Antonym finding example code block with Python NLTK involves a custom function creation, “nltk.corpus”, and “wordnet” with “syn.lemmas”, “syn.antonyms” along with a for a loop. The phrase “word” has been used as an example for the NLTK Synonym and Antonym finding. According to the WordNet within the NLTK.corpus, there is no antonym for “word” phrase, but the synonyms are “password”, “Holy Writ”, “Good Book”, “Bible”, “Discussion”, “News”, “Parole”. NLTK Synonyms and Antonyms involve lexical synonyms and contextual synonyms from WordNet.
In this Python and NLTK Synonym and Antonym finding guide, the usage of the NLTK WordNet for lexical semantics, word similarities, and synonym, antonym, hypernym, hyponym, verb frames, and more will be processed.
How to Find Synonyms of a Word with NLTK WordNet and Python?
To find the synonyms of a word with NLTK WordNet, the instructions below should be followed.
- Import NLTK.corpus
- Import WordNet from NLTK.Corpus
- Create a list for assigning the synonym values of the word.
- Use the “synsets” method.
- use the “syn.lemmas” property to assign the synonyms to the list with a for loop.
- Call the synonyms of the word with NLTK WordNet within a set.
An example of the finding of the synonym of a word via NLTK and Python is below.
from nltk.corpus import WordNet
synonyms = []
for syn in wordnet.synsets("love"):
for i in syn.lemmas():
synonyms.append(l.name())
print(set(synonyms))
OUTPUT >>>
{'dearest', 'love_life', 'get_it_on', 'roll_in_the_hay', 'lie_with', 'screw', 'bonk', 'passion', 'honey', 'sleep_together', 'lovemaking', 'making_love', 'make_love', 'have_sex', 'jazz', 'bed', 'erotic_love', 'dear', 'do_it', 'have_it_away', 'be_intimate', 'fuck', 'have_a_go_at_it', 'sleep_with', 'hump', 'enjoy', 'eff', 'have_it_off', 'know', 'have_intercourse', 'make_out', 'bang', 'beloved', 'love', 'get_laid', 'sexual_love'}
In the example above, the word “love” is used for finding its synonyms for different contexts with the NLTK and Python. The synonyms that are found for the “love” involves “dearest”, “lie with”, “screw”, “bonk”, “passion”, “honey” and some subtypes such as “sexual love”, “erotic love”. A word can be a synonym of another word, and indirectly related and connected words can be included within the synonym list of a word with NLTK WordNet. Thus, to find the different contextual synonyms and sibling phrases for a word, NLTK can be used. The compositional compounds and non-compositional compounds, or synonyms are used by the search engines. For a search engine optimization or search engine creation project, the NLTK WordNet and synonyms are prominent for understanding the context of textual data. Thus, from the Google Patents, the NLTK and WordNet can be found as mentioned methodology for synonym finding.
How to Find Antonyms of a Word with NLTK WordNet and Python?
To find the Antonyms of a Word with NLTK WordNet and Python, the following instructions should be followed.
- Import NLTK.corpus
- Import WordNet from NLTK.Corpus
- Create a list for assigning the synonym values of the word.
- Use the “synsets” method.
- use the “syn.lemmas” property to assign the synonyms to the list with a for loop.
- Use the “antonyms()” method with “name” property for calling the antonym of the phrase.
- Call the antonyms of the word with NLTK WordNet within a set.
from nltk.corpus import wordnet
antonyms = []
for syn in wordnet.synsets("love"):
for i in syn.lemmas():
if i.antonyms():
antonyms.append(i.antonyms()[0].name())
print(set(antonyms))
OPUTPUT >>>
{'hate'}
The antonym of the word “love” has been found as “hate” via the NLTK Antonym finding code example. Finding Synonyms and Antonyms from sentences by tokenizing the words within the sentence is beneficial to see the possible contextual connections to understand the content with NLP. Thus, creating a custom function for synonym finding within the text with Python is useful. The next section of the NLTK Python Synonym and Antonym Finding Tutorial with WordNet will be about a custom function creation.
How to use a custom Python Function for Finding Synonyms and Antonyms with NLTK WordNet?
To use a custom Python Function for finding synonyms and antonyms with NLTK, follow the instructions below.
- Create a custom function with the Python built-in “def” command.
- Use the text for synonym and antonym finding as the argument of the custom synonym and antonym finder Python function.
- Import the “word_tokenize” from the “nltk.tokenize”.
- Import the “wordnet” from the “nltk.corpus”.
- Import “defualtdict” from the “collections”.
- Import “pprint” for the pretty print the antonyms and synonyms.
- Tokenize the words within the sentence for synonym and antonym finding with NLTK.
- Create the antonym and synonym lists with “defaultdict(list)”.
- Use a for loop with the tokens of tokenized sentence with NLTK for synonym and antonym finding.
- Use a for a loop with the “synsets” for synonym and antonym finding.
- Use an “if” statement to check whether the antonym of the word exists or not.
- Use “pprint.pformat” and “dict” for making the synonym and antonym list writable to the a txt file.
- Append all of the synonyms and antonyms for every word within the sentence with the created synonym and antonym defaultdict lists.
- Open a new file as txt.
- Print all of the synonyms and antonyms to a txt file.
- Close the opened and created txt file.
An example of using the WordNet NLTK for finding synonyms and antonyms from an example sentence can be found below.
def text_parser_synonym_antonym_finder(text:str):
from nltk.tokenize import word_tokenize
from nltk.corpus import wordnet
from collections import defaultdict
import pprint
tokens = word_tokenize(text)
synonyms = defaultdict(list)
antonyms = defaultdict(list)
for token in tokens:
for syn in wordnet.synsets(token):
for i in syn.lemmas():
#synonyms.append(i.name())
#print(f'{token} synonyms are: {i.name()}')
synonyms[token].append(i.name())
if i.antonyms():
#antonyms.append(i.antonyms()[0].name())
#print(f'{token} antonyms are: {i.antonyms()[0].name()}')
antonyms[token].append(i.antonyms()[0].name())
pprint.pprint(dict(synonyms))
pprint.pprint(dict(synonyms))
synonym_output = pprint.pformat((dict(synonyms)))
antonyms_output = pprint.pformat((dict(antonyms)))
with open(str(text[:5]) + ".txt", "a") as f:
f.write("Starting of Synonyms of the Words from the Sentences: " + synonym_output + "n")
f.write("Starting of Antonyms of the Words from the Sentences: " + antonyms_output + "n")
f.close()
text_parser_synonym_antonym_finder(text="WordNet is a lexical database that has been used by a major search engine. From the WordNet, information about a given word or phrase can be calculated such as")
OUTPUT >>>
Starting of Synonyms of the Words from the Sentences: {'WordNet': ['wordnet',
'WordNet',
'Princeton_WordNet',
'wordnet',
'WordNet',
'Princeton_WordNet'],
'a': ['angstrom',
'angstrom_unit',
'A',
'vitamin_A',
'antiophthalmic_factor',
'axerophthol',
'A',
'deoxyadenosine_monophosphate',
'A',
'adenine',
'A',
'ampere',
'amp',
'A',
'A',
'a',
'A',
'type_A',
'group_A',
'angstrom',
'angstrom_unit',
'A',
'vitamin_A',
'antiophthalmic_factor',
'axerophthol',
'A',
'deoxyadenosine_monophosphate',
'A',
'adenine',
'A',
'ampere',
'amp',
'A',
'A',
'a',
'A',
'type_A',
'group_A',
'angstrom',
'angstrom_unit',
'A',
'vitamin_A',
'antiophthalmic_factor',
'axerophthol',
'A',
'deoxyadenosine_monophosphate',
'A',
'adenine',
'A',
'ampere',
'amp',
'A',
'A',
'a',
'A',
'type_A',
'group_A'],
'about': ['about',
'astir',
'approximately',
'about',
'close_to',
'just_about',
'some',
'roughly',
'more_or_less',
'around',
'or_so',
'about',
'around',
'about',
'around',
'about',
'around',
'about',
'around',
'about',
'about',
'almost',
'most',
'nearly',
'near',
'nigh',
'virtually',
'well-nigh'],
'as': ['arsenic',
'As',
'atomic_number_33',
'American_Samoa',
'Eastern_Samoa',
'AS',
'angstrom',
'angstrom_unit',
'A',
'vitamin_A',
'antiophthalmic_factor',
'axerophthol',
'A',
'deoxyadenosine_monophosphate',
'A',
'adenine',
'A',
'ampere',
'amp',
'A',
'A',
'a',
'A',
'type_A',
'group_A',
'equally',
'as',
'every_bit'],
'be': ['beryllium',
'Be',
'glucinium',
'atomic_number_4',
'be',
'be',
'be',
'exist',
'be',
'be',
'equal',
'be',
'constitute',
'represent',
'make_up',
'comprise',
'be',
'be',
'follow',
'embody',
'be',
'personify',
'be',
'be',
'live',
'be',
'cost',
'be'],
'been': ['be',
'be',
'be',
'exist',
'be',
'be',
'equal',
'be',
'constitute',
'represent',
'make_up',
'comprise',
'be',
'be',
'follow',
'embody',
'be',
'personify',
'be',
'be',
'live',
'be',
'cost',
'be'],
'by': ['by', 'past', 'aside', 'by', 'away'],
'calculated': ['calculate',
'cipher',
'cypher',
'compute',
'work_out',
'reckon',
'figure',
'calculate',
'estimate',
'reckon',
'count_on',
'figure',
'forecast',
'account',
'calculate',
'forecast',
'calculate',
'calculate',
'aim',
'direct',
'count',
'bet',
'depend',
'look',
'calculate',
'reckon',
'deliberate',
'calculated',
'measured'],
'can': ['can',
'tin',
'tin_can',
'can',
'canful',
'can',
'can_buoy',
'buttocks',
'nates',
'arse',
'butt',
'backside',
'bum',
'buns',
'can',
'fundament',
'hindquarters',
'hind_end',
'keister',
'posterior',
'prat',
'rear',
'rear_end',
'rump',
'stern',
'seat',
'tail',
'tail_end',
'tooshie',
'tush',
'bottom',
'behind',
'derriere',
'fanny',
'ass',
'toilet',
'can',
'commode',
'crapper',
'pot',
'potty',
'stool',
'throne',
'toilet',
'lavatory',
'lav',
'can',
'john',
'privy',
'bathroom',
'can',
'tin',
'put_up',
'displace',
'fire',
'give_notice',
'can',
'dismiss',
'give_the_axe',
'send_away',
'sack',
'force_out',
'give_the_sack',
'terminate'],
'database': ['database'],
'engine': ['engine',
'engine',
'locomotive',
'engine',
'locomotive_engine',
'railway_locomotive',
'engine'],
'given': ['given',
'presumption',
'precondition',
'give',
'yield',
'give',
'afford',
'give',
'give',
'give',
'pay',
'hold',
'throw',
'have',
'make',
'give',
'give',
'throw',
'give',
'gift',
'present',
'give',
'yield',
'give',
'pay',
'devote',
'render',
'yield',
'return',
'give',
'generate',
'impart',
'leave',
'give',
'pass_on',
'establish',
'give',
'give',
'give',
'sacrifice',
'give',
'pass',
'hand',
'reach',
'pass_on',
'turn_over',
'give',
'give',
'dedicate',
'consecrate',
'commit',
'devote',
'give',
'give',
'apply',
'give',
'render',
'grant',
'give',
'move_over',
'give_way',
'give',
'ease_up',
'yield',
'feed',
'give',
'contribute',
'give',
'chip_in',
'kick_in',
'collapse',
'fall_in',
'cave_in',
'give',
'give_way',
'break',
'founder',
'give',
'give',
'give',
'afford',
'open',
'give',
'give',
'give',
'give',
'yield',
'give',
'give',
'give',
'give',
'give',
'give',
'give',
'give',
'give',
'give',
'give',
'given',
'granted',
'apt',
'disposed',
'given',
'minded',
'tending'],
'has': ['hour_angle',
'HA',
'have',
'have_got',
'hold',
'have',
'feature',
'experience',
'receive',
'have',
'get',
'own',
'have',
'possess',
'get',
'let',
'have',
'consume',
'ingest',
'take_in',
'take',
'have',
'have',
'hold',
'throw',
'have',
'make',
'give',
'have',
'have',
'have',
'experience',
'have',
'induce',
'stimulate',
'cause',
'have',
'get',
'make',
'accept',
'take',
'have',
'receive',
'have',
'suffer',
'sustain',
'have',
'get',
'have',
'get',
'make',
'give_birth',
'deliver',
'bear',
'birth',
'have',
'take',
'have'],
'information': ['information',
'info',
'information',
'information',
'data',
'information',
'information',
'selective_information',
'entropy'],
'is': ['be',
'be',
'be',
'exist',
'be',
'be',
'equal',
'be',
'constitute',
'represent',
'make_up',
'comprise',
'be',
'be',
'follow',
'embody',
'be',
'personify',
'be',
'be',
'live',
'be',
'cost',
'be'],
'lexical': ['lexical', 'lexical'],
'major': ['major',
'Major',
'John_Major',
'John_R._Major',
'John_Roy_Major',
'major',
'major',
'major',
'major',
'major',
'major',
'major',
'major',
'major',
'major',
'major'],
'or': ['Oregon',
'Beaver_State',
'OR',
'operating_room',
'OR',
'operating_theater',
'operating_theatre',
'surgery'],
'phrase': ['phrase',
'phrase',
'musical_phrase',
'idiom',
'idiomatic_expression',
'phrasal_idiom',
'set_phrase',
'phrase',
'phrase',
'give_voice',
'formulate',
'word',
'phrase',
'articulate',
'phrase'],
'search': ['search',
'hunt',
'hunting',
'search',
'search',
'lookup',
'search',
'search',
'search',
'seek',
'look_for',
'search',
'look',
'research',
'search',
'explore',
'search'],
'such': ['such', 'such'],
'used': ['use',
'utilize',
'utilise',
'apply',
'employ',
'use',
'habituate',
'use',
'expend',
'use',
'practice',
'apply',
'use',
'use',
'used',
'exploited',
'ill-used',
'put-upon',
'used',
'victimized',
'victimised',
'secondhand',
'used'],
'word': ['word',
'word',
'news',
'intelligence',
'tidings',
'word',
'word',
'discussion',
'give-and-take',
'word',
'parole',
'word',
'word_of_honor',
'word',
'Son',
'Word',
'Logos',
'password',
'watchword',
'word',
'parole',
'countersign',
'Bible',
'Christian_Bible',
'Book',
'Good_Book',
'Holy_Scripture',
'Holy_Writ',
'Scripture',
'Word_of_God',
'Word',
'give_voice',
'formulate',
'word',
'phrase',
'articulate']}
Starting of Antonyms of the Words from the Sentences: {'be': ['differ'],
'been': ['differ'],
'can': ['hire'],
'given': ['take', 'starve'],
'has': ['lack', 'abstain', 'refuse'],
'is': ['differ'],
'major': ['minor', 'minor', 'minor', 'minor', 'minor', 'minor', 'minor'],
'used': ['misused']}
At the example above, a sentence has been used as an example for synonym and antonym finding with a custom Python function which is ” text_parser_synonym_antonym_finder”. Below, you can see the “txt” output of the synonym and antonym extractor from a sentence.
For the synonym and antonym finding and extraction from the text, we have created a new “.txt” file with the name of the first word of the sentence. It is important to notice that with NLTK WordNet and Python, a word can have multiple synonyms with the same word because there are different POS Tags for every word within the antonym and synonym list.
How to use POS Tagging for Synonym and Antonym Finding with NLTK WordNet?
To use POS Tagging for synonym and antonym finding with NLTK WordNet, the “pos” attribute should be used with the WordNet of NLTK. An example of usage for POS Tagging to find antonym and synonym with NLTK WordNet is below.
print("VERB of Love: ", wordnet.synsets("love", pos = wordnet.VERB))
print("ADJECTIVE of Love: ", wordnet.synsets("love", pos = wordnet.ADJ))
print("NOUN of Love: ", wordnet.synsets("love", pos = wordnet.NOUN))
OUTPUT >>>
VERB of Love: [Synset('love.v.01'), Synset('love.v.02'), Synset('love.v.03'), Synset('sleep_together.v.01')]
ADJECTIVE of Love: []
NOUN of Love: [Synset('love.n.01'), Synset('love.n.02'), Synset('beloved.n.01'), Synset('love.n.04'), Synset('love.n.05'), Synset('sexual_love.n.02')]
The POS Tagging for Synonyms and Antonyms with NLTK WordNet shows different synsets (synonym rings) for different synonyms and antonyms of a word based on its context. For instance, the “love.v.01” and the “love.v.02” are not the same with each other in terms of context. To see the difference of a word in terms of its synonym meaning and context, the “definition” method of NLTK can be used with POS Tagging. To learn more about the NLTK POS Tagging, read the related guide and tutorial.
How to Find the Definition of a Synonym Word with NLTK WordNet?
To find the definition of a synonym Word with NLTK WordNet by understanding its context, the “wordnet.synset(“word example”, pos = wordnet.POS TAG).definition()” method should be used. To see the two different meanings of the same word as synonyms, the word “love” will use as an example below.
wordnet.synset("love.v.01").definition()
OUTPUT >>>
'have a great affection or liking for'
The example definition finding of a synonym of a word with NLTK WordNet above demonstrates the first verb example of the “love” as the “have a great affection or liking for”. The example below will show the second verb definition of “love”.
wordnet.synset("love.v.02").definition()
OUTPUT >>>
'get pleasure from'
The second meaning finding example of a word with NLTK WordNet can be found above. The second meaning of the word “love” is “get pleasure from”. Thus, even if the synonym of a word has the same “strings” as a “phrase”, still the meaning can be different. Thus, a word can have multiple synonyms with the same shape but different meanings. NLTK WordNet can be found by finding the different contexts, meanings of synonyms with the help of the POS Tagging with NLTK and the Definition Finding of a word. To improve the contextual understanding of a sentence with NLTK, the word usage examples can be called. Finding a word definition with Python has other methods such as using PyDictionary, but NLTK WordNet provides other benefits such as finding sentence examples for the words or finding different contexts of a word with its antonyms and synonyms.
How to find the sentence examples for words within NLTK WordNet?
To find the sentence examples with NLTK WordNet, the “wordnet.synset.examples()” method is used. An example of sentence example extraction with NLTK WordNet can be found below.
for i in wordnet.synset("love.v.01").examples():
print(i)
OUTPUT >>>
I love French food
She loves her boss and works hard for him
In the example above, the first noun meaning of the “love” word is used with the “wordnet.synset().examples()” method. The “I love French Food” and “She loves her boss and works hard for him” sentences are examples of sentences that the word “love” is used with a specific meaning.
for i in wordnet.synset("love.v.01").examples():
print(i)
OUTPUT >>>
I love cooking
The first meaning of “love” as a “verb” is used to take an example as above. The sentence “I love cooking” is returned by the NLTK WordNet as an example of the first meaning of the verb “love”. NLTK WordNet “examples()” method is useful to see the exact context of the specific word and its POS Tag with its versioned numeric value.
How to Extract the Synonyms and their Definitions at the same time with NLTK WordNet?
To extract the synonyms and their definitions with NLTK WordNet, the “wordnet.synset” and the “lemmas()” method with the “definition()” method should be used. The instructions below should be followed for extracting the synonyms and their definitions at the same time with NLTK WordNet.
- Use the “wordnet.synset()” for a word such as “love”, or “phrase”.
- Take the lemmas of the specific synonym ring with the “lemmas()” method.
- Print the “lemma.name()” and “definition()” method at the same time.
Below, you can find the example output.
for i in wordnet.synsets("love"):
for lemma in i.lemmas():
print("Synonym of Word: " + lemma.name(), "| Definition of Synonym: " + i.definition())
OUTPUT >>>
Synonym of Word: love | Definition of Synonym: a strong positive emotion of regard and affection
Synonym of Word: love | Definition of Synonym: any object of warm affection or devotion
Synonym of Word: passion | Definition of Synonym: any object of warm affection or devotion
Synonym of Word: beloved | Definition of Synonym: a beloved person; used as terms of endearment
Synonym of Word: dear | Definition of Synonym: a beloved person; used as terms of endearment
Synonym of Word: dearest | Definition of Synonym: a beloved person; used as terms of endearment
Synonym of Word: honey | Definition of Synonym: a beloved person; used as terms of endearment
Synonym of Word: love | Definition of Synonym: a beloved person; used as terms of endearment
Synonym of Word: love | Definition of Synonym: a deep feeling of sexual desire and attraction
Synonym of Word: sexual_love | Definition of Synonym: a deep feeling of sexual desire and attraction
Synonym of Word: erotic_love | Definition of Synonym: a deep feeling of sexual desire and attraction
Synonym of Word: love | Definition of Synonym: a score of zero in tennis or squash
Synonym of Word: sexual_love | Definition of Synonym: sexual activities (often including sexual intercourse) between two people
Synonym of Word: lovemaking | Definition of Synonym: sexual activities (often including sexual intercourse) between two people
Synonym of Word: making_love | Definition of Synonym: sexual activities (often including sexual intercourse) between two people
Synonym of Word: love | Definition of Synonym: sexual activities (often including sexual intercourse) between two people
Synonym of Word: love_life | Definition of Synonym: sexual activities (often including sexual intercourse) between two people
Synonym of Word: love | Definition of Synonym: have a great affection or liking for
Synonym of Word: love | Definition of Synonym: get pleasure from
Synonym of Word: enjoy | Definition of Synonym: get pleasure from
Synonym of Word: love | Definition of Synonym: be enamored or in love with
Synonym of Word: sleep_together | Definition of Synonym: have sexual intercourse with
Synonym of Word: roll_in_the_hay | Definition of Synonym: have sexual intercourse with
Synonym of Word: love | Definition of Synonym: have sexual intercourse with
Synonym of Word: make_out | Definition of Synonym: have sexual intercourse with
Synonym of Word: make_love | Definition of Synonym: have sexual intercourse with
Synonym of Word: sleep_with | Definition of Synonym: have sexual intercourse with
Synonym of Word: get_laid | Definition of Synonym: have sexual intercourse with
Synonym of Word: have_sex | Definition of Synonym: have sexual intercourse with
Synonym of Word: know | Definition of Synonym: have sexual intercourse with
Synonym of Word: do_it | Definition of Synonym: have sexual intercourse with
Synonym of Word: be_intimate | Definition of Synonym: have sexual intercourse with
Synonym of Word: have_intercourse | Definition of Synonym: have sexual intercourse with
Synonym of Word: have_it_away | Definition of Synonym: have sexual intercourse with
Synonym of Word: have_it_off | Definition of Synonym: have sexual intercourse with
Synonym of Word: screw | Definition of Synonym: have sexual intercourse with
Synonym of Word: fuck | Definition of Synonym: have sexual intercourse with
Synonym of Word: jazz | Definition of Synonym: have sexual intercourse with
Synonym of Word: eff | Definition of Synonym: have sexual intercourse with
Synonym of Word: hump | Definition of Synonym: have sexual intercourse with
Synonym of Word: lie_with | Definition of Synonym: have sexual intercourse with
Synonym of Word: bed | Definition of Synonym: have sexual intercourse with
Synonym of Word: have_a_go_at_it | Definition of Synonym: have sexual intercourse with
Synonym of Word: bang | Definition of Synonym: have sexual intercourse with
Synonym of Word: get_it_on | Definition of Synonym: have sexual intercourse with
Synonym of Word: bonk | Definition of Synonym: have sexual intercourse with
The example above is for every variation of the word “love” with its possible synonyms, and their contexts. It shows that how content can be made richer with certain types of vocabularies, and how the context can be deepened further for improving the relevance. A possible Information Retrieval system can understand the content’s purpose with these synonyms and antonyms further. Thus, NLTK WordNet and synonym, antonym extraction along with examining the word’s definition and example sentences are important.
How to extract synonyms and antonyms from other languages besides English via NLTK Wordnet?
To extract synonyms and antonyms from other languages besides English via NLTK Wordnet, the “langs()” method should be used. With NLTK WordNet and the “lang” method, the ISO-639 Language Codes should be used. ISO-639 language codes contain the language codes with a shortcut. The language codes that can be used with NLTK WordNet can be seen below.
- eng
- als
- arb
- bul
- cat
- cmn
- dan
- ell
- eus
- fas
- fin
- fra
- glg
- heb
- hrv
- ind
- ita
- jpn
- nld
- nno
- nob
- pol
- por
- qcn
- slv
- spa
- swe
- tha
- zsm
To use the ISO-639 Language codes with NLTK WordNet to find synonyms and antonyms with the “lang” attribute, you can examine the example below.
wordnet.synset("love.v.01").lemma_names("fra")
OUTPUT >>>
['aimer', 'amour', 'bien', "faire_l'amour", 'Mange']
The example use of the “lang” method to find the synonym of “love” with the first verb meaning within the French language can be seen above. The synonyms of “love” as a verb within French can be seen below.
These types of language translations with different synonyms from different contexts can be used to find the contextual relevance between different documents from different languages. Thus, NLTK is a valuable tool for search engines. And, the ISO-639 Language Codes have been used for hreflang attribute in the context of SEO as in NLTK WordNet “lang” method.
What other Lexical Semantics can be extracted with NLTK WordNet besides Antonyms and Synonyms?
The other lexical semantics can be extracted with NLTK WordNet besides antonyms and synonyms are listed below.
- Hypernyms: Hypernym is the opposite (antonym) of the Hyponym. Hypnerym is the superior thing of a class of things. NLTK WordNet can be used for extracting the hypernyms of a word with the “hypnerym” attribute.
- Hyponyms: Hyponym is the opposite (antonym) of the Hypernym. Hyponym is the interior thing of a class of things. NLTK WordNet can be used for extracting the hyponym of a word with the “hyponym” attribute.
- Holonyms: Holonym is the opposite (antonym) of the Meronym. Holonym is the name of the whole thing that has multiple parts. NLTK WordNet can be used for extracting the hypernyms of a word with the “member_holonym” attribute.
- Meronyms: Meronym is the opposite (antonym) of the Holonym. It represents the part name within the thing. NLTK WordNet can be used for extracting the hypernyms of a word with the “hypnerym” attribute. NLTK WordNet has the “member_meronyms” for extracting the meronym of a word.
Lexical Semantics involves hypernyms, hyponyms, holonyms, meronyms, antonyms, synonyms, and more semantic word relations. Semantic Role Labeling and Lexical Semantics are directly connected to Semantic SEO and Natural Language Processing. In this context, NLTK WordNet and Lexical Relations such as hypernyms, hyponyms, meronyms are important for SEO and NLP.
How to Find Hypernym of a Word with NLTK WordNet and Python?
To find the Hypernyms of a word and to see its superior class names, the “hypernym()” method within the NLTK WordNet and Synset should be used. The Hypernym is a part of Lexical Relations in NLTK WordNet that explains a word’s upper and superior concepts. A hypernym can show the context of the word. An example of finding the hypernym of a word can be seen below.
for syn in wordnet.synsets("love"):
print(syn.hypernym_distances())
OUTPUT >>>
{(Synset('feeling.n.01'), 2), (Synset('attribute.n.02'), 4), (Synset('love.n.01'), 0), (Synset('entity.n.01'), 6), (Synset('abstraction.n.06'), 5), (Synset('state.n.02'), 3), (Synset('emotion.n.01'), 1)}
{(Synset('love.n.02'), 0), (Synset('cognition.n.01'), 3), (Synset('content.n.05'), 2), (Synset('psychological_feature.n.01'), 4), (Synset('entity.n.01'), 6), (Synset('abstraction.n.06'), 5), (Synset('object.n.04'), 1)}
{(Synset('whole.n.02'), 5), (Synset('physical_entity.n.01'), 7), (Synset('entity.n.01'), 8), (Synset('entity.n.01'), 5), (Synset('organism.n.01'), 3), (Synset('object.n.01'), 6), (Synset('beloved.n.01'), 0), (Synset('living_thing.n.01'), 4), (Synset('physical_entity.n.01'), 4), (Synset('lover.n.01'), 1), (Synset('person.n.01'), 2), (Synset('causal_agent.n.01'), 3)}
{(Synset('abstraction.n.06'), 6), (Synset('state.n.02'), 4), (Synset('sexual_desire.n.01'), 1), (Synset('attribute.n.02'), 5), (Synset('entity.n.01'), 7), (Synset('love.n.04'), 0), (Synset('feeling.n.01'), 3), (Synset('desire.n.01'), 2)}
{(Synset('score.n.03'), 1), (Synset('measure.n.02'), 4), (Synset('number.n.02'), 2), (Synset('entity.n.01'), 6), (Synset('abstraction.n.06'), 5), (Synset('love.n.05'), 0), (Synset('definite_quantity.n.01'), 3)}
{(Synset('sexual_activity.n.01'), 1), (Synset('organic_process.n.01'), 3), (Synset('process.n.06'), 4), (Synset('sexual_love.n.02'), 0), (Synset('entity.n.01'), 6), (Synset('physical_entity.n.01'), 5), (Synset('bodily_process.n.01'), 2)}
{(Synset('love.v.01'), 0)}
{(Synset('like.v.02'), 1), (Synset('love.v.02'), 0)}
{(Synset('love.v.03'), 0), (Synset('love.v.01'), 1)}
{(Synset('copulate.v.01'), 1), (Synset('sleep_together.v.01'), 0), (Synset('connect.v.01'), 3), (Synset('join.v.04'), 2)}
The explanation of “how to find hypernym of a word with NLTK” code block is below.
- Import NLTK and WordNet
- Use “.synsets” method of wordnet.
- Use a for loop for all of the contexts of the phrases.
The example of discovering the hypernyms of the selected phrase represents different “noun” and “verb” contexts. Thus, there are many different hypernym paths. The hypernym distance represents different conceptual connections with a meaningful lexical hierarchy. For instance, the phrase “love” has “feeling” as hypernym, feeling with the first “noun” context while “attribute” is the second hypernym example for the second “noun” context. The context of the words can be seen with its definition as below.
wordnet.synset("love.n.01").definition()
OUTPUT>>>
'a strong positive emotion of regard and affection'
WordNet says that the “love.n.01” means a strong positive emotion. Thus, the hypernym of the word “love” for the first noun context is “feeling” which is a synonym of “emotion”. For the hypernym of the second context which is the second “noun” version of the “love”, the example is below.
wordnet.synset("love.n.02").definition()
OUTPUT >>>
'any object of warm affection or devotion'
The word “attribute” is the hypernym of the word “love” for the second noun meaning which is “any object of warm affection or devotion”. Thus, according to the context of a word, the meaning and the hypernyms will change. The WordNet hypernym paths and distances can affect the topicality score and semantic relevance of a content piece to a query or a context. Another “hypernym” finding example can be found below.
dog = wordnet.synset('dog.n.01')
print(dog.hypernyms())
OUTPUT >>>
[Synset('basenji.n.01'), Synset('corgi.n.01'), Synset('cur.n.01'), Synset('dalmatian.n.02'), Synset('great_pyrenees.n.01'), Synset('griffon.n.02'), Synset('hunting_dog.n.01'), Synset('lapdog.n.01'), Synset('leonberg.n.01'), Synset('mexican_hairless.n.01'), Synset('newfoundland.n.01'), Synset('pooch.n.01'), Synset('poodle.n.01'), Synset('pug.n.01'), Synset('puppy.n.01'), Synset('spitz.n.01'), Synset('toy_dog.n.01'), Synset('working_dog.n.01')]
The phrase “dog” with the first noun meaning has different hypernyms from “dalmatian” to the “griffon” or “puppy”, and “working dog”. All those hypernyms can be closer to the meaning of the dog within the document according to the general context of the document. Finding hypernyms and the hyponyms are connected to each other. Hyponyms can complete the meaning of a hypernym for the selected phrase within the NLTK WordNet.
How to Find Hyponym of a Word with NLTK WordNet and Python?
To find hyponyms of a word with NLTK WordNet and Python, the “hyponyms()” method can be used. Hyponym finding is beneficial to see the lexical relations of a word as a hypernym. Hyponyms comprise the inferior types of inferior versions of a specific phrase with different contexts. To find hyponyms with NLTK and NLP, follow the instructions below.
for syn in wordnet.synsets("love"):
print(syn.hyponyms())
OUTPUT >>>
[Synset('agape.n.01'), Synset('agape.n.02'), Synset('amorousness.n.01'), Synset('ardor.n.02'), Synset('benevolence.n.01'), Synset('devotion.n.01'), Synset('filial_love.n.01'), Synset('heartstrings.n.01'), Synset('lovingness.n.01'), Synset('loyalty.n.02'), Synset('puppy_love.n.01'), Synset('worship.n.02')]
[]
[]
[]
[]
[]
[Synset('adore.v.01'), Synset('care_for.v.02'), Synset('dote.v.02'), Synset('love.v.03')]
[Synset('get_off.v.06')]
[Synset('romance.v.02')]
[Synset('fornicate.v.01'), Synset('take.v.35')]
The explanation of the hyponym finding with the NLTK code example is below.
- Import the NLTK and WordNet
- Call the “wordnet.sysnset” for the selected phrase.
- Call every “hyponym” for every context of the word.
The example above for the phrase “love” shows that there are different types of hyponyms for different types of meanings of “love”. For the first noun context, the hyponym of love is “agape”. “Agape” is a hyponym for the second meaning of “love” as a noun at the same time. In WordNet, a word can have different hypernyms for different noun versions while having the same hyponym for both of them such as love. There can be multiple hyponyms for a specific word within the NLTK such as “amorousness”. Amarousness is the hyponym of “love” for the first noun meaning. It means that when we check the hypernym of a hyponym, the same concept will appear to complete the hypernym path. An example of bidirectional hypernym-hyponym control for NLTK WordNet is below.
for syn in wordnet.synsets("amorousness"):
print(syn.hypernyms())
OUTPUT >>>
[Synset('love.n.01')]
[Synset('sexual_desire.n.01')]
The hypernym of the “amorousness” is the phrase “love”. And, the second hypernym of the “amorousness” is the “sexual desire” which is a signal of the connection’s context between the “love” and the “amorousness”. The same process can be followed for the meaning of the first hyponym of love which is “agape”.
for syn in wordnet.synsets("agape"):
print(syn.hypernyms())
OUTPUT >>>
[Synset('love.n.01')]
[Synset('love.n.01')]
[Synset('religious_ceremony.n.01')]
[]
“Agape” has the “love” as the hypernym naturally. It has “religious ceremony” as a hypernym as well which shows the context of the connection to the phrase “love”. If we check the synonyms and the definition of “agape”, this connection will be more clear.
wordnet.synset("agape.n.01").definition()
OUTPUT >>>
'(Christian theology) the love of God or Christ for mankind'
The definition of the “agape” shows the “religious ceremony” connection for the word “love” and its hyponym. The synonyms of the “agape” can make this connection’s context more clear.
for syn in wordnet.synsets("agape"):
for l in syn.lemmas():
print(l.name())
OUTPUT >>>
agape
agape
agape_love
agape
love_feast
agape
gaping
The synonyms of the “agape” represent its “Christian Love” context as a hyponym for the word “love”. Because the “love feast” is one of the synonyms of the word “love”. And, the “love feast” is actually a term for Christian Mythology.
The NLTK WordNet Hypernyms and Hyponyms show the context of the word and the possible topicality association of the concept. Hyponym finding via NLTK and NLP can be supported by auditing the hypernyms and synonyms, along with the definitions of the words. Topic Modeling is an important part of the NLTK Hypernym and Hyponym connections. In this context, the Topic Modeling with Bertopic can be given as an example.
How to Find Verb Frames of a Verb with NLTK WordNet and Python?
To find the verb frames of a verb with NLTK WordNet can be found with the “frame_ids” and “frame_strings” methods. A verb-frame involves the meaning of the specific verb with an example sentence. Below, you can see an example usage of the “frame_ids” and “frame_strings” with NLTK WordNet to find the verb frames.
for lemma in wordnet.synset('run.v.02').lemmas():
print(lemma, lemma.frame_ids())
print(" | ".join(lemma.frame_strings()))
OUTPUT >>>
Lemma('scat.v.01.scat') [1, 2, 22]
Something scat | Somebody scat | Somebody scat PP
Lemma('scat.v.01.run') [1, 2, 22]
Something run | Somebody run | Somebody run PP
Lemma('scat.v.01.scarper') [1, 2, 22]
Something scarper | Somebody scarper | Somebody scarper PP
Lemma('scat.v.01.turn_tail') [1, 2, 22]
Something turn_tail | Somebody turn_tail | Somebody turn_tail PP
Lemma('scat.v.01.lam') [1, 2, 22]
Something lam | Somebody lam | Somebody lam PP
Lemma('scat.v.01.run_away') [1, 2, 22]
Something run_away | Somebody run_away | Somebody run_away PP
Lemma('scat.v.01.hightail_it') [1, 2, 22]
Something hightail_it | Somebody hightail_it | Somebody hightail_it PP
Lemma('scat.v.01.bunk') [1, 2, 22]
Something bunk | Somebody bunk | Somebody bunk PP
Lemma('scat.v.01.head_for_the_hills') [1, 2, 22]
Something head_for_the_hills | Somebody head_for_the_hills | Somebody head_for_the_hills PP
Lemma('scat.v.01.take_to_the_woods') [1, 2, 22]
Something take_to_the_woods | Somebody take_to_the_woods | Somebody take_to_the_woods PP
Lemma('scat.v.01.escape') [1, 2, 22]
Something escape | Somebody escape | Somebody escape PP
Lemma('scat.v.01.fly_the_coop') [1, 2, 22]
Something fly_the_coop | Somebody fly_the_coop | Somebody fly_the_coop PP
Lemma('scat.v.01.break_away') [1, 2, 22]
Something break_away | Somebody break_away | Somebody break_away PP
The example above demonstrates how to find the different meanings of a verb with its variations. The second meaning of the verb “run” has other variations and synonyms such as “turn_tail”, “scat”, “breakaway”, “escape” and other contextual synonyms. The verb frames are helpful to find the possible word replacements and contextual connections between the sentences. If the specific verb is replaced by one of the examples within the verb frame without changing the meaning of the sentence or the context of the paragraph, it means that the verb frames are used properly.
How to Find Similar Words for a targeted Word with NLTK WordNet and Python?
To find similar words to each other with NLTK Wordnet and Python, the “lch_similarity” and the “path_similarity” are used. The NLTK WordNet measures the word similarity based on the hypernym and hyponym taxonomy. The distance between the words within the hypernym and hyponym paths represents the similarity level between them. The similarity types and methods that can be used within the NLTK WordNet to measure the word similarity are listed below.
- Resink Similarity with “synset1.res_similarity(synset2, ic)”.
- Wu-Palmer Similarity with “synset1.wup_similarity(synset2)”.
- Leacock-Chodorow Similarity with “synset1.lch_similarity(synset2)”.
- Path Similarity with “synset1.path_similarity(synset2)”.
Example measurement of the word similarity with NLTK WordNet can be found below.
wordnet.synset("dog.n.01").path_similarity(wordnet.synset("cat.n.01"))
OUTPUT >>>
0.2
The word similarity score within the NLTK WordNet represents the similarity between the words. The word similarity score within NLTK WordNet is between 0 and 1. 0 represents there is no similarity, while 1 represents the exact identical similarity. Thus, the example measurement for word similarity with Python above shows that the word “cat” and word “dog” as “noun” are similar to each other 20%.
The “Leacock-Chodorow Similarity” takes the hypernym and hyponym distance for the similarity calculation while taking the shortest path into account. The shortest hypernym and hyponym path between two words and the total depth of the path will represent the similarity for Leacock-Chodorow similarity measurement. Below, you can find example usage of the Leacock-Chodorow Similarity with NLTK WordNet.
wordnet.synset("dog.n.01").lch_similarity(wordnet.synset("cat.n.01"))
OUTPUT >>>
2.0281482472922856
The example above shows the score of the word similarity based on the Leacock-Chodorow Similarity with NLTK WordNet. Finding similar words with Python and NLTK WordNet is a broad topic that can be handled with formulas like “-log(p/2d)” and other similarity measurements, or root node attributes. It is useful to see the word predictions and replacements with success. An NLP algorithm can replace the words based on their similarity to check the context shifts. If the context shifts too much, it means that the content is relevant to the first context candidate. And, word similarity with NLTK can be used for relevance calculation, or Information Retrieval systems.
How to Find Topic Domains of a Word with NLTK WordNet and Python?
NLTK WordNet has a “topic domain” metric for a specific word. The topic domain shows the word’s context and its value for a knowledge domain. The NLTK WordNet can be used to understand the topicality and topical relevance of content to another. All of the document’s from a website, or a book or all of the sentences from content with their words can be taken to calculate the topic domains. The dominant topic domain can signal the main context of the document. For a search engine, thus NLTK WordNet, or Semantic Networks with a proper dataset is useful.
To find the topic domains of a word with NLTK WordNet, and Python follow the steps below.
- Import the NLTK.corpus and wordnet to find the topic domain.
- Choose an example word or phrase to take the topic domain.
- Use the “synset” method of Wordnet for the chosen word.
- Use the “topic_domains()” method of the “synset” object.
- Read the output of the “topic_domains()” example.
Example usage of the NLTK WordNet to find the topic domain of a word can be found below.
wordnet.synset('code.n.03').topic_domains()
OUTPUT >>>
[Synset('computer_science.n.01')]
The example above shows that the topic domain of the word “code” as a noun with the third version is “computer science”. One of the problems for diagnosing the topic domains for words from NLTK WordNet is that the topic modeling and hierarchy might not be detailed enough. To make it up, the Wordnet Domains can be used. To use the WordNet Domains, an application is necessary with the email address and accepting the Creative Common Licence. With the WordNet Domains, more than 400 topic domains can be explored. To print the topic domains within the WordNet Domains, use the code example below.
from collections import defaultdict
from nltk.corpus import wordnet as wn
domain2synsets = defaultdict(list)
synset2domains = defaultdict(list)
for i in open('wn-domains-3.2-20070223', 'r'):
ssid, doms = i.strip().split('t')
doms = doms.split()
synset2domains[ssid] = doms
for d in doms:
domain2synsets[d].append(ssid)
for ss in wn.all_synsets():
ssid = str(ss.offset).zfill(8) + "-" + ss.pos()
if synset2domains[ssid]:
print( ss, ssid, synset2domains[ssid])
for dom in sorted(domain2synsets):
print(dom, domain2synsets[dom][:3])
OUTPUT >>>
acoustics ['02584104-n', '02584268-n', '02584812-n']
administration ['00045146-n', '00556291-n', '00556427-n']
agriculture ['00429923-n', '00866914-n', '00996641-n']
anatomy ['00037703-n', '00133136-n', '00353921-n']
animal_husbandry ['00792299-n', '00860674-n', '00861073-n']
animals ['00012748-n', '00962111-n', '01153586-n']
anthropology ['00210724-n', '00211160-n', '00211365-n']
applied_science ['03985477-n', '04266345-n', '04352832-n']
archaeology ['00040040-n', '01328460-n', '01891224-n']
archery ['00423600-n', '09181370-n', '09608089-n']
architecture ['00577011-n', '00871831-n', '02578017-n']
art ['00258392-n', '00573836-n', '00672395-n']
artisanship ['00869978-n', '00870256-n', '00870389-n']
astrology ['03407158-n', '04436236-n', '05444230-n']
astronautics ['00280016-n', '02827728-n', '02966235-n']
astronomy ['00045801-n', '02655846-n', '02656041-n']
athletics ['00410707-n', '00410925-n', '00414898-n']
atomic_physic ['02657581-n', '02685588-n', '02736848-n']
aviation ['00047580-n', '00047871-n', '00159777-n']
badminton ['00455850-n', '00456227-n', '00458699-n']
Finding topics within the documents with the topic domains of the words via NLTK WordNet can be done in a better way by using the WordNet Domains. Below, you can see the output of the WordNet Domains with Python.
Google Search Engine has a similar topicality and topic domain understanding to the NLTK WordNet and the WordNet Domains. Google NLP API gives more than 100 topics for a specific section. In this context, reading using the Google Knowledge Graph API and Python tutorial and guideline is beneficial to see the topics, entities, and their classification based on the text.
To learn more, read the WordNet Domains Guideline.
How to Find Region Domains of a Word with NLTK WordNet and Python?
Region domains represent the region of the specific word that is used. It is useful to see the cultural affinity of the word. A region domain can signal the topic domain. But, the difference between the region domain and the topic domain is that it represents the geographical and cultural category more than its main topic. To find the region domain with NLTK WordNet, the “region_domains()” method is used. The instructions to find the region domains of a word with NLTK WordNet are below.
- Import the NLTK Corpus and WordNet to find the region domain of a word.
- Choose a word to find the region domains.
- Use the “WordNet.synset()” for the example word.
- Use the “region_domains()” method.
An example of finding region domains with NLTK WordNet and Python can be found below.
wordnet.synset('pukka.a.01').region_domains()
OUTPUT >>>
[Synset('india.n.01')]
The example above shows that the word “Pukka” as an adjective has India as the region domain. The same process can be implemented for all of the words from a document to find the overall region signals of a document with NLTK WordNet.
The topic domain and region domain difference is that the topic domain focuses on the meaning of the word while the region domain focuses on the word’s geography and culture. Similarly, the “usage domain” focuses on which language style uses the specific word. For instance, a word can be from a medicine topic, and Japan as a region while being used in scientific language. Thus, NLTK WordNet is to provides information for exploring the language tonality, region signals, and topicality understanding. The next section will demonstrate an example for the NLTK WordNet usage domains.
How to Find Usage Domains of a Word with NLTK WordNet and Python?
Usage domain involves the word’s used language style. A word can be used by scientists, or it can be used within the slang language. To learn the content’s authenticity, target audience, or the author’s writing character, the usage domain can be used. In this context, the accent of a textual language can be seen. To find the usage domain of a word with the NLTK WordNet, the “usage_domains()” method should be used. The instructions for finding usage domains with NLTK WordNet are below.
- Import the NLTK Corpus and WordNet
- Choose a word to find the usage domains.
- Use the “WordNet.synset()” for the word.
- Use the “usage_domains()” method.
Example usage for the NLTK WordNet usage domain finding is below.
wn.synset('fuck.n.01').usage_domains()
OUTPUT >>>
[Synset('obscenity.n.02'), Synset('slang.n.02')]
The example of finding the usage domain of a word with NLTK WordNet and Python above demonstrates a word’s usage domain from “obscenity” and the “slang” language. NLTK WordNet usage domains can be a good signal to see the overall content character of a website, or a document and book.
How to Use WordNet for other languages with Python NLTK?
To use the WordNet NLTK within another language, the “wordnet.lang”, or “lemma_names” method is used. The ISO-639 language codes are used to identify the language that will be used for the WordNet NLTK. Below, you can find example usage of NLTK WordNet for other languages to find the synonyms or the antonyms along with other lexical relations with Python.
wordnet.synset("love.v.01").lemma_names("jpn")
OUTPUT >>>
['いとおしむ',
'いとおしがる',
'傾慕+する',
'好く',
'寵愛+する',
'愛しむ',
'愛おしむ',
'愛好+する',
'愛寵+する',
'愛慕+する',
'慕う',
'ほれ込む']
The example of finding the synonyms for the word “love” within Japan with NLTK Wordnet and Python can be seen above. NLTK WordNet can be used for finding synonyms and lemmas of English Words via words from other languages. The example below shows how to find the synonyms of the word “macchina” in English which is Italian.
wordnet.lemmas('macchina', lang='ita')
OUTPUT >>>
[Lemma('car.n.01.macchina'),
Lemma('locomotive.n.01.macchina'),
Lemma('machine.n.01.macchina'),
Lemma('machine.n.02.macchina')]
Using other language words for finding synonyms within the English language via NLTK WordNet is useful to see the possible connections within the English from other languages. A word from Italian can have different types of lexical relations within English. The cross-language synonym finding shows the understanding of the semantics in a language-agnostic way. Thus, using NLTK WordNet for multi-language applications such as search engines are useful to see a topic with more layer.
The NLTK WordNet-related other NLTK tasks for NLP can be found below.
- NLTK Tokenize is related to NLTK WordNet, because every word that is tokenized via NLTK can be audited with its hypernyms, hyponyms or synonyms within the WordNet.
- NLTK Lemmatize is related to NLTK WordNet as an NLP Task because it provides the different variations and versions of the same word to understand its context.
- NLTK Stemming is related NLTK WordNet task for NLP because it gives the different stemmed versions of the words.
- NLTK Part of Speech Tag is related to NLTK WordNet as NLP task because it gives the different roles for a word within a sentence by protecting its context.
Related terms to the WordNet from NLTK comprise the lexical relations and semantic relevance along with the similarity. Natural Language Toolkit for a WordNet is connected to the terms below.
- FrameNet: FrameNet is connected to the NLTK WordNet bcause it involves the semantic role labels based on the predicates of the sentences and their meanings.
- Lexical Relations: Lexical relations is connected to WordNet NLTK because it provides lexical similarities and connections between different terms and concepts.
- Semantic Relevance: Semantic Relevance is connected to NLTK WordNet because it shows how a word is relevant to another one based on semantic relations.
- Semantic Similarity: Semantic Similarity is connected to NLTK because it provides similarity between two words based on their contexts.
- Hypernyms: Hypernyms is connected to WordNet because it involes the upper and superior parts of a word.
- Hyponyms: Hyponyms is connected to WordNet bcause it involves the inferior and lower parts of a word.
- Synonyms: Synonyms is connected to WordNet bcause it involves the other words that have the same meaning.
- Antonyms: Antonyms is connected to WordNet bcause it involves the opposite meaning words of a word.
- Holonyms: Holonyms is connected to WordNet bcause it involves the whole of a thing.
- Meronyms: Holonyms is connected to WordNet bcause it involves the sub-part of a thing.
- Partonym: Partonym is connected to WordNet bcause it involves the change of a word to another one with different suffixes or prefixes.
- Polysemy: Polysemy is connected to WordNet bcause it provides same phrases with different meanings.
- Natural Language Processing is connected to WordNet bcause it is the process of understanding human language with machines.
- Semantic Search is connected to WordNet bcause it provides meaningful connections between different words within a semantic map.
- Semantic SEO is connected to WordNet bcause WordNet can be used for better content writing practices.
- Semantic Web is connected to WordNet bcause semantic web behavior patterns have meaningful word relations.
- Named Entity Recognition is connected to WordNet bcause it provides recognition of the named entities.
Last Thoughts on NLTK WordNet and Holistic SEO
NLTK WordNet and Holistic SEO should be used together. The Holistic SEO contains every vertical and angle of the search engine optimization. NLTK WordNet can provide different contexts for a specific word for an SEO to check the possible contextual connections between different phrases. NLTK WordNet is a prominent tool to understand the text along with text cleaning and text processing. Google and other semantic search engines such as Microsoft Bing can use synonyms, antonyms, and hypernyms or hyponyms for query rewriting. A search engine can process a query while tokenizing it and replacing the words with other related words with different contexts. NLTK WordNet can understand the topical relevance of a specific content piece to a query, or query cluster. Based on this, NLTK WordNet and Holistic SEO should be taken and processed together.
The NLTK Guide will continue to be updated regularly based on the new NLP and NLTK updates.
- Author
- Recent Posts
Owner and Founder at Holistic SEO & Digital
Koray Tuğberk GÜBÜR is the CEO and Founder of Holistic SEO & Digital where he provides SEO Consultancy, Web Development, Data Science, Web Design, and Search Engine Optimization services with strategic leadership for the agency’s SEO Client Projects. Koray Tuğberk GÜBÜR performs SEO A/B Tests regularly to understand the Google, Microsoft Bing, and Yandex like search engines’ algorithms, and internal agenda. Koray uses Data Science to understand the custom click curves and baby search engine algorithms’ decision trees. Tuğberk used many websites for writing different SEO Case Studies. He published more than 10 SEO Case Studies with 20+ websites to explain the search engines. Koray Tuğberk started his SEO Career in 2015 in the casino industry and moved into the white-hat SEO industry. Koray worked with more than 700 companies for their SEO Projects since 2015. Koray used SEO to improve the user experience, and conversion rate along with brand awareness of the online businesses from different verticals such as retail, e-commerce, affiliate, and b2b, or b2c websites. He enjoys examining websites, algorithms, and search engines.