Skip to content

Commit 502e06d

Browse files
author
Johannes Hötter
committed
adds metadata task
1 parent 2a309e5 commit 502e06d

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

kern/adapter/rasa.py

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,38 @@ def build_literal_from_iterable(iterable):
2626

2727

2828
def build_intent_yaml(
29-
client, input_name, label_name, dir_name="data", file_name="nlu.yml"
29+
client,
30+
text_name,
31+
intent_label_task,
32+
metadata_label_task=None,
33+
dir_name="data",
34+
file_name="nlu.yml",
3035
):
3136
df = client.get_record_export(tokenize=False)
3237

3338
nlu_list = []
34-
for label, df_label in df.groupby(label_name):
35-
literal_string = build_literal_from_iterable(df_label[input_name].tolist())
36-
nlu_list.append(OrderedDict(intent=label, examples=literal(literal_string)))
39+
for label, df_sub_label in df.groupby(intent_label_task):
40+
41+
if metadata_label_task is not None:
42+
metadata_label_name = metadata_label_task.split("__")[1]
43+
for metadata_label, df_sub_label_sub_metadata_label in df_sub_label.groupby(
44+
metadata_label_task
45+
):
46+
literal_string = build_literal_from_iterable(
47+
df_sub_label_sub_metadata_label[text_name].tolist()
48+
)
49+
nlu_list.append(
50+
OrderedDict(
51+
intent=label,
52+
metadata=OrderedDict(**{metadata_label_name: metadata_label}),
53+
examples=literal(literal_string),
54+
)
55+
)
56+
else:
57+
literal_string = build_literal_from_iterable(
58+
df_sub_label[text_name].tolist()
59+
)
60+
nlu_list.append(OrderedDict(intent=label, examples=literal(literal_string)))
3761
nlu_dict = OrderedDict(nlu=nlu_list)
3862

3963
if dir_name is not None and not os.path.isdir(dir_name):

0 commit comments

Comments
 (0)