Subject

Web search engines

1. Course Title Web search engines
Web search systems
2. Code F23L3S080
3. Study Programme
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 8 / Summer
7. Number of ECTS credits 6
8. Teacher Ivan Kitanovski, Ivica Dimitrovski
9. Prerequisites for enrolling in the course Artificial Intelligence or Introduction to Data Science or Machine Learning
10. Objectives of the course programme (competences) Introduction to concepts for the development of web search engines. Understanding the methods for processing queries and the document collections searched, as well as methods for automatically collecting data from the web. Upon completion of the course, the student is expected to demonstrate knowledge of methods for query processing, document representation, and their indexing and classification; to demonstrate knowledge of image search and indexing methods; and to be able to independently develop search algorithms using programming tools.
11. Course content Lectures:
1. Introduction to Web Search Engines.
2. Processing questions; Search with feedback.
3. Vector spaces; Document structure; Creating indexes.
4. Evaluation of search systems.
5. Clustering and classification of documents.
6. Collecting information from the web and social networks and indexing it.
7. Personalized search.
8. Question Answering Algorithms.
9. Image search and indexing.
10. Image search and indexing.
11. Ethical challenges in information search: privacy, fake news detection, fair search.
12. Neural network and vector representation language models.

Practical Classes:
1. Overview of search libraries and tools. Overview of ElasticSearch.
2. Processing queries with ElasticSearch and Python.
3. Indexing data with ElasticSearch and Python.
4. Overview of evaluation metrics.
5. Implementation of clustering and document classification algorithms in Python.
6. Implementing a bot to retrieve data in Python.
7. Implementation of algorithms for personalized search in Python.
8. Implementation of question understanding and answering algorithms in Python.
9. Implementation of algorithms for image indexing and searching.
10. Implementation of algorithms for image indexing and searching.
11. Review of models for detecting fake news and fair search.
12. Overview of neural network–based models and various vector representations in the context of information retrieval.
12. Learning methods Lectures using presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defense of a project assignment and a seminar paper.
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 0 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities 15.2 and 16.1 have been completed.
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze | Introduction to Information Retrieval | Cambridge University Press | 2008
2. Stefan Büttcher, Charles L. A. Clarke, Gordon V. Cormack | Information Retrieval: Implementing and Evaluating Search Engines | MIT Press | 2016
22.2. Additional literature
No. Author Title Publisher Year