// CONSTRUCTORS public FrequencyPanel() { InitializeComponent(); ofd = null; sfd = null; frequencyAnalyzer = null; }
/// <summary> /// Finds the sentences with the highest TF-IDF score /// </summary> /// <param name="input">The input.</param> /// <returns>The sentences</returns> private List <Tuple <Sentence, double, int> > FindSentences(Document input) { var WordTokens = input.Tokens.Where(x => (x.TokenType == TokenType.Abbreviation || x.TokenType == TokenType.Word) && !x.StopWord).ToArray(); var DocumentTotalCount = WordTokens.Length; var DocumentFrequencies = FrequencyAnalyzer.Analyze(input.Tokens, DocumentTotalCount); var SentenceFrequency = FindSentenceFrequencies(WordTokens, input.Sentences); List <double> SentenceScore = new List <double>(); for (int x = 0; x < input.Sentences.Length; ++x) { SentenceScore.Add(0); WordTokens = input.Sentences[x].Tokens.Where(x => (x.TokenType == TokenType.Abbreviation || x.TokenType == TokenType.Word) && !x.StopWord).ToArray(); var SentenceTotalTokens = WordTokens.Length; var TermFrequencies = FrequencyAnalyzer.Analyze(WordTokens, SentenceTotalTokens); foreach (var Key in TermFrequencies.WordCount.Keys) { double TermFrequency = TermFrequencies.TermFrequency[Key]; double InverseDocumentFrequency = Math.Log(input.Sentences.Length / (1 + (double)SentenceFrequency[Key])); SentenceScore[x] += (TermFrequency * InverseDocumentFrequency); } } List <Tuple <Sentence, double, int> > SentenceScoresFinal = new List <Tuple <Sentence, double, int> >(); for (int x = 0; x < input.Sentences.Length; ++x) { SentenceScoresFinal.Add(new Tuple <Sentence, double, int>(input.Sentences[x], SentenceScore[x], x)); } return(SentenceScoresFinal); }
/// <summary> /// Initializes a new instance of the <see cref="EnglishDefault"/> class. /// </summary> /// <param name="frequencyAnalyzer">The frequency analyzer.</param> public EnglishDefault(FrequencyAnalyzer frequencyAnalyzer) { FrequencyAnalyzer = frequencyAnalyzer; }
/// <summary> /// Initializes a new instance of the <see cref="EnglishDefault"/> class. /// </summary> /// <param name="frequencyAnalyzer">The frequency analyzer.</param> /// <exception cref="ArgumentNullException"> /// tokenizer or stemmer or sentenceDetector or frequencyAnalyzer /// </exception> public EnglishDefault(FrequencyAnalyzer frequencyAnalyzer) { FrequencyAnalyzer = frequencyAnalyzer ?? throw new ArgumentNullException(nameof(frequencyAnalyzer)); }
public void SetUp() { textParser = A.Fake <IWordParser>(); frequencyAnalyzer = new FrequencyAnalyzer(textParser); }
public async void Analyze() { currentAnalysis = new FrequencyAnalyzer(AnalysisName, new FrequencyAnalyzer.Settings() { Traits = Traits.Where(g => g.Selected).Select(g => g.Trait).ToList() }); var context = new GenesisContext(); var result = await Task.Run(() => currentAnalysis.Analyse(context)); context.FrequencyAnalysis.Add(result); context.SaveChanges(); ReloadData(); }
public Form1() { InitializeComponent(); frequencyAnalyzer = new FrequencyAnalyzer(); }