Помощь в написании студенческих работ
Антистрессовый сервис

Моделирование текстов на естественном языке

РефератПомощь в написанииУзнать стоимостьмоей работы

Создайте новый скрипт, введите и выполните команды, приведенные ниже. Чтобы выполнить несколько команд сразу, нужно их выделить и нажать CTRL+R. Приведенные команды формируют корпус из текстовых документов и выводят о нем информацию. Последние две показывают содержимое первого и последнего документа в корпусе. Очистите корпус от стоп-слов английского языка. Сначала выведите список стоп-слов… Читать ещё >

Моделирование текстов на естественном языке (реферат, курсовая, диплом, контрольная)

В результате освоения данной главы обучающийся будет: знать

  • • особенности векторных моделей представления текстов; уметь
  • • строить векторные модели представления текста и применять их для решения задач, связанных с обработкой текстов;

владеть

• методами латентного семантического анализа.

Векторная модель представления текстов

Моделирование можно рассматривать как замещение реального объекта его условным эквивалентом, именуемым моделью и обеспечивающим близкое к реальному объекту поведение в рамках приемлемых допущений и ограничений1. Моделирование позволяет уменьшить сложность реальных объектов, так как модели передают только наиболее существенные параметры (свойства) объектов. В частности, математическая модель определяется как эквивалент объекта, отражающий в математической форме его важнейшие свойства[1][2].

В данном разделе мы будем рассматривать в качестве объектов моделирования тексты на естественном языке. В большинстве случаев ключевыми параметрами моделей, представляющих тексты, являются слова, содержащиеся в этих текстах. Векторная, или, как ее еще называют, векторно-пространственная, модель (VSM — vector space model) является одной из таких моделей, основанных на ключевых словах. Ранее мы уже изложили в общих чертах суть этой модели при рассмотрении задачи информационного поиска, сейчас дадим ее формальное описание.

Пусть имеется коллекция текстовых документов D = (d{, d2, dm) и задан словарь терминов этой коллекции Т = (tv t2, tf).

Модель VSM представляет каждый документ этой коллекции с помощью словаря Г как я-мерный вектор, координатами которого являются частоты вхождений терминов словаря в этот документ:

Моделирование текстов на естественном языке.

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

В методике Tf вес термина в документе определяется как его частота, деленная на общее количество слов документа. Таким образом, оценивается важность термина в пределах одного документа:

Моделирование текстов на естественном языке.

В методике TfIdf вес термина в документе определяется как произведение частоты вхождения термина в документ (Tf) и обратной документной частоты (Idf). Таким образом, оценивается важность термина в пределах всей коллекции документов. Следовательно, больший вес получают термины с высокой частотой вхождения в данный документ и с низкой частотой употребления в других документах:

Моделирование текстов на естественном языке.

где |D| — общее число документов в коллекции; Df} — число документов, в которых встречается термин tv

Если документы сильно различаются по длине (количеству слов), то веса терминов нормируют относительно друг друга. Без нормирования вес термина в документе будет тем меньше, чем длиннее документ. Как правило, нормирование весов осуществляют путем деления на евклидову норму (длину вектора документа): Моделирование текстов на естественном языке.

Особый интерес при построении векторной модели представляет формирование словаря коллекции Т = (?1? ?2> •••> tn). Чем больше коллекция текстов, тем выше размерность словаря. Уменьшение размерности словаря позволяет снизить вычислительную сложность алгоритмов обработки текстов. С этой целью словарь коллекции, во-первых, нормализуется, во-вторых, из него исключаются стоп-слова, в-третьих, синонимы свертываются в семантические концепты.

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

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

Таблица 9.1

Фрагмент списка стон-слов русского языка

а.

в.

всё.

для.

же.

ах.

весь.

всего.

до.

за.

бы.

во.

вы.

если.

и.

быть.

вот.

да.

есть.

из.

будь.

все.

даже.

еще.

или.

Под свертыванием синонимов понимается замена близких по смыслу слов одним общим понятием (концептом). Например, слова «мама», «мать», «матушка», «мамочка», «маман», «мамуля», «матерь», «родительница» могут быть заменены одним словом «мать».

