Главная » Просмотр файлов » Диссертация

Диссертация (1137276), страница 17

Файл №1137276 Диссертация (Разработка вычислительных методов анализа текстов с использованием аннотированных суффиксных деревьев) 17 страницаДиссертация (1137276) страница 172019-05-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 17)

Стемминг стоп-листа частотного словаря, составленного по коллекции,с помощью алгоритма Портера [74] в реализации NLTK [75], поиск сов­падающих стемов, вычисление показателей качества;8. Разбиение слов из частотного словаря, составленного по коллекции, на-граммы ( = 3,4,5,6), разбиение стоп-слов на -граммы ( = 3,4,5,6),вычисление меры Жаккара по множествам -грамм, определение об­сценных слов по порогу, составляющему 0.8, вычисление показателейкачества;9. Вычисление редакционного расстояния Левенштейна между словам изчастотного словаря, составленного по коллекции, и стоп-словами, опре­деление обсценных слов по порогу, составляющему 5, 8, вычислениепоказателей качества;10. Построение АСД по стоп-листу, вычисление оценок сходства слов изчастотного словаря, составленного по коллекции, с АСД, определениеобсценных слов по порогу, составляющему 0.2, вычисление показателейкачества.99Таблица 32 — Сравнение фильтров обсценной лексики по точности, полноте,аккуратности и 2 -мереточность полнота аккуратность 2 -мерасовпадения0.72880.13630.98100.2297лемматизацияpymorphy20.64920.24660.98150.3574mystem30.68070.31950.98270.4349стемминг0.61130.40280.98220.4856АСД, порог = 0.2 0.15780.6201 0.92330.2516коэффициент Жаккара3-граммы0.67990.16330.98100.26344-граммы0.71260.14750.98100.24305-граммы0.71680.12840.98080.21796-граммы0.69890.09750.98030.1711расстояние Левенштейна<80.02340.9127 0.80860.0456<50.02090.9825 0.96290.04095.2.3Результаты экспериментаРезультаты эксперимента приведены в Таблице 32.По точности лучшим методом фильтрации является поиск совпадения,что очевидно: если слово входит в стоп-лист, то оно является безусловно об­сценным.

Худшими фильтрами по точности оказываются фильтры, основанныена расстоянии Левенштейна: среди тех слов, которые эти фильтры определяюткак обсценные, на самом деле обсценными являются 2%. Эти же фильтры яв­ляются лучшими по полноте: с их использованием получается обнаружить до98% обсценных слов. Второе место по полноте занимает фильтр, основанный наАСД: этот фильтр обнаруживает порядка 60% обсценной лексики. Остальныефильтры существенно проигрывают по полноте, но выигрывают по точности.Среди двух использованных лемматизаторов, лучшие результаты достигаютсяпри использовании Mystem. Стемминг позволяет достичь выигрыша порядка10% по полноте сравнению с лемматизацией при относительно несущественном100падении точности.

Вычисление меры Жаккара на -граммах при сравнительновысокой точности приводит к низким значением полноты.Важным параметром для сравнения фильтров является их вычислитель­ная сложность. Приведем оценки вычислительной сложности каждого фильтра.Допустим, что – это максимум из всех возможных длин слов, – максимумиз длины частотного слова и стоп-листа, ≪ . Тогда:– Сложность поиска по совпадению (лемме, стему) составляет () –слово (лемма, стем) проверяется на совпадение со словами (стемами)из стоп-листа;– Сложность попарного вычисления коэффициента Жаккара на множе­ствах -грамм для слов из частотного словаря и стоп-листа и рассто­яния Левенштейна составляет (2 · 2 ), сложность проверки одногослова – (2 · );– Сложность построения АСД с помощью алгоритма Укконена для стоп­листа составляет ( · ), сложность проверки одного слово – ().Таким образом, мы видим, что по общим мерам качества (аккуратности и2 -мере), выигрывают фильтры, использующие поиск совпадения по леммам.Однако, с учетом приведенного выше утверждения о важности именно полно­ты, а не общего качества фильтра, целесообразным представляется использо­вание фильтров, вычисляющих расстояние Левенштейна или СУВВС.

