From e17d2532d9a8379a15fc88d2b8ea9cfb11aeeb48 Mon Sep 17 00:00:00 2001 From: Oceania2018 Date: Sun, 5 Aug 2018 17:58:55 -0500 Subject: [PATCH] Parse Sebis benchmark corpus. --- .gitignore | 1 + .../Engines/Sebis/AgentImporterInSebis.cs | 86 ++++++++++++------ BotSharp.Core/Engines/Sebis/SebisAgent.cs | 4 +- .../DbInitializer/Accounts/users.json | 2 +- .../Agents/Sebis/Airport/corpus.json | 12 +-- .../wwwroot/images/BotSharp.min.png | Bin 0 -> 6528 bytes .../wwwroot/images/BotSharp.min.psd | Bin 0 -> 105470 bytes 7 files changed, 66 insertions(+), 39 deletions(-) create mode 100644 BotSharp.WebHost/wwwroot/images/BotSharp.min.png create mode 100644 BotSharp.WebHost/wwwroot/images/BotSharp.min.psd diff --git a/.gitignore b/.gitignore index 493c262d..cae01f15 100644 --- a/.gitignore +++ b/.gitignore @@ -293,3 +293,4 @@ __pycache__/ /BotSharp.UnitTest/App_Data/DbInitializer/Agents /BotSharp.UnitTest/App_Data/BotSharp.db /BotSharp.WebHost/App_Data/BotSharp.db +/BotSharp.UI diff --git a/BotSharp.Core/Engines/Sebis/AgentImporterInSebis.cs b/BotSharp.Core/Engines/Sebis/AgentImporterInSebis.cs index 2d59476b..32afb413 100644 --- a/BotSharp.Core/Engines/Sebis/AgentImporterInSebis.cs +++ b/BotSharp.Core/Engines/Sebis/AgentImporterInSebis.cs @@ -16,7 +16,7 @@ using Newtonsoft.Json.Linq; namespace BotSharp.Core.Engines { /// - /// Import agent from Dialogflow + /// Import Sebis NLU benchmark corpus /// public class AgentImporterInSebis : IAgentImporter { @@ -58,48 +58,74 @@ namespace BotSharp.Core.Engines agent.Intents = sentences.Select(x => x.Name).Distinct().Select(x => new Intent{Name = x}).ToList(); agent.Intents.ForEach(intent => { - intent.UserSays = new List(); - - var userSays = sentences.Where(x => x.Name == intent.Name).ToList(); - - userSays.ForEach(say => - { - var expression = new IntentExpression(); - - expression.Data = new List(); - - for(int index = 0; index < say.Entities.Count; index++) - { - - } - - intent.UserSays.Add(expression); - }); + ImportIntentUserSays(agent, intent, sentences); }); } - private Intent ImportIntentUserSays(Agent agent, Intent intent, string fileName) + private void ImportIntentUserSays(Agent agent, Intent intent, List sentences) { - // void id confict - intent.Id = Guid.NewGuid().ToString(); - intent.Name = intent.Name.Replace("/", "_"); - // load user expressions + intent.UserSays = new List(); - string expressionFileName = fileName.Replace(intent.Name, $"{intent.Name}_usersays_{agent.Language}"); - if (File.Exists(expressionFileName)) + var userSays = sentences.Where(x => x.Name == intent.Name).ToList(); + + userSays.ForEach(say => { - string expressionJson = File.ReadAllText($"{expressionFileName}"); - intent.UserSays = JsonConvert.DeserializeObject>(expressionJson); - } + var expression = new IntentExpression(); - return null; + say.Entities = say.Entities.OrderBy(x => x.Start).ToList(); + + int pos = 0; + say.Entities.ForEach(x => + { + ConvertWordPosToCharPos(say.Text, x, pos); + pos = x.End; + }); + + expression.Data = new List(); + + pos = 0; + for (int entityIdx = 0; entityIdx < say.Entities.Count; entityIdx++) + { + var entity = say.Entities[entityIdx]; + + // previous + expression.Data.Add(new IntentExpressionPart + { + Text = say.Text.Substring(pos, entity.Start - pos) + }); + + // self + expression.Data.Add(new IntentExpressionPart + { + Alias = entity.Entity, + Meta = entity.Entity, + Text = say.Text.Substring(entity.Start, entity.Value.Length) + }); + + pos = entity.End + 1; + + if (pos < say.Text.Length && entityIdx == say.Entities.Count - 1) + { + // end + expression.Data.Add(new IntentExpressionPart + { + Text = say.Text.Substring(pos) + }); + } + } + }); + } + + private void ConvertWordPosToCharPos(string text, SebisIntentExpressionPart entity, int start) + { + entity.Start = text.IndexOf(entity.Value, start); + entity.End = entity.Start + entity.Value.Length; } public void LoadBuildinEntities(Agent agent, string agentDir) { agent.Intents.ForEach(intent => { - if (intent.UserSays != null) { intent.UserSays.ForEach(us => diff --git a/BotSharp.Core/Engines/Sebis/SebisAgent.cs b/BotSharp.Core/Engines/Sebis/SebisAgent.cs index 002516c7..580f5c97 100644 --- a/BotSharp.Core/Engines/Sebis/SebisAgent.cs +++ b/BotSharp.Core/Engines/Sebis/SebisAgent.cs @@ -10,9 +10,9 @@ namespace BotSharp.Core.Adapters.Sebis { public String Id { get; set; } public String Name { get; set; } - [JsonProperty("desc")] + public String Description { get; set; } - [JsonProperty("lang")] + public String Language { get; set; } public List Sentences { get; set; } diff --git a/BotSharp.WebHost/App_Data/DbInitializer/Accounts/users.json b/BotSharp.WebHost/App_Data/DbInitializer/Accounts/users.json index d723a700..9b7fabcb 100644 --- a/BotSharp.WebHost/App_Data/DbInitializer/Accounts/users.json +++ b/BotSharp.WebHost/App_Data/DbInitializer/Accounts/users.json @@ -1,6 +1,6 @@ [ { - "userName": "support@botsharp.io", + "userName": "botsharp", "email": "support@botsharp.io", "firstName": "Support", "lastName": "Botsharp", diff --git a/BotSharp.WebHost/App_Data/DbInitializer/Agents/Sebis/Airport/corpus.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Sebis/Airport/corpus.json index f9617fbb..5f605388 100644 --- a/BotSharp.WebHost/App_Data/DbInitializer/Agents/Sebis/Airport/corpus.json +++ b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Sebis/Airport/corpus.json @@ -394,13 +394,13 @@ { "entity": "StationStart", "start": 6, - "stop": 10, + "stop": 8, "text": "kurt-eisner-straße" }, { "entity": "StationDest", - "start": 12, - "stop": 13, + "start": 10, + "stop": 11, "text": "garching forschungszentrum" } ] @@ -586,13 +586,13 @@ { "entity": "StationStart", "start": 5, - "stop": 9, + "stop": 5, "text": "kurt-eisner-straße" }, { "entity": "StationDest", - "start": 11, - "stop": 12, + "start": 7, + "stop": 8, "text": "garching forschungszentrum" } ] diff --git a/BotSharp.WebHost/wwwroot/images/BotSharp.min.png b/BotSharp.WebHost/wwwroot/images/BotSharp.min.png new file mode 100644 index 0000000000000000000000000000000000000000..8572d1f8653ad11b23fccdfd36016a4450f01d34 GIT binary patch literal 6528 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 m2LL1o03-(hBnJTZ{C@z&WJnJkEr)sl0000 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