I am looking into extracting the meaning of expressions used in everyday speaking. For an instance, it is apparent to a human that the sentence The meal we had at restaurant A tasted like food at my granny's. means that the food was tasty.

How can I extract this meaning using a tool or a technique?

The method I've found so far is to first extract phrases using Stanford CoreNLP POS tagging, and use a Word Sense Induction tool to derive the meaning of the phrase. However, as WSI tools are used to get the meaning of words when they have multiple meanings, I am not sure if it would be the best tool to use.

What would be the best method to extract the meanings? Or is there any tool that can both identify phrases and extract their meanings?

Any help is much appreciated. Thanks in advance.

  • 3
    I dispute your premise. If said with a certain tone of voice, that sentence would mean that the food was tasteless and overcooked. The level of meaning that you are looking to extract does not reside in the words.
    – Colin Fine
    Mar 8, 2018 at 11:09
  • 1
    Unless you own Google you probably don't have the computing power to extract the meaning from random English sentences.
    – curiousdannii
    Mar 8, 2018 at 13:04
  • 1
    To do this generally would take full AI. If you can live with a solution for a specific niche like restaurant reviews then you could train a classifier with a few niche-specific labels (eg tasty...). Mar 8, 2018 at 17:08
  • I would try to solve this problem by searching for phrases that indicate definitions. Sentences that start with phrases like "X is defined as..." or "the word X means..." are often definitions of words or phrases. Jun 30, 2022 at 19:46

1 Answer 1


This is very difficult. I'll recommend three things:

  1. Use the U of I CogComp shallow parser to get phrases (not CoreNLP), see: http://nlp.cogcomp.org/ It's much better at picking up phrases, IMO.

  2. If you google around, you'll find several pre-built list of phrases (idioms, fixed expressions, etc.); use the ones that meet your needs for example, https://github.com/WithEnglishWeCan/generated-english-idioms/blob/master/idioms.build.json

  3. Do old fashion RegEx matching between the list of phrases and your input sentence. Later, you can look at fancier machine learning classifiers. For example, swap out their "sarcasm" data with your colloquial expressions: https://github.com/surajr/SarcasmDetection

Also, there's a couple organizations that specialize in this task. It's worth checking out places like: http://afflatus.ucd.ie/

Best of luck!

  • Thank you very much! The resources you have directed to seem rather helpful.
    – Fleur
    Mar 9, 2018 at 3:58
  • This problem is similar to word-sense induction, but it involves entire phrases instead of individual words. Jun 30, 2022 at 19:31

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.