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.
Poslední úprava: Hric Jan, RNDr. (07.05.2018)
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.
Poslední úprava: Hric Jan, RNDr. (07.05.2018)
Cíl předmětu -
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ě.
Poslední úprava: Hric Jan, RNDr. (09.05.2018)
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.
Poslední úprava: Hric Jan, RNDr. (07.05.2018)
Podmínky zakončení předmětu -
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 v Pythonu použitého na vyřešení úkolu. Oboje, text i kód lze odevzdat ve formě Jupyterovského notebooku. Alternativně můžete texty odevzdat ve formátu PDF a 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ž 55 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%
Poslední úprava: Mráz František, RNDr., CSc. (06.11.2024)
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. You can edit a draft solution of an assignment at any time, but the time of submission is when you click the "Submit assignment" button. After clicking this button, you can no longer edit your submission, but you can ask your teacher (per e-mail) to return the assignment to the draft state. The teacher will grade each submitted assignment 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 Python code for solving the task. You can submit both the description and code as a Jupyter notebook. Alternatively, you can submit your texts as a PDF file and the source codes as plain ASCII files.
Warning: If N≥2 participants of the course will submit solutions that are very similar or identical, all these solutions will be considered as a single solution. A teacher will grade the solution by B points according to its quality, and all students who submitted the solution 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 a deadline set. In contrast to assignments, it will not be possible to solve any quiz after its deadline.
For obtaining credits from 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 with a 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. Subjects of the projects 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 to a problem assigned during a lab — 1 point,
for demonstrating a solution submitted as a solution for an assignment in Moodle (after its deadline) — the integer part of the half of the number of points awarded for the solution (after evaluating by the teacher)
Except for the additional points, obtaining up to 55 points is possible. All points obtained during labs will account for up to 40% of the final exam score. However, when a student obtains more than 55 points within labs (counting also additional points), these points will still account for only 40% of the final exam score.
Continuous work throughout the 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 exam score. Further, there will be one written test, which will be written during a lab. 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% of the final score. The following table gives the final grade according to the achieved score:
grade 1
grade 2
grade 3
failure
100%–86%
85%–71%
71%–56%
less than 56%
Poslední úprava: Mráz František, RNDr., CSc. (06.11.2024)
Literatura -
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
Poslední úprava: 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
Poslední úprava: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Požadavky ke zkoušce -
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.
Poslední úprava: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
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.
Poslední úprava: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Sylabus -
Úvod do problematiky:
Vyhledávání informací, prohledávání webu, analýza sociálních sítí
Aktuální výzkum v oblasti sociálních sítí a směr dalšího vývoje
Základní paradigmata pro analýzu sociálních sítí:
Popis dat a modelů, předzpracování textu a webových stránek, modely
pro grafová data, vlastnosti statických a dynamických grafů
Izomorfizmus podgrafů, problém největšího společného podgrafu
Zjišťování shody a výpočet vzdálenosti na grafech
Topologické deskriptory
Časté transformace založené na znalosti (pod)struktury a dobývání
znalostí z grafů
Klastrování a klasifikace grafů
Techniky pro dobývání znalostí z webu:
Web crawling a vyhledávání zdrojů
Indexování a zpracování dotazu ve vyhledávačích, ovlivňování výsledků
vyhledávání
Řadicí algoritmy: PageRank a HITS
Doporučovací systémy: metody založené na obsahu, kolaborativní
filtrování, grafové metody, klastrovací metody, modely založené na LSI
Dobývání znalostí o využívání webu: sběr dat a jejich předzpracování,
zjišťování a analýza poznatků o způsobu využívání webu
Přístupy pro analýzu sociálních sítí:
Úvod a základní vlastnosti, míry pro centralitu a prestiž
Vyhledávání komunit: algoritmus Kernighan-Lina a jeho analýza,
klastrovací algoritmy, prolínající se komunity
Klasifikace uzlů a šíření jejich vlastností, analýza sociálního vlivu,
detekce expertů v sociálních sítích
Evoluce a predikce linků v sociálních sítích
Aplikace:
Analýza sentimentu
Zjišťování názoru: zjišťování názoru na základě příznaků a sumarizace,
vyhledávání a spamování názorů
Dobývání znalostí z dat, textu a multimedií na sociálních sítích
Reklama na webu
Poslední úprava: Hric Jan, RNDr. (07.05.2018)
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