Остано­вимся подробнее на сравнение этих двух фильтров. Фильтры, использующиерасстояние Левенштейна, имеют показатели точности близкие к нулю, а пол­ноты – к 1, за счет чего достигают высоких оценок аккуратности и мизерныхоценок 2 -меры. Фильтры, использующие СУВВС, более сбалансированы поточности и полноте, имеют аккуратность, сопоставимую с другими рассматри­ваемыми фильтрами, но и невысокое значение 2 -меры, благодаря низкой точ­ности. В итоге, с учетом того, что при уже построенном заранее по стоп-листуАСД, проверка одного слова имеет линейную сложность по времени, разумнойпредставляется следующая схема фильтрации.

Заранее строится АСД по стоп­листу, которое занимает небольшое место и хранится в оперативной памяти.При необходимости проверки текста на наличие обсценной лексики находятсявсе словоупотребления, после чего для каждого находится оценка по СУВСС.Если найденная оценка превосходит некий порог, слово признается обсценными срабатывают следующие процедуры фильтрации.101Глава 6.

Комплексы программВ [100; 101] описывается современный подход к разработке современныхсистем автоматической обработки текстов в форме pipeline. Примерами систем,разработанных в рамках этого подхода, могут выступить Stanford CoreNLP [102]Стэндфордского университета, свободная библиотека для машинного обученияSciKit-Learn [103], Google SyntaxNet [104], DKPro Технического университетаДармштадта [105]. Идея pipeline заключается в том, что одна система отвечаетза все необходимые этап обработки текстов и, если такая необходимость воз­никает, обращается к внешним инструментам без участия пользователя. Стан­дартный pipeline включает в себя предобработку текстов (удаление лишних сим­волов и разметки), токенизацию, морфологический анализ (приведение слов кнормальной форме и/или лемматизацию и/или стемминг) и синтаксическийанализ (выделение именных и/или глагольных групп и/или построение дере­вьев зависимостей или составляющих).

Пользователю при этом достаточно за­дать входные файлы и параметры конфигурации и не нужно вызывать отдель­ные модули последовательно.В духе pipeline реализована описанная ниже библиотека EAST, выполняю­щая все необходимые шаги для построения АСД таблицы. Заметим, что pipelineбиблиотеки EAST существенно меньше, чем pipeline библиотеки SciKit-Learnили индустриальных CoreNLP или DKPro, хотя бы потому, что использованиеметода АСД не требует существенной обработки текстов. При необходимостиподключить к библиотеке EAST возможности морфологического или синтакси­ческого анализа не составит особого труда.6.1Программная реализация построения таблиц РСТ и методаАСДВ статье [60] приведено описание реализации наивного и линейного алго­ритмов построения АСД и таблиц рСТ.

Программная реализация обоих алго­ритмов находится в свободном доступе по следующей ссылке: https://github.com/mikhaildubov/AST-text-analysis. Программа, разработанная совместно102Рисунок 6.1 — Схема pipeline библиотеки EASTс М. С. Дубовым, может работать в двух режимах: как из командной строки,так и в качестве библиотеки на языке Python 2.7.На Рис.

6.1 представлена схема pipeline библиотеки EAST: на вход си­стеме поступает коллекция текстовых документов и список ключевых слов исловосочетаний. Коллекция текстовых документов подвергается предобработ­ке: токенизации и разбиению на строки, по которым в последствии строитсяаннотированное суффиксное дерево (АСД). После чего вычисляется сходствоключевых слов и словосочетаний с построенным АСД и на выход подается го­товая таблица релевантности. Все последующие аналитические алгоритмы ис­пользуют построенную таблицу либо для определения максимальных значениймеры релевантности, либо для ранжирования по убыванию меры релевантно­сти.6.1.1Использование программы EAST из командной строкиДля вызова из командной строки следует задать следующую последова­тельность команд:$ east [-s] [-d] [-f <table_format>] [-a <ast_algorithm>] keyphrases table<keyphrases_file> <directory_with_txt_files>103На вход программе подается адрес текстового файла, в котором записанысловосочетания и адрес директории, в которой хранится коллекция текстов.Каждый текст должен быть сохранен в отдельном текстовом формате.

