The concept of social networks is widely used to model mutual relationships between people (but also between
other objects like chemical compounds). Intriguing problems from this area range from finding important
structural patterns that influence interaction among the considered actors across sentiment analysis that studies
people´s opinions, emotions, and attitudes to the analysis and evolution of the network structure itself. Recently,
the trends have shifted rather towards online social networks (e.g., Facebook, LinkedIn and MySpace) which allow
for efficient data collection.
Last update: Hric Jan, RNDr. (07.05.2018)
Koncept sociálních sítí se používá pro modelování vzájemných vztahů mezi
lidmi (ale i jinými objekty jako např. chemickými sloučeninami).
Zajímavé problémy sahají od hledání důležitých strukturálních vzorů,
které ovlivňují vzájemnou interakci jednotlivých aktérů v síti, přes
analýzu sentimentu, která studuje názory, emoce a postoje lidí, až po
analýzu a vývoj struktury sociální sítě samotné. Současné trendy směřují
spíše k internetovým sociálním sítím, jako jsou např. Facebook, LinkedIn
a MySpace. Ty totiž podporují mimořádně snadný sběr dat použitelných pro
nejrůznější aplikace.
Last update: Hric Jan, RNDr. (07.05.2018)
Aim of the course -
The course reviews fundamental paradigms and algorithms used in the area of social networks. An important part of the lecture/seminar will represent the design and implementation of an own application in order to facilitate deeper understanding of both the social networks and the means applicable to their analysis. Knowledge at the extent of the bachelors´ course NDBI025 Database systems is expected as well as knowledge of the Python language at least on the level of the introductory course in programming for year 1 of the bachelor study program.
The course is given (only) in English.
Last update: Hric Jan, RNDr. (07.05.2018)
Přednáška má spíše přehledový charakter a jejím hlavním cílem je seznámit studenty se základními pojmy a algoritmy používanými v oblasti sociálních sítí. Součástí přednášky/cvičení bude návrh jednoduché aplikace umožňující hlubší pochopení problematiky sociálních sítí a přístupů vhodných pro jejich analýzu. Předpokládají se znalosti v rozsahu bakalářského kurzu NDBI025 Databázové systémy a zvládnutí jazyka Python alespoň na úrovni úvodního kurzu programování pro 1. ročník bakalářského studia.
Předmět je přednášen (pouze) v angličtině.
Last update: Hric Jan, RNDr. (09.05.2018)
Course completion requirements -
A) The lab
Step by step, in an accompanying Moodle course there will be published assignments and quizzes.
Assignments:
Each assignment has a deadline till which the assignment should be submitted for grading. A draft solution of an assignment can be edited at any time, but the time of submission is the time you click the button "Submit assignment". After clicking this button you cannot edit your submission anymore, but you can ask (per e-mail) your teacher to return the assignment back into the draft state. Each submitted assignment will be graded by the teacher with 0–10 points. During the semester, you will solve 2 assignments.
A typical solution for an assignment will consist of a text — a description of the solution — and a code of a program/script used for solving the assignment. Submit your texts as a PDF-file or alternatively as an RTF-file. The source codes should be submitted as plain ASCII files.
Warning: If N≥2 participants of the course will submit solutions which are very similar or identical, all these solutions will be considered as a single solution. The solution will be graded by B points according to its quality and all students who submitted it will obtain only the integer part of the value B/N points.
Quizzes:
Beside the assignments, you will solve several on-line quizzes for at most 20 points altogether. Each quiz will have set up also a deadline. In contrast to assignments, it will be not possible to solve any quiz after its deadline.
For obtaining credits for the lab it is necessary:
To solve all the assignments and to obtain at least 1 point for each solution. WARNING: late submission of a solution will be penalized by 1 point decrease for each started week of the delay after the deadline.
To prepare and to present a term project in the lab in the last week of the term or on a date (during the following exam period) that will be set up in the lab within the last week of the term. Subject for the project will be discussed in a lab in the middle of this term. Each project will be graded up to 15 points according to its quality.
The quizzes are not among the necessary conditions for obtaining credits for the lab. During labs, it is possible to obtain additional points
for demonstrating a solution of a problem assigned during a lab — 1 point,
for demonstrating a solution submitted as a solutions for an assignment in Moodle (after its deadline) — the integer part of the half of the number of point awarded for the solution (after evaluating by the teacher)
Except for the additional points, it is possible to obtain up to 65 points. All points obtained during labs will be accounted for up to 40% of the final score of the exam. However, when a student will obtain more than 65 points within labs (counting also additional points), these points will still account for only 40% of the final score of the exam.
Continuous work throughout the whole term is required to obtain the credits, therefore there will be no additional possibilities to acquire them later.
B) The lecture
The lecture will be given once per week according to the schedule. As already mentioned above, points acquired within the labs will account for up to 40% of the final score for the exam. Further, there will be one written test which will be written during a lecture. The date for the written test will be set up within the first week of the semester and published in the accompanying Moodle course.
This test will be graded with 0–15% towards the final score. The exam at the end of this term will add up to the remaining 45% to the final score. The following table gives the final grade according to achieved score:
grade 1
grade 2
grade 3
failure
100%–86%
85%–71%
71%–56%
less than 56%
Last update: Mráz František, RNDr., CSc. (18.09.2023)
A) Cvičení
V doprovodném Moodle-kurzu budou postupně zveřejňované úkoly a testy.
Úkoly:
Každý úkol má stanovené datum odevzdání. Řešení lze do systému vkládat postupně a průběžně ho upravovat. Časem odevzdání je čas kliknutí na tlačítko "Odevzdat úkol". Po kliknutí na toto tlačítko řešení už nelze opravovat, ale lze zažádat e-mailem učitele o vrácení do stavu rozpracovaný. Každý úkol bude učitelem oznámkován přidělením 0–10 bodů. Za celý semestr budou zadány 2 úkoly.
Typické řešení úkolu bude sestávat z textu — popisu řešení — a kódu programu/skriptu v Pythonu použitého na vyřešení úkolu. Texty odevzdávejte ve formátu PDF, případně RTF, zdrojové kódy jako jednoduché ASCII soubory.
Upozornění: V případě, že bude zjištěno, že N≥2 posluchačů odevzdalo řešení, která se nápadně podobají nebo jsou zcela totožná, budou všechna tato řešení považována za jedno řešení. Toto řešení bude ohodnoceno B body podle jeho kvality, ale každý z těchto N řešitelů získá pouze dolní celou část z B/N bodů.
Testy:
Kromě úkolů, budou postupně zveřejňovány on-line testy, za které bude možné získat dohromady maximálně 20 bodů. Každý test bude mít stanovené datum, do kterého musí být vyřešen. Řešit test po tomto datu nebude možné.
Pro získání zápočtu je nutné:
Vypracovat řešení všech úkolů a za řešení každého úkolu získal alespoň 1 bod. POZOR: za pozdní odevzdání úkolu se strhává 1 bod za každý započatý týden po termínu odevzdání!
Vypracovat a přednést řešení projektu na jednom z posledních cvičení nebo v termínu prezentací v zkouškovém období (jeho datum a čas bude dohodnutý na cvičení v posledním týdnu semestru). Témata projektů budou dohodnutá přibližně v půlce semestru na cvičení. Prezentace a odevzdané řešení budou taktéž ohodnoceny dohromady 0–15 body.
Řešení on-line testů není nutnou podmínkou pro získání zápočtu. Na cvičeních lze získat dodatečné body
za předvedení řešení úkolu zadaného na cvičení — 1 bod,
za předvedení řešení úkolu zadaného a odevzdaného v Moodlu (po termínu odevzdání) — dolní celá část poloviny bodů, které budou přiděleny za odevzdané řešení.
Bez dodatečných bodů tak lze za celý semestr získat až 65 bodů. Body získané za celý semestr budou zkoušejícím započítány do celkové známky za předmět tak, aby tvořily 40% výsledného bodového hodnocení, ze kterého bude odvozena známka při zkoušce. I když student získá z cvičení více než 65 bodů (po započítání dodatečných bodů), tak tyto budou započítány pouze jako 40% do hodnocení zkoušky.
Získání zápočtu vyžaduje průběžnou práci přes celý semestr, a proto žádné náhradní termíny pro získání zápočtu nebudou vypsány.
B) Přednáška
Přednáška se koná jednou týdně podle rozvrhu. Jak už bylo zmíněno výše, body získané z cvičení budou započítány s vahou 40% do celkového hodnocení posluchače. Dále se bude v rámci přednášky psát písemný test. Datum konání testu bude vypsáno na začátku semestru a bude zveřejněno v doprovodném Moodle kurzu. Písemný test přispěje 15% k celkovému hodnocení. Samotná zkouška na konci semestru se započítává 45% do výsledného hodnocení. Posluchač získá známku na základě celkového hodnocení podle následující tabulky
známka 1
známka 2
známka 3
nevyhověl
100%–86%
85%–71%
70%–56%
méně než 56%
Last update: Mráz František, RNDr., CSc. (18.09.2023)
Literature -
Charu C. Aggarwal (Ed.): Social Network Data Analytics, Springer, 2011
Amy N. Langville, Carl D. Meyer: Google´s PageRank and Beyond: The Science of Search Engine Rankings, Princeton University Press, 2006
Bing Liu: Sentiment Analysis: Mining Opinions, Sentiments, and Emotions, Cambridge University Press, 2015
Albert-László Barabási: Network science. Cambridge university press, 2016
Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Charu C. Aggarwal (Ed.): Social Network Data Analytics, Springer, 2011
Amy N. Langville, Carl D. Meyer: Google´s PageRank and Beyond: The Science of Search Engine Rankings, Princeton University Press, 2006
Bing Liu: Sentiment Analysis: Mining Opinions, Sentiments, and Emotions, Cambridge University Press, 2015
Albert-László Barabási: Network science. Cambridge university press, 2016
Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Requirements to the exam -
The exam consists of a written and oral part. The written part precedes the oral part. Failing the written part impacts failing the whole exam, i.e. the exam will be classified by the grade 4 (failed) and the exam will not continue with the oral part. When failing the oral part the next (reparative) attempt will consist again of both the written and oral parts. The final grade of the exam is set based on points awarded for the written and oral parts of the exam as well as on the points obtained for student’s work throughout the semester - see Course completion requirements.
The written part of the exam consists of three questions related to the syllabus of the lecture and/or material covered during the lab classes.
The requirements for the exam correspond to the syllabus of the lecture within the extent presented in the classes. In order to take part in the exam, it is necessary to obtain Final course credit.
Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Zkouška se skládá z písemné a ústní části. Písemná část předchází části ústní, její nesplnění znamená, že celá zkouška je hodnocena známkou nevyhověl(a) a ústní částí se již nepokračuje. Nesložení ústní části znamená, že při příštím termínu je nutno opakovat obě části zkoušky, písemnou i ústní. Známka ze zkoušky se stanoví na základě bodového hodnocení písemné i ústní části zkoušky a bodového hodnocení získaného za práci během semestru (viz podmínky zakončení předmětu).
Písemná část zkoušky bude sestávat ze tří otázek k tématům, která korespondují se sylabem přednášky a/nebo látce procvičované na cvičení.
Požadavky ke zkoušce odpovídají sylabu předmětu v rozsahu, který byl prezentován na přednášce, resp. cvičení. Nutnou podmínkou pro účast na zkoušce je získání zápočtu.
Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Syllabus -
Introduction to the area:
Information retrieval, web search, social network analysis
Main areas of interest in social networks and future directions
Fundamental paradigms of social network analysis:
Data and model description, text and web page pre-processing, graph data models, static and
dynamic graph properties
Subgraph isomorphism, maximum common subgraph problem
Matching and distance computation in graphs
Topological descriptors for graph structures
Frequent substructure-based transformations and mining in graphs
Graph clustering and graph classification
Techniques for web data mining:
Web crawling and resource discovery
Search engine indexing and query processing, web spamming