def get_katuyou_str_from_id(katuyou_type_ind, katuyou_form_ind): juman_dir = "/Users/sak/local/src/juman-7.01" # juman_dir = "/home/lr/tsakaki/local/src/juman-7.0" s_exp = sexp.get_sexp(juman_dir + "/dic/JUMAN.katuyou") ans = sexp.get_katuyou_str_from_id(s_exp, katuyou_type_ind, katuyou_form_ind) return ans
def change_katuyou(token_line, katuyou): juman_dir = "/Users/sak/local/src/juman-7.01" # juman_dir = "/home/lr/tsakaki/local/src/juman-7.0" s_exp = sexp.get_sexp(juman_dir + "/dic/JUMAN.katuyou") yomi = token_line.split(' ')[1] lemma = token_line.split(' ')[2] pos = token_line.split(' ')[3] detail_pos = token_line.split(' ')[5] orig_katuyou = token_line.split(' ')[9] katuyou_type = token_line.split(' ')[7] info = " ".join(token_line.split(' ')[11:]) #「"代表表記:歩く/あるく" <代表表記:歩く/あるく><正規化代表表記:歩く/あるく><文頭><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞>」のように、スペースで区切られてしまっているのを結合する。 kihon_katuyou_gobi = sexp.get_verb_katuyou(s_exp, katuyou_type, "基本形") kihon_katuyou_gobi = "" if kihon_katuyou_gobi == '*' else kihon_katuyou_gobi orig_katuyou_gobi = sexp.get_verb_katuyou(s_exp, katuyou_type, orig_katuyou) orig_katuyou_gobi = "" if orig_katuyou_gobi == "*" else orig_katuyou_gobi pat1 = re.compile("%s$" % kihon_katuyou_gobi) pat2 = re.compile("%s$" % orig_katuyou_gobi) gokan = re.sub(pat1, "", lemma) #基本形の部分を取る yomi_gokan = re.sub(pat2, "", yomi) try: katuyou_gobi = sexp.get_verb_katuyou(s_exp, katuyou_type, katuyou) katuyou_gobi = "" if katuyou_gobi == '*' else katuyou_gobi surf = gokan + katuyou_gobi new_yomi = yomi_gokan + katuyou_gobi return juman_like_str(surf, new_yomi, lemma, pos, info, katuyou, katuyou_type, detail_pos) except: #変換しない return token_line