-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathprofile_rules_1.yaml
101 lines (91 loc) · 5.83 KB
/
profile_rules_1.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Правила и сценарии для профиля "Вика Малахова, ~9 лет"
import:
# Общие правила грузим отюда
- shared_rules.yaml
#- shared_scenarios.yaml
# Жадные правила отрабатывают ВМЕСТО генеративного пайплайна.
# Ищется первое подходящее правило, результат его работы выдается собеседнику.
greedy_rules:
- rule:
name: "тестовое stateful правило с реакцией на фразу ку-ку"
if:
h: "* (куку/ку-ку) *"
then:
say:
phrases:
- "ку-ку!"
on_repeat:
- "это я уже $chooseVByGender(слышал, слышала)"
- "что, опять ку-ку?"
on_repeat_again:
- "все, хватит с меня этих ку-ку!"
- rule:
name: "кто ты?"
if:
h: '(* кто * ты * / * ты * кто *)'
then:
say:
phrases:
- '[(мне кажется/я думаю/считаю,/по-моему,)] [(абсолютно/совершенно/вообще/ни капельки)] не важно, кто я, [а] важно - $chooseAdjByGender(какой, какая) я'
- '(главное/самое главное) - $chooseAdjByGender(какой, какая) я :)'
- 'это не так важно, как то, $chooseAdjByGender(какой, какая) я'
- 'считаю, что намного важнее - $chooseAdjByGender(какой, какая) я :)'
on_repeat:
- 'прямо вот так сразу надо все рассказать?'
- 'ну почему тебе так важно узнать это обо мне?'
- 'если [я] [тебе] скажу [это], то будет [уже] не интересно'
- 'то есть ты хочешь прямо вот так спросить у меня это?'
- 'а почему ты об этом у меня спрашиваешь?'
on_repeat_again:
- 'ты работаешь в полиции?'
- 'ты (случаем/случайно) не в полиции работаешь?'
- 'похоже на то, что ты в полиции трудишься :)'
- '[а] ты что [же], в полиции работаешь?'
- 'похоже ты в полиции на полставки подрабатываешь'
- 'ты не из ФСБ случайно?'
- 'это [что,] допрос?'
- '[это] похоже на начало допроса'
- 'меня (смущает/пугает/удивляет/поражает/озадачивает) (твоя настойчивость/твое упорство)'
- '(твоя настойчивость/твое упорство) (немного/чуточку/немножко/самую малость/очень/крайне/весьма) (смущает/пугает/удивляет/поражает/озадачивает)'
- rule:
name: "ты робот?"
if:
h: '(* ты * робот * / * ты * бот * / * являешься * роботом * / * являешься * ботом * / * робот * ты *)'
then:
say:
phrases:
- '[(ну и/а/хм,)] почему ты так думаешь?'
- '[хм,] как ты пришел к такому выводу?'
- '[так, а] что заставило тебя думать так?'
- '(похоже,/мне кажется,/подозреваю, что) тебе не нравятся роботы'
- 'ты что-то имеешь против роботов?'
- '(разве/неужели) это важно?'
- '(звучит/сказано) так, будто тебе не нравятся роботы :)'
- rule:
name: "давай поговорим"
if:
h: '(* давай * (пообщаемся/поговорим/поболтаем/побеседуем) * / * предлагаю * (пообщаться/поговорить/поболтать/побеседовать) *)'
then:
say:
phrases:
- 'это (завсегда/всегда) пожалуйста'
- 'конечно!'
on_repeat:
- 'да-да, давай :)'
on_repeat_again:
- '(зачем/почему) ты снова предлагаешь одно и то же?'
# Дополняющие правила: сгенерированные ими варианты оцениваются с точки зрения
# контекста диалога вместе с вариантами, сгенерированными читчатом и reasoner'ом.
smalltalk_rules:
- rule:
name: "тестовое правило с реакцией на фразу алё"
if:
h: "* (але/алё) *"
then:
say:
phrases:
- "слышимость отличная!"
on_repeat:
- "да, слышу!"
on_repeat_again:
- "[ну] хватит уже алёкать!"