авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 |   ...   | 2 | 3 || 5 |

«Национальный исследовательский университет “Высшая школа экономики” На правах рукописи Кириллов Антон ...»

-- [ Страница 4 ] --

5 Как применяется телефон Motorola Razr?

6 К какому классу принадлежит компьютер Lenovo T61?

7 Чем отличаются телефоны Samsung и IPhone?

8 Что общего у телевизора Philips и Sony?

9 10 особенности телефона Nokia N800 11 Каковы возможности компьютера HP Proliant? 12 Какие неудачи были у компании Google два года назад? 13 какие изменения были в составе компании Аэрофлот? Представим данные результаты в виде гистограммы (Рис. 4.8).

12 10 8 7 8 6 5 5 5 6 4 0 О ЕГ ВС Рисунок 4.8. Результаты поиска документов с преобразованием.

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

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

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

1. Разработана логическая архитектура, основанная на описанных в предлагаемом методе шагах преобразования запроса. Определены основные требования к архитектуре программного комплекса и разработана компонент ная архитектура программного комплекса, включающая в себя три основных подсистемы: лингвистическую базу знаний, аспектно-ориентированную базу знаний и подсистему анализа и расширения запросов – AOS Engine.

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

3. На основании требований к компонентам системы в качестве платформы реализации была выбрана Java, обладающая всем необходимым набором библиотек, соответствующих предъявляемым требованиям, и являющаяся платформенно-независимой.

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

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

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

Заключение Задачи исследования, обусловленные целью работы и поставленные во введении, были успешно решены. В итоге проведенного исследования лично автором были получены следующие основные результаты:

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

2. На основе анализа и типизации аспектно-ориентированных запросов предложен набор первичных информационных единиц (реляционных символов) для разработки алгоритма анализа аспектно-ориентированных запросов.

3. Построена математическая модель проблемно-ориентированной системы первичных единиц концептуального уровня, используемых преобразователем запросов. С этой целью введены формальные понятия аспектно ориентированной сортовой системы, размеченной концептуально-объектной системы и расширенного концептуального базиса. По сравнению с предложенным В.А. Фомичевым в теории К-представлений понятием концептуального базиса введенное понятие расширенного концептуального базиса позволяет (а) учитывать множество аспектов, связанных с тем или иным понятием, т.е. учитывать набор основных характеристик объектов, квалифицируемых определенным понятием;

(б) строить концептуальное окружение того или иного понятия при помощи функции «детерминант концептуального окружения».

4. На основе математической модели проблемно-ориентированной системы первичных единиц концептуального уровня (задающей класс расширенных концептуальных базисов) был разработан оригинальный метод анализа и семантического расширения аспектно-ориентированных запросов.

5. Предложен новый метод формального описания структуры входных текстов анализатора аспектно-ориентированных естественно-языковых вопросов на основе аппарата контекстно-свободных грамматик.

6. Разработаны алгоритмы определения типа и объектов интереса аспектно ориентированных поисковых запросов, использующие ряд подалгоритмов обработки специфических типов данных запросов.

7. Разработаны общие принципы функционирования целевого алгоритма построения множества семантически преобразованных поисковых запросов.

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

9. Предложено математическое описание многообразия шаблонов семантической трансформации, порожденных рассматриваемыми концептуальной базой целей и множеством символов, интерпретируемых как значения морфологических признаков словоформ. В доступной научной литературе отсутствует прототип понятия семантической “шаблон трансформации”.

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

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

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

13. Спроектирован и разработан программный комплекс AOS Engine, реализующий предложенный метод семантического преобразования поисковых запросов. Проведенное тестирование и анализ результатов поиска демонстрируют, во-первых, работоспособность алгоритмов определения типа и объектов интереса запросов, а во-вторых, действительное наличие детализаций запросов в электронных документах, содержащих информацию по первоначальному запросу.

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

СПИСОК ЛИТЕРАТУРЫ 1 Башмаков И.А., Рабинович П.Д. Анализ моделей семантических сетей как математического аппарата представления знаний об учебном материале // Справочник. Инженерный журнал. – 2002.– №7.– С.55-60.

2 Ермаков А.Е., Плешко В.В. Обработка естественно-языковых запросов к поисковой машине на основе их лингвистического анализа // Компьютерная лингвистика и интеллектуальные технологии: Труды Международной конференции Диалог’2009. – Москва, Наука, 2009.

3 Золотова Г.А. Синтаксический словарь: Репертуар элементарных единиц русского синтаксиса. – М.: Наука, 1988 – 440 с.

4 Золотова Г.А., Онипенко Н. К., Сидорова М. Ю. Коммуникативная грамматика русского языка. Институт русского языка РАН им. В. В.

Виноградова, М. 2004 - 544 с.

5 Кириллов А.В. Метод семантического преобразования обобщенных запросов на основе базы целей // Бизнес-информатика, 2011. № 3. С. 16- 6 Кириллов А.В. О новом подходе к концептуальному поиску информации в интернете // Сборник трудов Международной молодежной научной конференции «XXXVII Гагаринские чтения», МАТИ, 2011. С. 11-13.

7 Кириллов А.В. Преодоление разрыва между семантическим и традиционным поиском информации // Сборник трудов IX Международной научно технической конференции информационные технологии и «Новые системы» (НИТиС-2010). 2010. С. 22-32.

8 Кириллов А.В., Фомичев В.А. О новом подходе к семантическому преобразованию естественно-языковых запросов // Бизнес-информатика, Москва, 2011. № 1 (15). C. 19-26.

9 Люстиг И.В., Фомичев В.А. Принципы формального отображения семантики лексических единиц, предложений и дискурсов в интеллектуальной поисковой системе Компьютерная лингвистика и Medsearch // интеллектуальные технологии. Труды Междунар. конф. Диалог' (Верхневолжский, 2 - 7 июня 2004 г.). С. 431-435.

10 Методы семантического анализа системы Ask.Net. Режим доступа:

http://asknet.ru/technology.htm 11 Нуль-терминированные строки. Режим доступа:

http://ru.wikipedia.org/wiki/Нуль-терминированная_строка 12 Осипов Г.С. Построение моделей предметных областей. Ч.1. Неднородные семантические сети// Известия РАН. Техническая кибернетика, 1990, № 5, С. 32-45.

13 Осипов Г.С. Приобретение знаний интеллектуальными системами: Основы теории и технологии. – М.: Наука, Физматлит, 1997.

14 Осипов Г.С., Куршев Е.П., Кормалев Д.А., Трофимов И.В., Рябков О.В., Тихомиров И.А.. Семантический поиск в среде Интернет. Препринт.

Переславль-Залесский: ИПС РАН, 2003, 37 стр.

15 Осипов Г.С., Смирнов И.В., Тихомиров И.А. Реляционно-ситуационный метод поиска и анализа текстов и его приложения // Искусственный интеллект и принятие решений. 2008 / 02. C. 3 - 10.

16 Поляков П.Ю., Плешко В.В., Ермаков А.Е. RCO на РОМИП 2009.

Российский семинар по Оценке Методов Информационного Поиска. Труды РОМИП’2009. (Петрозаводск, 16 сентября 2009г.) – Санкт-Петербург: НУ ЦСИ, 2009.

17 Правиков А.А., Фомичев В.А. Разработка рекомендательной системы с естественно-языковым интерфейсом на основе математических моделей семантических объектов // Бизнес-информатика. Междисциплинарный научно-практический журнал ГУ-ВШЭ, Москва, 2010, № 4 (14). C. 3-11.

18 Стемминг. Режим доступа: http://ru.wikipedia.org/wiki/Стемминг 19 Фомичев В.А Класс формальных языков и алгоритм для построения семантических аннотаций Веб-документов // Вестник МГТУ имени Н.Э.

Баумана. Сер. Приборостроение. 2005. № 3 (60). С. 73-86.

20 Фомичев В.А. Математические основы представления смысла текстов для разработки лингвистических информационных технологий. Часть I. Модель системы первичных единиц концептуального уровня // Информационные технологии. 2002. № 10. С. 16-25.

21 Фомичев В.А. Математические основы представления смысла текстов для разработки лингвистических информационных технологий. Часть II.

Система правил для построения семантических представлений фраз и сложных связных текстов // Информационные технологии. 2002. №11. С.

34-45.

22 Фомичев В.А. Математические основы представления содержания посланий компьютерных интеллектуальных агентов. ГУ-ВШЭ, издательство "ТЕИС", 2007.-176 с.

23 Фомичев В.А. Новый класс языков для представления содержания посланий компьютерных интеллектуальных агентов // Качество и ИПИ (CALS) технологии. - № 1. 2005. С. 34-39.

24 Фомичев В.А. Новый метод преобразования естественно-языковых текстов в семантические представления // Информационные технологии. 2005. № 10.

С. 25-35.

25 Фомичев В.А. Понятие текстообразующей системы как компонент нового формального аппарата для проектирования лингвистических процессоров // Информационные технологии. - № 8. 2005. С. 22-27.

26 Фомичёв В.А. Представление информации средствами К-исчислений. М., Московский институт электронного машиностроения (МИЭМ), 1988.- 60 с.

27 Фомичев В.А. Семантико-синтаксические анализаторы вопросо-ответных Интернет-систем нового поколения как инструмент повышения качества высшего образования // Качество. Инновации. Образование. 2005. № 1. С.

67-72.

28 Фомичев В.А. Стандартные К-языки как универсальный и гибкий инструмент формирования контрактов и протоколов переговоров в области электронной коммерции // Информационные технологии. 2005. № 3. С. 26 29.

29 Фомичев В.А. Формализация проектирования лингвистических процессоров - М.: МАКС Пресс, 2005. - 368 с.

