Ejemplo n.º 1
0
        static (List <Word> Words, List <SentenceFragment> SentenceFragment) Query(string filepath, string keyword, DateTime start, DateTime end, int resultLimit)
        {
            List <string>           textSegments      = SqliteDAO.GetText(filepath, start, end, keyword, SqlLimit);
            List <SentenceFragment> sentenceFragments = new List <SentenceFragment>();
            // settings
            const int MaxWordsAround = 5;

            List <Word>             importantStems     = new List <Word>();
            List <SentenceFragment> exampleFragments   = new List <SentenceFragment>();
            WordSequenceParser      wordSequenceParser = new WordSequenceParser(new Stemmer(), MaxWordsAround);

            foreach (string text in textSegments)
            {
                sentenceFragments.AddRange(wordSequenceParser.FindSentenceFragments(Tokenizer.GetTokens(text, keyword), keyword));
            }

            IEnumerable <CountedWord> countedStems = wordSequenceParser.CountWordOccurancesInSequences(sentenceFragments);

            importantStems = countedStems.Where(x => x.Count > 0 && !WordService.IsStopword(x.Word.FullWord) && x.Word.FullWord.Length > 2)
                             .OrderBy(x => x, new CountedWordComparer())
                             .Select(x => x.Word)
                             .Take(resultLimit).ToList();

            exampleFragments = sentenceFragments.Where(s => s.ContainsAnyStems(importantStems))
                               .Distinct(new SentenceFragmentEqualityComparer())
                               .Take(resultLimit).ToList();

            return(importantStems, exampleFragments);
        }
        private void LoadCitizenList()
        {
            citizens = SqliteDAO.loadCitizens();


            WireUpCitizensList();
        }
        private void addPerson_Click(object sender, EventArgs e)
        {
            SP_CITIZEN_VO p = new SP_CITIZEN_VO();

            p.FIRST_NAME = firstNameText.Text;
            p.LAST_NAME  = lastNameText.Text;

            SqliteDAO.saveCitizen(p);

            firstNameText.Text = "";
            lastNameText.Text  = "";
        }