def post(self): args = self.reqparse.parse_args() text = args['text'] country_filter = ["SYR", "IRQ"] out = utilities.talk_to_mitie(text) for i in out['entities']: print i['text'], if i['text'] in country_names: print " (Country/blacklist. Skipping...)" else: # put this in query_geonames? searchterm = re.sub( r"Governorate|District|Subdistrict|Airport", "", i['text']).strip() searchterm = re.sub("Dar 'a", "Dar'a", searchterm) t = query_geonames(searchterm, country_filter) loc = pick_best_result(t, i['text']) # loc is a nice format for debugging and looks like [35.13179, 36.75783, 'searchterm', u'matchname', u'feature_class', u'country_code3']: formatted_loc = { "lat": loc[0], "lon": loc[1], "seachterm": loc[2], "placename": loc[3], "countrycode": loc[5] } return jsonify(formatted_loc)
def post(self): args = self.reqparse.parse_args() text = args['text'] country_filter = ["SYR", "IRQ"] out = utilities.talk_to_mitie(text) for i in out['entities']: print i['text'], if i['text'] in country_names: print " (Country/blacklist. Skipping...)" else: # put this in query_geonames? searchterm = re.sub(r"Governorate|District|Subdistrict|Airport", "", i['text']).strip() searchterm = re.sub("Dar 'a", "Dar'a", searchterm) t = query_geonames(searchterm, country_filter) loc = pick_best_result(t, i['text']) # loc is a nice format for debugging and looks like [35.13179, 36.75783, 'searchterm', u'matchname', u'feature_class', u'country_code3']: formatted_loc = {"lat": loc[0], "lon": loc[1], "seachterm": loc[2], "placename": loc[3], "countrycode": loc[5]} return jsonify(formatted_loc)
def process(self, text): out = utilities.talk_to_mitie(text, ner_model) places = [] miscs = [] for i in out['entities']: if i['tag'] == "LOCATION" or i['tag'] == "location": places.append(i['text']) if i['tag'] == "MISC" or i['tag'] == "misc": miscs.append(i['text']) loc_list = [re.sub(" ", "_", element) for element in places] locs = [x for x in loc_list if x in vocab_set] if locs: locs_word_vec = [prebuilt[word] for word in locs] locs_vec = numpy.array(locs_word_vec) weights = numpy.dot(index, matutils.unitvec(locs_vec.mean(axis=0)).T).T ranks = weights.argsort()[::-1] try: return idx_country_mapping[ranks[0]] except: return [] else: misc_list = [re.sub(" ", "_", element) for element in miscs] misc = [x for x in misc_list if x in vocab_set] misc_word_vec = [prebuilt[word] for word in misc] misc_vec = numpy.array(misc_word_vec) weights = numpy.dot(index, matutils.unitvec(misc_vec.mean(axis=0)).T).T ranks = weights.argsort()[::-1] try: return idx_country_mapping[ranks[0]] except: return []