30 Фомичев В.А. Формализация структуры основных словарей лингвистической базы данных // Качество и ИПИ (CALS)-технологии. - № 3. 2005. С. 30-38.

31 Форма Бэкуса-Наура. Режим доступа:

http://ru.wikipedia.org/wiki/Форма_Бэкуса_—_Наура 32 Akbik A., Broth J. Wanderlust: extracting semantic relations from natural language text using dependency grammar patterns. Conference WWW2009, April 20-24, 2009, Madrid, Spain.

33 Apache Maven project homepage. Режим доступа: http://maven.apache.org/ 34 Apache POI - the Java API for Microsoft documents. Режим доступа:

http://poi.apache.org/ 35 Apache Tomcat project homepage. Режим доступа: http://tomcat.apache.org/ 36 ARQ - A SPARQL Processor for Jena. Режим доступа: http://openjena.org/ARQ/ 37 Azevedo G., Oliveira A.. Control centers with open architectures.- IEEE Computer Applications in Power, vol. 14, No. 4, Oct 2001, p. 27 — 32.

38 Berners-Lee T., et al. RFC 3986. URI generic syntax. Режим доступа:

http://tools.ietf.org/html/rfc 39 Bernstein A., Kaufmann E., Gohring A., Kiefer C. Querying ontologies: a controlled english interface for end-users. In 4th International Semantic Web Conference (ISWC 2005), pages 112– 126, November 2005.

40 Bernstein A., Kaufmann E., Kaiser C.. Querying the semantic web with ginseng: a guided input natural language search engine. In 15th Workshop on Information Technology and Systems (WITS 2005), pages 45–50, December 2005.

41 Bhagdev R., Chapman S., Ciravegna F., Lanfranchi V., Petrelli D.. Hybrid search:

effectively combining keywords and semantic searches. In The Semantic Web:

Research and Applications, pages 554–568. Springer Berlin / Heidelberg, 2008.

42 Brin S., Page L. The anatomy of a large-scale hypertextual Web search engine.

In:Proceedings of the 7th International World Wide Web Conference, 1998.

Pooling. Режим доступа:

43 c3p0 - JDBC3 Connection and Statement http://www.mchange.com/projects/c3p0/index.html 44 Cimiano P., Haase P., HeizmannJ., Mantel M. ORAKEL: A portable natural language interface to knowledge bases. March 1, 2007. Режим доступа:

http://www.smartweb-project.org/Vortraege/orakel_tech.pdf 45 Corese: COnceptual REsource Search Engine. Режим доступа: http://www sop.inria.fr/edelweiss/software/corese/ 46 D’Aquin M., Baldassarre C., Gridinoc L., Angeletou S., Sabou M., Motta E.

Characterizing knowledge on the semantic web with Watson. In EON, pages 1– 10, 2007.

47 Dali L., Rusu D., Fortuna B. Question answering based on semantic graphs.

Conference WWW2009, April 20-24, 2009, Madrid, Spain.

48 Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C recommendation, 26 November 2008. Режим доступа: http://www.w3.org/TR/REC-xml/ 49 Feldmann K., Wolf W., Weber M. Development of an open, event-based and platform independent architecture for distributed and intelligent control systems.

2nd IEEE International Conference on Industrial Informatics, 2004. INDIN '04.

2004 24-26 June 2004, p. 560 - 566.

50 Fellbaum C., Miller G. WordNet. An electronic lexical database. Cambridge, MA: MIT Press;

1998. 422 p.

51 Fernandez M., Lopez V. Using TREC for cross-comparison between classic IR and ontology-based search models at a Web scale. Conference WWW2009, April 20-24, 2009, Madrid, Spain.

52 Fomichov V. Mathematical models of natural-language-processing systems as cybernetic models of a new kind. Cybernetica (Belgium). 1992. V. XXXV. N. 1.

P. 63-91.

53 Fomichov V.A. A mathematical model for describing structured items of conceptual level // Informatica (Slovenia). 1996. V. 20. N. 1. P. 5-32.

54 Fomichov V.A. A variant of a Universal Metagrammar of Conceptual Structures.

Algebraic systems of conceptual syntax // In A. Nijholt, G. Scollo, R. Steetskamp (eds.), Algebraic Methods in Language Processing. Proc. of the Tenth Twente Workshop on Language Technology joint with First AMAST Workshop on Language Processing, Univ. of Twente, Enschede, The Netherlands, Dec. 1995.

P. 195 - 210.

55 Fomichov V.A. An ontological mathematical framework for electronic commerce and semantically-structured Web // Y.Zhang, V.A.Fomichov, and A.P.Zeleznikar (Eds.), Special Issue on Database, Web, and Cooperative Systems. Informatica.

An Intern. J. of Computing and Informatics (Slovenia, Europe). 2000. Vol. 24.

No. 1. - P. 39-49.

56 Fomichov V.A. Integral Formal Semantics and the design of legal full-text databases // Cybernetica (Belgium). 1994. V. XXXVII. N. 2. P. 145-177.

57 Fomichov V.A. K-calculuses and K-languages as powerful formal means to design intelligent systems processing medical texts // Cybernetica (Belgium).

1993. V. XXXVI. N. 2.. P. 161-182.

58 Fomichov V.A. Standard K-Languages as a Powerful and Flexible Tool for Building Contracts and Representing Contents of Arbitrary E-Negotiations //K.

Bauknecht, B. Proell, H. Werthner (Eds.), The 6th Intern. Conf. on Electronic Commerce and Web Technologies "EC-Web 2005", Copenhagen, Denmark, Aug.

23 - 26, 2005, Proceedings. Lecture Notes in Computer Science. Vol. 3590.

Springer Verlag. 2005. P. 138-147.

59 Fomichov V.A. Theory of K-calculuses as a Powerful and Flexible Mathematical Framework for Building Ontologies and Designing Natural Language Processing Systems // Troels Andreasen, Amihai Motro, Henning Christiansen, Henrik Legind Larsen (Eds.), Flexible Query Answering Systems. 5th Intern.

Conference, FQAS 2002, Copenhagen, Denmark, Oct. 27 - 29, 2002.

Proceedings;

LNAI 2522 (Lecture Notes in Artificial Intelligence, Vol. 2522), Springer: Berlin, Heidelberg, New York, Barcelona, Hong Kong, London, Milan, Paris, Tokyo, 2002. P. 183-196.

60 Fomichov V.A. Theory of K-representations as a Comprehensive Formal Framework for Developing a Multilingual Semantic Web // Special Issue on Semantic Informational Technologes. Informatica. An International Journal of Computing and Informatics (Slovenia), 2010,Vol. 34, No. 3, p. 287-296.

61 Fomichov V.A. Theory of Restricted K-calculuses as a Comprehensive Framework for Constructing Agent Communication Languages;

Special Issue on NLP and Multi-Agent Systems, ed. by V.A.Fomichov and A.P.Zeleznikar, Informatica. An Intern. Journal of Computing and Informatics (Slovenia). 1998.

V. 22. N. 4.- P. 451-463.

62 Fomichov V.A., Kirillov A.V. Semantic Transformation of Search Requests for Improving the Results of Web Search // Pre-Conference Proceedings of the Focus Symposium on Intelligent Information Management Systems (August 2, 2011, Focus Symposia Chair: Jens Pohl) in conjunction with InterSymp-2011, 23rd International Conference on Systems Research, Informatics and Cybernetics, August1 - 5, 2011, Germany). San Luis Obispo, CA, USA: Collaborative Agent Design Research Center, California Polytechnic State University (Cal Poly), 2011. P. 37-43.

63 Fomichov V.A.. Semantics-Oriented Natural Language Processing: Mathematical Models and Algorithms. Series: IFSR International Series on Systems Science and Engineering, Vol. 27. Springer: New York, Dordrecht, Heidelberg, London, 2010. - 354 p.

64 Fomichov, V.A. Towards a mathematical theory of natural-language communication // Informatica. An Int.. J. of Computing and Informatics (Slovenia). 1993. 17(1). P. 21-34.

65 Git - fast version control system homepage. Режим доступа: http://git-scm.com/ Режим доступа:

66 Google Web Toolkit (GWT) project homepage.

http://code.google.com/webtoolkit/overview.html 67 Guha R., McCool R., Miller E. Semantic Search. WWW2003, May 20-24, 2003, Budapest, Hungary.

68 Halpin H., Lavrenko V. Relevance feedback between hypertext and semantic search. Conference WWW2009, April 20-24, 2009, Madrid, Spain.

69 JDK 6 Java Database Connectivity (JDBC)-related APIs & developer guides.

Режим доступа: http://docs.oracle.com/javase/6/docs/technotes/guides/jdbc/ 70 JDOM Project homepage. Режим доступа: http://www.jdom.org/ 71 JSR-000224. JavaTM API for XML-Based Web Services 2.2. Режим доступа:

http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index3.html 72 Kaufmann E., Bernstein A., Fischer L. NLP-Reduce: A "naive" but domain independent natural language interface for querying ontologies. 4th European Режим доступа:

Semantic Web Conference ESWC, 2007.

http://www.mendeley.com/research/nlpreduce-a-nave-but-domainindependent natural-language-interface-for-querying-ontologies/ 73 Kaufmann E., Bernstein A., Zumstein R. Querix: a natural language interface to query ontologies based on clarification dialogs. In 5th International Semantic Web Conference (ISWC 2006), pages 980–981. Springer, November 2006.

74 Lei Y., Uren V., Motta E.. Semsearch: a search engine for the semantic web. In Proc. 5th International Conference on Knowledge Engineering and Knowledge Management Managing Knowledge in a World of Networks, Lect. Notes in Comp. Sci., Springer, Podebrady, Czech Republic, pages 238–245, 2006.

75 Mealling M., Denenberg R. Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names(URNs): clarifications and recommendations. Режим доступа:

