儿童故事生成与文档聚类特征选择方法
1. 儿童故事生成
1.1 事件筛选
在故事生成过程中,需要区分已接受和被拒绝的事件。行动队列可防止角色提出已执行过的事件,提议队列则避免角色提出刚被拒绝的事件,这两个队列还能消除无限循环的可能性。
筛选后的事件列表,会计算每个剩余事件 E 的得分。得分计算方式是:找出与主角相关的满足前置条件的数量(用语义关系 semrelM(c1, c2) 表示),除以该事件的前置条件总数,公式如下:
[Score(E) = \frac{\sum_{k=1}^{n} semrel_{kM}(c1, c2) == T}{n_E}]
随后使用 0.6 的阈值过滤候选事件。若阈值设置过低,候选事件集可能包含一些逻辑不合理的事件;若阈值过高,候选事件数量会大幅减少,导致故事不完整。通过阈值的事件将根据交互得分进行排序,得分最高的事件将提交给情节代理审批。
为防止生成逻辑不合理的故事,某些事件的前置条件可标记为强制条件。若候选事件的强制前置条件未满足,将自动得分为零。例如,“角色参加考试”这一事件有三个前置条件,其中一个是“角色在教室”。若三个条件中只有两个满足,而地点是海滩(不满足第三个条件),在过滤过程后期该事件仍有可能通过阈值并被选中。但在海滩参加考试显然不合逻辑,若将地点设为强制前置条件,当发现故事地点不是教室时,规划器会给该事件打零分,从而阻止其通过阈值。
角色特征也可用于为候选事件评分,将其作为事件前置条件中的断言。例如,“丢失(一个物品)”事件可能要求“角色是粗心的”这一断言作为强制前置条件的一部分。不过,为实现角色间交互而设定的优先级,可能会使基于角色特征的事件在评分方案中处于劣
超级会员免费看
订阅专栏 解锁全文
83

被折叠的 条评论
为什么被折叠?



