internal static SentimentResponseDocumentsItem DeserializeSentimentResponseDocumentsItem(JsonElement element) { TextSentiment sentiment = default; SentimentConfidenceScores confidenceScores = default; IList <SentenceSentimentInternal> sentences = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sentiment")) { sentiment = property.Value.GetString().ToTextSentiment(); continue; } if (property.NameEquals("confidenceScores")) { confidenceScores = SentimentConfidenceScores.DeserializeSentimentConfidenceScores(property.Value); continue; } if (property.NameEquals("sentences")) { List <SentenceSentimentInternal> array = new List <SentenceSentimentInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(SentenceSentimentInternal.DeserializeSentenceSentimentInternal(item)); } sentences = array; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new SentimentResponseDocumentsItem(id, warnings, Optional.ToNullable(statistics), sentiment, confidenceScores, sentences)); }
internal static DocumentHealthcareEntitiesInternal DeserializeDocumentHealthcareEntitiesInternal(JsonElement element) { string id = default; IReadOnlyList <HealthcareEntityInternal> entities = default; IReadOnlyList <HealthcareRelationInternal> relations = default; IReadOnlyList <TextAnalyticsWarningInternal> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("entities")) { List <HealthcareEntityInternal> array = new List <HealthcareEntityInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(HealthcareEntityInternal.DeserializeHealthcareEntityInternal(item)); } entities = array; continue; } if (property.NameEquals("relations")) { List <HealthcareRelationInternal> array = new List <HealthcareRelationInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(HealthcareRelationInternal.DeserializeHealthcareRelationInternal(item)); } relations = array; continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarningInternal> array = new List <TextAnalyticsWarningInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarningInternal.DeserializeTextAnalyticsWarningInternal(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new DocumentHealthcareEntitiesInternal(id, entities, relations, warnings, Optional.ToNullable(statistics))); }
internal static DocumentSentiment DeserializeDocumentSentiment(JsonElement element) { string id = default; DocumentSentimentValue sentiment = default; Optional <TextDocumentStatistics> statistics = default; SentimentConfidenceScorePerLabel confidenceScores = default; IReadOnlyList <SentenceSentiment> sentences = default; IReadOnlyList <TextAnalyticsWarning_internal> warnings = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("sentiment")) { sentiment = property.Value.GetString().ToDocumentSentimentValue(); continue; } if (property.NameEquals("statistics")) { statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } if (property.NameEquals("confidenceScores")) { confidenceScores = SentimentConfidenceScorePerLabel.DeserializeSentimentConfidenceScorePerLabel(property.Value); continue; } if (property.NameEquals("sentences")) { List <SentenceSentiment> array = new List <SentenceSentiment>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(SentenceSentiment.DeserializeSentenceSentiment(item)); } sentences = array; continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarning_internal> array = new List <TextAnalyticsWarning_internal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarning_internal.DeserializeTextAnalyticsWarning_internal(item)); } warnings = array; continue; } } return(new DocumentSentiment(id, sentiment, Optional.ToNullable(statistics), confidenceScores, sentences, warnings)); }
internal static PiiEntitiesDocumentResult DeserializePiiEntitiesDocumentResult(JsonElement element) { string redactedText = default; IList <Entity> entities = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("redactedText")) { redactedText = property.Value.GetString(); continue; } if (property.NameEquals("entities")) { List <Entity> array = new List <Entity>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(Entity.DeserializeEntity(item)); } entities = array; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new PiiEntitiesDocumentResult(id, warnings, Optional.ToNullable(statistics), redactedText, entities)); }
/// <summary> /// Given the statistics of the document before and after applying the /// <see cref="NBoilerpipe.BoilerpipeExtractor">NBoilerpipe.BoilerpipeExtractor</see> /// , /// can we regard the extraction quality (too) low? /// Works well with /// <see cref="NBoilerpipe.Extractors.DefaultExtractor">NBoilerpipe.Extractors.DefaultExtractor /// </see> /// , /// <see cref="NBoilerpipe.Extractors.ArticleExtractor">NBoilerpipe.Extractors.ArticleExtractor /// </see> /// and others. /// </summary> /// <param name="dsBefore"></param> /// <param name="dsAfter"></param> /// <returns>true if low quality is to be expected.</returns> public bool IsLowQuality(TextDocumentStatistics dsBefore, TextDocumentStatistics dsAfter) { if (dsBefore.GetNumWords() < 90 || dsAfter.GetNumWords() < 70) { return(true); } if (dsAfter.AvgNumWords() < 25) { return(true); } return(false); }
internal static PiiDocumentEntities DeserializePiiDocumentEntities(JsonElement element) { string id = default; IReadOnlyList <Entity> entities = default; IReadOnlyList <TextAnalyticsWarningInternal> warnings = default; Optional <TextDocumentStatistics> statistics = default; Optional <string> redactedText = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("entities")) { List <Entity> array = new List <Entity>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(Entity.DeserializeEntity(item)); } entities = array; continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarningInternal> array = new List <TextAnalyticsWarningInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarningInternal.DeserializeTextAnalyticsWarningInternal(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } if (property.NameEquals("redactedText")) { redactedText = property.Value.GetString(); continue; } } return(new PiiDocumentEntities(id, entities, warnings, Optional.ToNullable(statistics), redactedText.Value)); }
internal static ExtractedSummaryDocumentResult DeserializeExtractedSummaryDocumentResult(JsonElement element) { IList <ExtractedSummarySentence> sentences = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("sentences")) { List <ExtractedSummarySentence> array = new List <ExtractedSummarySentence>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ExtractedSummarySentence.DeserializeExtractedSummarySentence(item)); } sentences = array; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new ExtractedSummaryDocumentResult(id, warnings, Optional.ToNullable(statistics), sentences)); }
internal static KeyPhraseResultDocumentsItem DeserializeKeyPhraseResultDocumentsItem(JsonElement element) { IList <string> keyPhrases = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("keyPhrases")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } keyPhrases = array; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new KeyPhraseResultDocumentsItem(id, warnings, Optional.ToNullable(statistics), keyPhrases)); }
internal static MultiClassificationDocumentResult DeserializeMultiClassificationDocumentResult(JsonElement element) { IList <ClassificationResult> @class = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("class")) { List <ClassificationResult> array = new List <ClassificationResult>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ClassificationResult.DeserializeClassificationResult(item)); } @class = array; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new MultiClassificationDocumentResult(id, warnings, Optional.ToNullable(statistics), @class)); }
internal static SingleClassificationDocument DeserializeSingleClassificationDocument(JsonElement element) { string id = default; ClassificationResult classification = default; IReadOnlyList <TextAnalyticsWarningInternal> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("classification")) { classification = ClassificationResult.DeserializeClassificationResult(property.Value); continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarningInternal> array = new List <TextAnalyticsWarningInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarningInternal.DeserializeTextAnalyticsWarningInternal(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new SingleClassificationDocument(id, classification, warnings, Optional.ToNullable(statistics))); }
internal static DocumentKeyPhrases DeserializeDocumentKeyPhrases(JsonElement element) { string id = default; IReadOnlyList <string> keyPhrases = default; IReadOnlyList <TextAnalyticsWarningInternal> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("keyPhrases")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } keyPhrases = array; continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarningInternal> array = new List <TextAnalyticsWarningInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarningInternal.DeserializeTextAnalyticsWarningInternal(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new DocumentKeyPhrases(id, keyPhrases, warnings, Optional.ToNullable(statistics))); }
internal static DocumentLanguage DeserializeDocumentLanguage(JsonElement element) { string id = default; DetectedLanguageInternal detectedLanguage = default; IReadOnlyList <TextAnalyticsWarningInternal> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("detectedLanguage")) { detectedLanguage = DetectedLanguageInternal.DeserializeDetectedLanguageInternal(property.Value); continue; } if (property.NameEquals("warnings")) { List <TextAnalyticsWarningInternal> array = new List <TextAnalyticsWarningInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(TextAnalyticsWarningInternal.DeserializeTextAnalyticsWarningInternal(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new DocumentLanguage(id, detectedLanguage, warnings, Optional.ToNullable(statistics))); }
internal TextAnalyticsResult(string id, TextDocumentStatistics statistics) { Id = id; Statistics = statistics; }
internal static HealthcareEntitiesDocumentResult DeserializeHealthcareEntitiesDocumentResult(JsonElement element) { IList <HealthcareEntityInternal> entities = default; IList <HealthcareRelationInternal> relations = default; Optional <IDictionary <string, object> > fhirBundle = default; string id = default; IList <DocumentWarning> warnings = default; Optional <TextDocumentStatistics> statistics = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("entities")) { List <HealthcareEntityInternal> array = new List <HealthcareEntityInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(HealthcareEntityInternal.DeserializeHealthcareEntityInternal(item)); } entities = array; continue; } if (property.NameEquals("relations")) { List <HealthcareRelationInternal> array = new List <HealthcareRelationInternal>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(HealthcareRelationInternal.DeserializeHealthcareRelationInternal(item)); } relations = array; continue; } if (property.NameEquals("fhirBundle")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, object> dictionary = new Dictionary <string, object>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetObject()); } fhirBundle = dictionary; continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("warnings")) { List <DocumentWarning> array = new List <DocumentWarning>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(DocumentWarning.DeserializeDocumentWarning(item)); } warnings = array; continue; } if (property.NameEquals("statistics")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } statistics = TextDocumentStatistics.DeserializeTextDocumentStatistics(property.Value); continue; } } return(new HealthcareEntitiesDocumentResult(id, warnings, Optional.ToNullable(statistics), entities, relations, Optional.ToDictionary(fhirBundle))); }