http://tools.ietf.org/html/rfc 76 Meij E., Mika P., Zaragoza H. Investigating the demand side of semantic search through query log analysis. Conference WWW2009, April 20-24, 2009, Madrid, Spain.

77 MySQL database project homepage. Режим доступа: http://dev.mysql.com/ 78 Namespaces in XML 1.0 (Third Edition). W3C recommendation, 8 December 2009. Режим доступа: http://www.w3.org/TR/REC-xml-names/ Режим доступа:

79 OWL DL semantics.

http://www.obitko.com/tutorials/ontologies-semantic-web/owl-dl-semantics.html 80 OWL Web Ontology Language semantics and

Abstract

syntax. W3C Режим доступа:

recommendation, 10 February 2004.

http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ 81 Page L., Brin S., Motwani R., Winograd T. The PageRank citation ranking:

Bringing order to the Web. Stanford Digital Libraries Working Paper, Stanford University (1998).

82 Page L., Brin S., Motwani R., Winograd T. The PageRank citation ranking:

bringing order to the Web. Manuscript in progress. Режим доступа:

http://google.stanford.edu/~backrub/pageranksub.ps 83 RDF semantics. W3C recommendation, 10 February 2004. Режим доступа:

http://www.w3.org/TR/rdf-mt/ 84 RDF vocabulary description language 1.0: RDF Schema. W3C recommendation, 10 February 2004. Режим доступа: http://www.w3.org/TR/rdf-schema/ 85 RDF/XML syntax specification (revised). W3C recommendation, 10 February 2004. Режим доступа: http://www.w3.org/TR/rdf-syntax-grammar/ Режим доступа:

86 Relational Persistence for Java and.NET.

http://www.hibernate.org/hibernate Режим доступа:

87 Resource Description Framework (RDF).

http://www.w3.org/RDF/ 88 Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search engine. MLMTA-2003.

Режим доступа:

89 Semantic Search Survey.

http://swuiwiki.webscience.org/index.php/Semantic_1. Search_Survey Режим доступа:

90 Semantic search Wikipedia article.

http://en.wikipedia.org/wiki/Semantic_search Режим доступа:

91 SEWASIE search engine overview.

http://www.sewasie.org/sewasie-overview.htm 92 Shannon C.E. A mathematical theory of communication. Bell Syst. Tech. J. (1948).

93 Sprck-Jones K., Walker S., Robertson S.E. A probabilistic model of information retrieval: Development and comparative experiments. Inf. Process. Manag. 36(6), 779–808 (2000).

94 SPARQL query language for RDF. W3C recommendation, 15 January 2008.

Режим доступа: http://www.w3.org/TR/rdf-sparql-query/ 95 Tran D.T., Bloehdorn S., Cimiano P., Haase P. Expressive Resource Descriptions for Ontology-Based Information Retrieval. In: Proceedings of the 1st International Conference on the Theory of Information Retrieval ICTIR'07, 18th 20th October 2007, Budapest, Hungary (2007), p. 55-68.

96 Wang L. Open architecture-based factory automation systems. IEEE Aerospace and Electronic Systems Magazine, vol. 19, No. 2, Feb. 2004, p. 14 - 17.

97 Wrigley S.N., Reinhard D., Elbedweihy K., Bernstein A., Ciravegna F.

Methodology and campaign design for the evaluation of semantic search tools.

WWW2010, April 26-30, 2010, Raleigh, North Carolina.

98 XML Schema Part 0: primer second edition. W3C recommendation, 28 October 2004. Режим доступа: http://www.w3.org/TR/xmlschema-0/ Режим доступа:

99 XML Syntax Rules.

http://www.w3schools.com/xml/xml_syntax.asp 100 Zesch T., Mller C., Gurevych I. 2008. Extracting Lexical Semantic Knowledge from Wikipedia and Wiktionary. Conference LREC 2008 (Marrakech, Morocco).

ПРИЛОЖЕНИЯ Приложение 1. Структура и примеры входных аспектно ориентированных запросов.

Тип вопроса Шаблон стем-формы Примеры входов Описание как + # + ОИ1(глаг.) + ОИ2 Как в целом устроен Х?

структуры ОИ1 устраивать, Как структурирован Х?

= структурировать, Как организован Х?

организовывать {какой} + # + ОИ1(сущ.) + Какое устройство имеет Х?

{обладать|иметь|{есть}+у}+О структура у Х?

И2 Какая организация у Х?

ОИ1 устройство, компоненты Х?

= структура, организация, Какие важные элементы имеет Х?

составляющая {часть}, компонент, элемент {каков} + # + ОИ1(сущ.) Каково устройство Х?

основная структура Х +ОИ ОИ1 устройство, Какова организация Х?

= структура, организация, Каковы составляющие Х?

составляющая {часть}, компонент, элемент из+что+состоять+ОИ2 Из чего состоит Х?

из+какой+ # + ОИ1(сущ.) + Из каких компонентов состоит Х?

состоять + ОИ2 Из каких дорогостоящих ОИ1 устройство, элементов состоит Х?

= структура, организация, Из каких частей состоит Х?

составляющая {часть}, компонент, элемент Описание {какой} + # + ОИ1(сущ.) + Какие характеристики есть у Х?

характерист {обладать|иметь|{есть}+у}+О свойства у Х ик И2 показатели Х?

ОИ1 характеристика, Какие негативные свойства имеет = свойство, показатель Х?

Какими показателями обладает Х?

{каков} + # + ОИ1(сущ.) Каковы основные характеристики Х?

+ОИ ОИ1 характеристика, свойства Х = свойство, показатель Каковы показатели Х?

Описание как+ # +ОИ1(глаг.)+ОИ2 Как работает Х?

работы (как ОИ1= работать, Как действует Х?

работает) функционировать, Как продуктивно функционирует действовать Х?

# Каковы главные принципы {каков}+ работы Х?

+[принцип|правило]+ОИ1(су щ.)+ОИ2 правила действия Х ОИ1= работа, Каковы принципы функционирование, действие функционирования Х?

Описание + Какие основные функции {какой}+ # функций ОИ1(сущ.)+{выполнять|возло выполняет Х?

(что делает) женный+на|{есть}+у|иметь}+ важные обязанности у Х?

ОИ2 Какие функции имеет Х?

ОИ1= функция, обязанность {каков}+ # +ОИ1(сущ.)+ОИ2 Каковы функции Х?

ОИ1= функция, обязанность главные функции Х?

Каковы основные обязанности Х?

что+являться+ + Что является функциями Х?

# ОИ1(сущ.)+ОИ2 Что является служебными ОИ1= функция, обязанность обязанностями Х?

за+что+ # +отвечать+ОИ2 За что в основном отвечает Х?

Описание какой+ + Какую миссию выполняет Х?

# назначения ОИ1(сущ.)+[выполняет|пресле Какую цель преследует Х?

дует|играет]+ОИ2? Какую роль играет обмен ОИ1=миссия, цель, роль веществ?

зачем+нужный+ОИ2 Зачем нужен Х?

{каков}+ # + ОИ1(сущ.)+ОИ2 Каково назначение Х?

ОИ1=назначение, главное предназначение Х предназначение, цель, миссия, цель Х?

роль Какова миссия Х?

Какова роль Х в производстве металла?

что+[являться|есть]+ + Что является назначением Х?

# ОИ1(сущ.)+ОИ2 Что является главным ОИ1=назначение, предназначением Х?

предназначение, цель, миссия, Что есть цель Х?

роль для+что+ОИ1(глаг.)+ОИ2 Для чего предназначен Х?

ОИ1=предназначать, Для чего создан Х?

создавать, сконструировать, Для чего разработан Х?

построить, разрабатывать, Для чего спроектирован Х?

спроектировать Описание как+ # +ОИ1(глаг.)+ОИ2 Как применять Х?

применения ОИ1=применять, Как применяется Х?

использовать, задействовать, Как в Европе эксплуатируется Х?

употреблять, эксплуатировать, утилизировать, пользоваться, применяться, использоваться, употребляться, эксплуатироваться, утилизироваться, пользоваться + Каковы правила применения Х?

{каков}+ # [правило|принцип|стандарт|по основные принципы дход к]+ОИ1(сущ)+ОИ2 эксплуатации Х?

ОИ1=применение, Каковы подходы к использование, эксплуатация, использованию Х?

употребление, утилизация, пользование задействование в+какой+ + В каких критических ситуациях # [ситуация|случай]+ОИ1(глаг.) используется Х?

В каких случаях применяется Х?

+ОИ ОИ1=применять, использовать, задействовать, употреблять, эксплуатировать, утилизировать, пользоваться, применяться, использоваться, употребляться, эксплуатироваться, утилизироваться, пользоваться когда+ # +ОИ1(глаг.)+ОИ2 Когда используется Х?

ОИ1=применять, Когда автоматически задействуют использовать, задействовать, Х?

употреблять, Когда начинает утилизироваться эксплуатировать, Х?

утилизировать, пользоваться, применяться, использоваться, употребляться, эксплуатироваться, утилизироваться, пользоваться когда+следовать+ # Когда в первую очередь следует использовать Х?

+ОИ1(глаг.)+ОИ ОИ1=применять, Когда следует задействовать Х?

использовать, задействовать, Когда следует употреблять Х?

употреблять, Когда следует эксплуатировать эксплуатировать, Х?

утилизировать, пользоваться Когда следует утилизировать Х?

# Какое основное применение есть {какой}+ +ОИ1(сущ)+{{есть}+у}+ОИ2 у Х?

ОИ1=применение, Какое использование имеет Х?

использование, эксплуатация, основы утилизации Х употребление, утилизация, пользование задействование Описание к+[кто|что]+относится ОИ2 К чему относится Х?

