Irvuz

Классификация и характеристики текста

4gophers

Классификация и характеристики текста

Перевод статьи “Text classification”

Я всегда пытаюсь автоматизировать действия, которые мне приходится делать более двух раз. Недавно я заметил, что когда я хочу добавить закладку в браузер, то мне приходится выбирать в какую папку ее нужно поместить. Я подумал, что это вполне можно делать автоматически.

И в итоге я решил погрузится в эту тему. Мне пришлось начать разбираться в теме обработки естественного языка, суть которой заключается в попытке научить компьютер понимать обычный человеческий язык.

Одна из частей это большой темы – классификация текстовых документов по их содержимому. Есть два способа выполнять подобную классификацию: с учителем и без учителя.

В методе с учителем модель сначала тренируется на специально размеченных данных и только после этого натренированную модель можно использовать для присваивания определенных классов новым данным.

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

Обработка входных данных

На самом деле, понимать простой человеческий язык для компьютера это довольно сложная задача. Слишком много неоднозначностей и зависимости от контекста. Нужно справляться с неологизмами, названиями различных сущностей и идиомами.

Кроме того, для понимания естественного языка, компьютеру нужно иметь некоторое подобие здравого смысла. Поэтому, текстовые документы представляют как n-размерный вектор с набором характеристик которые описывают конкретные объекты.

Чаше всего это наборы слов, которые сгруппированы по уникальности с указанным значением повторяемости в документе. Порядок слов игнорируется и учитывается только количество.

Разбивка текста на отдельные слова называется токенизацией. Но для повышения точности нужно выполнить еще ряд шагов. Один из самых важных шагов – это удаление стоп слов. Нам необходимо удалить слишком часто встречающиеся слова и слова без значительного семантического смысла. В английском языке это at, which, and, so, a, an и еще много такого.

Еще нужно провести нормализацию всех слов, выполнить стемминг и привести все слова к их нормальной форме. Это позволит объединить разные формы слова, например слова “работать”, “работал”, “работали” будет приведено к “работа”. Тут нужно учесть, что для классификации все эти слова объединяться, и частота будет считаться как для одного слова.

Кстати, основа слова не всегда совпадает с морфологическим корнем слова. Можно использовать леммизацию. С ее помощью можно находить правильные морфологические основы, что позволит сохранить смысл слова. Но для леммизации нужно использовать словари. И это значительно более затратный процесс, чем стемминг.

И последнее – не забудьте про приведение всех слов к одному регистру.

Наивная Байесовская Классификация

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

в которой C это класс, а D это сам документ. С помощью этой теоремы вычисляется вероятность присвоения класса C документу D, при условии, что мы знаем вероятность отношения документа D к классу С и независимые вероятности для C и для D. Вероятность для документа это единица, поэтому мы не будем ее учитывать в наших расчетах.

Вероятность для класса равна количеству документов в обучающем наборе, принадлежащих этому классу, разделенная на количество всех документов. Осталось разобраться с вероятностью отношения документа D к классу C.

Под словом “наивная” скрывается допущение что все слова в документе не зависят друг от друга, в таком случае, мы можем вычислить вероятность как сумму вероятностей для каждого отдельного слова.

Существует много различных Байесовских классификаторов. Они делают разные допущения о распределении вероятностей для различных классов.

Например, для Бернули классификатора учитывается только количество вхождений определенного слова. Мультиномиальная классификация учитывает еще и частоту вхождения.

Вероятность присвоения класса для конкретного слова в мультиномиальном классификаторе можно выразить как:

где:

  • count(w, C) – количество сколько раз слово w было отнесено к классу C на обучающих данных.
  • count(C) – количество всех слов отнесенных к классу C.
  • V – количество уникальных слов в тренировочных данных.
  • α – параметр для сглаживания, предотвращает 0 вероятности(α=1 используется для сглаживания Лапласа).

Давайте теперь немного поэкспериментируем.

Выше мы можем видеть как рассчитывается вероятность принадлежности документа к определенному классу. Давайте чуть внимательнее посмотрим, как работает классификация. Весть процесс разбивается на два этапа: обучение и, собственно, выполнение классификации.

