終わりのデザイン

「ここは終わるのに良いところですか?」の質問を出すのに適当かどうかを環境を引数とする二値分類で判定する路線。

過去ログから各時点の環境をdeepcopyで複製して、それを引数にする python

def get_unknowns():
    IS_SINGLE = True
    if IS_SINGLE:
        TARGETS = [f"{CACHEDIR}/y3mJfH67rbHpvTp9yfY6.json"]
    else:
        TARGETS = glob.glob(f"{CACHEDIR}/*.json")

    for path in TARGETS:
        environment.init_for_web("test", is_local=True)
        testenv = load("test", local=True)
        data = open(path).read()
        replay_env = Env(name="replay", is_local=True).fromJSON(data)
        testenv.keyphrase_extraction_type = "replay"
        testenv.replay_env = replay_env

        for i, (user, text) in enumerate(replay_env.log):
            if user == 1:
                r = keicho.connect_web("", "test", text, testenv)
                r = json.loads(r)["text"]
                yield deepcopy(testenv)

能動学習の質問が出るようになった :

0: あなたはこの会話で何が起きて欲しいですか?
1: 今の時点で解説を書くか、先にフィードバックボタンを実装するか、どうしようかなと考えてるので話して整理したい
0: ここは終わるのに良いところですか?
score: 0.5000
negative(z), neutral(x), positive(c), quit(q)>

これはもちろん「この段階で『ここは終わるのに良いところですか?』は良くない」のでnegative

やってみて

  • 現状あんまり良くない
  • なぜか考察
    • そもそも何を特徴量にすれば良いかがわからないため、現状は能動学習でもランダムと変わらない
    • 対話の流れを見て「このタイミングで終わらせて良いか」を判断するので、ランダムに提示されると手間が掛かる