принадлежн К кому относится Х?

ости к+какой+ОИ1(сущ.)+ # К какой группе млекопитающих +[относиться|принадлежать]+ относится Х?

ОИ2 К какому классу веществ ОИ1=группа, класс, относится Х?

категория, тип К какой категории принадлежит Х?

в+какой+ # В какую группу входит Х?

В какую категорию моллюсков +ОИ1(сущ)+входить+ОИ ОИ1=группа, класс, входит Х?

категория, тип какой+ # +ОИ1(сущ)+ # + Какой основной класс представлять+ОИ2 химических элементов ОИ1=группа, класс, представляет Х?

категория, тип Какую группу людей представляет Х?

Какой тип транспорта представляет Х?

Описание +ОИ1(глаг, Чем отличается Х от У?

{в}+что+ # различий прил)+ОИ2+[и|с|от]+ОИ3 Чем отличаются Х и У?

ОИ1=отличаться, различаться, В чем различаются Х с У?

расходиться, несхожий, В чем несхожи Х с У?

непохожий, расхожий В чем расходятся Х с У?

В чем Х отличается от У?

{в}+что+ОИ2+ОИ1(прил, глаг)+{от|с}+ОИ3 В чем Х несхож с У?

ОИ1=отличаться, непохожий, Чем Х несовпадает с У?

различаться, несхожий, Чем Х несоответствует У?

несовпадать, несоответствовать в+что+ # В чем отличие Х от У?

+{у}+ОИ1(сущ)+ОИ2+[и|от|с] В чем несхожесть Х и У?

В чем расхождение у Х с У?

+ОИ ОИ1=отличие, несхожесть, В чем несовпадение Х с У?

различие, расхождение, В чем несоответствие Х и У?

несовпадение, несоответствие, разница, непохожесть # Каковы принципиальные {каков}+ различия Х и У?

+ОИ1(сущ)+{у}+ОИ2+[и|c]+ ОИ3 несхожести Х и У?

ОИ1=отличие, несхожесть, Каковы расхождения Х и У?

различие, расхождение, несовпадения Х и У несовпадение, типичные несоответствия Х и У несоответствие, разница, непохожесть что+являться+ # Что является основным различием у Х и У?

+ОИ1+{у}+ОИ2+[и|с]+ОИ ОИ1=отличие, несхожесть, Что является несхожестью Х и У?

различие, расхождение, Что является главным несовпадение, расхождением у Х с У?

несоответствие, разница, непохожесть # Какие различия имеют Х и У?

{какой}+ +ОИ1(сущ)+{{есть}+у|облада Какими несоответствиями ть|иметь}+ОИ2+с|и+ОИ3 обладает Х и У?

ОИ1=отличие, несхожесть, непохожести у Х и У различие, расхождение, Какая разница между X и Y?

несовпадение, несоответствие, разница, непохожесть Описание {каков}+общий+черта+{у}+О Каковы общие черты у Х и У?

общих И2+и+ОИ3 общие черты Х и У характерист {в}+что+ОИ2+ОИ1(прил.)+{н В чем Х похож на У?

ик а|с}+ОИ3 чем Х подобен У?

ОИ1=похожий, подобный, Чем Х аналогичен У?

аналогичный, схожий В чем Х схож с У?

# В чем аналогичность Х с У?

{в+что}+ +ОИ1(сущ)+ОИ2+{на|с}+ОИ3 В чем схожесть Х с У?

ОИ1=аналогичность, ключевое сходство Х с У?

схожесть, сходство, главная похожесть Х на У?

похожесть что+общий+у+ОИ2+[с|и]+ОИ Что общего у Х и У?

# Какие сходства имеет Х с У?

{какой}+ +ОИ1(сущ)+{{есть}+у|облада принципиальная схожесть у Х с У ть|иметь}+ОИ2+[с|и]+ОИ ОИ1=аналогичность, схожесть, сходство, похожесть Описание # Какие особенности есть у Х?

{какой}+ особенносте +ОИ1(сущ)+{{есть}+у|облада особая уникальность Х й ть|иметь}+ОИ2 Каковы основные отличительные ОИ1=особенность, черты Х?

отличительный {черта}, специфика, уникальность {каков}+ # + ОИ1(сущ.)+ОИ2 Каковы особенности Х?

ОИ1=особенность, специфика Х отличительный {черта}, Каковы главные отличительные специфика, уникальность черты Х?

В чем уникальность Х?

{в+что}+ # +ОИ1(сущ)+ОИ ОИ1=особенность, главные отличительные черты Х отличительный {черта}, В чем специфика отличия Х?

специфика, уникальность чем Х уникален?

{в}+что+ОИ2+ОИ1(прил) ОИ1=уникальный, В чем Х особенный?

особенный, отличный, В чем Х специфичный?

специфичный +ОИ1(сущ)+ Каковы особенности работы Х в {каков}+ # [работа|поведение|функциони ситуации У?

рование|действие]+ОИ2+{[в+ Каковы отличия поведения Х в ситуации|при|в+обстоятельств условиях У?

ах|при отличительные черты обстоятельствах|в+условиях]+ функционирования Х при У?

ОИ3} ключевые особенности действия ОИ1=особенность, Х в обстоятельствах У отличительный {черта}, специфика, уникальность как+[работать|вести+себя|фун Как работает Х при кционировать|действовать]+О обстоятельствах У?

И2+[в|в+ситуации|при|в+обст Как ведет себя Х в условиях У?

оятельствах|при Как функционирует Х в обстоятельствах|в+условиях]+ обстоятельствах У?

ОИ3 Как действует Х в условиях У?

Описание # Какие возможности есть у Х?

{какой}+ возможност +ОИ1(сущ)+{{есть}+у|облада Какими возможностями обладает ей ть|иметь}+ОИ2 Х?

ОИ1=возможность {каков}+ # + ОИ1(сущ.)+ОИ2 Каковы возможности Х?

ОИ1=возможность финансовые возможности Х на+что+способный+ОИ2 На что способен Х?

что+мочь+ОИ2 Что может Х?

Приложение Система продукций разработанной КС 2.

грамматики Рассмотрим систему продукций P0 для КС-грамматики с опорным алфавитом рассмотренной в 2.6. Для удобства продукции будут A0, сгруппированы для каждого типа вопроса.

текст::=вопрос_описания_структуры|вопрос_описания_характерист ик|вопрос_описания_работы|вопрос_описания_функций|вопрос_описан ия_назначения|вопрос_описания_применения|вопрос_описания_принадле жности|вопрос_описания_различий|вопрос_описания_общих_характерист ик|вопрос_описания_особенностей|вопрос_описания_возможностей;

вопрос_описания_структуры::= какнабор_символовспецифическая_цепочка_1набор_символов|возмож ное_вопросительное_словонабор_символовспецифическая_цепочка_2о пциональная_цепочканабор_символов|возможное_вопросительное_слово набор_символовспецифическое_существительноенабор_символов|из что состоять из какой набор_символов | набор_символовспецифическая_цепочка_2состоятьнабор_символов;

специфическая_цепочка_1::=устраивать|структурировать|организовыват ь;

устройство| структура| организация| специфическая_цепочка_2::= составляющая| составляющая часть|компонент|элемент;

вопрос_описания_характеристик::=возможное_вопросительное_сло вонабор_символовспецифическая_цепочка_3опциональная_цепочкан абор_символов|возможное_вопросительное_словонабор_символовспец ифическая_цепочка_3набор_символов;

специфическая_цепочка_3::= характеристика|свойство|показатель;

вопрос_описания_работы::=какнабор_символовспецифическая_це почка_4набор_символов|возможное_вопросительное_словонабор_симв оловдополнительное_существительное_1специфическая_цепочка_5наб ор_символов;

специфическая_цепочка_4::=работать|функционировать|действовать;

специфическая_цепочка_5::=работа|функционирование|действие;

дополнительное_существительное_1::=принцип|правило;

вопрос_описания_функций::= возможное_вопросительное_словонабор_символовспецифическая_цепоч ка_6смешанный_элемент_1набор_символов|возможное_вопросительно е_словонабор_символовспецифическая_цепочка_6набор_символов|чт о являтьсянабор_символовспецифическая_цепочка_6набор_символовза что отвечатьнабор_символов;

специфическая_цепочка_6::=функция|обязанность;

на|у|есть смешанный_элемент_1::=выполнять|возложенный у|иметь|наделять|обладать;

вопрос_описания_назначения::=какойнабор_символовспецифичес кая_цепочка_7дополнительный_глагол_1набор_символов|зачем нужныйнабор_символов|возможное_вопросительное_словонабор_симво ловспецифическое_существительноенабор_символов| что дополнительный_глагол_2набор_символовспецифическая_цепочка_7н абор_символов|возможное_вопросительное_словорольнабор_символов| для чтоспецифическая_цепочка_8набор_символов;

специфическая_цепочка_7::=миссия|цель|назначение|предназначение|ро ль;

дополнительный_глагол_1::=выполнять|преследовать|иметь|обладать;

дополнительный_глагол_2::=являться|есть;

специфическая_цепочка_8::=предназначать|создавать| сконструировать|построить|разрабатывать|спроектировать;

вопрос_описания_применения::= какнабор_символовспецифическая_цепочка_9набор_символов|возмож ное_вопросительное_словонабор_символовдополнительная_цепочка_1с пецифическая_цепочка_10набор_символов| в какойнабор_символовдополнительное_существительное_2специфическа я_цепочка_9набор_символов| когданабор_символовспецифическая_цепочка_9набор_символов| когданабор_символовспецифическая_цепочка_9|когда следоватьнабор_символовспецифическая_цепочка_9набор_символов|в озможное_вопросительное_словонабор_символовопциональная_цепочка_ 2набор_символов;

