✅チェーン質問発生中にチェーン対象の単語をNGKWしたい
🤔チェーン質問発生中にチェーン対象の単語をNGKWしたい
現時点ではできない
チェーン質問を状態遷移で実装したからである
選択確率の上下で表現すれば良い
テストケースをまず修正する
今は状態変化を観察してる
現状
「あるキーワードKについてQ1の質問をした場合、その次にKについてQ2、Q3の質問をしたい」
これを状態遷移で表現していた
Q1への返答を処理するタイミングで「直前の質問がQ1ならS2に遷移」
S2ではQ2しか出ない
Q2は直前の質問で使われたキーワードを使う
見かけ上は一つのキーワードを取る質問なのに、実装上はキーワードを取らない質問、というトリッキーな方法で実現してた
これではその流れが始まった後でNGしても固定的な会話の流れになってしまう
NGKWで対象のキーワードが消えたとしても、「キーワードを取らない質問」なので容赦なく出てしまう
スコア変動に置き換えたい
Q2は直前の質問がQ1である時にスコアが上昇する
キーワードをとる質問に変える
キーワードが直前の質問で使ったものと一致するときにスコア上昇
done: b4ed166473fee9b4b1ecbc2cb439d7102f5831cb
GitHubにリンクしようかと思ったがリポジトリはHerokuだった
懸念点
今は適当にスコア1000を返してる
スコア1000を超える返答案があるときにはそちらが優先されてしまう
1000だと超えちゃう時もあるなぁ
NGによるスコア減少を掛けた時、キーワード自体は生きてるからスコア1000で続行されてしまう
これはユーザの期待に反する挙動だなぁ
✅直前のNG圧を使ってスコアを減らすことにした
100%のNG圧が掛かってるときにはスコアが0になるのでこれで良さそう