Free construction of a free dictionary of synonyms

  • Slides: 27
Download presentation
Free construction of a free dictionary of synonyms using computer science Viggo Kann and

Free construction of a free dictionary of synonyms using computer science Viggo Kann and Magnus Rosell KTH, Stockholm Talk given by Viggo at Amherst College November 11, 2006

Examples of English synonyms Smith: A Dictionary of Synonymous Words in the English Language

Examples of English synonyms Smith: A Dictionary of Synonymous Words in the English Language [1889] CLASS. Order. Rank. Degree. Classification. Grade. Webster’s Dictionary of Synonyms [1942] classify. Alphabetize, pigeonhole, assort, sort. Ana. Order, arrange, systematize, methodize, marshal.

Goals n To construct a Swedish dictionary of synonyms as a list of synonymous

Goals n To construct a Swedish dictionary of synonyms as a list of synonymous pairs n I don’t want to work a lot n I don’t want to pay anyone to work n The resulting list should be free

Ideas n Automatically construct a large set of word pairs that might be synonyms

Ideas n Automatically construct a large set of word pairs that might be synonyms n Use ten thousands of people, who are each willing to make a small contribution without payment, to check the word pairs

More ideas n Use the Lexin on-line Swedish-English dictionary web site, that had 9

More ideas n Use the Lexin on-line Swedish-English dictionary web site, that had 9 millions (now 17 M) of lookups each month n Users visit Lexin to translate words, and are thus probably motivated to help me n Each time a user makes a lookup, give her the opportunity to decide whether two words are synonyms or not

My plan Construct lots of possible synonyms 2. Sort out bad synonym pairs automatically

My plan Construct lots of possible synonyms 2. Sort out bad synonym pairs automatically 3. Ask lots of users if the rest of the pairs are good synonyms 4. Analyze the gradings done by the users and decide which pairs to keep 1.

Step 1: Construct lots of possible synonyms n If we have access to a

Step 1: Construct lots of possible synonyms n If we have access to a Swedish-English dictionary SE and an English-Swedish dictionary ES, try to translate each word to English and back again to Swedish n {(w, v): y: y SE(w) v ES(y)} or {(w, v): y: y SE(w) y SE(v)} n 616 000 word pairs were generated

Step 2: Sort out bad synonym pairs automatically n Use RI (Random Indexing) [Kanerva,

Step 2: Sort out bad synonym pairs automatically n Use RI (Random Indexing) [Kanerva, Kristoferson, Holst 2000] to measure the distance between words represented in a large vector space n Keep pairs that have small enough distance in the vector space

Random Indexing n Each word w is assigned a random label vector Lw of

Random Indexing n Each word w is assigned a random label vector Lw of thousand elements n For each word w construct a context vector Cw by adding the random vectors for the words appearing in the context of each occurrence of w in a large corpus

Random Indexing settings n Context: 4 words to the left and 4 to the

Random Indexing settings n Context: 4 words to the left and 4 to the right Stop words were removed n Dimensionality: 1800 n 5 corpora from different domains were used, for example newspapers and medical texts

Number of pairs for different cos thresholds (435 000 of 616 000 pairs occurred

Number of pairs for different cos thresholds (435 000 of 616 000 pairs occurred in corpus)

Step 3: Ask lots of users if the rest of the pairs are good

Step 3: Ask lots of users if the rest of the pairs are good synonyms When a user has sent a word to the Lexin dictionary he receives the translation followed by a question like: Are 'spread' and 'lengthen' synonyms? Answer using a scale from 0 to 5 where 0 means 'I don’t agree' and 5 means 'I do fully agree', or answer 'I don’t know'

After answering the user may n grade new randomly chosen word pair n look

After answering the user may n grade new randomly chosen word pair n look up word in the synonym dictionary n suggest new synonymous word pair n download synonym dictionary in XML

Step 4: Analyzing the gradings done by the users n 1. 2 millions gradings

Step 4: Analyzing the gradings done by the users n 1. 2 millions gradings were made in less than 2 months n Grading statistics were analyzed on several occasions n Some users sent comments

Keeping the users happy! n Many users said that there were too many bad

Keeping the users happy! n Many users said that there were too many bad pairs n Lots of pairs were graded 0 (not at all synonyms) by all users. After some weeks 25 000 such pairs were removed. Later 60 000 more pairs were removed, improving the quality of the remaining pairs considerably.

User gradings first two months

User gradings first two months

More interesting gradings 2006

More interesting gradings 2006

Distribution of mean gradings of word pairs after two months

Distribution of mean gradings of word pairs after two months

Distribution of mean gradings of word pairs 2006

Distribution of mean gradings of word pairs 2006

Analysis of the pairs graded 0 Distance (cosine) in RI space

Analysis of the pairs graded 0 Distance (cosine) in RI space

Some statistics (November 2006) n 2. 5 M user gradings done n 67 000

Some statistics (November 2006) n 2. 5 M user gradings done n 67 000 pairs (graded ≥ 2) in dictionary n 90 000 pairs suggested by users n 50 000 unique pairs suggested n 14 000 of them have been accepted

Example: Synonyms to klass (class) 5: rang (grade) rank (rank) slag (kind) 4: kategori

Example: Synonyms to klass (class) 5: rang (grade) rank (rank) slag (kind) 4: kategori (category) stånd (social class) årskurs (grade) 3: fack (sphere) grad (degree) grupp (group) kvalitet (quality) nivå (level) ordning (order) 3: skikt (layer) sort (sort) standard (standard) stil (style) 2: storleksordning (magnitude) typ (type) 1: poäng (point) stadga (stability) 0: uppdrag (mission) utbilda (educate)

How to prevent abuse? n Many gradings of a word pair are needed before

How to prevent abuse? n Many gradings of a word pair are needed before it’s considered to be good n The pair to be graded is randomly picked from a very large list n Word pairs suggested by users are spell checked before they are added to the very large list

People's definition of synonymy n Exact meaning of 'synonym' wasn’t defined n Users will

People's definition of synonymy n Exact meaning of 'synonym' wasn’t defined n Users will grade using their intuitive understanding of the concept of synonymy and the words in the pair n The produced dictionary will use the people's own definition of synonymy Hopefully this is exactly what they want!

The people’s synonym dictionary on the web http: //lexin. nada. kth. se/cgi-bin/synlex

The people’s synonym dictionary on the web http: //lexin. nada. kth. se/cgi-bin/synlex

Lessons learned n The list of suggested synonyms should be huge n Try to

Lessons learned n The list of suggested synonyms should be huge n Try to improve the quality of the list automatically as much as possible, Random indexing is useful for this, also try tagging and using other dictionaries n Use the 0 answers early to remove bad pairs that only irritate the users