специфическая_цепочка_9::=применять|использовать|задействовать|упо треблять|эксплуатировать|утилизировать|пользоваться|применяться|использоват ься|употребляться|эксплуатироваться;

специфическая_цепочка_10::=применение|использование|эксплуатация| употребление|утилизация|пользование|задействование;

дополнительная_цепочка_1::=принцип|правило|стандарт|подход к;

дополнительное_существительное_2::=ситуация|случай;

опциональная_цепочка_2::=|у|есть у;

вопрос_описания_принадлежности::= квопросительное_местоимение относитьсянабор_символов|к какойспецифическая_цепочка_11дополнительный_глагол_3набор_симво лов|в какойспецифическая_цепочка_11дополнительный_глагол_3набор_симво лов|какойнабор_символовспецифическая_цепочка_11набор_символов дополнительный_глагол_3набор_символов;

специфическая_цепочка_11::=группа|класс|категория|тип;

вопросительное_местоимение::=кто|что;

дополнительный_глагол_3::=относиться|принадлежать|входить|представ лять;

вопрос_описания_различий::=возможный_предлог_1чтонабор_си мволовспецифическая_цепочка_12набор_символовдополнительная_цеп очка_2набор_символов|возможный_предлог_1чтонабор_символовсп ецифическая_цепочка_12опциональная_цепочка_3набор_символов|в чтонабор_символовспецифическая_цепочка_13возможный_предлог_ набор_символовдополнительная_цепочка_2набор_символов|возможное _вопросительное_словонабор_символовспецифическая_цепочка_13воз можный_предлог_2набор_символовдополнительная_цепочка_2набор_с имволов| что являтьсянабор_символовспецифическая_цепочка_13возможный_предлог _2набор_символовдополнительная_цепочка_2набор_символов|возмо жное_вопросительное_словонабор_символовспецифическая_цепочка_ опциональная_цепочканабор_символовдополнительная_цепочка_2наб ор_символов;

возможный_предлог_1::=|в;

возможный_предлог_2::=|у;

специфическая_цепочка_12::=отличаться|различаться|несхожий|непохо жий|расхожий|несоответствовать|расходиться;

дополнительная_цепочка_2::= и|с|от опциональная_цепочка_3::=|от|на|с;

специфическая_цепочка_13::= отличие|несхожесть|расхождение|несовпадение|несоответствие|непохожесть|раз ница;

вопрос_описания_общих_характеристик::=возможное_вопроситель ное_словообщий чертавозможный_предлог_2набор_символовдополнительная_цепочка_ набор_символов|возможный_предлог_1чтонабор_символовспецифиче ская_цепочка_14опциональная_цепочка_4набор_символов|возможный_ предлог_1возможное_вопросительное_местоимениенабор_символовспе цифическая_цепочка_15набор_символовопциональная_цепочка_4набор общий _символов|что унабор_символовдополнительная_цепочка_3набор_символов|возможн ое_вопросительное_словонабор_символовспецифическая_цепочка_15о пциональная_цепочканабор_символовдополнительная_цепочка_3набор _символов;

специфическая_цепочка_15::= аналогичность|схожесть|сходство|похожесть;

дополнительная_цепочка_3::=и|с;

опциональная_цепочка_4::=|на|с;

возможное_вопросительное_местоимение::=|что;

специфическая_цепочка_14::=похожий|схожий|подобный|аналогичный;

вопрос_описания_особенностей::=возможное_вопросительное_слово набор_символовспецифическая_цепочка_16опциональная_цепочкана бор_символов|возможное_вопросительное_словонабор_символовспеци фическая_цепочка_16набор_символов|возможный_предлог_1возможно е_вопросительное_местоимениенабор_символовспецифическая_цепочка_ 17набор_символов|возможный_предлог_1чтонабор_символовспециф ическая_цепочка_17|возможное_вопросительное_словонабор_символов специфическая_цепочка_16дополнительная_цепочка_4набор_символов опциональная_часть_вопроса|какдополнительная_цепочка_5набор_симво ловдополнительная_цепочка_6набор_символов;

специфическая_цепочка_16::=особенность|уникальность|отличительная черта|специфика;

специфическая_цепочка_17::=уникальный|особенный|отличительный|сп ецифичный;

дополнительная_цепочка_4::=работа|поведение|функционирование|дейс твие;

дополнительная_цепочка_5::=работать|вести себя|функционировать|действовать;

опциональная_часть_вопроса::=сдополнительная_цепочка_6набор_с имволов;

ситуация|при|при обстоятельство|в дополнительная_цепочка_6::=в обстоятельство|в условие;

вопрос_описания_возможностей::=возможное_вопросительное_слов онабор_символовспецифическая_цепочка_18опциональная_цепочкан абор_символов|на что способныйнабор_символов| что мочьнабор_символов;

специфическая_цепочка_18::=возможность;

возможное_вопросительное_слово::= |какой|каков;

опциональная_цепочка::= |обладать|иметь| у|есть у;

набор_символов::= |набор_символовнабор_символов|символ;

b символ ::= …, где {b1,...,b n } A bn символ ::= Необходимость использования произвольных символов алфавита A0 обусловлена тем, что в специализированных названиях каких-либо объектов могут присутствовать сочетания различных символов из разных алфавитов.

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

Приложение Полная таблица записей словарей, 3.

используемых для анализа структуры входных запросов Тип вопроса Тип Множество слов-участников индикатора Описание ХС "устраивать", "структурировать", структуры "организовывать", "устройство", "структура", "организация", "составляющая", "компонент", "элемент" Описание ТР "иметь", "состоять", "из", "что", "у", "обладать", структуры "есть", " часть" Описание СТ_С "как", "из" структуры Описание ХС "характеристика", "свойство", "показатель" характеристик Описание ТР "иметь", "что", "у", "обладать", "есть" характеристик Описание ХС "работать", "функционировать", "действовать", работы "работа", "функционирование", "действие" Описание ТР "иметь", "что", "у", "обладать", "есть", работы "выполнять" Описание СТ_С "как" работы Описание ХС "функция", "обязанность" функций Описание ТР "иметь", "что", "у", "обладать", "есть", функций "выполнять", "наделять" Описание СТ_С "что", "за" функций Описание ХС "назначение", "предназначение", "цель", "миссия", назначения "роль", "предназначать", "создавать", "сконструировать", "построить", "разрабатывать", "спроектировать" Описание ТР "иметь", "что", "у", "обладать", "есть", назначения "выполнять", "преследовать", "играть" Описание СТ_С "что", "зачем", "для" назначения Описание ХС "применять", "использовать", "задействовать", применения "употреблять", "эксплуатировать", "утилизировать", "пользоваться", "применяться", "использоваться", "употребляться", "эксплуатироваться", "утилизироваться", "пользоваться", "применение", "использование", "эксплуатация", "употребление", "утилизация", "пользование", "задействование" Описание ТР "иметь", "что", "у", "обладать", "есть" применения Описание ДОП_ТР "главный", "образ", "основной", "принцип", применения "какой", "каков", "как", "правило" Описание СТ_С "как", "когда" применения Описание ХС "группа", "класс", "категория", "тип" принадлежнос ти Описание ДОП_ТР "в","главный", "образ", "основной", "принцип", принадлежнос "какой", "каков", "как", "к", "кто", "что", ти "принципиально", "существенно", "косвенно" Описание ДОП_УК "относиться", "принадлежать", "представлять", принадлежнос "входить" ти Описание СТ_С "к" принадлежнос ти Описание ХС "отличаться", "различаться", "расходиться", различий "несхожий", "непохожий", "расхожий", "несоответствовать", "отличие", "различие", "несхожесть", "непохожесть", "расхождение", "несовпадение", "несоответствие", "разница" Описание СОЕД_УК "и", "с", "от", "на" различий Описание ТР "иметь", "что", "у", "обладать", "есть", "в", различий "между" Описание СТ_С "что" различий Описание ХС "похожий", "подобный", "аналогичный", общих "схожий", "общий", "аналогичность", "схожесть", характеристик "сходство", "похожесть" Описание СОЕД_УК "и", "с", "от", "на" общих характеристик Описание ТР "иметь", "что", "у", "обладать", "есть", "в", общих "между" характеристик Описание СТ_С "что" общих характеристик Описание ХС "особенность", "специфика","уникальность", особенностей "уникальный", "особенный", "отличительный", "специфичный" Описание ХС_2 "обстоятельство", "условие", "при", "ситуация" особенностей Описание ТР "иметь", "что", "у", "обладать", "есть", "в", особенностей "каков", "какой", "себе" Описание ДОП_ТР "работать", "вести", "функционировать", особенностей "функционирование", "работа", "действовать", "поведение", "действие" Описание СОЕД_УК "условие", "ситуация", "обстоятельство", "при" особенностей Описание СТ_С "как" особенностей Описание ХС "возможность","способный","мочь" возможностей Описание ТР "иметь", "что", "у", "обладать", "есть", "наделять" возможностей Описание СТ_С "что","на" возможностей Вопрос ХС "успех","неудача","достижение", "добиваться", достижения "достигать" целей Вопрос ТР "иметь", "что", "у","какой", "каков", "за", "в", "к", достижения "быть" целей Вопрос ДОП_УК "один", "два", "три", "четыре", "пять", "шесть", достижения "семь", "восемь", "девять", "десять" целей Вопрос ДОП_ТР "прошедший", "прошлый", "позапрошлый", достижения "текущий" целей Вопрос СТ_С "что" достижения целей Вопрос об ХС "изменение", "изменяться" изменении состава множеств Вопрос об ХС_2 "структурный", "структура", "состав" изменении состава множеств Вопрос об ТР "иметь", "что", "как", "у", "за", "к", "быть", "в", изменении "какой", "каков", "касаться", "затрагивать", состава "происходить" множеств Вопрос об ДОМЕН_С "компания", "департамент", "отдел", изменении ЛОВО "руководство", "фирма", "предприятие" состава множеств Вопрос об ДОП_УК "один", "два", "три", "четыре", "пять", "шесть", изменении "семь", "восемь", "девять", "десять" состава множеств Вопрос об ДОП_ТР "прошедший", "прошлый", "позапрошлый", изменении "текущий" состава множеств Вопрос об СТ_С "что","как" изменении состава множеств Приложение 4. Алгоритмы.

