def updateDictionary(): """Changes the operating dictionary based on user choice on web""" city = request.form.get("cityContainer") category = request.form.get("categoryContainer") #jieba.set_dictionary('/home/noah/jieba/KNserver/flaskr/jieba/dictionaries/%(cityVar)s/%(cityVar)s_%(categoryVar)s.txt' % \ {'cityVar':city, 'catVar':category}) print "Operating dictionary is: " + str(jieba.get_abs_path_dict()) return redirect(url_for('model_show_entries'))
def sendQuery(): """Processes user query and sets session vars for word and frequency. Values are accessed with keys queriedWord and queriedWordFrequency""" query = request.form.get('query') #might have to fix encoding, keep in mind! look for decoding error dictionary = open(jieba.get_abs_path_dict()) dictArray = _searchDictionary(dictionary, query) try: session['queriedWord'] = dictArray[0] session['queriedWordFrequency'] = dictArray[1] except: print "Not found" return redirect(url_for('queryDictionary'))
emit_p = {} abs_path = os.path.join(_curpath, PROB_EMIT_P) with file(abs_path, 'rb') as f: emit_p = marshal.load(f) f.closed state = {} abs_path = os.path.join(_curpath, CHAR_STATE_TAB_P) with file(abs_path, 'rb') as f: state = marshal.load(f) f.closed return state, start_p, trans_p, emit_p, result if sys.platform.startswith("java"): char_state_tab_P, start_P, trans_P, emit_P, word_tag_tab = load_model(jieba.get_abs_path_dict()) else: import char_state_tab, prob_start, prob_trans, prob_emit char_state_tab_P, start_P, trans_P, emit_P = char_state_tab.P, prob_start.P, prob_trans.P, prob_emit.P word_tag_tab = load_model(jieba.get_abs_path_dict(),isJython=False) def makesure_userdict_loaded(fn): @wraps(fn) def wrapped(*args,**kwargs): if len(jieba.user_word_tag_tab)>0: word_tag_tab.update(jieba.user_word_tag_tab) jieba.user_word_tag_tab = {} return fn(*args,**kwargs) return wrapped
emit_p = {} abs_path = os.path.join(_curpath, PROB_EMIT_P) with file(abs_path, 'rb') as f: emit_p = marshal.load(f) f.closed state = {} abs_path = os.path.join(_curpath, CHAR_STATE_TAB_P) with file(abs_path, 'rb') as f: state = marshal.load(f) f.closed return state, start_p, trans_p, emit_p, result if sys.platform.startswith("java"): char_state_tab_P, start_P, trans_P, emit_P, word_tag_tab = load_model(jieba.get_abs_path_dict()) else: import char_state_tab, prob_start, prob_trans, prob_emit char_state_tab_P, start_P, trans_P, emit_P = char_state_tab.P, prob_start.P, prob_trans.P, prob_emit.P word_tag_tab = load_model(jieba.get_abs_path_dict(),isJython=False) def makesure_userdict_loaded(fn): @wraps(fn) def wrapped(*args,**kwargs): global userdict_loaded if userdict_loaded: return fn(*args,**kwargs) else: word_tag_tab.update(jieba.user_word_tag_tab) userdict_loaded = True
emit_p = {} abs_path = os.path.join(_curpath, PROB_EMIT_P) with open(abs_path, 'rb') as f: emit_p = marshal.load(f) state = {} abs_path = os.path.join(_curpath, CHAR_STATE_TAB_P) with open(abs_path, 'rb') as f: state = marshal.load(f) f.closed return state, start_p, trans_p, emit_p, result if sys.platform.startswith("java"): char_state_tab_P, start_P, trans_P, emit_P, word_tag_tab = load_model( jieba.get_abs_path_dict()) else: from .char_state_tab import P as char_state_tab_P from .prob_start import P as start_P from .prob_trans import P as trans_P from .prob_emit import P as emit_P word_tag_tab = load_model(jieba.get_abs_path_dict(), isJython=False) def makesure_userdict_loaded(fn): @wraps(fn) def wrapped(*args, **kwargs): if jieba.user_word_tag_tab: word_tag_tab.update(jieba.user_word_tag_tab)
with open(abs_path, 'rb') as f: emit_p = marshal.load(f) f.closed state = {} abs_path = os.path.join(_curpath, CHAR_STATE_TAB_P) with open(abs_path, 'rb') as f: state = marshal.load(f) f.closed return state, start_p, trans_p, emit_p, result if sys.platform.startswith("java"): char_state_tab_P, start_P, trans_P, emit_P, word_tag_tab = load_model( jieba.get_abs_path_dict()) else: from . import char_state_tab, prob_start, prob_trans, prob_emit char_state_tab_P, start_P, trans_P, emit_P = char_state_tab.P, prob_start.P, prob_trans.P, prob_emit.P word_tag_tab = load_model(jieba.get_abs_path_dict(), isJython=False) if jieba.user_word_tag_tab: word_tag_tab.update(jieba.user_word_tag_tab) class pair(object): def __init__(self, word, flag): self.word = word self.flag = flag def __unicode__(self):
def load_model(f_name): _curpath=os.path.normpath( os.path.join( os.getcwd(), os.path.dirname(__file__) ) ) prob_p_path = os.path.join(_curpath,f_name) if f_name.endswith(".py"): return eval(open(prob_p_path,"rb").read()) else: result = {} for line in open(f_name,"rb"): line = line.strip() if line=="":continue word, _, tag = line.split(' ') result[word.decode('utf-8')]=tag return result word_tag_tab = load_model(jieba.get_abs_path_dict()) if jieba.user_word_tag_tab: word_tag_tab.update(jieba.user_word_tag_tab) class pair(object): def __init__(self,word,flag): self.word = word self.flag = flag def __unicode__(self): return self.word+u"/"+self.flag def __repr__(self): return self.__str__()
_curpath = os.path.normpath( os.path.join(os.getcwd(), os.path.dirname(__file__))) prob_p_path = os.path.join(_curpath, f_name) if f_name.endswith(".py"): return eval(open(prob_p_path, "rb").read()) else: result = {} for line in open(f_name, "rb"): line = line.strip() if line == "": continue word, _, tag = line.split(' ') result[word.decode('utf-8')] = tag return result word_tag_tab = load_model(jieba.get_abs_path_dict()) if jieba.user_word_tag_tab: word_tag_tab.update(jieba.user_word_tag_tab) class pair(object): def __init__(self, word, flag): self.word = word self.flag = flag def __unicode__(self): return self.word + u"/" + self.flag def __repr__(self): return self.__str__()