public void AddWord() { TokenOptions tokenOptions = new TokenOptions() { IamApiKey = apikey, ServiceUrl = url }; SpeechToTextService service = new SpeechToTextService(tokenOptions); var customWord = new CustomWord() { DisplayAs = ".NET", SoundsLike = new List <string>() { "dotnet" }, Word = "dotnet" }; var result = service.AddWord( customizationId: customizationId, wordName: "dotnet", word: "dotnet", soundsLike: new List <string>() { "dotnet" }, displayAs: ".NET" ); Console.WriteLine(result.Response); }
public void AddWord() { IamConfig config = new IamConfig( apikey: apikey ); SpeechToTextService service = new SpeechToTextService(config); service.SetEndpoint(url); var customWord = new CustomWord() { DisplayAs = ".NET", SoundsLike = new List <string>() { "dotnet" }, Word = "dotnet" }; var result = service.AddWord( customizationId: customizationId, wordName: "dotnet", word: "dotnet", soundsLike: new List <string>() { "dotnet" }, displayAs: ".NET" ); Console.WriteLine(result.Response); }
bool IsCollucion(CustomLine line, CustomWord word) { if (word.X >= line.X && (word.X <= line.X + line.Width) && word.Y >= line.Y && word.Y <= line.Y + line.Height) { return(true); } //if (word.X >= line.X && (word.X <= line.X + line.Width) && word.Y >= line.Y && word.Y <= line.Y + line.Height && word.X + word.Width < line.X + line.Width) //{ // return true; //} return(false); }
private BaseModel AddWord(string customizationId, string wordName, CustomWord customWord, Dictionary <string, object> customData = null) { Console.WriteLine("\nAttempting to AddWord()"); var result = _service.AddWord(customizationId: customizationId, wordName: wordName, customWord: customWord, customData: customData); if (result != null) { Console.WriteLine("AddWord() succeeded:\n{0}", JsonConvert.SerializeObject(result, Formatting.Indented)); } else { Console.WriteLine("Failed to AddWord()"); } return(result); }
private object AddWord(string customizationId, string wordName, string contentType, CustomWord customWord) { Console.WriteLine("\nAttempting to AddWord()"); var result = service.AddWord(customizationId: customizationId, wordName: wordName, customWord: customWord); if (result != null) { Console.WriteLine("AddWord() succeeded:\n{0}", JsonConvert.SerializeObject(result, Formatting.Indented)); } else { Console.WriteLine("Failed to AddWord()"); } return(result); }
public void TestCustomLanguageModels_Success() { var listLanguageModelsResult = ListLanguageModels(); CreateLanguageModel createLanguageModel = new Model.CreateLanguageModel { Name = _customModelName, BaseModelName = Model.CreateLanguageModel.BaseModelNameEnum.EN_US_BROADBANDMODEL, Description = _customModelDescription }; var createLanguageModelResult = CreateLanguageModel(createLanguageModel); string customizationId = createLanguageModelResult.CustomizationId; var getLanguageModelResult = GetLanguageModel(customizationId); var listCorporaResults = ListCorpora(customizationId); object addCorpusResults = null; using (FileStream corpusStream = File.OpenRead(_corpusPath)) { addCorpusResults = AddCorpus(customizationId, _corpusName, corpusStream); } var getCorpusResults = GetCorpus(customizationId, _corpusName); CheckCorpusStatus(customizationId, _corpusName); autoEvent.WaitOne(); var trainLanguageModelResult = TrainLanguageModel(customizationId); CheckCustomizationStatus(customizationId); autoEvent.WaitOne(); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; var listCustomWordsResult = ListWords(customizationId); var customWords = new CustomWords() { Words = new List <CustomWord>() { new CustomWord() { DisplayAs = "Watson", SoundsLike = new List <string>() { "wat son" }, Word = "watson" }, new CustomWord() { DisplayAs = "C#", SoundsLike = new List <string>() { "si sharp" }, Word = "csharp" }, new CustomWord() { DisplayAs = "SDK", SoundsLike = new List <string>() { "S.D.K." }, Word = "sdk" } } }; var addCustomWordsResult = AddWords(customizationId, customWords); CheckCustomizationStatus(customizationId); autoEvent.WaitOne(); trainLanguageModelResult = TrainLanguageModel(customizationId); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; CheckCustomizationStatus(customizationId); autoEvent.WaitOne(); var customWord = new CustomWord() { DisplayAs = ".NET", SoundsLike = new List <string>() { "dotnet" }, Word = "dotnet" }; var addCustomWordResult = AddWord(customizationId, "dotnet", customWord); var getCustomWordResult = GetWord(customizationId, "dotnet"); trainLanguageModelResult = TrainLanguageModel(customizationId); CheckCustomizationStatus(customizationId); autoEvent.WaitOne(); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; CheckCorpusStatus(customizationId, _corpusName); autoEvent.WaitOne(); //var upgradeLanguageModelResult = UpgradeLanguageModel(customizationId); // Assert.IsNotNull(upgradeLanguageModelResult); var deleteCustomWordResults = DeleteWord(customizationId, "csharp"); var deleteCorpusResults = DeleteCorpus(customizationId, _corpusName); var resetLanguageModelResult = ResetLanguageModel(customizationId); Assert.IsNotNull(resetLanguageModelResult); var deleteLanguageModelResults = DeleteLanguageModel(customizationId); Assert.IsNotNull(deleteCustomWordResults); Assert.IsNotNull(deleteCorpusResults); Assert.IsNotNull(deleteLanguageModelResults); Assert.IsNotNull(getCustomWordResult); Assert.IsTrue(getCustomWordResult._Word == "dotnet"); Assert.IsNotNull(addCustomWordResult); Assert.IsNotNull(addCustomWordsResult); Assert.IsNotNull(listCustomWordsResult); Assert.IsNotNull(listCustomWordsResult._Words); Assert.IsNotNull(getCorpusResults); Assert.IsTrue(getCorpusResults.Name == _corpusName); Assert.IsNotNull(addCorpusResults); Assert.IsNotNull(listCorporaResults); Assert.IsNotNull(listCorporaResults._Corpora); Assert.IsNotNull(getLanguageModelResult); Assert.IsTrue(getLanguageModelResult.CustomizationId == customizationId); Assert.IsNotNull(createLanguageModelResult); Assert.IsNotNull(listLanguageModelsResult); Assert.IsNotNull(listLanguageModelsResult.Customizations); }
private List <CustomLine> buildTextFromParagraph(FREngine.IParagraph par, int iBlock) { // CustomParagraph result = new CustomParagraph(); List <CustomWord> wordItems = new List <CustomWord>(); string text = par.Text; FREngine.CharParams charParams = par.Application.CreateCharParams(); int wordStart = 0; int wordStartInText = Text.Count; List <Character> charaterItems = new List <Character>(); for (int iChar = 0; iChar < text.Length; iChar++) { char ch = text[iChar]; par.GetCharParams(iChar, charParams); bool isVisible = (!char.IsWhiteSpace(ch)); if (isVisible) { Text.Add(new Character(ch, charParams)); charaterItems.Add(new Character(ch, charParams)); } // Splitting words by whitespaces // TODO: line break, hyphen if (char.IsWhiteSpace(ch)) { if (wordStart < iChar) { int wordEndInText = Text.Count - 1; words.Add(new Word(wordStartInText, wordEndInText, Text)); CustomWord word = new CustomWord(); //word.Word = new Word(wordStartInText, wordEndInText, Text); word.X = charaterItems.Min(x => x.Rect.X); word.Y = charaterItems.Min(x => x.Rect.Y); word.Value = new Word(wordStartInText, wordEndInText, Text).ToString(); int xMax = charaterItems.Max(x => x.Rect.X); word.Width = xMax + charaterItems.First(x => x.Rect.X == xMax).Rect.Width - word.X; word.Height = charaterItems.Max(x => x.Rect.Height); //word.CharaterItems = charaterItems; wordItems.Add(word); listWords.Add(word); charaterItems = new List <Character>(); } wordStart = iChar + 1; wordStartInText = Text.Count; } } // Add last word if necessary if (wordStart < text.Length) { int wordEndInText = Text.Count - 1; words.Add(new Word(wordStartInText, wordEndInText, Text)); CustomWord word = new CustomWord(); //word.Word = new Word(wordStartInText, wordEndInText, Text); //word.CharaterItems = charaterItems; word.Value = new Word(wordStartInText, wordEndInText, Text).ToString(); word.X = charaterItems.Min(x => x.Rect.X); word.Y = charaterItems.Min(x => x.Rect.Y); int xMax = charaterItems.Max(x => x.Rect.X); word.Width = xMax + charaterItems.First(x => x.Rect.X == xMax).Rect.Width - word.X; word.Height = charaterItems.Max(x => x.Rect.Height); wordItems.Add(word); listWords.Add(word); charaterItems = new List <Character>(); } List <CustomLine> csLineItems = new List <CustomLine>(); //if (result.WordItems.Any()) //{ // CustomLine line = new CustomLine() // { // X = par.Left, // Y = par.Top, // Width = par.Right - par.Left, // Height = par.Bottom - par.Top, // WordItems = result.WordItems, // Index = 0, // ParentBlockIndex = iBlock, // Value = string.Join(" ", result.WordItems.Select(x => x.Word.ToString()).ToArray()) // } // ; // csLineItems.Add(line); // lineAll.Add(line); //} FREngine.IParagraphLines lines = par.Lines; if (wordItems.Any()) { int iLine = 0; foreach (FREngine.IParagraphLine item in lines) { CustomLine lineItem = new CustomLine() { X = item.Left, Y = item.Top, Height = item.Bottom - item.Top, Width = item.Right - item.Left, ParentIndex = 0, Index = iLine, }; int iWords = 0; lineItem.WordItems = wordItems.Where(x => IsCollucion(lineItem, x)).Select(x => { x.Index = iWords; iWords++; x.ParentIndex = iLine; return(x); }).ToList(); lineItem.Value = string.Join(" ", lineItem.WordItems.OrderBy(x => x.X).Select(x => x.Value)); lineItem.ValueWithoutSpace = string.Join("", lineItem.WordItems.OrderBy(x => x.X).Select(x => x.Value)); csLineItems.Add(lineItem); lineAll.Add(lineItem); iLine++; } } return(csLineItems.OrderBy(x => x.Index).ToList()); }
public void TestCustomLanguageModels_Success() { service.WithHeader("X-Watson-Test", "1"); var listLanguageModelsResult = service.ListLanguageModels(); service.WithHeader("X-Watson-Test", "1"); var createLanguageModelResult = service.CreateLanguageModel( name: customModelName, baseModelName: EN_US, dialect: "en-US", description: customModelDescription ); string customizationId = createLanguageModelResult.Result.CustomizationId; service.WithHeader("X-Watson-Test", "1"); var getLanguageModelResult = service.GetLanguageModel( customizationId: customizationId ); service.WithHeader("X-Watson-Test", "1"); var listCorporaResults = service.ListCorpora( customizationId: customizationId ); DetailedResponse <object> addCorpusResults = null; using (FileStream fs = File.OpenRead(corpusPath)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); service.WithHeader("X-Watson-Test", "1"); addCorpusResults = service.AddCorpus( customizationId: customizationId, corpusName: corpusName, corpusFile: ms ); } } service.WithHeader("X-Watson-Test", "1"); var getCorpusResults = service.GetCorpus( customizationId: customizationId, corpusName: corpusName ); CheckCorpusStatus( customizationId: customizationId, corpusName: corpusName ); autoEvent.WaitOne(); service.WithHeader("X-Watson-Test", "1"); var trainLanguageModelResult = service.TrainLanguageModel( customizationId: customizationId ); CheckCustomizationStatus( customizationId: customizationId ); autoEvent.WaitOne(); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; service.WithHeader("X-Watson-Test", "1"); var listCustomWordsResult = service.ListWords( customizationId: customizationId, wordType: "all", sort: "-alphabetical" ); var words = new List <CustomWord>() { new CustomWord() { DisplayAs = "Watson", SoundsLike = new List <string>() { "wat son" }, Word = "watson" }, new CustomWord() { DisplayAs = "C#", SoundsLike = new List <string>() { "si sharp" }, Word = "csharp" }, new CustomWord() { DisplayAs = "SDK", SoundsLike = new List <string>() { "S.D.K." }, Word = "sdk" } }; service.WithHeader("X-Watson-Test", "1"); var addCustomWordsResult = service.AddWords( customizationId: customizationId, words: words ); CheckCustomizationStatus( customizationId: customizationId ); autoEvent.WaitOne(); service.WithHeader("X-Watson-Test", "1"); trainLanguageModelResult = service.TrainLanguageModel( customizationId: customizationId ); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; CheckCustomizationStatus( customizationId: customizationId ); autoEvent.WaitOne(); var customWord = new CustomWord() { DisplayAs = ".NET", SoundsLike = new List <string>() { "dotnet" }, Word = "dotnet" }; service.WithHeader("X-Watson-Test", "1"); var addCustomWordResult = service.AddWord( customizationId: customizationId, wordName: "dotnet", word: "dotnet", soundsLike: new List <string>() { "dotnet" }, displayAs: ".NET" ); service.WithHeader("X-Watson-Test", "1"); var getCustomWordResult = service.GetWord( customizationId: customizationId, wordName: "dotnet" ); service.WithHeader("X-Watson-Test", "1"); trainLanguageModelResult = service.TrainLanguageModel( customizationId: customizationId ); CheckCustomizationStatus( customizationId: customizationId ); autoEvent.WaitOne(); Assert.IsNotNull(trainLanguageModelResult); trainLanguageModelResult = null; CheckCorpusStatus( customizationId: customizationId, corpusName: corpusName ); autoEvent.WaitOne(); //service.WithHeader("X-Watson-Test", "1"); //var upgradeLanguageModelResult = service.UpgradeLanguageModel( // customizationId: customizationId // ); //Assert.IsNotNull(upgradeLanguageModelResult); service.WithHeader("X-Watson-Test", "1"); var listGrammarsResult = service.ListGrammars(customizationId: customizationId); service.WithHeader("X-Watson-Test", "1"); var addGrammarResult = service.AddGrammar( customizationId: customizationId, grammarName: grammarName, grammarFile: new MemoryStream(File.ReadAllBytes(grammarPath)), contentType: grammarsContentType ); service.WithHeader("X-Watson-Test", "1"); var getGrammarResult = service.GetGrammar( customizationId: customizationId, grammarName: grammarName ); CheckCustomizationStatus( customizationId: customizationId ); autoEvent.WaitOne(); service.WithHeader("X-Watson-Test", "1"); var deleteGrammarResult = service.DeleteGrammar( customizationId: customizationId, grammarName: grammarName ); service.WithHeader("X-Watson-Test", "1"); var deleteCustomWordResults = service.DeleteWord( customizationId: customizationId, wordName: "csharp" ); service.WithHeader("X-Watson-Test", "1"); var deleteCorpusResults = service.DeleteCorpus( customizationId: customizationId, corpusName: corpusName ); service.WithHeader("X-Watson-Test", "1"); var resetLanguageModelResult = service.ResetLanguageModel( customizationId: customizationId ); Assert.IsNotNull(resetLanguageModelResult); service.WithHeader("X-Watson-Test", "1"); var deleteLanguageModelResults = service.DeleteLanguageModel( customizationId: customizationId ); Assert.IsNotNull(deleteGrammarResult); Assert.IsNotNull(getGrammarResult); Assert.IsTrue(getGrammarResult.Result.Name == grammarName); Assert.IsNotNull(addGrammarResult); Assert.IsNotNull(listGrammarsResult); Assert.IsNotNull(deleteCustomWordResults); Assert.IsNotNull(deleteCorpusResults); Assert.IsNotNull(deleteLanguageModelResults); Assert.IsNotNull(getCustomWordResult); Assert.IsTrue(getCustomWordResult.Result._Word == "dotnet"); Assert.IsNotNull(addCustomWordResult); Assert.IsNotNull(addCustomWordsResult); Assert.IsNotNull(listCustomWordsResult); Assert.IsNotNull(listCustomWordsResult.Result._Words); Assert.IsNotNull(getCorpusResults); Assert.IsTrue(getCorpusResults.Result.Name == corpusName); Assert.IsNotNull(addCorpusResults); Assert.IsNotNull(listCorporaResults); Assert.IsNotNull(listCorporaResults.Result._Corpora); Assert.IsNotNull(getLanguageModelResult); Assert.IsTrue(getLanguageModelResult.Result.CustomizationId == customizationId); Assert.IsNotNull(createLanguageModelResult); Assert.IsNotNull(listLanguageModelsResult); Assert.IsNotNull(listLanguageModelsResult.Result.Customizations); }