Алгоритм получения конкретного словаря для определенного типа запроса и типа индикатора Внешняя спецификация алгоритма «Получить_Словарь»

Назначение: Алгоритм последовательно проверяет словари и возвращает один из них в зависимости от типа запроса и типа индикатора, поданных на вход.

Вход: Тип_Запроса — тип запроса;

Тип_Индикатора — тип индикатора.

Соответствует значениям из левой колонки таблицы 2.2;

Словари — массив словарных статей типа Словарь.

Выход: Словарь — конкретная запись в словаре. Имеет тип Словарь.

Алгоритм «Получить_Словарь»

нач Словарь := nil i := пока Словари(i) nil цикл если Словари(i)::Тип_Запр == Тип_Запроса и Словари(i)::Тип_Инд == Тип_Индикатора Словарь := Словари(i) выход цикл кесли;

i := i+ кцикл кон Алгоритм поиска вхождения слова в словарь Внешняя спецификация алгоритма «Вхождение_слова_в_словарь»

Назначение: Алгоритм предназначен для проверки вхождений базовых форм слова в определенный словарь, поданный на вход.

Вход: Баз_формы — массив базовых форм рассматриваемого слова;

массив базовых форм слов-участников, относящихся к Словарь — определенному типу запроса и индикатора.

Выход: Результат — истина, если одна из базовых форм слова присутствует в поданном на вход словаре, ложь в противном случае.

Алгоритм «Вхождение_слова_в_словарь»

нач Результат := ложь;

i := пока Баз_формы(i) nil цикл если Результат == ложь j := пока Словарь(j) nil цикл если Словарь(j) == Баз_формы(i) Результат := истина выход цикл кесли;

j := j+ кцикл кесли;

i := i+ кцикл кон Алгоритм определения типа запроса Внешняя спецификация алгоритма «Определение_Типа_Запроса»

Назначение:

Алгоритм последовательно проверяет вхождение в словари характеризующих слов каждого слова запроса. Как только вхождение обнаружено, то тип запроса определен. Исключение составляют запросы с типом «ОП_ОСОБ», которые можно спутать с запросами типа «ОП_РАБ», но данная ситуация проверяется в алгоритме. Пример такого запроса: «Как работает генератор в условиях высокого давления?».

Вход:

Запрос — входной запрос, представленный в виде массива элементов типа Расш_Слово.

Допуст_Типы — массив допустимых типов запроса.

тип индикатора, по которому происходит анализ Тип_Инд — принадлежности слова тому или иному словарю.

Выход:

Тип_Запр — тип запроса.

Алгоритм «Определение_Типа_Запроса»

нач Тип_Запр := nil пока Запрос(i) nil цикл j := пока Допуст_Типы(j) nil цикл если Тип_Инд == ХС если Допуст_Типы(j) == ОП_СТР если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_СТР, ХС)) Тип_Запр := ОП_СТР выход цикл кесли кесли если Допуст_Типы(j) == ОП_РАБ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_РАБ, ХС)) Тип_Запр := Определение_Типа_Запроса( Запрос, {ОП_ОСОБ}, ХС_2) если Тип_Запр nil выход цикл кесли Тип_Запр := ОП_РАБ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ХАР если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ХАР, ХС)) Тип_Запр := ОП_ХАР выход цикл кесли кесли если Допуст_Типы(j) == ОП_ФУН если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ФУН, ХС)) Тип_Запр := ОП_ФУН выход цикл кесли кесли если Допуст_Типы(j) == ОП_НАЗ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_НАЗ, ХС)) Тип_Запр := ОП_НАЗ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ПРИМ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ПРИМ, ХС)) Тип_Запр := ОП_ПРИМ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ПРИН если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ПРИН, ХС)) Тип_Запр := ОП_ПРИН выход цикл кесли кесли если Допуст_Типы(j) == ОП_РАЗ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_РАЗ, ХС)) Тип_Запр := ОП_РАЗ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ОБЩ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ОБЩ, ХС)) Тип_Запр := ОП_ОБЩ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ОСОБ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ОСОБ, ХС)) Тип_Запр := ОП_ОСОБ выход цикл кесли кесли если Допуст_Типы(j) == ОП_ВОЗМ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ВОЗМ, ХС)) Тип_Запр := ОП_ВОЗМ выход цикл кесли кесли кесли если Тип_Инд == ХС_ если Допуст_Типы(j) == ОП_ОСОБ если Вхождение_слова_в_словарь( Запрос(i)::Баз_Формы, Словарь::Получить_Словарь( ОП_ОСОБ, ХС_2)) Тип_Запр := ОП_ОСОБ выход цикл кесли кесли кесли j := j+ кцикл если Тип_Запр nil выход цикл кесли i := i+ кцикл если (Запрос(0)::Знач == «из» И Запрос(1)::Знач == «чего») ИЛИ (Запрос(0)::Знач == «из» И Запрос(1)::Знач == «каких») Тип_Запр := ОП_СТР кесли если Запрос(0)::Знач == «за» И Запрос(1)::Знач == «что»

Тип_Запр := ОП_ФУН кесли если Запрос(0)::Знач == «зачем» ИЛИ Запрос(0)::Знач == «для»

Тип_Запр := ОП_НАЗ кесли если Запрос(0)::Знач == «к»

Тип_Запр := ОП_ПРИН кесли если Запрос(0)::Знач == «как» И Запрос(1)::Знач == «ведет»

Тип_Запр := ОП_ОСОБ кесли кон Алгоритм обработки правой части запроса как объекта интереса Внешняя спецификация алгоритма «Поиск_ОИ_Справа»

Назначение:

Алгоритм предназначен для обработки части запроса, идущей после типизирующего слова, как объекта интереса. В алгоритме используется флаг Доп_Обработка, необходимый для анализа специфической структуры запроса, характерной для вопроса описания функций вида «Какие обязанности в основном возложены на X?», где часть запроса «в основном» не является значимой.

Вход:

Запрос — массив слов поискового запроса, состоящий из элементов типа Расш_Слово.

i — стартовый индекс, с которого начинается проход по массиву Запрос. В запросе является индексом следующего после типизирующего слова элемента.

Словарь — словарь терминаторов. Используется для исключения незначащих элементов массива Запрос.

Тип_Запр — тип запроса.

Выход:

Результат — массив элементов типа Расш_Слово, трактуемый как объект интереса поискового запроса.

Алгоритм «Поиск_ОИ_Справа»

нач Результат := пустой_массив Доп_Обработка := истина z := пока Запрос(i) nil цикл если ! Вхождение_Слова_В_Словарь( Запрос(i)::Баз_Формы, Словарь) если Тип_Запр == ОП_ФУН И Доп_Обработка если Запрос(i)::Содержит_Стем(«возлагать») И Запрос(i+1) nil если Запрос(i+1)::Содержит_Стем(«на») Результат := пустой_массив Доп_Обработка := ложь z:= кесли кесли иначе Результат(z) := Запрос(i) z := z+ кесли иначе Результат := пустой_массив z:= кесли i := i+ кцикл кон Алгоритм обработки левой части запроса как дополнительного объекта интереса Внешняя спецификация алгоритма «Поиск_Доп_ОИ_Слева»

Назначение:

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

Данная обработка необходима для извлечения значимой дополнительной информации из запросов вида «В какой отрасли используется красный лазер?», где использование лазера уточняется в левой части запроса: «в какой отрасли», т. е. важен не столько лазер и его использование, сколько отрасль, в которой он используется. Приведем пример: «Как в металлургии в основном применяется Х?», «Как, главным образом, в Европе используется газ?» и т.д.

Вход:

Запрос — массив слов поискового запроса, состоящий из элементов типа Расш_Слово.

f — индекс элемента, которым завершается проход по массиву Запрос. В запросе является индексом предшествующего типизирующему слову элемента.

Словарь — словарь индикаторов, имеющих тип ДОП_ТР. Используется для исключения незначащих элементов массива Запрос.

Тип_Запр — тип запроса.

Выход:

Результат — массив элементов типа Расш_Слово, трактуемый как объект интереса поискового запроса.

Алгоритм «Поиск_Доп_ОИ_Слева»

нач Результат := пустой_массив z := i := пока Запрос(i) nil И i f цикл если Запрос(i)::Содержит_Стем(«в») И Запрос(i+1) nil если Вхождение_Слова_В_Словарь( Запрос(i+1)::Баз_Формы, Словарь) i := i+ кесли иначе если ! Вхождение_Слова_В_Словарь( Запрос(i)::Баз_Формы, Словарь) Результат(z) := Запрос(i) z := z+ кесли кесли i := i+ кцикл кон Алгоритм разбора структуры запроса в общем случае Внешняя спецификация алгоритма «Разбор_Общего_Случая»


Назначение:

Алгоритм предназначен для разбора большей части запросов, имеющих общую структуру. В алгоритме используются обращения к подалгоритмам, описанным выше: «Поиск_ОИ_Справа» и «Поиск_Доп_ОИ_Слева». Передача входных параметров в данные алгоритмы будет производиться в скобках, после названия алгоритма в том же порядке, в котором они описаны в спецификациях соответствующих алгоритмов. Рассмотрим алгоритм разбора запросов с общей структурой.

