2

I have a large corpus of hotel and restaurant reviews and I'm trying to figure out which adjectives are most commonly associated with a aspect (e.g., "rooms", "tables", "ambience", "food") to generate some form of summary. Using off-the-shelf Part-of-Speech tagger and regular expressions, I can quite reliably extract adjective-noun-pairs (ANPs). So, from a technical point of view I kind of solved my task (IT background).

However, when I a run it for say "tables" over my corpus of restaurant reviews, I get the following adjectives ranked according to their frequency (in brackets):

  • other (333)
  • few (206)
  • many (179)
  • close (152)
  • outside (96)
  • occupied (72)
  • long (65)
  • outdoor (61)
  • large (54)
  • full (54)
  • wooden (53)
  • most (50)
  • ...

In the context of a summary, adjectives such as "other", "few", "many", etc. make arguably not much sense. If I understand correctly after some Google search, I'm interested in descriptive adjectives. My naive approach would be to collect list of such adjectives (e.g., from http://descriptivewords.org/) and filter out all found adjectives that are not in the list.

I wonder now, if there is a more linguistic approach to distinguish between "good" (meaningful for creating a summary) and "bad" adjectives. I assume it boils down to identify descriptive adjectives, but I'm nor sure. Language it's not by background and I'm not even a native English speaker.

EDIT: It seems that the class of descriptive adjectives is still to large. It's probably rather qualitative adjectives. Ideally, I would like to keep only adjectives where writing "The tables are ADJ" is grammatically correct and meaningful. For "small", "wooden", "long" etc. that's perfect. I'm even OK with "reserved", "occupied", "close". But "few", "more", "same", "many" etc. doesn't make much sense.

  • Programmatically, how would you distinguish between wooden (a word you Care about) and few (a word you don't care about) in 'the wooden tables were abandoned' vs 'the few tables were abandoned'? – Lawrence Jul 3 '17 at 9:55
  • My current idea is first to identify all adjectives that are only as post-modifiers (e.g., "the tables are large"), assuming that "few","most" cannot be used in that way. Then, in a second run I get all adjectives (pre-modifiers and post-modifiers) but only consider those which have been used as post-modifiers "at least a couple of times". It kind of works, but my POS tagger + ANP finder is not 100% perfect for that. For example, in "The last time was quite a few years back.", the word "few" is considered an adjective (as post-modifier) of "time". I hope I can filter out such cases. – Christian Jul 3 '17 at 10:13
  • Interesting work! – Lawrence Jul 3 '17 at 23:43
  • 1
    Having been editor, restaurant reviewer and database designer I think you’re describing a primary-school approach to degree-level work. Algorithms for that work shouldn’t depend on human language yet the prospect of even a useful adjective-noun list without noun-adjective problems is remote. The class of descriptive or qualitative adjectives are too large. Did you notice adjectives are among the most-abused words? It’s almost impossible to take account of writers’ idiosyncrasies. Good/bad ignores innumerable greys and in my view you’re one or two levels, not detail, off. – Robbie Goodwin Jul 25 '17 at 0:07
  • 2
    Have you tried asking this in the Data Science Stackexchange? – AffableAmbler Oct 11 '17 at 0:52
1

If you can create a small number of pre-written reviews, you could approach this as a classification problem, and use a widely available tool such as Scikit-Learn.

Instead of thinking of the review as your end product, think of the action that you want the reader to take. This will simplify the universe of target reviews.

If you approach it as a language understanding and/or translation problem, you will run into a vast number of problems, as intimated by Robbie Goodwin's comment.

BTW, it might not be necessary to pre-write full reviews. A restaurant review is somewhat formulaic to begin with, and you could probably devise a three or four sentence review template where each sentence represents a classification in its own right.

Scikit-Learn is a fairly large package now, and it has some text pre-processing modules that might be useful for your application.

1

Notice that words like 'few', 'many', 'most' are not really adjectives. They are quantifiers (determiners). They appear before any adjectives in a noun phrase. Determiners are a closed class, so it would be much easier to filter them out rather than filter in the open class adjectives. You could include quantity-related adjectives (like 'other') in the filter-out list.

  • 1
    'not really'? That's an unfortunate way to mislead about word meanings (of what 'determiner' and 'adjective' mean). Determiners act a lot like adjectives to the extent that I would call them a special kind of adjective. Or rather, the things that you call determiners are adjectives, but with a lot of specific rules to them. – Mitch Nov 6 '18 at 16:21
  • @Mitch - I'm sorry that my parts-of-speech don't match the old tradition. Is there an accepted term for 'canonical' adjectives (cf. "big", such as 'qualifier')? Determiners should be separate from these quality words, just as pronouns are separate from other nouns -- they share some properties, but the closed vs open class distinction is too great to gloss over. – AmI Nov 7 '18 at 19:46
  • Closed vs open is very salient for the task requested. I'm just caviling over terminology. Just because there's a different word for it doesn't mean it's 'in essence' exclusive. It's an additional nuance on the class of adjectives to say that the class of determiners includes many adjective-like things. – Mitch Nov 7 '18 at 20:05
  • Your last sentence was a non sequitur to me. Are you putting adjectives as a subset of determiners, or determiners as a subset of adjectives, or something else. Also, is there an accepted term that combines class nouns, proper nouns, and pronouns, (such as 'nominals')? – AmI Nov 7 '18 at 20:17
  • Aml, determiners include mostly things that are adjective-like (my/your, a/an/the, many/few, numbers (sort of), interrogatives). They don't all work exactly in all the ways that prototypical adjectives do (like colors say), but there share most of the meaningful characteristics of adjectives. Change 'not really adjectives' to 'special kind of adjective' and there'd be no problem here at all. – Mitch Nov 7 '18 at 20:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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