"""Words that tie a scene to a topic: who is in it and where it happens. The first human review found the summary groups were topics (artists, police, courtship, hotels) rather than situations. These words are how that is measured, and how leakage into re-described predicaments is caught. A fixed list: it only has to catch the common cases. """ from review_page import ROLE_WORDS PLACE_WORDS = set(""" hotel restaurant cafe café saloon bar store shop office park street square church theatre theater stage farm ranch camp mine court courtroom jail cell station train boat ship ferry house room flat apartment tenement boardinghouse mansion factory laundry bakery kitchen table dinner lunch breakfast party wedding ball club casino studio gallery magazine newspaper bank """.split()) # Words for a person with no role at all. "A man" is not a topic; the first baseline had a group # scored 90% topic-bound for saying "man", so these are left out of the measure (still offered as # role hints on the review page). Fixed before any predicament was generated. GENERIC_PEOPLE = {'man', 'woman', 'girl', 'boy', 'child', 'worker', 'stranger', 'friend'} TOPIC_WORDS = (ROLE_WORDS - GENERIC_PEOPLE) | PLACE_WORDS