Exemplo n.º 1
0
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'))
Exemplo n.º 2
0
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'))
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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):
Exemplo n.º 7
0
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__()
Exemplo n.º 8
0
    _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__()