Вход:

Запрос — массив элементов типа Расш_Слово, представляющий входной запрос.

Тип_Запр — тип запроса.

Словарь_Доп_Слов — словарь допустимых слов-индикаторов.

словарь незначимых слов-индикаторов, т. е.

Словарь_Запр_Слов — продукций пустых цепочек.

Выход:

Отличит_Слово — слово-индикатор, по которому был определен тип запроса. Имеет тип Расш_Слово.

Объект_Интереса — массив элементов типа Расш_Слово, представляющий объект интереса. Объект интереса может состоять из нескольких слов, поэтому все они должны быть возвращены как значимые.

Доп_Объект_Интереса — дополнительный значимый объект интереса, влияющий на смысл запроса. Например, в запросе «Как в металлургии применяют газ?», таким объектом будет являться слово «металлургия», потому что запрашивается информация о применении газа именно в данной отрасли.

Внутренние переменные:

Словарь_Доп_Запр_Слов — словарь дополнительных продукций пустых цепочек, специфичных для запросов типа ОП_ПРИМ.

Алгоритм «Разбор_Общего_Случая»

нач i := пока Запрос(i) nil цикл если Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Доп_Слов) Отличит_Слово := Запрос(i) Объект_Интереса := Поиск_ОИ_Справа( Запрос, i+1, Словарь_Запр_Слов, Тип_Запр) если Тип_Запр == ОП_ПРИМ Словарь_Доп_Запр_Слов := Словарь::Получить_Словарь( ОП_ПРИМ, ДОП_ТР)) Доп_Объект_Интереса := Поиск_Доп_ОИ_Слева( Запрос, Словарь_Доп_Запр_Слов, i+1, Тип_Запр) кесли выход кесли i := i+ кцикл кон «Описание Алгоритм разбора и анализа запросов с типом принадлежности»

Внешняя спецификация алгоритма «Разбор_Запр_ОП_ПРИН»

Назначение:

Алгоритм предназначен для разбора запросов с типом ОП_ПРИН. При разборе учитываются дополнительные объекты интереса для запросов вида «К какой группе млекопитающих относится слон?». В алгоритме используется флаг Объект_Найден, сигнализирующий у том, что основной объект интереса обнаружен.

Вход:

Запрос — массив элементов типа Расш_Слово, представляющий входной запрос.

Тип_Запр — тип запроса.

Словарь_Доп_Слов — словарь допустимых слов-индикаторов.

словарь незначимых слов-индикаторов, т. е.

Словарь_Запр_Слов — продукций пустых цепочек.

словарь слов-индикаторов, являющихся Словарь_Доп_Указателей — дополнительными указателями. Примеры: «относиться», «принадлежать», «входить».

Выход:

Отличит_Слово — слово-индикатор, по которому был определен тип запроса. Имеет тип Расш_Слово.

Объект_Интереса — массив элементов типа Расш_Слово, представляющий объект интереса. Объект интереса может состоять из нескольких слов, поэтому все они должны быть возвращены как значимые.

Доп_Объект_Интереса — дополнительный значимый объект интереса, дополняющий смысл смысл запроса. Например, в запросе «В какой класс веществ входит серная кислота?», таким объектом будет являться слово «вещество», потому что запрашивается информация о принадлежности серной кислоты к классу веществ.

Алгоритм «Разбор_Запр_ОП_ПРИН»

нач Объект_Найден := ложь i := o := a := пока Запрос(i) nil цикл если Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Доп_Слов) Отличит_Слово := Запрос(i) кесли j := i+ пока Запрос(j) nil цикл если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Указателей) Отличит_Слово := Запрос(j) Объект_Найден := истина иначе если Объект_Найден == ложь если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) Доп_Объект_Интереса(a) := Запрос(j) a := a+ кесли иначе если ! Вхождение_Слова_В_Словарь( Запрос(j)::Баз_Формы, Словарь_Запр_Слов) Объект_Интереса(o) := Запрос(j) o := o+ кесли кесли кесли j := j+ кцикл i := i+ кцикл кон Алгоритм разбора и анализа запросов с двумя объектами интереса Внешняя спецификация алгоритма «Опр_2ОИ»

Назначение:

Алгоритм предназначен для разбора запросов, имеющих два объекта интереса. Таковыми вопросами являются вопросы описания общих характеристик и вопросы описания различий. В алгоритме используется флаг Первый_Объект_Найден, для индикации ситуации, когда обнаружен один из объектов интереса.

Вход:

Запрос — массив элементов типа Расш_Слово, представляющий входной запрос.

Тип_Запр — тип запроса.

Словарь_Доп_Слов — словарь допустимых слов-индикаторов.

словарь незначимых слов-индикаторов, т. е.

Словарь_Запр_Слов — продукций пустых цепочек.

Словарь_Союзов— словарь слов-индикаторов, являющихся соединяющими для двух объектов интереса (обычные союзы).

Выход:

Отличит_Слово — слово-индикатор, по которому был определен тип запроса. Имеет тип Расш_Слово.

массив элементов типа Объект_Интереса1 Расш_Слово, — представляющий первый объект интереса. Объект интереса может состоять из нескольких слов, поэтому все они должны быть возвращены как значимые.

массив элементов типа Объект_Интереса2 Расш_Слово, — представляющий второй объект интереса.

Алгоритм «Опр_2ОИ»

нач Первый_Объект_Найден := ложь i := f := s : = пока Запрос(i) nil цикл если Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Доп_Слов) Отличит_Слово := Запрос(i) кесли j := i+ пока Запрос(j) nil цикл если Запрос(j-1)::Содержит_Стем(«общий») И Запрос(j)::Содержит_Стем(«черта») начать цикл с j+ кесли если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Союзов) Первый_Объект_Найден := ложь начать цикл с j+ кесли если ! Первый_Объект_Найден если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) Объект_Интереса1(f) :=Запрос(j) f := f+ иначе Объект_Интереса1 := пустой_массив f := кесли иначе если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) Объект_Интереса2(s) :=Запрос(j) s:= s+ иначе Объект_Интереса2 := пустой_массив s := кесли кесли j := j+ кцикл i := i+ кцикл i := если Первый_Объект_Найден И f == пока Запрос(i) nil цикл если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Слов ) если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) Объект_Интереса1(f) :=Запрос(i) f := f+ кесли иначе выход цикл кесли i := i+ кцикл иначе если ! Первый_Объект_Найден Объект_Интереса2 := Объект_Интереса Объект_Интереса1 := пустой_массив f := i := пока Запрос(i) nil цикл если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Слов ) если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, !

Словарь_Запр_Слов) Объект_Интереса1(f) :=Запрос(i) f := f+ кесли иначе выход цикл кесли i := i+ кцикл кесли кесли кон Алгоритм разбора и анализа запросов с типом «Описание особенностей»

Внешняя спецификация алгоритма «Разбор_Запр_ОП_ОСОБ»

Назначение:

Алгоритм предназначен для разбора запросов с типом ОП_ОСОБ. При разборе учитывается первостепенный, второстепенный и дополнительный объекты интереса. Например, для запроса «Как работает Х в обстоятельствах первостепенным объектом будет второстепенным а Y?» X, — Y, дополнительным слово «работает». Смысл выделения дополнительного объекта интереса в том, чтобы уточнять о каких именно особенностях идет речь в запросе, а так же для различения запросов такого рода от запросов с типом ОП_РАБ. Рассмотрим данный алгоритм.

Вход:

Запрос — массив элементов типа Расш_Слово, представляющий входной запрос.

Тип_Запр — тип запроса.

Словарь_Доп_Слов — словарь допустимых слов-индикаторов.

словарь незначимых слов-индикаторов, т. е.

Словарь_Запр_Слов — продукций пустых цепочек.

Словарь_Союзов— словарь слов-индикаторов, являющихся соединяющими для двух объектов интереса (обычные союзы).

словарь слов-индикаторов, являющихся Словарь_Доп_Указателей — дополнительными указателями. Примеры: «работать», «вести», «функционировать».

Выход:

Отличит_Слово — слово-индикатор, по которому был определен тип запроса. Имеет тип Расш_Слово.

массив элементов типа Объект_Интереса1 Расш_Слово, — представляющий первый объект интереса. Объект интереса может состоять из нескольких слов, поэтому все они должны быть возвращены как значимые.

массив элементов типа Объект_Интереса2 Расш_Слово, — представляющий второй объект интереса.

массив элементов типа Доп_Объект_Интереса Расш_Слово, — представляющий дополнительный объект интереса.

Алгоритм «Разбор_Запр_ОП_ОСОБ»

нач Объект_Найден := ложь i := f := s := a := пока Запрос(i) nil цикл если Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Доп_Слов) Отличит_Слово := Запрос(i) Объект_Найден := ложь j := i+ пока Запрос(j) nil цикл если Запрос(j-1)::Содержит_Стем(«отличительный») И Запрос(j)::Содержит_Стем(«черта») начать цикл с j+ кесли если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Указателей) Доп_Объект_Интереса := Запрос(j) начать цикл с j+ кесли кесли если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Союзов) Объект_Найден := ложь начать цикл с j+ кесли если Объект_Найден Объект_Интереса2(s) := Запрос(j) s := s+ иначе Объект_Интереса1(f) := Запрос(j) f := f+ кесли j := j+ кцикл если Объект_Интереса1 == пустой_массив j := пока Запрос(j) nil цикл если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Слов) если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Указателей) Объект_Интереса1(f) := Запрос(j) f := f+ кесли кесли иначе выход цикл кесли j := j+ кцикл кесли выход иначе если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Доп_Указателей) Объект_Найден := ложь Доп_Объект_Интереса(a) := Запрос(i) a := a+ j := i+ пока Запрос(j) nil цикл если ! Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Запр_Слов) если Вхождение_Слова_В_Словарь(Запрос(j)::Баз_Формы, Словарь_Союзов) Объект_Найден := истина начать цикл с j+ кесли кесли если Объект_Найден Объект_Интереса2(s) := Запрос(j) s := s+ иначе Объект_Интереса1(f) := Запрос(j) f := f+ кесли j := j+ кцикл кесли выход кесли i := i+ кцикл кон Алгоритм разбора части запроса с целью выявления даты Внешняя спецификация алгоритма «Определение_Даты»

