Given a set of words categorizing a set of documents, what are some ways I could use the content of the documents to disambiguate the sense of these category words?

For example, you could have a bunch of documents tagged as being related the category "squash", which could either be about the vegetable squash or the racket-based sport squash.

My guess is that identifying category-specific words like "ball, racket, hit" in the sports sense and "cook, recipe, grow" in the vegetable sense would be helpful.

  1. Assuming the category-specific words would be useful, would a topic model extracting a single topic be a good approach to this? If not, what are some other approaches to identifying the keywords?
  2. Once the category-specific keywords are identified, how could they be used to disambiguate the original category words? One approach I've tried is using the synset of a category word that maximizes the wordnet similarity score when compared to all synsets of the category-specific words (ex: the canine sense of the category "dog" would have the highest score if a keyword was "puppy"). However, this seems inefficient and doesn't work well for words that are related but don't share a close "is a" relationship in wordnet.


  • What do you means with "known topic"? Do this topics come from a topic model or from human annotation or something different? Commented Mar 5, 2018 at 10:42
  • @jknappen The topic/category would be human annotated. For example in the reuters corpus they group news articles by categories like "grain" or "nickel". I changed the word "topic" to "category" to possibly make this more clear.
    – Steven
    Commented Mar 5, 2018 at 13:01

2 Answers 2


Nouns/entities help to determine the verb sense, and verb senses influence the noun sense. Complements & prep phrases help with both. "The dog walked along the bank of the river." (along river indicates a route/path)

Google describes their approach here: https://research.googleblog.com/2017/01/a-large-corpus-for-supervised-word.html (source code available)

Some have used propbank frames: https://github.com/propbank/propbank-frames/tree/master/frames

And for entities, you might look at OpenAI: https://blog.openai.com/discovering-types-for-entity-disambiguation/

good luck!


For a human annotated corpus, there should be documentation available on the annotation scheme. In particular, you should already know whether the annotation "squash" refers to the sport or the fruit.

When the documentation of the annotation scheme is lost, your outlined approach using category specific words for unclear categories looks valid.

A topic model is an entirely different beast and I doubt that it will help you much for your particular question. A resource with semantic relationships (e.g., a WordNet, an ontology, or a thessaurus) can prove useful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.