На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Наивный Байесовский классификатор текстов на C#

При использовании байесовской классификации текстовый документ представляется как набор слов (термов), вероятности которых условно не зависят друг от друга. По причине независимости термов байесовскую классификацию называют также наивной.

Для программной реализации использовался ЯВУ С# и Net Framework 4. Программа позволяет провести обучение и эксплуатацию обученного классификатора, как для обычных текстовых документов, так и для веб-страниц в интернете.

Все документы, проходят одинаковую предварительную обработку, в процессе которой они приводятся к модели «bag of words» [1,3]. В процессе предварительной обработки из текста удаляются знаки препинания, пробелы, английские слова и, в случае веб-страниц, HTML и JavaScript теги. После того, как в документе остаются только слова, они приводятся к нормальному виду с помощью стеммера от Яндекса[4].

На этапе обучения программа на основе обучающей выборки вычисляет частотные характеристики терминов и величины, используемые в формулах (2) и (3).

Во время обучения у пользователя есть возможность отбора терминов с тем, чтобы сократить размер словаря и снизить влияние «шумовых» терминов. Это можно делать вручную или автоматически на основе известного критерия tf-idf[1].

На этапе классификации после указанной выше обработки входного документа к его терминам применяются статистические характеристики, полученные на этапе обучения и, в конечном счете, вычисляются все величины, используемые в решающей функции (2).

Программа на C#+WPF

Пример кода:

        /// <summary>
        /// Сокращает лексикон.
        /// </summary>
        /// <param name="kC">Количество терминов класса С.</param>
        /// <param name="kNC">Количество терминов класса !С.</param>
        /// <returns>Сокращённый лексикон.</returns>
        public Lexicon ReduceLexicon(int kC, int kNC)
        {
            //сортировка лексикона с анонимным методом
            this.Sort(delegate(Term term1, Term term2){
                       return term2.CDocCount.CompareTo(term1.CDocCount);
                     });
            //ввод количества признаков
            Lexicon BufLex = new Lexicon(this);
            if (this.Count > kC){ //если длина лексикона позволяет проводить сокращение
                for (int i = 0; i < kC; i++){
                    BufLex.Add(this[i]);
                }
            }
            if (this.Count > kNC){ 
                //теперь отсортируем список по убыванию NCDocCount
                this.Sort(delegate(Term term1, Term term2){
                           return term2.NCDocCount.CompareTo(term1.NCDocCount);
                          });
                for (int i = 0; i < kNC; i++){
                    if (!BufLex.Contains(this[i])){
                        BufLex.Add(this[i]);
                    }
                }
            }
            return BufLex;
        }

Содержание архива:

  • исходный код  на C# для Visual Studio 
  • пояснительная записка к курсовой работе (25 страниц)
Купить 3000,00 
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

n1kkondrat

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Другие работы автора
Новые работы
Тип Название Рейтинг Категория Стоимость
Диплом Разработка Telegram-бота для колледжа АГУ (Python) new 0 Python 10 000,00
Исходник Учёт товаров (Python, Tkinter, Sqlite) new 0 Python 3 000,00
Курсовая АИС "Авиакасса" (C#, WPF, WinForms, SQLite, SQL Server, Access) new 0 .NET (C#) 5 500,00
Курсовая Курсовая работа разработка мобильных приложений "FTP клиент для Android" new 0 Сетевые протоколы 6 500,00
Исходник Транспонирование матрицы new 0 .NET (C#) 150,00
Купить

3000,00 

Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
Байесовский классификатор.rar
13852295
Оцени работу

рейтинг

Поделись работой с друзьями

Категории
Наивный Байесовский классификатор текстов на C#
Наивный байесовский классификатор — простой вероятностный классификатор, основанный на применении Теоремы Байеса со строгими (наивными) предположениями о независимости.
Категория: Образование
Стоимость: 3000,00