analyze method Null safety
- {required String sourceText,
- required TextAnalyzer analyzer,
- TokenFilter? tokenFilter,
- NGramRange? nGramRange,
- String? zone}
Hydrates a TextDocument from the sourceText, zone and
analyzer parameters:
sourceTextis all the analysed text in the document;zoneis the name to be used for all tokens extracted from thesourceText;nGramRangeis the range of N-gram lengths to generate; andanalyzeris a TextAnalyzer used to split thesourceTextinto paragraphs, sentences, terms and nGrams in thenGramRangeand to extract the keywords in thesourceTextto a TermCoOccurrenceGraph. The static factory uses aanalyzerto tokenize thesourceTextand populate thetokensproperty.
Implementation
static Future<TextDocument> analyze(
{required String sourceText,
required TextAnalyzer analyzer,
TokenFilter? tokenFilter,
NGramRange? nGramRange,
String? zone}) async {
final tokens = await analyzer.tokenizer(sourceText,
zone: zone, tokenFilter: tokenFilter, nGramRange: nGramRange);
final terms = analyzer.termSplitter(sourceText);
final nGrams = terms.nGrams(nGramRange ?? NGramRange(1, 2));
final sentences = analyzer.sentenceSplitter(sourceText);
final paragraphs = analyzer.paragraphSplitter(sourceText);
final keywords = tokens.toPhrases();
final graph = TermCoOccurrenceGraph(keywords);
final syllableCount = terms.map((e) => analyzer.syllableCounter(e)).sum;
return _TextDocumentImpl(sourceText, null, tokens, paragraphs, sentences,
terms, nGrams, syllableCount, graph);
}