Этот и следующий примеры мы будем выполнять в среде R с использованием пакета Text Mining. В русскоязычном учебнике по R{, который мы очень рекомендуем для чтения, так описываются компоненты успеха этой системы:

  • • высокоуровневый язык программирования R, позволяющий одной строкой реализовать различные операции с объектами, векторами, матрицами, списками и т. д.;
  • • большой набор функций обработки данных, собранных в отдельные пакеты {packages);[3]
  • • развитая система поддержки, включающая обновление компонентов среды, интерактивную помощь и различные образовательные ресурсы, предназначенные как для начального изучения R, так и последующих консультаций по возникающим затруднениям.

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

Для того чтобы вы познакомились с возможностями R, мы просим дублировать наши действия с помощью этого языка программирования. Скачайте свободно распространяемый дистрибутив R вместе с базовым набором пакетов с сайта cran.r-project.org. Установите и запустите R. Установите пакеты tm и wordcloud с помощью команды install. packages (с («tm» ," wordcloud")) и подключите их с помощью команд library™ и library (wordcloud). В какой-нибудь отдельной пустой папке на диске создайте шесть текстовых файлов (табл. 9.2). Установите путь к этой папке с помощью команды setwd, например setwd («Е: /2016/files»). Обратите внимание, что разделитель директорий в R — это не обратный слэш, как принято, а прямой. Теперь все готово для загрузки в R коллекции текстов, которая в пакете tm называется корпусом, и ее последующей обработки.

Таблица 9.2

Текстовые документы, образующие экспериментальную коллекцию.

№.

Название файла.

Содержимое.

Beijing.txt.

Beijing is the last of the 4 great ancient capitals of China. The main parts of the Great Wall of China are mostly located around this city.

Chinatown.txt.

Yokohama’s China Town is the largest China town in Japan. There is unusual atmosphere created by beautiful and narrow streets with plenty of China shops, restaurants and souvenir places.

Islands.txt.

Japan lodged a strong protest with China’s embassy in Tokyo and reiterated its position about contested islands.

Macau.txt.

Macau is one of the two Special Administrative Regions of the People’s Republic of China.

Shanghai.txt.

Despite the fact that Shanghai is not the capital of China, it is a major China metropolis.

е.

Yokohama.txt.

With a population of 3.7 million, Yokohama, south of Tokyo, is Japan’s second largest city.

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

corpus <- Corpus (DirSource ()) corpus.

summary (corpus) corpus [[1]] $content corpus [[6]] $content.

Удалите из текстов все притяжательные окончания’s. Очистите тексты от знаков пунктуации, лишних пробелов, чисел, преобразуйте все слова в нижний формат. Снова посмотрите содержимое документов, обратите внимание, как оно изменилось.

removeEndings <- function (x) gsub («[''] s», x).

corpus <- tm_map (corpus, content_transformer.

(removeEndings)).

corpus <- tm_map (corpus, removePunctuation).

corpus <- tm_map (corpus, stripWhitespace).

corpus <- tm_map (corpus, removeNumbers).

corpus <- tm_map (corpus, content_transformer.

(tolower)).

corpus [[1]] $content corpus [[6]] $content.

Сформируйте две матрицы: «документы-на-гермины» и «термины-на-документы», которые показывают распределение терминов, но документам. В первой матрице строками являются документы, столбцами — термины, во второй матрице — наоборот. Выведите размеры этих матриц. Убедитесь, что эти размеры 6×65 и 65×6. Выведите полный список терминов, содержащихся в корпусе (табл. 9.3).

dtm <- DocumentTermMatrix (corpus).

tdm <- TermDocumentMatrix (corpus).

nrow (dtm).

ncol (dtm).

nrow (tdm).

ncol (tdm).

dtm$dimnames$Terms.

Таблица 9.3

Полный список терминов корпуса.

about.

administrative.

ancient.

and.

are.

around.

atmosphere.

beautiful.

beijing.

capital.

capitals.

china.

city.

contested.

created.

despite.

embassy.

fact.

great.

islands.

its.

japan.

largest.

last.

located.

lodged.

macau.

main.

major.

metropolis.

million.

mostly.

narrow.

not.

one.

parts.

people.

places.

plenty.

population.

position.

protest.

regions.

reiterated.

republic.

restaurants.

second.

shanghai.

shops.

south.

souvenir.

special.

streets.

strong.

that.

the.

there.

this.

tokyo.

town.

two.

unusual.

wall.

with.

yokohama.

Выведите фрагмент матрицы «термины-на-документы» (табл. 9.4). Найдите десять самых высокочастотных терминов корпуса (табл. 9.5).

as.matrix (tdm [1:12,1:6]).

freq <- sort (rowSums (as.matrix (tdm)), decreasing= TRUE).

head (freq, 10).

Таблица 9.3

Фрагмент распределительной матрицы «термины-на-документы».

Terms/.

Docs.

Beijing.

txt.

Chinatown.

txt.

Islands.

txt.

Macau.

txt.

Shanghai.

txt.

Yokohama.

txt.

about.

administrative.

ancient.

and.

are.

around.

atmosphere.

Terms/.

Docs.

Beijing.

txt.

Chinatown.

txt.

Islands.

txt.

Macau.

txt.

Shanghai.

txt.

Yokohama.

txt.

beautiful.

beijing.

capital.

capitals.

china.

Таблица 95

Десять самых высокочастотных терминов корпуса.

china.

the.

and.

japan.

with.

city.

great.

largest.

tokyo.

town.

Очистите корпус от стоп-слов английского языка. Сначала выведите список стоп-слов. После удаления стоп-слов заново постройте матрицы «документы-на-термины» и «термины-надокументы». После этого убедитесь, что теперь таблица высокочастотных терминов выглядит иначе (табл. 9.6). Постройте облако терминов (рис. 9.1).

stopwords («english»).

corpus<-tm_map (corpus, removeWords, stopwords («english»)).

dtm <- DocumentTermMatrix (corpus) tdm <- TermDocumentMatrix (corpus).

freq <- sort (rowSums (as.matrix (tdm)), decreasing= TRUE).

head (freq, 10).

wordcloud (names (freq), freq, min. freq=l, colors = brewer. pal (8," Dark2″)).

Облако терминов корпуса.

Рис. 9.1. Облако терминов корпуса.

Таблица 9.6

Десять самых высокочастотных терминов корпуса после удаления стоп-слов.

china.

japan.

city.

great.

largest.

tokyo.

town.

yokohama.

administrative.

ancient.

Сохраните скрипт, он вам еще понадобится.

  • [1] См.: Новые информационные технологии: учеб, пособие / под ред. В. П. Дьяконова. М.: Солон-Пресс, 2005.
  • [2] См.: Самарский А. А., Михайлов А. П. Математическое моделирование. Идеи.Методы. Примеры. 2-е изд., испр. М.: Физматлит, 2001.
  • [3] Мастицкий С. Э., Шитиков В. К. Статистический анализ и визуализацияданных с помощью R // R: Анализ и визуализация данных. 2014. URL: http://r-analytics.blogspot.ru/p/blog-pagc20.html
Показать весь текст
Заполнить форму текущей работой