Назначение:

Алгоритм предназначен для определения даты, относительно которой может содержаться информация в части запроса. Алгоритм обрабатывает ситуации вида «позапрошлый год», «год назад», «5 лет назад», «в 1998 году», «три года назад». Это позволяет однозначно определять год, относительно которого запрашивается информация. Временной интервал меньшей длительности не рассматривается в силу того, что нахождение информации подобного рода на общедоступных ресурсах маловероятно.

В алгоритме используется метод «Содержит_Стем», описанный в параграфе 2.7. Данный метод возвращает истину или ложь в зависимости от того, содержится ли поданное на вход слово в массиве базовых форм слова Используется следующим образом:

Баз_Формы.

слово::Содержит_Стем(набор_символов), где слово — объект, имеющий тип Расш_Слово, а набор_символов — некоторый текст, который необходимо обнаружить в массиве Баз_Формы.

Также в алгоритме используется метод «Число?», который возвращает значения «истина» или «ложь» в зависимости от того, является ли текущий элемент запроса символом, представляющим число. Например, «9», «2010».

Работа данного метода основана на регулярных выражениях, реализация которых специфична для выбираемой платформы реализации.

Дополнительно используется подалгоритм «Символ-Цифра», который позволяет преобразовать числительные «один», «два», «пара», «три», «четыре», «пять», «шесть», «семь», «восемь», «девять» и «десять» в соответствующие им цифры. Данный алгоритм является тривиальным и основан на прямом сопоставление входного слова одному из числительных. Если совпадение найдено, то возвращается соответствующая цифра, в противном случае возвращается nil. Обращение к подалгоритму происходит следующим образом:

где это результат Результат:= Символ-Цифра(слово), результат — выполнения подалгоритма, а слово — это объект типа Расш_Слово, подлежащий проверке.

Вход:

Запрос — массив слов поискового запроса, состоящий из элементов типа Расш_Слово.

f — индекс элемента, с которого начинается проход по части массива Запрос.

Тип_Запр — тип запроса.

Выход:

Дата — массив элементов типа Расш_Слово, содержащий информацию о дате, если таковая обнаружена в оставшейся части запроса.

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

Внутренние переменные:

Текущий_Словарь — текущий словарь слов-индикаторов с типом ДОП_ТР.

Определяется в зависимости от типа запроса поданного на вход.

Дельта — цифровое обозначение для вычисления дат вида «прошлый год» и «позапрошлый год».

Текущий_Год — переменная, обозначающая цифровое представление текущего года. Например, 2011. Значение устанавливается методами, специфичными для выбранной платформы реализации.

Алгоритм «Определение_Даты»

нач если Тип_Запр == В_ДЦ Текущий_Словарь := Словарь::Получить_Словарь( В_ДЦ, ДОП_ТР) кесли если Тип_Запр == В_ИМ Текущий_Словарь := Словарь::Получить_Словарь( В_ИМ, ДОП_ТР) кесли если Вхождение_Слова_В_Словарь(Запрос(f)::Баз_Формы, Текущий_Словарь) Дельта := если Запрос(f)::Содержит_Стем(«прошедший») ИЛИ Запрос(f)::Баз_Формы::содержит(«прошлый») Дельта := - иначе если Запрос(f)::Содержит_Стем(«позапрошлый») Дельта := - кесли кесли если Запрос(f+1) nil если Запрос(f)::Содержит_Стем(«год») Дата(0) := Текущий_Год + Дельта Дата(1) := Запрос(f+1) если Запрос(f+2) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли кесли кесли если Запрос(f)::Число?

если Запрос(f+2) nil если Запрос(f+1)::Содержит_Стем(«год») И Запрос(f+1)::Содержит_Стем(«назад») Дата(0) := Текущий_Год — Запрос(f) Дата(1) := Запрос(f+1) если Запрос(f+2) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли иначе если Запрос(f+1) nil если Запрос(f+1)::Содержит_Стем(«год») Дата(0) := Текущий_Год — Запрос(f) Дата(1) := Запрос(f+1) если Запрос(f+2) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли кесли иначе Дата(0) := Текущий_Год — Запрос(f) если Запрос(f+1) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли кесли если Запрос(f)::Содержит_Стем(«год») если Запрос(f+1) nil И Запрос(f+1)::Содержит_Стем(«назад») Дата(0) := Текущий_Год — Дата(1) := Запрос(f) если Запрос(f+1) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли кесли если Символ-Цифра(Запрос(f)) если Запрос(f+2) nil если Запрос(f+1)::Содержит_Стем(«год») И Запрос(f+2)::Содержит_Стем(«назад») Дата(0) := Текущий_Год — Слово-Цифра(Запрос(f)) Дата(1) := Запрос(f+1) если Запрос(f+1) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли иначе если Запрос(f+1) nil И Запрос(f+1)::Содержит_Стем(«год») Дата(0) := Текущий_Год — Слово-Цифра(Запрос(f)) Дата(1) := Запрос(f+1) если Запрос(f+1) == nil Результат := истина выход иначе Результат := ложь выход кесли кесли кесли кесли Результат := ложь кон Алгоритм разбора статьи Wiktionary Внешняя спецификация алгоритма «Разбор_Wiki_Статьи»

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

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

Выход: Значения, Синонимы, Гипонимы, Гиперонимы — значения, синонимы, гипонимы и гиперонимы соответственно, представленные структурой данных список.

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

Строка, Шаблон, Pipe — логические переменные, выступающие в роли флагов;

ВрСтрока — строковый массив для хранения промежуточных результатов;

РезСтрока, ВрСтрока2, Символ— строки для хранения промежуточных результатов.

Алгоритм «Разбор_Wiki_Статьи»

нач Значения := Синонимы := Гипонимы := Гиперонимы := ВремСписок := пустой_список i := 0;

пока МасСтрок[i] nil цикл если МасСтрок[i] пустая_строка если МасСтрок[i].содержит ("=== Значение ===") ВремСписок := Значения иначе если МасСтрок[i].содержит ("=== Синонимы ===") ВремСписок := Синонимы иначе если МасСтрок[i].содержит ("=== Гипонимы ===") ВремСписок := Гипонимы иначе если МасСтрок[i].содержит ("=== Гиперонимы ===") ВремСписок := Гиперонимы иначе если МасСтрок[i].содержит ("==") выход если МасСтрок[i].начинается_с ("#") ВрСтрока = пустой_массив если МасСтрок[i].содержит("{{пример") ВрСтрока МасСтрок[i].подстрока(0, := МасСтрок[i].позиция_строки("{{пример")).посимвольная_разбивка иначе ВрСтрока := МасСтрок[i].посимвольная_разбивка кесли кесли Строка := Шаблон := Pipe := ложь РезСтрока := ВрСтрока2 := пустая_строка j := пока ВрСтрока[j] nil цикл Символ := ВрСтрока[j] если Символ == "#" или Символ == "" продолжить цикл со следующего шага если Символ == "{" Шаблон := истина если ВрСтрока[j-1] == "]" или ВрСтрока[j-1] == "}" РезСтрока.добавить(" ") продолжить цикл со следующего шага кесли если Символ == "[" Ссылка := истина если ВрСтрока[j-1] == "]" или ВрСтрока[j-1] == "}" РезСтрока.добавить(" ") продолжить цикл со следующего шага кесли если Символ == "]" Ссылка := ложь если Шаблон == ложь РезСтрока.добавить(ВрСтрока2) ВрСтрока2 := пустая_строка кесли продолжить цикл со следующего шага кесли если Символ == "}" Шаблон := ложь если Pipe == истина РезСтрока.добавить(ВрСтрока2) ВрСтрока2 := пустая_строка Pipe == ложь иначе ВрСтрока2 := пустая_строка кесли продолжить цикл со следующего шага кесли если Символ == "|" Pipe := истина если Ссылка == истина ИЛИ Шаблон == истина ВрСтрока2 := пустая_строка кесли продолжить цикл со следующего шага кесли если Ссылка == истина ИЛИ Шаблон == истина ВрСтрока2.добавить(Символ) продолжить цикл со следующего шага кесли если Ссылка == ложь И Шаблон == ложь ВрСтрока2.добавить(Символ) кесли кцикл если РезСтрока "" И РезСтрока "uk" ВрСписок.добавить (РезСтрока) кесли кесли i := i+ кцикл кон Алгоритм построения множества ExtSet для запросов о достижении целей Внешняя спецификация алгоритма «Расширение_В_ДЦ»

Алгоритм предназначен для построения множества Назначение:

семантически преобразованных запросов ExtSet для запросов о достижениях целей. Алгоритм использует подалгоритм «Получить_Факты_ДЦ», который обращается к базе знаний и производит выборку фактов для поданных на вход объекта интереса и характеристического слова запроса. В алгоритме использованы стандартные операции со строками, реализованные в практически любом языке программирования высокого уровня.

Вход: Отличит_Слово - слово-индикатор, по которому был определен тип запроса;

ОИ — массив элементов типа Расш_Слово, представляющий объект интереса;

Доп_ОИ — дополнительный значимый объект интереса, влияющий на смысл запроса.

Выход: ExtSet — множество семантически преобразованных запросов.



Pages:     | 1 |   ...   | 2 | 3 || 5 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.