Для тренировки используются размеченные данные, которые содержат текст и которые уже правильно классифицированы. Текст разбивается на токены, и рассчитываются значения, указанные в описании выше, необходимые для классифицирования новых документов.

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

Классификатор сохраняет необходимые данные на моменте тренировки просто инкрементируя необходимые счетчики.

type Classifier struct { classPerWordCount map[string]int classPerDocument map[string]int wordClassCount map[string]map[string]int documentsCount int} // Train the classifier with text and its class.func (c *Classifier) Train(words []string, class string) { c.documentsCount++ c.incrementDocumentPerClass(class) for _, word := range words { c.incrementWordClass(word, class) c.incrementClassPerWord(class) }}

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

func (c *Classifier) Classify(words []string) (string, float64) { var score float64 var prediction string for _, class := range c.classes() { var probability = c.probability(words, class) if score < probability { score = probability prediction = class } } return prediction, score}

Наивная Байесовская классификация достаточно простой, но при этом очень эффективный алгоритм. Он выдает неплохие результаты даже с учетом наивного предположения о независимости слов в документе.

Чаше всего такой классификатор используется для работы с текстом, так как он очень простой и при этом может выдавать точные результаты.

Для иллюстрации всего что мы описали в этой статье я сделал небольшой gist в котором вы найдете полный код к статье.

8 март 2017

Источник: https://4gophers.ru/articles/klassifikaciya-teksta/

Классификация документов

Классификация и характеристики текста

Классификация документов — одна из задач информационного поиска, заключающаяся в отнесении документа к одной из нескольких категорий на основании содержания документа.

Классификация может осуществляться полностью вручную, либо автоматически с помощью созданного вручную набора правил, либо автоматически с применением методов машинного обучения.

Следует отличать классификацию текстов от кластеризации, в последнем случае тексты также группируются по некоторым критериям, но заранее заданные категории отсутствуют.

Подходы к классификации текстов[ | ]

Существует три подхода к задаче классификации текстов[1].

Во-первых, классификация не всегда осуществляется с помощью компьютера. Например, в обычной библиотеке тематические рубрики присваиваются книгам вручную библиотекарем. Подобная ручная классификация дорога и неприменима в случаях, когда необходимо классифицировать большое количество документов с высокой скоростью.

Другой подход заключается в написании правил, по которым можно отнести текст к той или иной категории. Например, одно из таких правил может выглядеть следующим образом: “если текст содержит слова производная и уравнение, то отнести его к категории математика”.

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

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

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

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

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

Кроме того, разметка может быть произведена в обычном режиме использования системы. Например, в программе электронной почты может существовать возможность помечать письма как спам, тем самым формируя обучающее множество для классификатора — фильтра нежелательных сообщений.

Таким образом, классификация текстов, основанная на машинном обучении, является примером обучения с учителем, где в роли учителя выступает человек, задающий набор классов и размечающий обучающее множество.

Постановка задачи[ | ]

Имеется множество категорий (классов, меток) C = { c 1 , . . . , c | C | } {\displaystyle {\mathfrak {C}}=\{c_{1},…,c_{\left|{\mathfrak {C}}\right|}\}} .

Имеется множество документов D = { d 1 , . . . , d | D | } {\displaystyle {\mathfrak {D}}=\{d_{1},…,d_{\left|{\mathfrak {D}}\right|}\}} .

Неизвестная целевая функция Φ : C × D → { 0 , 1 } {\displaystyle \Phi \colon {\mathfrak {C}}\times {\mathfrak {D}}\rightarrow \{0,1\}} .

Необходимо построить классификатор Φ ′ {\displaystyle \Phi {\prime }} , максимально близкий к Φ {\displaystyle \Phi } .

Имеется некоторая начальная коллекция размеченных документов R ⊂ C × D {\displaystyle {\mathfrak {R}}\subset {\mathfrak {C}}\times {\mathfrak {D}}} , для которых известны значения Φ {\displaystyle \Phi } . Обычно её делят на «обучающую» и «проверочную» части. Первая используется для обучения классификатора, вторая — для независимой проверки качества его работы.

