Пример #1
0
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
Пример #2
0
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