Программы для компьютерного анализа текста

Автор работы: Пользователь скрыл имя, 14 Октября 2014 в 11:54, курсовая работа

Описание работы

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

Содержание работы

Введение ……………………………………………………………………..3
Глава 1. Анализ текста ……………………………………………………...4
Глава 2. Компьютерный анализ текста ……………………………………6
2.1 Понятие компьютерного анализа. История развития ………………...6
2.2 Проблемы компьютерного анализа текста ……………………………9
2.3 Извлечение информации ……………………………………………...12
2.4 Обработка естественного языка ………………………………………13
Глава 3. Программы для компьютерного анализа текста ……………….15
3.1 Машинный перевод ……………………………………………………15
3.2 Лингвистическое программное обеспечение ………………………...16
3.3 Программы для компьютерного анализа текста …………………….17
Заключение ………………………………………………………………...22
Библиографический список и сайтография ……………………………...23

Файлы: 1 файл

крплнп.docx

— 352.21 Кб (Скачать файл)

2.2 Проблемы компьютерного  анализа текста

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

Рассмотрим проблемы компьютерной лингвистики, касающиеся, прежде всего грамматического разбора текста на естественном языке. Создание качественного синтаксического анализатора позволяет надеяться на эффективное решение задачи поиска в информации на естественном языке. Сложность практической реализации приемлемого анализатора текста обусловлена наличием тесной связи между синтаксисом и надъязыковой семантикой. Для решения проблем (называемых синтаксической омонимией) необходимо создание специального толково-комбинаторного словаря, включающего в себя синтаксическую и семантическую информацию о сочетаемости слов. Формально целью синтаксического разбора является построение дерева зависимостей между словами во фразе. В случае удачи предложение сворачивается в полносвязное дерево с единственной корневой вершиной. Поскольку одна словоформа может соответствовать нескольким грамматическим формам слова, в том числе для различных слов (например, "стали" у существительного "сталь" и глагола "стать"), в ходе анализа необходимо производить свертку предложения для всех возможных вариантов. Те же из них, которые приводят к максимальной свертке фразы (с минимальным числом висячих вершин), предлагается считать наиболее достоверными при разборе предложения. Порядок применения правил разбора управляется его алгоритмом, который на каждом шаге проверяет возможность применения следующего правила к очередному фрагменту фразы (двум-трем словам, знакам препинания). В случае удачи фрагмент сворачивается. Обычно это приводит к его замене одним главным словом, т. е. удалением подчиненных слов. После чего разбор продолжается. Если дальнейшее применение правил невозможно, на любом из шагов совершается откат. При этом последний свернутый фрагмент восстанавливается, и предпринимается попытка применить другие правила. Окончательным вариантом разбора следует считать такую последовательность применения правил, которая приводит к максимальной свертке предложения. Так как процессу разбора соответствует целое дерево вариантов свертки фразы, то производительность алгоритма падает экспоненциально с ростом числа используемых правил и количества слов в предложении. Сложные предложения могут порождать тысячи вариантов разбора, ввиду чего на практике приходится ограничивать допустимое число рассматриваемых вариантов. Наиболее просто решается проблема выделения в тексте именных групп - устойчивых словосочетаний, состоящих из существительных и связанных с ними прилагательных, например "развитие сельского хозяйства". Такие группы характеризуют содержание текста и служат для тематического индексирования, автоматической рубрикации, уточнения запроса при поиске. В ходе полного синтаксического разбора фразы возможно установление синтаксических ролей именных групп в предложении. Это позволяет разделять их по степени значимости для автора, что соответствует пониманию ключевых идей текста. Наиболее важными являются слова из группы подлежащего, затем сказуемого, прямого дополнения, косвенного дополнения, обстоятельства - таковы особенности русского языка. Смысловая связь между понятиями предложения в общем случае может быть описана глаголом-предикатом, аргументами которого выступают данные понятия. Установление таких синтактико-семантических связей позволяет сформировать логическую схему ситуации, описываемой во фразе. Однако для этого требуется словарь моделей управления глаголов. В таком словаре для всех глаголов (около 20 тыс. в русском языке) должно быть указано, какими падежами и с какими предлогами производится это управление. Вершиной компьютерного анализа текста является автоматическое реферирование. Наличие семантической сети понятий, соединенных глаголами, позволяет сформулировать основные идеи текста документа, отраженные в часто встречающихся понятиях и связях, в виде простых предложений. Словарь моделей управления и семантической сети с дифференцированными связями значительно облегчает подобный синтез. Отдельной проблемой является выбор оптимального порядка фраз. Возможно, при этом будет полезно знание коммуникативной структуры текста - иерархии тем и рем, которая отражает логику изложения. Задача тема-рематического анализа решается в ходе синтаксического разбора фразы: понятия из группы подлежащего представляют темы; понятия-дополнения глагола - ремы, которые могут стать темами последующих фраз; обстоятельства - лишь некий фон, на котором развертываются описываемые события. Общая схема подобного анализа текста приведена на рисунке1.

 

Рис.1 Общая схема синтаксического анализа текста в информационно-поисковой системе

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

2.3 Извлечение информации

Извлечение информации (англ. information extraction ) - в области обработки естественного языка, это разновидность информационного поиска, при которой из неструктурированного машинно-читаемого текста (то есть электронных документов) выделяется некая структурированная информация, то есть категоризированные, семантически значимые данные по какой-либо проблеме или вопросу. Примером извлечения информации может послужить выискивание случаев деловых визитов - формально это записывается так: Нанесли Визит (Компания-Кто, Компания-Кому, Дата Визита), - из новостных лент, таких как: "Вчера, 1 апреля 2007 года, представители корпорации Пепелац Интернэшнл посетили офис компании Гравицап Продакшнз". Главная цель такого преобразования - возможность анализа изначально "хаотичной" информации с помощью стандартных методов обработки данных. Более узкой целью может служить, например, задача выявить логические закономерности в описанных в тексте событиях. В современных информационных технологиях роль такой процедуры, как извлечение информации, всё больше возрастает - из-за стремительного увеличения количества неструктурированной (без метаданных) информации, в частности, в Интернете. Эта информация может быть сделана более структурированной посредством преобразования в реляционную форму или добавлением XML разметки. При мониторинге новостных лент с помощью интеллектуальных агентов как раз и потребуются методы извлечения информации и преобразования её в такую форму, с которой будет удобнее работать позже. Типичная задача извлечения информации: просканировать набор документов, написанных на естественном языке, и наполнить базу данных выделенной полезной информацией. Современные подходы извлечения информации используют методы обработки естественного языка , направленные лишь на очень ограниченный набор тем (вопросов, проблем) - часто только на одну тему. Тексты на естественном языке могут потребовать некоего предварительного упрощения, для создания текста, который будет лучше "пониматься" компьютером.

 

 

2.3.1Типичные подзадачи извлечения информации:·

1)Распознавание именованных элементов: распознавание имён людей, названий организаций, мест, временных обозначений и некоторых типов численных выражений.

2)Ссылки: выделение словесных оборотов, ссылающихся на один и тот же объект. Типичный случай таких ссылок - анафора и использование местоимений.

3)Выделение терминологии: нахождение для данного текста ключевых слов.

2.4 Обработка естественного языка

 

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

 

2.4.1Задачи и ограничения обработки естественного языка.

Теоретически, построение естественно-языкового интерфейса для компьютеров - очень привлекательная цель. Ранние системы, такие как SHRDLU, работая с ограниченным "миром кубиков" и используя ограниченный словарный запас, выглядели чрезвычайно хорошо, вдохновляя этим своих создателей. Однако оптимизм быстро иссяк, когда эти системы столкнулись со сложностью и неоднозначностью реального мира. Понимание естественного языка иногда считают AI-полной задачей, потому как распознавание живого языка требует огромных знаний системы об окружающем мире и возможности с ним взаимодействовать. Само определение смысла слова "понимать" - одна из главных задач искусственного интеллекта.

2.4.2Сложности понимания обработки естественного языка.

Качество понимания зависит от множества факторов: от языка, от национальной культуры, от самого собеседника. Вот некоторые примеры сложностей, с которыми сталкиваются системы понимания текстов.· Предложения "Мы отдали бананы обезьянам, потому что они были голодные" и "Мы отдали бананы обезьянам, потому что они были перезрелыми" похожи по синтаксической структуре. В одном из них местоимение они относится к обезьянам, а в другом - к бананам. Правильное понимание зависит от знаний компьютера, какими могут быть бананы и обезьяны. По нормам русского языка второе предложение некорректно, потому что в нем местоимение ссылается не на последнее подходящее слово, однако в живой речи такое предложение очень даже может встретиться.· Свободный порядок слов может привести к совершенно иному толкованию фразы: "Бытие определяет сознание" - кто кого определяет?

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

 

Глава 3. Программы для компьютерного анализа текста

3.1 Машинный перевод

Машинный перевод - процесс перевода текстов (письменных, а в идеале и устных) с одного естественного языка на другой с помощью специальной компьютерной программы. Хотелось бы отметить, что вместо "машинного перевода" иногда используют слово «автоматический», что не влияет на смысл. Однако термин автоматизированный перевод имеет совсем другое значение - при нём программа просто помогает человеку переводить тексты. Автоматизированный перевод предполагает такие формы взаимодействия как:

1) Частично  автоматизированный перевод: например, использование переводчиком-человеком  компьютерных словарей.

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

В англоязычной терминологии также различаются термины англ. machine translation, MT (полностью автоматический перевод) и англ. machine-aided или англ. machine-assisted translation (MAT) (автоматизированный); если же надо обозначить и то, и другое, пишут M(A)T.

Если же говорить о качестве перевода, то оно зависит от тематики и стиля исходного текста, а также грамматической, синтаксической и лексической родственности языков, между которыми производится перевод. Машинный перевод художественных текстов практически всегда оказывается неудовлетворительного качества. Тем не менее, для технических документов при наличии специализированных машинных словарей и некоторой настройке системы на особенности того или иного типа текстов возможно получение перевода приемлемого качества, который нуждается лишь в небольшой редакторской корректировке. Чем более формализован стиль исходного документа, тем большего качества перевода можно ожидать. Самых лучших результатов при использовании машинного перевода можно достичь для текстов, написанных в техническом (различные описания и руководства) и официально-деловом стиле. Применение машинного перевода без настройки на тематику (или с намеренно неверной настройкой) служит предметом многочисленных бродящих по Интернету шуток. Из пространных примеров наиболее известен текст "Гуртовщики Мыши" (перевод компьютерной документации программой Poliglossum на основе медицинского, коммерческого и юридического словарей); из кратких - фраза "My cat has given birth to four kittens, two yellow, one white and one black", которую переводчик компании ПРОМТ превращает в "Моя кошка родила четырёх котят, два желтых цвета, одного белого и одного афроамериканца". Главной причиной того, почему программа перевела именно так, было то, что после слова black нужно было добавить kitten, тогда программа переведёт правильно: "Моя кошка родила четырёх котят: двух жёлтых, одного белого и одного чёрного котёнка". Чаще всего подобные шутки связаны с тем, что программа не распознаёт контекст фразы и переводит термины дословно, к тому же не отличая собственных имён от обычных слов. Тот же переводчик ПРОМТ превращает "bra-ket notation" в "примечание Кети лифчика", "Lie algebra" - в "алгебру Лжи", "eccentricity vector" - в "вектор оригинальности", "Shawnee Smith" в "индеец племени шони Смит". Рассказав о качестве перевода, необходимо затронуть и статистический перевод. Статистический машинный перевод - это разновидность машинного перевода текста, основанная на сравнении больших объёмов языковых пар. Языковые пары - тексты, содержащие предложения на одном языке и соответствующие им предложения на втором, могут быть как вариантами написания двух предложений человеком - носителем двух языков, так и набором предложений и их переводов, выполненных человеком. Таким образом, статистический машинный перевод обладает свойством "самообучения". Чем больше в распоряжении имеется языковых пар, и чем точнее они соответствуют друг другу, тем лучше результат статистического машинного перевода. Под понятием "статистического машинного перевода" подразумевается общий подход к решению проблемы перевода, который основан на поиске наиболее вероятного перевода предложения с использованием данных, полученных из двуязычной совокупности текстов. В качестве примера двуязычной совокупности текстов можно назвать парламентские отчеты, которые представляют собой протоколы дебатов в парламенте. Двуязычные парламентские отчеты издаются в Канаде, Гонконге и других странах; официальные документы Европейского экономического сообщества издаются на 11 языках; а Организация объединенных наций публикует документы на нескольких языках. Как оказалось, эти материалы представляют собой бесценные ресурсы для статистического машинного перевода.

3.2 Лингвистическое программное  обеспечение

Лингвистическое программное обеспечение (англ. lingware = linguistic + software) - компьютерные программы и данные, обеспечивающие анализ, обработку, хранение и поиск аудиоданных, рисунков (OCR) и текстов на естественном языке. Можно выделить следующие виды лингвистического программного обеспечения:

1) Обработка  текста на естественном языке:

- Электронныесловари: Викисловарь, Multitrans, GoldenDict, Stardict, dict, ForceMem, ABBYY Lingvo.

- Орфокорректоры (илиспеллчекеры): MS Word, ispell, aspell, myspell.

- Поисковые  системы

- Системы  машинного перевода: PROMT, Socrat.

- Системы  автоматизированного перевода, в  т.ч. программы управления памятью  переводов - OmegaT, Trados.

2) Системы  распознавания символов OCR: Finereader, CuneiForm, Tesseract, OCRopus.

3) Речевые  системы:

- Системы  анализа речи: Dragon, IBM via voice.

- Системы  синтеза речи: Агафон.

- Системы  голосового перевода (распознавание  и синтез): Speereo.

 

3.3 Программы для компьютерного  анализа текста

 

1) Обработка  текста на естественном языке :

1. 1. Электронные словари :

А) Викисловарь – свободно пополняемый многофункциональный многоязычный словарь и тезаурус, основанный на вики-движке.

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

Б) GoldenDict - свободная оболочка для электронных словарей с открытым исходным кодом, поддерживающая многие форматы словарей ABBYY Lingvo, StarDict, Babylon, Dictd, а также произвольных словарных веб-сайтов (Википедия, Викисловарь).

Особенности:

1) Вывод отформатированных статей с ссылками и картинками с помощью движка WebKit.

2) При поиске слов с ошибками используется система морфологии на основе свободной программы для проверки орфографии Hunspell.

3) Индексирование директорий со звуковыми файлами для формирования словарей с произношением слов.

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

5) При выделении текста появляется всплывающее окно перевода.

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

Аналоги: Мультитран, ПРОМТ, ABBYY Lingvo, Atlantida, Apertium, Babylon, Context, Dicto, Google Translate, Lingoes, LiteDict, MultiLex, Pragma, ProLing Office, StarDict, SYSTRAN, TransLite, WiseDict.

В) Stardict - свободная оболочка для электронных словарей с открытым исходным кодом, способная, кроме собственно вывода статей, осуществлять перевод, озвучивать слова, использовать нечёткие запросы и шаблоны, поиск в онлайновых словарях. Разрабатывается на языке C++, с использованием графической библиотеки GTK 2 и кодировки UTF-8.

Информация о работе Программы для компьютерного анализа текста