Классификатор может выдавать точный ответ Φ ′ : C × D → { 0 , 1 } {\displaystyle \Phi {\prime }\colon {\mathfrak {C}}\times {\mathfrak {D}}\rightarrow \{0,1\}} или степень подобия Φ ′ : C × D → [ 0 , 1 ] {\displaystyle \Phi {\prime }\colon {\mathfrak {C}}\times {\mathfrak {D}}\rightarrow [0,1]} .

Этапы обработки[ | ]

Индексация документов Построение некоторой числовой модели текста, например в виде многомерного вектора слов и их веса в документе. Уменьшение размерности модели.

Построение и обучение классификатора Могут использоваться различные методы машинного обучения: решающие деревья, наивный байесовский классификатор, нейронные сети, метод опорных векторов и др.

Оценка качества классификации Можно оценивать по критериям полноты, точности, сравнивать классификаторы по специальным тестовым наборам.

Наивная байесовская модель[ | ]

Основная статья: Наивный байесовский классификатор

Наивная байесовская модель является вероятностным методом обучения. Вероятность того, что документ d попадёт в класс c записывается как P ( c | d ) {\displaystyle P(c|d)} . Поскольку цель классификации – найти самый подходящий класс для данного документа, то в наивной байесовской классификации задача состоит в нахождении наиболее вероятного класса cm

c m = argmax c ∈ C P ( c | d ) {\displaystyle c_{m}={\underset {c\in C}{\operatorname {argmax} }}\,P(c|d)}

Вычислить значение этой вероятности напрямую невозможно, поскольку для этого нужно, чтобы обучающее множество содержало все (или почти все) возможные комбинации классов и документов. Однако, используя формулу Байеса, можно переписать выражение для P ( c | d ) {\displaystyle P(c|d)}

c m = argmax c ∈ C P ( d | c ) P ( c ) P ( d ) = argmax c ∈ C P ( d | c ) P ( c ) {\displaystyle c_{m}={\underset {c\in C}{\operatorname {argmax} }}\,{\frac {P(d|c)P(c)}{P(d)}}={\underset {c\in C}{\operatorname {argmax} }}\,P(d|c)P(c)}

где знаменатель P ( d ) {\displaystyle P(d)} опущен, так как не зависит от c и, следовательно, не влияет на нахождение максимума; P(c) – вероятность того, что встретится класс c, независимо от рассматриваемого документа; P(d|c) – вероятность встретить документ d среди документов класса c.

Используя обучающее множество, вероятность P(c) можно оценить как

P ( c ) = N c N {\displaystyle {\hat {P}}(c)={\frac {N_{c}}{N}}}

где N c {\displaystyle N_{c}} – количество документов в классе c, N – общее количество документов в обучающем множестве. Здесь использован другой знак для вероятности, поскольку с помощью обучающего множества можно лишь оценить вероятность, но не найти её точное значение.

Чтобы оценить вероятность P ( d | c ) = P ( t 1 , t 2 , . . . , t n d | c ) {\displaystyle P(d|c)=P(t_{1},t_{2},…

,t_{n_{d}}|c)} , где t k {\displaystyle t_{k}} – терм из документа d, n d {\displaystyle n_{d}} – общее количество термов в документе (включая повторения), необходимо ввести упрощающие предположения (1) о условной независимости термов и (2) о независимости позиций термов.

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

P ( d | c ) = P ( t 1 , t 2 , . . . , t n d | c ) = P ( t 1 | c ) P ( t 2 | c ) . . . P ( t n d | c ) = ∏ k = 1 n d P ( t k | c ) {\displaystyle P(d|c)=P(t_{1},t_{2},…,t_{n_{d}}|c)=P(t_{1}|c)P(t_{2}|c)…P(t_{n_{d}}|c)=\prod _{k=1}{n_{d}}P(t_{k}|c)}

Оценка вероятнотей P ( t | c ) {\displaystyle P(t|c)} с помощью обучающего множества будет

