static async Task Work() { var Client = new LinguisticsClient("96fc9641c5934292be66b62d51fdde5c"); var Analyzers = await Client.ListAnalyzersAsync(); Console.WriteLine("ANALYZERS"); foreach (var a in Analyzers) { Console.WriteLine($" > {a.Implementation}"); } var f = File.OpenText(@"Data\wap.txt"); StringBuilder sb = new StringBuilder(); int c = 0; while (!f.EndOfStream) { var s = await f.ReadLineAsync(); if (s.Contains("CHAPTER") || s.Contains("BOOK")) { Console.WriteLine(s); c++; if (c > 10) { break; } continue; } if (s.Trim() == string.Empty) { if (sb.Length > 5) { var Req = new AnalyzeTextRequest(); Req.Language = "en"; Req.Text = sb.ToString(); // Req.AnalyzerIds = (from x in Analyzers select x.Id).ToArray(); Req.AnalyzerIds = new Guid[] { Analyzers[1].Id }; var Res = await Client.AnalyzeTextAsync(Req); // Console.WriteLine(Res[0].Result); ShowAdj(Res[0].Result.ToString()); await Task.Delay(1000); // Console.ReadKey(); } sb.Clear(); } else { sb.AppendLine(s); } } }
/// <summary> /// Analyze text synchronously. /// </summary> /// <param name="request">Analyze text request.</param> /// <returns>An array of analyze text result.</returns> private static AnalyzeTextResult[] AnalyzeText(AnalyzeTextRequest request) { try { return(Client.AnalyzeTextAsync(request).Result); } catch (Exception exception) { throw new Exception("Failed to analyze text", exception as ClientException); } }
async Task Reply(string s, Func <string, Task> reply) { var Client = new LinguisticsClient("202b0a9b3ad749d9bffcc77800124268"); var Analyzers = await Client.ListAnalyzersAsync(); var Req = new AnalyzeTextRequest(); Req.AnalyzerIds = (from x in Analyzers where x.Kind == "Constituency_Tree" select x.Id).ToArray(); Req.Text = s; Req.Language = "en"; var Resp = await Client.AnalyzeTextAsync(Req); await reply(Resp[0].Result.ToString()); var r = Process(Resp[0].Result.ToString(), (a, b) => { switch (a) { case "NN": return("bot"); case "NNS": return("bots"); case "JJ": return("crazy"); case "PRP": if (b.ToLower() == "i") { return("you"); } else if (b.ToLower() == "you") { return("I"); } else { return(b); } default: return(b); } }); await reply(r); }
async Task <string> Reply(string msg) { var Client = new LinguisticsClient(api_key); var Req = new AnalyzeTextRequest(); Req.Language = "en"; Req.Text = msg; Req.AnalyzerIds = new Guid[] { AnalyzerId }; var Res = await Client.AnalyzeTextAsync(Req); await ctx.PostAsync(Res[0].Result.ToString()); return(Build(Res[0].Result.ToString())); }
static async Task Work(string[] args) { var Client = new LinguisticsClient("96fc9641c5934292be66b62d51fdde5c"); var Analyzers = await Client.ListAnalyzersAsync(); var f = File.OpenText(args[0]); StringBuilder sb = new StringBuilder(); int c = 0; while (!f.EndOfStream) { var s = await f.ReadLineAsync(); if (s.Contains("CHAPTER") || s.Contains("BOOK")) { Console.WriteLine(s); c++; } if (s.Trim() == string.Empty) { if (sb.Length > 5) { var Req = new AnalyzeTextRequest(); Req.Language = "en"; Req.Text = sb.ToString(); // Req.AnalyzerIds = (from x in Analyzers select x.Id).ToArray(); Req.AnalyzerIds = new Guid[] { Analyzers[1].Id }; var Res = await Client.AnalyzeTextAsync(Req); // Console.WriteLine(Res[0].Result); Process(Res[0].Result.ToString()); await Task.Delay(1000); Console.Write("."); } sb.Clear(); } else { sb.AppendLine(s); } } File.AppendAllText($"{args[0]}.dict", Newtonsoft.Json.JsonConvert.SerializeObject(Dict)); }
static void Main(string[] args) { // List analyzers Analyzer[] supportedAnalyzers = null; try { supportedAnalyzers = ListAnalyzers(); var analyzersAsJson = JsonConvert.SerializeObject(supportedAnalyzers, Formatting.Indented, jsonSerializerSettings); Console.WriteLine("Supported analyzers: " + analyzersAsJson); } catch (Exception e) { Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } // Analyze text with all available analyzers var analyzeTextRequest = new AnalyzeTextRequest() { Language = "en", AnalyzerIds = supportedAnalyzers.Select(analyzer => analyzer.Id).ToArray(), Text = "Two separate routes are defined for BLBAQA and BLCUSTQA process in FULL_QA run mode and each has a separate initiator. Both the imitators create an output file for the BLEXTFIN process. When any one of the initiators is run, it creates an entry in the BL1_CYCLE_GROUPS table and creates an output file for the BLEXTFIN process. After BLEXTFIN processes these entries, it checks the BL1_CYCLE_GROUPS table whether all the entries are in FN status. The BLEXTFIN process then changes the run_request status to FN without waiting for the other initiator." }; try { var analyzeTextResults = AnalyzeText(analyzeTextRequest); var resultsAsJson = JsonConvert.SerializeObject(analyzeTextResults, Formatting.Indented, jsonSerializerSettings); Console.WriteLine("Analyze text results: " + resultsAsJson); } catch (Exception e) { Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } Console.ReadKey(); }
static void Main(string[] args) { // List analyzers Analyzer[] supportedAnalyzers = null; try { supportedAnalyzers = ListAnalyzers(); var analyzersAsJson = JsonConvert.SerializeObject(supportedAnalyzers, Formatting.Indented, jsonSerializerSettings); Console.WriteLine("Supported analyzers: " + analyzersAsJson); } catch (Exception e) { Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } // Analyze text with all available analyzers var analyzeTextRequest = new AnalyzeTextRequest() { Language = "en", AnalyzerIds = supportedAnalyzers.Select(analyzer => analyzer.Id).ToArray(), Text = "Welcome to Microsoft Linguistic Analysis!" }; try { var analyzeTextResults = AnalyzeText(analyzeTextRequest); var resultsAsJson = JsonConvert.SerializeObject(analyzeTextResults, Formatting.Indented, jsonSerializerSettings); Console.WriteLine("Analyze text results: " + resultsAsJson); } catch (Exception e) { Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } Console.ReadKey(); }
/// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task <Message> Post([FromBody] Message message) { var properties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "User Spoken Message Json", message.ToString() } }; telemetry.TrackEvent("Post Event Views", properties); string messagetext = message.Text; var aiproperties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "User Spoken Message", messagetext } }; telemetry.TrackEvent("Post Event Views", aiproperties); string resultsAsJson = "", botOutputString = ""; this.serviceHost = string.IsNullOrWhiteSpace(serviceHost) ? DefaultServiceHost : serviceHost.Trim(); httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Add(SubscriptionKeyName, "b7ba08bf576747728ad0a74af2d5718f"); // List analyzers Analyzer[] supportedAnalyzers = null; try { var requestUrl = $"{this.serviceHost}/{ListAnalyzersQuery}"; supportedAnalyzers = await SendRequestAsync <object, Analyzer[]>(HttpMethod.Get, requestUrl); var analyzersAsJson = JsonConvert.SerializeObject(supportedAnalyzers, Formatting.Indented, jsonSerializerSettings); //Console.WriteLine("Supported analyzers: " + analyzersAsJson); } catch (Exception e) { //Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } // Analyze text with all available analyzers var analyzeTextRequest = new AnalyzeTextRequest() { Language = "en", AnalyzerIds = supportedAnalyzers.Select(analyzer => analyzer.Id).ToArray(), Text = messagetext }; try { var requestUrl = $"{this.serviceHost}/{AnalyzeTextQuery}"; var analyzeTextResults = await this.SendRequestAsync <object, AnalyzeTextResult[]>(HttpMethod.Post, requestUrl, analyzeTextRequest); resultsAsJson = JsonConvert.SerializeObject(analyzeTextResults, Formatting.Indented, jsonSerializerSettings); //Console.WriteLine("Analyze text results: " + resultsAsJson); var insightproperties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "Json Result", resultsAsJson } }; telemetry.TrackEvent("Post Event Views", insightproperties); } catch (Exception e) { //Console.Error.WriteLine("Failed to list supported analyzers: " + e.ToString()); Environment.Exit(1); } var data = JsonConvert.DeserializeObject <List <RootObject> >(resultsAsJson); if (data.Count == 3) { var jsonTreeList = data[0].result.ToArray(); string jsonTree = jsonTreeList.Count() > 0 ? "{Nodes:" + jsonTreeList[0].ToString() + "}" : null; //jsonTree = "{Nodes:" + jsonTree; var posTags = JsonConvert.DeserializeObject <Tree>(jsonTree); var jsonTreeView = data[1].result.ToArray(); var tokenList = data[2].result.ToArray(); string tokenJson = tokenList.Count() > 0 ? tokenList[0].ToString() : null; var tokenData = JsonConvert.DeserializeObject <TokenRootObject>(tokenJson); for (int i = 0; i < posTags.Nodes.Count; i++) { if (posTags.Nodes[i] == "NNP") { botOutputString += tokenData.Tokens[i].RawToken + " is Noun" + " \r \n"; } else if (posTags.Nodes[i] == "VBG" || posTags.Nodes[i] == "VB") { botOutputString += tokenData.Tokens[i].RawToken + " is Verb" + " \r \n"; } else if (posTags.Nodes[i] == "WRB") { botOutputString += tokenData.Tokens[i].RawToken + " is Adverb" + " \r \n"; } else if (posTags.Nodes[i] == "WP") { botOutputString += tokenData.Tokens[i].RawToken + " is Pronoun" + " \r \n"; } else if (posTags.Nodes[i] == "JJ" || posTags.Nodes[i] == "JJR" || posTags.Nodes[i] == "JJS") { botOutputString += tokenData.Tokens[i].RawToken + " is Adjective" + " \r \n"; } else if (posTags.Nodes[i] == "IN") { botOutputString += tokenData.Tokens[i].RawToken + " is Preposition" + " \r \n"; } } botOutputString = botOutputString != "" ? "Speech and Natural Language Processing \r \n" + botOutputString : ""; var insightproperties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "Result From Linguistic API", botOutputString } }; telemetry.TrackEvent("Post Event Views", insightproperties); } else { botOutputString = ""; } //To identify name of a person, place and Company - Using LUIS var luisOutputString = "Intent and Language Understanding Intelligence Service Processing results are \r \n"; var luisRequestURL = "https://api.projectoxford.ai/luis/v1/application?id=fbec04e7-8bda-4160-a059-a8f8b995184b&subscription-key=d14817bff85b4de0af2cc701b2e5de70"; httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.GetAsync(luisRequestURL + "&q=" + messagetext); string luisResponseString = await response.Content.ReadAsStringAsync(); var insightsproperties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "Json Result From LUIS", luisResponseString } }; telemetry.TrackEvent("Post Event Views", insightsproperties); var luisResponse = JsonConvert.DeserializeObject <LuisResponse>(luisResponseString); if (luisResponse.entities.Count > 0) { foreach (var entity in luisResponse.entities) { if (entity.type.Contains("geography")) { if (!luisOutputString.ToLower().Contains(entity.entity.ToLower())) { luisOutputString += entity.type.Replace("builtin.geography.", "") + " : " + entity.entity + " \r \n"; } } else if (entity.type == "Name") { luisOutputString += "Name: " + entity.entity + " \r \n"; } else if (entity.type == "Company") { luisOutputString += "Company: " + entity.entity + " \r \n"; } else { luisOutputString += entity.type + " " + entity.entity + " \r \n"; } } } else { luisOutputString = "No matching found for Intent and Language Understanding Intelligence Service Processing"; } if (botOutputString == "") { botOutputString = "No matching found for Natural Speech and Intent Processing"; } var appinsightsproperties = new Dictionary <string, string> { { "Page Name", "MessagesController" }, { "Method Name", "Post" }, { "Session Id", telemetry.Context.Session.Id }, { "Final Result From LUIS", luisOutputString } }; telemetry.TrackEvent("Post Event Views", appinsightsproperties); return(message.CreateReplyMessage(botOutputString + " \r \n \r \n \r \n \r \n" + luisOutputString)); }
/// <summary> /// Analyze text asynchronously. /// </summary> /// <param name="request">Analyze text request.</param> /// <returns>An array of analyze text result.</returns> public async Task <AnalyzeTextResult[]> AnalyzeTextAsync(AnalyzeTextRequest request) { var requestUrl = $"{this.serviceHost}/{AnalyzeTextQuery}"; return(await this.SendRequestAsync <object, AnalyzeTextResult[]>(HttpMethod.Post, requestUrl, request).ConfigureAwait(false)); }
public async Task <AnalyzeTextResponse> AnalyzeTextAsync(AnalyzeTextRequest model) { return(await Analyze(model.Text)); }
public async Task <ActionResult <AnalyzeTextResponse> > AnalyzeText([FromBody] AnalyzeTextRequest model) { return(await _wordManager.AnalyzeTextAsync(model)); }