ВВЕДЕНИЕ 2
Глава 1. АНАЛИЗ ПРОБЛЕМЫ РАЗРАБОТКИ ВИРТУАЛЬНОГО
СОБЕСЕДНИКА И ПОСТАНОВКА ЗАДАЧИ 4
1.1 Разработка виртуального собеседника с точки зрения задач разработки
искусственного интеллекта 4
1.2 Постановка задачи 13
Глава 2. МЕТОДЫ ПОСТРОЕНИЯ ВИРТУАЛЬНОГО СОБЕСЕДНИКА 15
2.1 Проблемы существующих средств моделирования
последовательностей данных 15
2.2 Рекуррентные нейронные сети 18
2.3 Архитектура долгой краткосрочной памяти 27
2.4 Векторные представления слов 34
Глава 3. ПРОЕКТНАЯ ЧАСТЬ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 44
3.1 Разработка требований к библиотеке с учетом поставленных задач 44
3.2 Обоснование выбора программных и инструментальных средств 45
Глава 4. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ 50
4.1 Программная реализация библиотеки 50
4.2 Тестовые примеры 60
ЗАКЛЮЧЕНИЕ 65
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 66
ПРИЛОЖЕНИЯ
С момента появления самой концепции искусственного интеллекта, исследователи стремились создавать системы, которые могли бы взаимодействовать с людьми в реальном времени. Основополагающей работой в этой области считается статья английского ученого Алана Тьюринга «Вычислительные машины и разум» [1], написанная и опубликованная в 1950 году, в которой впервые появляется концепция, впоследствии ставшей известной под названием тест Тьюринга. В своей работе Тьюринг задает вопрос «Думают ли машины?» Поскольку слова «думать» и «машина» не могут быть определены четким образом, Тьюринг заменяет вопрос на другой «который тесно связан с исходным и формулируется относительно недвусмысленно». Тьюринг предлагает заменить вопрос «Думают ли машины?» вопросом «Могут ли машины делать то, что можем делать мы (как мыслящие создания)?». Преимуществом нового вопроса, утверждает Тьюринг, является то, что он проводит «чёткую границу между физическими и интеллектуальными возможностями человека». Для демонстрации данного подхода, Тьюринг предлагает тест — «игра в имитацию» (англ. Imitation game). Суть теста заключается в следующем: экзаменатор находится в отдельной комнате, из которой он может общаться и с машиной, и с человеком. При этом ответы должны быть представлены в текстовой форме и передаваться через телетайп или с помощью посредника. И машина, и человек пытаются убедить экзаменатора, что являются людьми. Если экзаменатор не может уверенно сказать, кто есть кто, считается, что машина выиграла игру. С 1990 года существует премия Лёбнера (англ. Loebner prize), которая вручается победителю ежегодного конкурса «AI Loebner», в котором соревнуются программы на прохождение теста Тьюринга.
Другим знаменитым экспериментом в области философии сознания и философии искусственного интеллекта является мысленный эксперимент под названием Китайская комната (англ. Chinese room) [4], впервые опубликованный Джоном Сёрлом в 1980 году [5]. Цель эксперимента состоит в опровержении утверждения о том, что цифровая машина, наделенная «искусственным интеллектом» путём её программирования определенным образом, способна обладать сознанием в том же смысле, в котором им обладает человек. Иными словами, целью является опровержение гипотезы так называемого «сильного» искусственного интеллекта и критика теста Тьюринга. Этот философский аргумент до сих пор является одним из самых обсуждаемых в области когнитивистики. Некоторые исследователи даже определяют когнитивистику как «исследовательский проект по опровержению аргумента Сёрла». Наука «о создании искусственного разума» не могла не привлечь внимание философов. С появлением первых интеллектуальных систем были затронуты фундаментальные вопросы о человеке и знании, а отчасти о мироустройстве, такие как «Что такое ИИ, возможно ли его создание, и, если возможно, то как это сделать?» и «Каковы последствия создания ИИ?». Создание ИИ считается одной из важнейших задач человечества сегодня.
Таким образом, в данной работе были решены все поставленные задачи: был сделан обзор существующих методов и средств разработки и реализации виртуального собеседника, а также методов, средств разработки и реализации виртуального собеседника. Были изучены средства для работы с рекуррентными нейронными сетями долгой краткосрочной памяти и векторными представлениями слов, были решены задачи по генерации обучающей выборки и разработаны требования к библиотеке. Результатом данной работы стала программная реализация виртуального собеседника.
1. Вычислительные машины и разум [Текст] / Тьюринг А. - Mind, 1950. - 433-460 c.
2. Чего не могут вычислительные машины: критика искусств [Текст] / Дрейфус Х. - УРСС, 2009. - 333 с.
3. Искусственный интеллект. Современный подход [Текст] / Рассел С., Норвиг П. - Вильямс, 2006. - 1408 с.
4. Китайская комната [Текст] / Коул Д. - Стэнфордская философская энциклопедия, 2015.
5. Размышления над статьёй Сёрла Minds, Brains, and Programs [Текст] / Эскина М., 2003.
6. Joint language and translation modeling with recurrent neural networks [Текст] / Auli M., Galley M., Quirk C. и др. - EMNLP, 2013. - 1044-1054 с.
7. Working memory and executive control. Philosophical Transactions of the Royal Society [Текст] / Baddeley A., Della Sala S., Robbins T. - Biological Sciences, 1996. - 1397-1404 с.
8. The principled design of large-scale recursive neural network architectures DAG-RNNs and the protein structure prediction problem [Текст] / Baldi P., Pollastri G. - The Journal of Machine Learning Research, 2003. - 602 с.
9. Evolving memory cell structures for sequence learning [Текст] / Bayer J., Wierstra D., Togelius J. и др. - ICANN 2009, 755-764 с.
10. Evolving networks: Using the genetic algorithm with connectionist learning [Текст] / Belew R., McInerney J., Schraudolph N. - Citeseer, 1990.
11. Learning long-term dependencies with gradient descent is difficult [Текст] / Bengio Y., Simard P., Frasconi P. - Neural Networks, 1994. - 157-166 с.
12. A Neural Probabilistic Language Model [Текст] / Bengio Y., Ducharme R., Vincent P. и др. - The Journal of Machine Learning Research, 2003. - 1137-1155 с.
13. Efficient Estimation of Word Representations in Vector Space [Текст] / Mikolov T., Corrado G., Chen K. и др. - Proceedings of the International Conference on Learning Representations (ICLR 2013), 2013. - 1-12 с.
14. Distributed Representations of Words and Phrases and their Compositionality [Текст] / Mikolov T., Chen K., Corrado G., Dean, J. - NIPS, 2013. - 1-9 с.
15. A unified architecture for natural language processing [Текст] / Collobert R., Weston J. - Proceedings of the 25th International Conference on Machine Learning 2008. - 160-167 с.
16. Glove: Global Vectors for Word Representation [Текст] / Pennington J., Socher R., Manning C. - Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, 2014. - 1532-1543 с.
17. Character-Aware Neural Language Models [Электронный ресурс] / Kim Y., Jernite Y., Sontag D. и др. - Режим доступа: http://arxiv.org/abs/1508.06615, 2015.
18. Exploring the Limits of Language Modeling [Электронный ресурс] / Jozefowicz R., Vinyals O., Schuster M. и др. - Режим доступа: http://arxiv.org/abs/1602.02410, 2016.
19. Natural Language Processing (almost) from Scratch [Текст] / Collobert R., Weston J., Bottou L., Karlen M., Kavukcuoglu K. и др. - Journal of Machine Learning Research, 2011. - 2493-2537 с.
20. Strategies for Training Large Vocabulary Neural Language Models [Электронный ресурс] / Chen W., Grangier D., Auli M. - Режим доступа: http://arxiv.org/abs/1512.04906, 2015.
21. Improving Distributional Similarity with Lessons Learned from Word Embeddings [Текст] / Levy O., Goldberg Y., Dagan I. - Transactions of the Association for Computational Linguistics, 2015. - 211-225 с.
22. Don’t count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors [Текст] / Baroni M., Dinu G., Kruszewski G. - ACL, 2014. - 238-247 с.
23. Neural Word Embedding as Implicit Matrix Factorization. Advances in Neural Information Processing Systems [Электронный ресурс] / Levy O., Goldberg Y. - Режим доступа:
http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix- factorization, 2014.
24. Inducing Domain-Specific Sentiment Lexicons from Unlabeled Corpora [Электронный ресурс] / Hamilton W. L., Clark K., Leskovec J. - Режим доступа: http://arxiv.org/abs/1606.02820, 2016.
25. Recurrent nets that time and count [Текст] / Felix G., Schmidhuber J. - In Neural Networks, Proceedings of the IEEE-INNS-ENNS International Joint Conference on, volume 3, 2000. - 189-194 c.
26. Learning to forget: Continual prediction with LSTM [Текст] / Felix G., Schmidhuber J., Cummins F. - Neural computation, 12(10), 2000. - 2451-2471 c.
27. word2vec explained: deriving Mikolov et al.’s negative-sampling word-embedding method [Текст] / Goldberg Y., Levy O. - arXiv:1402.3722, 2014.
28. Supervised sequence labelling with recurrent neural networks [Текст] / Graves A. - Springer, том 385, 2012.
29. Framewise phoneme classification with bidirectional LSTM and other neural network architectures [Текст] / Graves A., Schmidhuber J. - Neural Networks, 18(5), 2005. - 602-610 c.
30. Long short-term memory [Текст] / Hochreiter S., Schmidhuber J. - Neural Computation, 9(8), 1997. - 1735-1780 c.
31. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies [Текст] / Hochreiter S., Bengio Y., Frasconi P. и др. - A field guide to dynamical recurrent neural networks, 2001.
32. The unreasonable effectiveness of recurrent neural networks [Электронный ресурс] / Andrej Karpathy - Режим доступа: http://karpathy.github.io/2015/05/21/rnn-effectiveness/, 2015.
33. Efficient estimation of word representations in vector space [Текст] / Mikolov T., Chen K., Corrado G. и др. - arXiv:1301.3781, 2013.
34. BLEU: a method for automatic evaluation of machine translation [Текст] / Papineni K., Roukos S., Ward T., Zhu W. - In Proceedings of the 40th annual meeting on association for computational linguistics, 2002. - 311-318 c.
35. Glove: Global vectors for word representation [Текст] / Pennington J., Socher R., Manning C. - Proceedings of the Empirical Methods in Natural Language Processing, 2014. - 12 с.
36. Learning continuous phrase representations and syntactic parsing with recursive neural networks [Текст] / Socher R., Manning C., Ng A. - In Proceedings of the NIPS-2010 Deep Learning and Unsupervised Feature Learning Workshop, 2010. - 1-9 c.
37. Generating text with recurrent neural networks [Текст] / Sutskever I, Martens J., Hinton G. - In Proceedings of the 28th International Conference on Machine Learning (ICML-11), 2011. - 1017-1024 c.
38. Sequence to sequence learning with neural networks [Текст] / Sutskever I, Vinyals O., Le Q. - In Advances in Neural Information Processing Systems, 2014. - 3104-3112 c.
39. Backpropagation through time: what it does and how to do it [Текст] / Werbos P. - Proceedings of the IEEE, 78(10), 1990. - 1550-1560 c.
40. Wikipedia. Backpropagation [Электронный ресурс] / Wikipedia, the free encyclopedia - Режим доступа: http://en.wikipedia.org/wiki/Backpropagation, 2015.
41. A learning algorithm for continually running fully recurrent neural networks [Текст] / Williams R., Zipser D. - Neural Computation, 1(2), 1989. - 270-280 c.
42. On rectified linear units for speech processing [Текст] / Zeiler M., Ranzato M., Monga R. и др. - In Acoustics, Speech and Signal Processing (ICASSP), 2013. - 3517-3521 с.