framely / community

MIT License
0 stars 2 forks source link

Polish VR hard under uncooperative user #50

Closed yigexu closed 2 years ago

yigexu commented 2 years ago

Is there an existing issue for this?

Summary

Background

过去我们仅定义了 VR hard 应该向 user 表达什么,没定义当 user 还是回答了属于 slot type,但不属于 VR candidate list 的 slot value 时,bot 应该怎么表现。 让我们把这种情况叫做 不合格

Phase1: 对话逻辑

  1. DU 能听懂
  2. 但runtime 应该不接受不合格的 slot value;也就是重复之前的预期、表现
    • VR-N 重复问 prompt + VR
    • SEP 重复问 SEP
    • MV 重复问 MV + VR (by entry)

我觉得这是正确的对话逻辑,如果需要可以再讨论。

Phase2: 对话体验

Phase1 提供的体验需要 user 需要根据 context 理解“绿色”不合格,是一种与 user 隐式的对话状态对齐。

你想要什么颜色?我们有红色、蓝色。 绿色。 你想要什么颜色?我们有红色、蓝色。

This will be very dangerous when it comes to MV.

你还想要什么颜色?我们有红色、蓝色。 绿色。 你还想要什么颜色?我们有红色、蓝色。 <== Bot 在追问不合格的 entry,还是询问 user 要不要再增加一个 entry?

因为我们必须增加 inform,显式地与 user 进行对话状态对齐。

Possible Solution

VR control 方案

SU (State update) 方案

VC 方案 (Updated 2022/03/04)

VC for MV 现在需要分开支持 per slot 和 per value 吗?

目前没有这样的 use case。逻辑上 per value 的最后一次一定 cover 了 per slot,体验上越快提示出问题越好。 我觉得可以先支持 per value。

More

  1. Runtime 现在对 Phase-1 的表现是:使用不合格的 slot value 去 shrink list。

    你想要什么颜色?我们有红色、蓝色。 绿色。 你想要什么颜色?我们有 (VR 没有 candidate) 红色。 你选择了红色。(预期还在color,没有变)

  2. 需求来源:Chang's reservation design DOC Case2-1 https://naturali-io.feishu.cn/docs/doccnTvDKN8nTG40sfR0avYC3Gb

Motivation

/

Describe alternatives you've considered

/

Additional context

No response

Zeng666666 commented 2 years ago

invalid 和 value check 有什么区别吗? 那现在 vr soft 是什么表现呢?

yigexu commented 2 years ago

不合格是VR,阶段不同。 soft和之前一样:VR-N时,回答不在推荐列表中的也可以。

xiaoyunwu commented 2 years ago

This is a very valid concern, but I think we need a bit more time to really understand the issue here. For example, if "green" is on the next page, when it is valid input, but if green is not possible, then we need to think about how we capture that, and how we define the behavior.

On Thu, Mar 3, 2022 at 1:59 AM yigexu @.***> wrote:

不合格是VR,阶段不同。 soft和之前一样:VR-N时,回答不在推荐列表中的也可以。

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1057874926, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUPGQC32E7SK4ZD5QPDU6CEQLANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were assigned.Message ID: @.***>

xiaoyunwu commented 2 years ago

we already have per value VC (not per slot for mv), correct? will that be enough?

On Thu, Mar 3, 2022 at 7:25 AM Sean Wu @.***> wrote:

This is a very valid concern, but I think we need a bit more time to really understand the issue here. For example, if "green" is on the next page, when it is valid input, but if green is not possible, then we need to think about how we capture that, and how we define the behavior.

On Thu, Mar 3, 2022 at 1:59 AM yigexu @.***> wrote:

不合格是VR,阶段不同。 soft和之前一样:VR-N时,回答不在推荐列表中的也可以。

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1057874926, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUPGQC32E7SK4ZD5QPDU6CEQLANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were assigned.Message ID: @.***>

yigexu commented 2 years ago
  1. green 在第几页不影响 VR 的表现:在 candidate list 就会被 shrink 出来;不在 shrink 之后就是 []。

  2. 没有 per value VC,具体解释和 major concern 在 #45 comment 中。如果想用 per value VC 去做,我觉得我们还需要 discuss 这个体验对 builder 是否合理。 Briefly 说一下我的 concern:尽管我在 DOC 中提供了用 VC 应该解释的视角,但是我不倾向于这样设计。原因是:我觉得这是在 split VR's functionality。一个 annotation 应该可以独立、完整地完成一件事,用 VC 解决的话,如果 builder 只配置 VR,不配置 VC,DOC 中的 MV case 没办法 function。

@xiaoyunwu

xiaoyunwu commented 2 years ago

I remember we have some per value things? what is that?

On Thu, Mar 3, 2022 at 6:10 PM yigexu @.***> wrote:

1.

green 在第几页不影响 VR 的表现:在 candidate list 就会被 shrink 出来;不在 shrink 之后就是 []。 2.

没有 per value VC,具体解释和 major concern 在 #45 https://github.com/framely/community/issues/45 comment 中。如果想用 per value VC 去做,我觉得我们还需要 discuss 这个体验对 builder 是否合理。 Briefly 说一下我的 concern:尽管我在 DOC 中提供了用 VC 应该解释的视角,但是我不倾向于这样设计。原因是:我觉得这是在 split VR's functionality。一个 annotation 应该可以独立、完整地完成一件事,用 VC 解决的话,如果 builder 只配置 VR,不配置 VC,DOC 中的 MV case 没办法 function。

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058755965, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUKNXMJYC5F5QCEPISTU6FWJFANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were assigned.Message ID: @.***>