Такжепрограмме на вход подается несколько параметров:– s: возможность учета синонимов (в стадии разработки).– d: расчет оценки релевантности без нормализация. По умолчанию ис­пользуется оценка релевантности с нормализаций, если указан пара­метр d, то используется оценка релевантности без нормализации.– f: формат выдачи РСТ таблицы: либо XML, либо .csv файл.– a: алгоритм построения АСД. По умолчанию используется линейныйалгоритм построения АСД, однако, при желании, пользователь можетиспользовать наивный алгоритм.Если программа запушена из командной строки, то существа два вариан­та выдачи результатов: либо выдача результатов непосредственно в консоль,либо перенаправление выдачи в текстовый файл.

Первый вариант предлагает­ся исключительно для ознакомления с функциональностью программы. Дляперенаправления выдачи следует использовать инструкцию > filename.txt.6.1.2Использование программы EAST как библиотеки языкаPython 2.7Для вызова из среду Python строки следует задать следующую последова­тельность команд. Приведенный ниже фрагмент кода показывает, как постро­ить АСД для коллекции из двух строк и посчитать релевантность других двухстрок построенному АСД.From east.asts import base #импорт библиотекиast = base.AST.get_ast([“XABXAC”, “HI”]) #построение АСДprint ast.score(“ABCI”) # 0.1875 (подсчет оценки релевантности)print ast.score(“NOPE”) # 0 (подсчет оценки релевантности)1046.1.3Структура программы EASTПрограмма EAST написана языке Python 2.7 и состоит из 24 модулей,большая часть из которых носит вспомогательный характер: модули для иници­ализации, тестирования, хранения списка исключений, форматирования выда­чи.

Перечислим модули, в которых реализован метод АСД и метод построенияРСТ таблиц:– east/asts/ast.py – в этом модуле хранится класс AST (Annotated SuffixTree, АСД) и его методы: добавить узел в дерево, убрать узел из дерева,обойти дерево в глубину, обойти дерево в ширину и вычислить оценкурелевантности строки дереву.– east/asts/ast_naive.py – наивный алгоритм построения АСД.– east/asts/ast_linear.py – линейный алгоритм построения АСД– east/asts/utils.py – некоторые полезные утилиты: токенизатор, функциядля разбиения текста на строки, функция, которая добавляет уникаль­ные терминальные символы к строкам.Общая схема работы программы: на вход программе поступает коллекция тек­стов и коллекция строк-словосочетаний.

Программа по очереди обрабатываетвсе тексты. Каждый текст программа разбивает сначала на токены, потом токе­ны объединяет в строки, добавляет к ним уникальные терминальные символы иполучает набор строк для построения АСД по данному тексту. Затем програм­ма инициализирует пустой объект класса AST, назовем его, например, tree,и вызывает один из алгоритмов построения АСД, передавая ему на вход кол­лекцию строк. Алгоритм строит АСД и сохраняет его в существующий объекткласса АСД tree.

После этого программа передает коллекцию словосочетаний­строк tree. У класса tree есть метод для вычисления оценок релевантности сколлекцией строк, который возвращает вектор оценок релевантности. Получен­ный вектор программа записывает как столбец в РСТ таблицу. После того, какпрограмма обработает все тексты, она окончательно формирует РСТ таблицуи выдает ее в командную строку или записывает в выходной файл.1056.2Утилита WikiDPСовместно с Н. Левицким и Е.

Характеристики

Список файлов диссертации

Разработка вычислительных методов анализа текстов с использованием аннотированных суффиксных деревьев
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее