Введение 2
1. Обзор предметной области 4
1.1 Методы сбора кандидатов 5
1.2 Методы подсчета признаков 8
1.3 Методы классификации 10
1.4 Методы ранжирования 13
2. Ход Работы 15
2.1 Поиск статей 15
2.2 Извлечение кандидатов в термины 19
2.3 Подсчет признаков 19
2.4 Ранжирование кандидатов 20
3. Результаты работы 24
3.1 Покрытие словаря 24
3.2 Количество кандидатов 25
3.3 Анализ результатов ранжирования кандидатов 26
Заключение 32
Глоссарий 34
Список используемой литературы 36
Автоматическое извлечение терминов, то есть слов и словосочетаний, обозначающих понятия в определенной области, является одной из основных задач обработки текстов на естественных языках. Например, такие задачи как создание и расширение словарей, поиск и извлечение информации, классификация документов.
Как и многие задачи в области обработки текстов, извлечение терминов во многом зависит от языка предметной области и других факторов, влияющих на качество результата. Большая часть методов основана на наборе тематических текстов [3], некоторые из них также включают в себя тексты других областей. Но в подобных ресурсах есть некоторые недостатки, которые не позволяют в полной мере выполнить поставленную задачу. Например, при использовании текстов определенной области возникает проблема переноса метода на отличные от выбранной тематики тексты.
Хорошим источником для извлечения терминов можно считать Википедию. Википедия - это общедоступная интернет-энциклопедия со свободным контентом. Этот ресурс содержит в себе большое количество информации из разных областей, связанных с реальным миром [1]. Также немаловажным фактором для использования Википедии в качестве источника данных для задач обработки текстов является то, что все статьи в интернет ресурсе связаны между собой гиперссылками, что дает возможность находить близкие по значению термины. Стоит учесть, что данный ресурс часто используется людьми для получения информации из различных сфер жизни, что говорит о том, что полученные данные будут полезны для использования в различных направлениях [1].
Как упоминалось ранее, одной из задач NLP, которую помогают решить алгоритмы автоматического извлечения терминов, это составление и расширение словарей [12]. Словари, полученные такими алгоритмами, как правило используются для других задач обработки текстов на естественных языках, но некоторые из таких словарей могут использоваться и другими людьми. Например, медицинские термины, многие люди, такие как студенты начальных курсов медицинских ВУЗов или те, кто по определенным причинам был вынужден обратится за медицинской помощью, зачастую сталкиваются с тем, что не понимают значений определенных терминов [12], а подобные словари помогут разобраться им в этом.
Целью данной работы является реализация алгоритма поиска и ранжирования близких по значения терминов, с использованием в качестве инструментов интернет энциклопедию Википедия и различные методы обработки естественных языков.
В связи с поставленной целью в работе решаются следующие задачи:
• Анализ существующих методов
• Разработка метода поиска подходящих статей в Википедии
• Реализация алгоритма поиска кандидатов в синонимы
• Разработка методов ранжирования/классификации кандидатов
• Анализ результатов работы
Объектом исследования является анализ статей интернет энциклопедии Википедия.
Предметом исследования являются методы поиска кандидатов на роль синонимов, методы ранжирования кандидатов на основании структуры Википедии и семантической близости слов.
1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
В настоящее время существует множество методов извлечения терминов. Как правило эти методы состоят из трех последовательных этапов [10]:
• Сбор кандидатов. Поиск различных слов и словосочетаний извлеченных из коллекции документов по определенным правилам.
• Подсчет признаков. Определения набора признаков, по которым можно осуществить классификацию и сортировку.
• Вывод на основе признаков. Классификация и сортировка кандидатов для получения итогового набора терминов.
Сбор кандидатов представляет собой метод подбора существительных или словосочетаний с существительным в роли главного слова с последующей фильтрацией по определенным параметрам.
В рамках поставленной задачи сбор кандидатов будет осуществляться на основании структурных особенностей статей интернет энциклопедии Википедия.
Одним из базовых методов в сфере обработки текстов на естественных языках, на основании которого возможно подсчитать признаки, который также был использован изученных работах [2], является TF-IDF.
TF (term frequency — частота слова) — отношение числа вхождений некоторого слова к общему числу слов документа. Таким образом, оценивается важность слова в пределах отдельного документа.
IDF (inverse document frequency — обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в документах коллекции. Учёт IDF уменьшает вес широкоупотребительных слов. Для каждого уникального слова в пределах конкретной коллекции документов существует только одно значение IDF.
Таким образом, мера TF-IDF является произведением двух сомножителей. Большой вес в TF-IDF получат слова с высокой частотой в пределах конкретного документа и с низкой частотой употреблений в других документах.
На последнем этапе требуется на основании составленных признаков определить, относятся ли кандидаты к искомым терминам. Т.е. используя совокупность всех признаков, для каждого термина определяется конечное числовое значение (вероятность), по которому можно определить, относится ли данных кандидат к искомым терминам. В различных существующих решениях используются методы классификации [2], когда для решения задачи достаточно определить для каждого из кандидатов, является ли он термином, и методы ранжирования [1] [10], когда для всех кандидатов выстраивается ранг принадлежности к терминам.
Также в NLP существуют другие методы извлечения кандидатов, подсчета признаков и сортировки на основании признаков, но каждый из их имеет как преимущества, так и недостатки.
В процессе выполнения дипломной работы были изучены различные методы машинного обучения, которые могут быть применены к решению задач обработки текстов на естественных языках. В ходе работы были решены задачи, которые были поставлены, для достижения цели дипломной работы:
• Анализ существующих методов
• Разработка метода поиска подходящих статей в Википедии
• Реализация алгоритма поиска кандидатов в синонимы
• Разработка методов ранжирования/классификации кандидатов
• Анализ результатов работы
В результате работы был разработан алгоритм извлечения терминов, то есть слов и словосочетаний, определяющих понятия в определенной области, расположенный на http://gititis.kpfu.ru/Ivanov/MweExtraction. Полученный алгоритм использует интернет-энциклопедию Википедия, как источник большого количества данных, для поиска слов и словосочетаний которые могут быть кандидатами в искомые термины. Разработанные методы используют различные особенности интернет-энциклопедии для поиска и подсчета признаков, на основании которых можно определить принадлежность кандидата к терминам, например редиректы и гиперссылки. Также в алгоритме используются классические методы машинного обучения, такие как векторное представление слов, методы ранжирования.
Алгоритм, разработанный в процессе выполнения дипломной работы решает различные задачи в сфере обработки текстов на естественных языках. С помощью него возможно расширение существующих словарей синонимами и близкими по смыслу терминами, также, при небольшом изменении в части извлечения данных, возможно создание словарей определенной тематики, например создание словаря математических терминов на основании статей в категории математика.
Также на основании выполненной работы можно сделать вывод, что Википедия является отличным источником данных для решения определенных задач в сфере обработки текстов на естественных языках, например, задача описанная в рамках текущей работы, а именно извлечение терминов, также с помощью данной интернет-энциклопедии возможно решать задачи поиска и классификации.
Википедия предоставляет большой объем структурированных данных, из различных сфер, также этот ресурс постоянно обновляется пользователями со всего мира, что делает его универсальным инструментом для извлечения данных.
1. Abhyuday N Jagannatha, Jinying Chen, Hong Yu, Mining and Ranking Biomedical Synonym Candidates from Wikipedia. Sixth International Workshop on Health Text Mining and Information Analysis, 2015 - Режим доступа: https://www.aclweb.org/anthology/W15-2619 (Дата обращения:
23.10.2018) .
2. Diaz-Galiano, М. С., Martin-Valdivia, М. Т., & UrenaLopez, L. A. Query expansion with a medical ontology to improve a multimodal information retrieval system. Computers in Biology and Medicine, 39(4), 2009 (Дата обращения: 24.10.2018).
3. Yulia Tsvetkov, Shuly Wintner. Extraction of Multi-word Expressions from
Small Parallel Corpora, 2010 - Режим доступа:
https://www.aclweb.org/anthology/C10-2144 - (Дата обращения:
27.10.2018) .
4. A Generic Method for Multi Word Extraction from Wikipedia [Электронный
ресурс]. - Режим доступа:
https://www.researchgate.net/publication/4359743_A_generic_method_for_mu ltiwordextractionfromWikipedia , 2008 - (Дата обращения: 12.11.2018).
5. Extraction and Recognition of Polish Multiword Expressions using Wikipedia and Finite-State Automata [Электронный ресурс]. - Режим доступа: https://aclweb.org/anthologv/W 16-1815 - Extraction and Recognition of Polish Multiword Expressions using Wikipedia and Finite-State Automata, 2017. - (Дата обращения: 26.11.2018).
6. Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. - (Дата обращения: 07.12.2018).
7. Word Embeddings [Электронный ресурс]. - Режим доступа: https://aclanthology.info/pdf/P/P10/P10-1040.pdf Word representations: A simple and general method for semi-supervised learning, 2010. - (Дата обращения: 18.12.2018)
8. Supported Vector Machine (SVM) [Электронный ресурс]. - Режим доступа: httpV/statistica.ru/branches-maths/metod-opomykh-vektorov-supported-vector- machine-svm/ - Метод опорных векторов - Supported Vector Machine (SVM). - (Дата обращения: 19.12.2018)
9. Towards Datas Sience [Электронный ресурс] - Режим доступа: https://towardsdatascience.com/logistic-regression-detailed-overview-46c4da4 ЗОЗЬс - Logistic Regression — Detailed Overview. - (Дата обращения:
25.01.2019)
10. Труды ИСП РАН, том 26, вып. 4, 2014 г - Режим доступа: http://www.ispras.m/proceedings/docs/2014/26/4/isp_26_2014_4_7.pdf - Н.А. Астраханцев. Автоматическое извлечение терминов из коллекции текстов предметной области с помощью Википедии. - (Дата обращения:
13.02.2019)
11. From RankNet to LambdaRank to LambdaMART: An Overview Christopher
J.C. Burges - Режим доступа:
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR- TR-2010-82.pdf - (Дата обращения: 12.03.2019)
12. Mining Consumer Health Vocabulary from Community-Generated Text
V. G.Vinod Vydiswaran, Qiaozhu Mei, David A. Hanauer, Kai Zheng - Режим доступа:
https://www.ncbi.n1m.nih.gov/pmc/articles/PMC4419967/pdf/1985143.pdf (Дата обращения: 15.02.2019)
13. Kaggle. [Электронный ресурс] - Режим доступа:
https://www.kaggle.com/wiki/MeanAveragePrecision - Mean Average Precision - (Дата обращения: 05.05.2019)
14. Kaggle. [Электронный ресурс] - Режим доступа:
https://www.kaggle.com/wiki/NormalizedDiscountedCumulativeGain Normalized Discounted Cumulative Gain - (Дата обращения: 12.05.2019)
15. ResearchGate [Электронный ресурс] - Режим доступа: https://www.researchgate.nct/publication/319046519_MRR_an_unsupervised_ algorithmtorankreviewsbyrelevance - MRR: an unsupervised algorithm to rank reviews by relevance - (Дата обращения: 15.05.2019)
16. The Institute of Electronics, Information and Communication Engineers
[Электронный ресурс] - Режим доступа:
http://times.cs.uiuc.edu/course/598fl4/12r.pdf - A Short Introduction to Learning to Rank Special Section on Information-Based Induction Sciences and Machine Learning (Дата обращения: 25.04.2019)
17. Fen Xia, Tie-Yan Liu, Jue Wang, Wensheng Zhang, Hang Li. Listwise Approach to Learning to Rank - Theory and Algoritm(2008) - Режим доступа: http://icml2008.cs.helsinki.fi/papers/167.pdf - (Дата обращения: 27.04.2019)