xiaoyunwu commented 2 years ago

If we consider VR as composite component, then we want to make its behavior being composed out of other component. It is dependent on how we look at it. The key is always can we solve a problem without new tool?

On Thu, Mar 3, 2022 at 6:13 PM Sean Wu @.***> wrote:

I remember we have some per value things? what is that?

On Thu, Mar 3, 2022 at 6:10 PM yigexu @.***> wrote:

1.

green 在第几页不影响 VR 的表现:在 candidate list 就会被 shrink 出来;不在 shrink 之后就是 []。 2.

没有 per value VC,具体解释和 major concern 在 #45 https://github.com/framely/community/issues/45 comment 中。如果想用 per value VC 去做,我觉得我们还需要 discuss 这个体验对 builder 是否合理。 Briefly 说一下我的 concern:尽管我在 DOC 中提供了用 VC 应该解释的视角,但是我不倾向于这样设计。原因是:我觉得这是在 split VR's functionality。一个 annotation 应该可以独立、完整地完成一件事,用 VC 解决的话,如果 builder 只配置 VR,不配置 VC,DOC 中的 MV case 没办法 function。

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058755965, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUKNXMJYC5F5QCEPISTU6FWJFANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were assigned.Message ID: @.***>

Zeng666666 commented 2 years ago

Why no need for slot value check? https://naturali-io.feishu.cn/docs/doccnFESIx99djTW4elfyeYHi8c

是这个吗?

Zeng666666 commented 2 years ago

另,从设计角度讲,value rec 与 value check 是两个 component,就像 prompt 与 value rec、value rec 与 confirm 的关系一样,可以分别声明,这样设计也可以更好的进行 reuse。

Zeng666666 commented 2 years ago

从体验角度讲,platform 应该确保每一部分的独立,这样 builder 可以来决定自己的逻辑,而不是 platform 决定 builder 的逻辑。

yigexu commented 2 years ago

I remember we have some per value things? what is that? @xiaoyunwu VC 没有。和 per value 有关的,要么是 mv annotation (prompt & confirm),要么是本身 granularity 就是很小的 (比如 VR、State update 的某些情况)

xiaoyunwu commented 2 years ago

I remember we did something per value for MV, what is that?

On Thu, Mar 3, 2022 at 7:28 PM yigexu @.***> wrote:

I remember we have some per value things? what is that? @xiaoyunwu https://github.com/xiaoyunwu VC 没有。和 per value 有关的,要么是 mv annotation (prompt & confirm),要么是本身 granularity 就是很小的 (比如 VR、State update 的某些情况)

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058790730, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUKIDT5QFDL7RM5FJE3U6F7NXANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

yigexu commented 2 years ago

你说的是哪个层面的? per value 就意味着在谈论 MV 了。

和 per value 有关的,要么是 mv annotation (prompt & confirm),要么是本身 granularity 就是很小的 (比如 VR、State update 的某些情况)

yigexu commented 2 years ago

@xiaoyunwu 我把 VC 方案加上了,如果讨论决定这个方向,我再 validate 细节

xiaoyunwu commented 2 years ago

https://naturali-io.feishu.cn/docs/doccn9E1RBgzWCPjMFS5e0IAoNh

On Fri, Mar 4, 2022 at 1:38 AM yigexu @.***> wrote:

@xiaoyunwu https://github.com/xiaoyunwu 我把 VC 方案加上了,如果讨论决定这个方向,我再 validate 细节

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058998868, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUJD2E4SZ74GESOYCFDU6HKYVANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

xiaoyunwu commented 2 years ago

If this is about verify candidate value from bot side, then it should be handled by vc. So please.

On Fri, Mar 4, 2022 at 8:15 AM Sean Wu @.***> wrote:

https://naturali-io.feishu.cn/docs/doccn9E1RBgzWCPjMFS5e0IAoNh

On Fri, Mar 4, 2022 at 1:38 AM yigexu @.***> wrote:

@xiaoyunwu https://github.com/xiaoyunwu 我把 VC 方案加上了,如果讨论决定这个方向,我再 validate 细节

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058998868, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUJD2E4SZ74GESOYCFDU6HKYVANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

xiaoyunwu commented 2 years ago

Another way to think about it is: what happens if user said this and we do not have vr?

On Fri, Mar 4, 2022 at 8:16 AM Sean Wu @.***> wrote:

If this is about verify candidate value from bot side, then it should be handled by vc. So please.

On Fri, Mar 4, 2022 at 8:15 AM Sean Wu @.***> wrote:

https://naturali-io.feishu.cn/docs/doccn9E1RBgzWCPjMFS5e0IAoNh

On Fri, Mar 4, 2022 at 1:38 AM yigexu @.***> wrote:

@xiaoyunwu https://github.com/xiaoyunwu 我把 VC 方案加上了,如果讨论决定这个方向,我再 validate 细节

— Reply to this email directly, view it on GitHub https://github.com/framely/community/issues/50#issuecomment-1058998868, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJYKUJD2E4SZ74GESOYCFDU6HKYVANCNFSM5PZIBB2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>