Exemple #1
0
        // CONSTRUCTORS
        public FrequencyPanel()
        {
            InitializeComponent();

            ofd = null;
            sfd = null;
            frequencyAnalyzer = null;
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
 /// <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;
 }
Exemple #4
0
 /// <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();
        }
Exemple #7
0
 public Form1()
 {
     InitializeComponent();
     frequencyAnalyzer = new FrequencyAnalyzer();
 }