P ( t | c ) = T c t T c {\displaystyle {\hat {P}}(t|c)={\frac {T_{ct}}{T_{c}}}}

где T c t {\displaystyle T_{ct}} – количество вхождений терма t во всех документах класса c (и на любых позициях – здесь существенно используется второе упрощающее предположение, иначе пришлось бы вычислить эти вероятности для каждой позиции в документе, что невозможно сделать достаточно точно из-за разреженности обучающих данных – трудно ожидать, чтобы каждый терм встретился в каждой позиции достаточное количество раз); T c {\displaystyle T_{c}} – общее количество термов в документах класса c. При подсчёте учитываются все повторные вхождения.

После того, как классификатор “обучен”, то есть найдены величины P ( c ) {\displaystyle {\hat {P}}(c)} и P ( t | c ) {\displaystyle {\hat {P}}(t|c)} , можно отыскать класс документа

c m = argmax c ∈ C P ( d | c ) P ( c ) = argmax c ∈ C P ( c ) ∏ k = 1 n d P ( t k | c ) {\displaystyle c_{m}={\underset {c\in C}{\operatorname {argmax} }}\,{\hat {P}}(d|c){\hat {P}}(c)={\underset {c\in C}{\operatorname {argmax} }}{\hat {P}}(c)\prod _{k=1}{n_{d}}{\hat {P}}(t_{k}|c)}

Чтобы избежать в последней формуле переполнения снизу из-за большого числа сомножителей, на практике вместо произведения обычно используют сумму логарифмов. Логарифмирование не влияет на нахождение максимума, так как логарифм является монотонно возрастающей функцией. Поэтому в большинстве реализаций вместо последней формулы используется

c m = argmax c ∈ C [ log ⁡ P ( c ) + ∑ k = 1 n d log ⁡ P ( t k | c ) ] {\displaystyle c_{m}={\underset {c\in C}{\operatorname {argmax} }}[\log {\hat {P}}(c)+\sum _{k=1}{n_{d}}\log {\hat {P}}(t_{k}|c)]}

Эта формула имеет простую интерпретацию.

Шансы классифицировать документ часто встречающимся классом выше, и слагаемое log ⁡ P ( c ) {\displaystyle \log {\hat {P}}(c)} вносит в общую сумму соответствующий вклад.

Величины же log ⁡ P ( t | c ) {\displaystyle \log {\hat {P}}(t|c)} тем больше, чем важнее терм t для идентификации класса c, и, соответственно, тем весомее их вклад в общую сумму.

Применение[ | ]

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

Ссылки[ | ]

Источник: https://encyclopaedia.bid/%D0%B2%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F/%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2

Классификатор текстов на естественном языке

Классификация и характеристики текста

Е.С.Борисов

четверг, 6 сентября 2007 г.

1 Введение

Стремительный рост сети интернет естественным образом породил проблемы поиска и упорядочивания информации. Сегодня в электронных хранилищах по всему миру содержатся терабайты информации. Информационных источников становится все больше и получить из этого океана нужные знания становится все труднее.

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

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

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

2 Общая схема системы классификации

Рис.1: Общая схема классификатора

текст
↓ частотная характеристика

нейросетевой
классификатор
номер класса

Система классификации состоит из двух основных частей: частотный анализатор с словарем и нейросетевой классификатор (рис.1). На вход системы поступает текст, на выходе получаем тему, которой посвящен этот текст (спорт, политика, медицина и т.п.).

Перед началом работы пользователю необходимо определить классы, с которыми будет работать система и подобрать множество учебных текстов.

Далее из множества учебных текстов, определенным образом, выделяются слова – формируется словарь.

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

2.1 Частотный анализатор и словарь

Первая часть системы это частотный анализатор и словарь, здесь вычисляется т.н. частотная характеристика входного текста.

Рис.2: Схема частотного анализатора

текст
(t1t2…tk)

(f1,…fn)частотная

характеристика

Частотный анализатор реализует известный лингвистический метод для обработки текстов на естественных языках – частотный анализ, который показывает распределение повторов слов в тексте.

