From ffb3dc42ae54504ae1d94b81c86288b1eb56661c Mon Sep 17 00:00:00 2001
From: Christian <christian.geishauser@hhu.de>
Date: Fri, 31 Mar 2023 15:47:54 +0200
Subject: [PATCH] adding greet act to knowledge graph when knowledge graph
 would be empty otherwise in vector_nodes

---
 convlab/policy/vector/vector_nodes.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/convlab/policy/vector/vector_nodes.py b/convlab/policy/vector/vector_nodes.py
index 2c7712bc..a6da8381 100644
--- a/convlab/policy/vector/vector_nodes.py
+++ b/convlab/policy/vector/vector_nodes.py
@@ -70,6 +70,10 @@ class VectorNodes(VectorBase):
         if self.filter_state:
             self.kg_info = self.filter_inactive_domains(domain_active_dict)
 
+            # make sure kg is not empty
+            if len(self.kg_info) == 0:
+                self.add_user_greet()
+
         if self.use_mask:
             mask = self.get_mask(domain_active_dict, number_entities_dict)
             for i in range(self.da_dim):
@@ -170,3 +174,14 @@ class VectorNodes(VectorBase):
 
         return kg_filtered
 
+    def add_user_greet(self):
+
+        feature_type = 'user act'
+        da = ("general", "greet", "none", "none")
+        if da in self.opp2vec:
+            domain = da[0]
+            description = "user-" + "_".join(da)
+            value = 1.0
+            self.add_graph_node(domain, feature_type, description.lower(), value)
+
+
-- 
GitLab