Beispiel #1
0
        //public static string QuantidadePalavrasPorTutela(List<Tutela> ListaDeTutelas, List<string> BagOfWords)
        //{
        //    List<string> PalavrasDeUmaTutelaTemp = new List<string>();
        //    List<string> PalavrasDeUmaTutela = new List<string>();
        //    StringBuilder Relatorio = new StringBuilder();
        //    int Count;
        //    string NomeTutelaAtual = String.Empty;
        //    bool EstaNaTutelaBOW, IsTutelaNova = false;

        //    Relatorio.Append("RELATORIO: QUANTIDADE DE PALAVRAS QUE SE REPETEM POR TUTELA\nQuantida de palavras sendo analisadas: " + BagOfWords.Count + "\n\n");

        //    foreach (string PalavraBagOfWords in BagOfWords)
        //    {
        //        Relatorio.Append("/******  PALAVRA SENDO ANALISADA: \"" + PalavraBagOfWords + "\"  ******/ \n");

        //        foreach (Tutela tutela in ListaDeTutelas)
        //        {
        //            EstaNaTutelaBOW = false;
        //            IsTutelaNova = false;

        //            if (tutela.QuantPalavrasDaBOW == null)
        //            {
        //                IsTutelaNova = true;
        //                tutela.QuantPalavrasDaBOW = new Dictionary<string, int>();
        //            }


        //            Count = 0;

        //            PalavrasDeUmaTutelaTemp = tutela.Texto.Split(' ').ToList();
        //            PalavrasDeUmaTutelaTemp = PalavrasDeUmaTutelaTemp.ConvertAll(d => d.ToUpper());
        //            PalavrasDeUmaTutela = RemovePontuacaoDeUmaListaDeString(PalavrasDeUmaTutelaTemp);

        //            foreach (string palavra in PalavrasDeUmaTutela)
        //            {
        //                if (palavra.Equals(PalavraBagOfWords))
        //                    Count++;
        //            }



        //            if (IsTutelaNova)
        //            {
        //                tutela.QuantPalavrasDaBOW.Add(PalavraBagOfWords, Count);
        //            }
        //            else
        //            {
        //                foreach (string word in tutela.QuantPalavrasDaBOW.Keys)
        //                {
        //                    if (PalavraBagOfWords.Equals(word))
        //                    {
        //                        EstaNaTutelaBOW = true;
        //                        break;
        //                    }
        //                }

        //                if (EstaNaTutelaBOW)
        //                {
        //                    tutela.QuantPalavrasDaBOW[PalavraBagOfWords] = Count;
        //                }
        //                else
        //                {
        //                    tutela.QuantPalavrasDaBOW.Add(PalavraBagOfWords, Count);
        //                }
        //            }

        //            NomeTutelaAtual = tutela.Nome;
        //            Relatorio.Append("Palavra \"" + PalavraBagOfWords + "\" foi encontrada " + Count + " vezes na tutela \"" + NomeTutelaAtual + "\"\n");

        //        }


        //        Relatorio.Append("\n\n");
        //    }

        //    return Relatorio.ToString();

        //}

        public static double RealizaSimilaridade(Tutela tutela1, Tutela tutela2)
        {
            double Denominador = 0, Similaridade = 0, Raiz1 = 0, Raiz2 = 0;
            int    Numerador = 0;

            var BOW = tutela1.QuantPalavrasDaBOW.Keys.ToList();

            foreach (string PalavraDoBOW in BOW)
            {
                Numerador += tutela1.QuantPalavrasDaBOW[PalavraDoBOW] * tutela2.QuantPalavrasDaBOW[PalavraDoBOW];
            }

            foreach (int value in tutela1.QuantPalavrasDaBOW.Values)
            {
                Raiz1 += Math.Pow(value, 2);
            }

            foreach (int value in tutela2.QuantPalavrasDaBOW.Values)
            {
                Raiz2 += Math.Pow(value, 2);
            }

            Denominador  = Math.Sqrt(Raiz1) + Math.Sqrt(Raiz2);
            Similaridade = Numerador / Denominador;

            return(Similaridade);
        }
Beispiel #2
0
        private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CheckedListTutelasLidas.Visible = false;
            Histograma.Visible = false;

            OpenFileDialog openFileDialog1 = new OpenFileDialog
            {
                Title      = "Open the Word file: ",
                DefaultExt = "docx",
                Filter     = "docx files(*.docx)|*.docx|doc files(*.doc)|*.doc|All files(*.*)|*.*"
            };

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                CaminhoDoDocumento = openFileDialog1.FileName;

                //wordDoc = new Word.Application();
                //wordDoc.Visible = true;           //Abre o arquivo no pc quando der o Open
                doc = Util.GerarInstanciaDocumento(CaminhoDoDocumento);
            }

            if (doc != null)
            {
                string TextoTutela = Util.RetornaOTextoDeUmArquivoDocx(doc, data);
                tutela = new Tutela(Path.GetFileName(CaminhoDoDocumento), CaminhoDoDocumento, TextoTutela);

                G_ListaDeTutelas.Add(tutela);
                TutelaDB.SalvaTutelaNoBanco(tutela);
                MessageBox.Show(TextoTutela);
            }
        }
Beispiel #3
0
 public static void SalvaTutelaNoBanco(Tutela tutela)
 {
     BaseDB.RunSQLScript(@"INSERT INTO Tutela
                       VALUES('" +
                         tutela.Nome + "', '" +
                         tutela.Caminho + "', '" +
                         tutela.Texto + "',  " +
                         "NULL);"
                         );
 }
Beispiel #4
0
        public static List <Tutela> RetornaTodosOsTextosDeArquivosDocx(string[] CaminhosDosDocumentos)
        {
            Tutela        tutela         = new Tutela();
            List <Tutela> ListaDeTutelas = new List <Tutela>();

            foreach (string caminho in CaminhosDosDocumentos)
            {
                if (Util.IsArquivoWord(caminho))
                {
                    tutela = new Tutela
                    {
                        Caminho = caminho,
                        Nome    = Path.GetFileName(caminho)
                    };

                    ListaDeTutelas.Add(tutela);

                    //MessageBox.Show(caminho);
                }
            }

            Word.Document doc;
            StringBuilder data = new StringBuilder();

            foreach (Tutela T in ListaDeTutelas)
            {
                doc = Util.GerarInstanciaDocumento(T.Caminho);

                if (doc != null)
                {
                    T.Texto = RetornaOTextoDeUmArquivoDocx(doc, data);
                }
            }

            return(ListaDeTutelas);
        }