@@ -31,7 +31,9 @@ import fr.vsct.tock.nlp.core.sample.SampleExpression
31
31
import fr.vsct.tock.nlp.model.EntityBuildContextForIntent
32
32
import fr.vsct.tock.nlp.model.IntentContext
33
33
import fr.vsct.tock.nlp.model.NlpClassifier
34
+ import fr.vsct.tock.shared.error
34
35
import fr.vsct.tock.shared.injector
36
+ import mu.KotlinLogging
35
37
import java.time.Duration
36
38
import java.time.Instant
37
39
import java.util.Collections
@@ -41,6 +43,8 @@ import java.util.Collections
41
43
*/
42
44
object ModelCoreService : ModelCore {
43
45
46
+ private val logger = KotlinLogging .logger {}
47
+
44
48
private val nlpClassifier: NlpClassifier by injector.instance()
45
49
46
50
override fun updateIntentModel (context : BuildContext , expressions : List <SampleExpression >) {
@@ -78,11 +82,17 @@ object ModelCoreService : ModelCore {
78
82
val intentModel = nlpClassifier.buildIntentModel(intentContext, modelExpressions)
79
83
val entityModels = modelExpressions
80
84
.groupBy { it.intent }
81
- .map { (intent, expressions)
85
+ .mapNotNull { (intent, expressions)
82
86
->
83
- intent to nlpClassifier.buildEntityModel(
84
- EntityBuildContextForIntent (context, intent),
85
- expressions)
87
+ try {
88
+ intent to nlpClassifier.buildEntityModel(
89
+ EntityBuildContextForIntent (context, intent),
90
+ expressions)
91
+ } catch (e: Exception ) {
92
+ logger.error { " entity model build fail for $intent " }
93
+ logger.error(e)
94
+ null
95
+ }
86
96
}
87
97
.toMap()
88
98
0 commit comments