def post(self): self.response.headers['Content-Type'] = 'text/html' query_str = self.request.get('query') qtopic = freebase.most_likely_topic(query_str) topic = freebase.get_full_topic(qtopic['mid']) brief = freebase.topic_summary(topic) template = JINJA_ENVIRONMENT.get_template('query.jinja') self.response.write(template.render( {'topic':qtopic, 'topic_id':qtopic['mid'], 'info':topic, 'brief':brief}))
def score(query, topics): brief = [] for topic in topics: raw = freebase.topic_summary(topic) if raw: brief += helper.get_non_stop_words(raw.split()) query = helper.get_non_stop_words(query.split()) logging.info(brief) return okapi.okapi(query, brief)
def topic(noun): qtopic = freebase.most_likely_topic(noun) topic = freebase.get_full_topic(qtopic["mid"]) return (topic, qtopic["name"])