In a previous post, I wondered how Latent Semantic Analysis (LSA) and Latent Relational Analysis (LRA) could be unified. LSA can be used to recognize synonyms and LRA can be used to recognize analogies. The two algorithms are quite similar, so it seems it should be possible to design a more general algorithm that subsumes both of them.
My first idea was to use a three-mode tensor, in which relational similarity (analogy) can be calculated by comparing fibers (columns, rows, and tubes) and attributional similarity (synonymy) can be calculated by comparing slices (two-mode cross-sections). This worked well for attributional similarity, but I had less success with relational similarity.
My next idea was to treat attributional similarity as a semantic relation, like any other semantic relation. This approach successfully unifies relational similarity and attributional similarity, and also handles antonyms, associations, and other semantic relations.
Consider the following SAT analogy question:
Stem: mason:stone
Choices:
(a) teacher:chalk
(b) carpenter:wood
(c) soldier:gun
(d) photograph:camera
(e) book:word
Solution: (b) carpenter:wood
The solution to this multiple-choice analogy question is the choice word pair with semantic relations that are most similar to the semantic relations of the stem word pair. Mason is to stone as carpenter is to wood. A mason works with stone, a mason cuts stone, a mason builds with stone. A carpenter works with wood, a carpenter cuts wood, a carpenter builds with wood.
Consider the following TOEFL synonym question:
Stem: levied
Choices:
(a) imposed
(b) believed
(c) requested
(d) correlated
Solution: (a) imposed
The solution is the choice word with semantic attributes (properties, characteristics) that are most similar to the semantic attributes of the stem word. To levy is to do something to somebody without requiring consent. To impose is to do something to somebody without requiring consent.
Consider the following ESL synonym versus antonym questions:
- dissimilarity:resemblance — synonym or antonym? (antonym)
- naive:callow — synonym or antonym? (synonym)
- commend:denounce — synonym or antonym? (antonym)
Synonyms have very similar attributes (properties, characteristics). A naive person is a person who lacks experience. A callow person is a person who lacks experience. On the other hand, antonyms have very similar attributes, except for one attribute. To commend is to make a positive judgment about something. To denounce is to make a negative judgment about something.
Consider the following similar versus associated versus both questions:
- table:bed — similar, associated, or both? (similar)
- cradle:baby — similar, associated, or both? (associated)
- music:art — similar, associated, or both? (similar)
- flea:ant — similar, associated, or both? (similar)
- ale:beer — similar, associated, or both? (both)
- mug:beer — similar, associated, or both? (associated)
- uncle:aunt — similar, associated, or both? (both)
Similar words involve the same type of thing. Tables and beds are both types of furniture. Fleas and ants are both types of insects. Associated things merely belong to the same domain. Mugs and beer belong to the domain of drinking. Cradles and babies belong to the domain of raising children.
It seems that we have five different phenomena here:
- analogy(A:B, C:D) = A:B has same semantic relations as C:D — analogy(mason:stone, carpenter:wood)
- synonym(A, B) = A has same properties as B — synonym(levied, imposed)
- antonym(A, B) = A has same properties as B, except for one — antonym(commend, denounce)
- similar(A, B) = A and B are the same type — similar(table, bed)
- associated(A, B) = A and B belong to the same domain — associated(mug, beer)
However, we may unify all five of these phenomena by viewing them all as analogies:
- analogy(A:B, C:D) = A:B has same semantic relations as C:D — analogy(mason:stone, carpenter:wood)
- synonym(A, B) = analogy(A:B, levied:imposed)
- antonym(A, B) = analogy(A:B, commend:denounce)
- similar(A, B) = analogy(A:B, table:bed)
- associated(A, B) = analogy(A:B, mug:beer)
We can handle all five by treating them as supervised learning problems, in which the task is to assign classes to word pairs:
- class(mason:stone) = class(carpenter:wood) = artisan:material
- class(levied:imposed) = synonym
- class(commend:denounce) = antonym
- class(table:bed) = similar
- class(mug:beer) = associated
Thus a whole range of semantic phenomena are subsumed under analogies, which are handled by supervised word pair classification.
Filed under: Computational Linguistics, Semantics | Tagged: analogy, LRA, LSA, relations, similarity, synonyms
Hence the claim “everything is an analogy”. ;-)
Dear Dr Turney,
this is a wonderful analysis that you are making, and I really enjoy your work.
I was wondering whether you had any comments on how your approach accounts for the flexibility of concepts (and the relation that concepts have with words, but that is another discussion).
For example, one could argue that “come” and “go” are antonyms as they express two antithetical actions, but then one could argue as well that those two words are synonyms as they represent two “similar” actions. Is it straightforward for your approach to identify such relations depending on the context?
this is a wonderful analysis that you are making, and I really enjoy your work.
Thanks.
For example, one could argue that “come” and “go” are antonyms as they express two antithetical actions, but then one could argue as well that those two words are synonyms as they represent two “similar” actions.
Above, I wrote:
synonym(A, B) = A has same properties as B — synonym(levied, imposed)
antonym(A, B) = A has same properties as B, except for one — antonym(commend, denounce)
Thus antonyms are very close to being synonyms, as you note. We could say that “come” and “go” are both about travel. They have the same properties, except for one: direction with respect to the speaker (moving towards versus moving away).
Linguists have distinguished various subtypes of antonyms. For example, eight subtypes are described here:
Bejar, I. I., Chaffin, R. B., & Embretson, S. (1991). Cognitive and psychometric analysis of analogical problem solving. New York: Springer-Verlag.
I think the pair come:go belongs to the subtype they call directional.
My algorithm is a supervised classification algorithm, so, if you were interested in distinguishing these various subtypes, then you could train it to do so.