Эта часть системы определяет для каждого слова vi из словаря V его частоту вхождения fi в данный текст t (рис.2). Частотная характеристика это вектор f=(f1,…

fn)∈ F, длинна которого равна количеству слов в словаре V, каждая компонента fi это целое неотрицательное число:

Другими словами – для каждого слова vi ∈ V определяется число его вхождений fi ≥ 0 в данный текст t=t1t2t3…tk .

Частотную характеристику f можно рассматривать как точку в пространстве признаков F, соответствующую тексту t. Таким образом, на входе имеем текст t и словарь V, на выходе точку в пространстве признаков F .

2.2 Нейросетевой классификатор

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

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

На вход нейронной сети подается вектор частотной характеристики, на выходе получаем вектор (y0…ym). Номер j, для которого выход yj имеет максимальную активность (т.е. yj=max(yi) ; i=0…m), соответствует номеру класса входного образца.

Для обучения этой нейронной сети используется метод обратного распространения ошибки [3].

3 Обучение системы

Прежде чем классификатор начнет работать его необходимо обучить на множестве учебных текстов. Эту процедуру можно разбить на четыре этапа:

  1. Определение количества классов, с которыми будет работать система.

    Подбор тематических учебных текстов, в одинаковом объеме для каждого класса. Тексты должны в точности соответствовать своей теме.

  2. Составление словаря из множества учебных текстов. Для решения этой задачи можно воспользоваться обобщенным законом Бредфорда[2].

    В следующих разделах эта задача рассматривается подробнее.

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

  4. Обучение нейросетевого классификатора на наборе векторов частотных характеристик учебных текстов. Далее рассматривается решение этой задачи.

3.1 Составление словаря

Словарь – важная часть классификатора и для эффективной работы системы он должен быть оптимален т.е. удовлетворять следующим требованиям.

  • Словарь должен состоять из слов, имеющих четко определенное значение, чтобы результат частотного анализа содержал минимум шума. Например слова-предлоги ''и'',''или'' на эту роль не годятся поскольку они могут встречаться в любом тексте.

    Примеры ''хороших'' слов характеризующих текст это ''чемпион'', ''церковь'', ''микросхема'', ''выставка'' и т.п.

    Здесь надо отметить, что в данном случае речь идет не о ключевых словах а о словаре для частотного анализа, это значительно более гибкий метод чем работа с ключевыми словами.

  • Словарь должен содержать достаточно слов, чтобы частотный анализ был информативен;
  • Словарь должен быть небольшим, чтобы процедура частотного анализа могла быть выполнена за приемлемое время;

Составить словарь удовлетворяющий эти требования можно используя известные лингвистические закономерности. В этой работе был использован закон Бретфорда[2], который можно сформулировать следующим образом.

3.1.0.1 Обобщенный закон Бретфорда:

Рассмотрим множество текстов посвященной определенной тематике.

  • Для каждого слова из этих текстов выполняется частотный анализ, получается множество пар [слово, частота (количество повторов)].
  • Затем выполняется т.н. ранжирование – полученное множество пар сортируется по убыванию относительно частоты.

    Получаем список где вверху будут служебные и общеупотребимые слова, внизу – редкоупотребимые специальные слова.

  • Полученный список можно разделить на четыре части:
    1. служебные слова;
    2. общеупотребимые слова;
    3. тематическая лексика;
    4. редкоупотребимые специальные слова;

    обобщенный закон Бретфорда утверждает, что имеет место соотношение:

    где pi – количество слов в i-той части списка.

3.1.0.2 Процедура составления словаря состоит в следующем:

Для каждого слова из набора учебных текстов выполняется частотный анализ с последующим ранжированием. В соответствии с обобщенным законом Бретфорда, ранжированный список делится на четыре части.

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

Здесь необходимо упомянуть задачу нормализации слов в естественном языке, т.е.

приведение слова к единственному числу именительного падежа. В данном случае мы ушли от этой проблемы следующим образом – в словаре хранятся только основы слов без окончаний.

При частотном анализе проверяется не совпадение слов а вхождение слова из словаря в данное слово из текста. Такое решение не идеально поскольку порождает шум, но практика показала, что система работает вполне удовлетворительно.

3.2 Обучение нейросетевого классификатора

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

Процесс обучения нейронной сети сводится к корректировке весовых коэффициентов ее связей в соответствии с методом обратного распространения ошибки [3].

4 Реализация

В этом разделе представлена реализация, описанной выше модели классификатора, который работает с текстами на русском языке.

Данная реализация классификатора делит все множество входных текстов на пять классов: ''спорт'', ''здоровье'', ''политика'', ''техника'', ''культура''.Словарь, построенный на основе учебных текстов, содержит 2520слов.

Каждый класс описывается четырьмя учебными текстами объемом околотрех страниц каждый. Все тексты (учебные и тестовые) взяты из русскоязычныхновостных каналов сети internet, таких как podrobnosti.ua, news.yandex.ru,nr2.ru и др. Отчет, сгенерированный программой, можно увидеть [ здесь ].

Образцы текстов, обработанных системой

  • Фрагмент текста, отнесенного системой к классу “политика”:

    Партия зеленых: Трехпроцентный барьер мы будем преодолевать с разгона Вопрос самостоятельного участия Партии зеленых Украины в парламентских выборах или блокирования с другими политическими силами окончательно будет решен на съезде партии. Об этом сегодня, 7 декабря, на пресс-конференции сообщил председатель политсовета ПЗУ Сергей Курыкин. Курыкин заявил, что, по его личному мнению, Партия зеленых…

  • Фрагмент текста,отнесенного системой к классу “спорт”:

    Как сообщает Reuters, олимпийский огонь Игр-2006 прибыл сегодня в Рим.В четверг президент Италии Карло Чампи зажжет факел и передаст его первому участнику эстафеты олимпийского огня, олимпийскому чемпиону в марафонском беге Стефано Бальдини …

  • Фрагмент текста,отнесенного системой к классу “здоровье”:

    В Челябинской области новогодние праздники закончатся эпидемией: волна заболеваемости гриппом на Южном Урале ожидается во второй декаде января.Однако медики утверждают, что пройти профилактическую вакцинацию еще не поздно: прививки можно ставить до конца декабря. …

  • Фрагмент текста,отнесенного системой к классу “культура”:

    Екатеринбургские актеры меняют высокое искусство на рекламу и развлекательные телесериалы. В ноябре на Свердловской киностудии прошли кастинги трех телевизионных проектов с участием московских пиарщиков, менеджеров, телевизионщиков и кинематографистов. …

  • Фрагмент текста,отнесенного системой к классу “техника”:

    Intel и STMicro стандартизируют мобильную флэш-память По условиям соглашения между Intel и STMicro, выпускаемые обеими компаниями чипы флэш-памяти NOR для сотовых телефонов будут идентичными.

    Это касается как микросхем, которые оба чипмейкера производят по 90-нанометровому, так планируемых к выпуску по 45-нанометровому техпроцессу. Последний будет запущен, предположительно, к 2008 году.

    Ожидается, что сотрудничество приведет к снижению цен на чипы NOR, что, соответственно скажется и на стоимости сотовых телефонов…

Исходные тексты программ [ здесь ].

Литература

1Е.С.Борисов Искусственные нейронные сети – http://www.mechanoid.kiev.ua 2Ланде Д.В. Поиск знаний в Internet. – Санкт-Петербург:Диалектика,2005 3В.А.Головко, под ред.проф.А.И.Галушкина Нейронные сети: обучение, организация и применение. – Москва : ИПРЖР, 2001 4Anil K.

Jain, Jianchang Mao, K.M. Mohiuddin Artificial Neural Networks: A Tutorial // Computer, Vol.29, No.3, March/1996, pp. 31-44.

Evgeny S. Borisov
2007-09-06
При использовании материалов этого сайта, пожалуйста вставляйте в свой текст ссылку на мою статью.

Источник: http://mechanoid.kiev.ua/neural-net-classifier-text.html

ovdmitjb

Add comment