Collectieve Intelligentie

Collective Intelligence

6 EC

Semester 2, periode 5

5072COIN6Y

Eigenaar Bachelor Informatiekunde
Coördinator M. Mazloom
Onderdeel van Bachelor Informatiekunde, jaar 1

Studiewijzer 2017/2018

Globale inhoud

Een groot deel van ons leven speelt zich online af. Hierdoor komt een groeiende hoeveelheid informatie beschikbaar over wat mensen interessant vinden, waar voorkeuren over boeken, muziek, tv shows, vakantiebestemmingen etc. naar uit gaan. "Collectieve intelligentie" verwijst naar het gebruik van dit soort informatie om klanten en gebruikers beter te bedienen. Bekende bedrijven die succesvol gebruik maken van collectieve intelligentie zijn online retailers zoals Amazon, filmverhuurbedrijven zoals Netflix en zoekmachines zoals Google. Succesvolle toepassingen van collectieve intelligentie zijn gebaseerd op zogenaamde recommender-systemen: algoritmes die op basis van eerdere observaties, aanbevelingen doen. In de cursus behandelen we zowel het algemene idee van collectieve intelligentie als een aantal van de onderliggende recommender-systemen.

Een veel gebruikte techniek om gegevens te verkrijgen binnen de collectieve intelligentie bestaat uithet automatisch analyseren van teksten. Je kunt hier denken aan programmas die het sentiment van een bespreking van een film of een nieuw spel bepalen. Het eerste deel van de cursus zullen we dus besteden een "programmeren met tekst". 

 

Studiemateriaal

Literatuur

  • T. Segaran, 'Programming collective intelligence: building smart web 2.0 applications', O'Reilly, 2007.
  • Natural Language Processing with Python, Steven Bird, Ewan Klein, and Edward Loper. Gratis te verkrijgen op http://www.nltk.org/book_1ed/

Software

  • IPython Notebooks, liefst de Anaconda distributie

Leerdoelen

  • Het begrijpen en kunnen toepassen van kernbegrippen rondom collectieve intelligentie en recommender-systemen.
  • Kennis van en kunnen toepassen van automatische tekst analyse software voor text mining en text analysis.
  • Begrijpen van de (o.a. collectieve intelligentie) technieken waarmee zoekmachines hun resultaten ordenen.
  • Gestructureerd kunnen werken met IPython notebooks.

Onderwijsvormen

  • Hoorcollege
  • Werkcollege
  • Laptopcollege

Hoorcolleges en practica. Men mag practica alleen laten schieten als men kan aantonen dat men de te behandelen stof beheerst.



Verdeling leeractiviteiten

Activiteit

Aantal uur

Digitale Toets

4

Hoorcollege

26

Werkcollege

24

Zelfstudie

114

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B):

  • Voor practica en werkgroepbijeenkomsten met opdrachten geldt een aanwezigheidsplicht, tenzij anders vermeld in de studiegids.
  • Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan het onderdeel niet met een voldoende worden afgerond. De aanwezigheidsplicht met betrekking tot hoor/werkcolleges staat, indien van toepassing, vermeld in de studiegids.

Aanvullende eisen voor dit vak:

Wat te doen als je door overmacht afwezig bent? 

In principe dien je bij alle verplichte practica, waaronder PAV, aanwezig te zijn. Nu kan het in de loop van een collegejaar best een keer gebeuren dat je bijvoorbeeld ziek bent of naar een begrafenis wilt waardoor je een bijeenkomst mist. Het gaat hier steeds om overmacht: een onmogelijkheid die je niet valt toe te rekenen.

Bij de meeste vakken staat hier een regeling voor in de studiewijzer of studiegids. Doe in dat geval wel het volgende:

  1. Meld je vooraf per e-mail af bij de begeleider van die bijeenkomst (meestal een tutor, practicumassistent, of de docent).
  2. Neem zo goed mogelijk zelfstandig het materiaal door.
  3. Informeer bij je medestudenten wat je verder gemist hebt.

Wanneer je niet voldoet aan, of buiten de regeling van het vak valt, of denkt dat je door één keer missen al studievertraging oploopt, dan ontstaat er mogelijk een probleem. Neem in dat geval contact op met de studieadviseur. Zij kan met je kijken wat de gevolgen van jouw afwezigheid zijn voor jouw studie, en eventueel meedenken naar oplossingen.

De studieadviseur is via de mail te bereiken aan de hand van het online vragenformulier. Ook kun je online een afspraak inplannen. Telefonisch is de studieadviseur bereikbaar via de ESC servicedesk: 020 5257100.

De studieadviseur voor de bacheloropleiding Informatiekunde is:

Brit Giesbertz, MSc. Zie de informatiepagina van de studieadviseurs.

Toetsing

Onderdeel en weging Details

Eindcijfer

60%

Digitale toetsen

Digitale Toets 1

Digitale Toets 2

40%

Opdrachten

Exams

Midterm Exam

  • All material that was covered in the first 3 weeks. See this course plan for the links.
  • The basic Python skills that you have practiced in the quizzes and assignments are "fluent enough" to write code on paper without syntax errors.
  • Tip 1: Practice the quizzes, study and interact with the notebooks of this period, and look at the model answers of the assignments.
  • Tip 2: look at solutions of others, try to understand them, try to refactor them and make them easier to read. Make good test examples given the code of others.

Final Exam

  • All material that was covered in the weeks after the first exam. See this course plan for the links.
  • Of course you also still know basic Python skills that you have learned in the Text mining part of the course.
  • Practice the quizzes, study and interact with the notebooks of this period, and look at the model answers of the assignments.

Structure of the exam

  • The exam has around 12 questions, in 3 sections, structured programming (or data clustering), recommendation systems, and searching and ranking.
  • No difficult calculations are needed, but you must know the basic formulas, and you must be able to read and apply complex formulas like the ones defining cosine similarity, Pearson correlation, and PageRank.
    • Hint: practice computing with toy examples with these formulas. You can always check in IPython if you got the same answer.
    • In particular, you must be fluent with the big Sigma summation notation.
  • Be fluent in creating comprehensions.
  • Be fluent in being able to state in grammatically correct English or Dutch the definition of a function, or its input-output behavior.
  • Practice reading complicated code of a peer/your friend, and rewrite/refactor it into an easier, more declarative formulation.

How and when to hand in the assignments

  • Assignments are found and handed in via Blackboard (menu: assignments).
  • Usually, you must hand in the assignments before class on Friday.
    • Too late= 0 points as I give the correct answers on Friday.
    • See Blackboard for the exact times. They vary after the exam because of the holidays
  • The List of assignments and exams indicates if an assignment is individual or can be made in pairs.
  • If an assignment is made by two persons, only hand in 1 assignment.
  • Each assignment must start with your name(s), studentid(s), email(s) and your code of honor. See below.
  • Assignments which are not made according to these restrictions are not graded and receive 0 points.
  • The Coursera's Honor Code is taken very seriously in this course. Whenever we suspect or find that you have shared answers with others than your partner, all involved receive 0 points for their assignment and their names are sent to the exam committee.
    • This holds even if you were not aware that your partner received or gave away answers. Every member of the group is responsible for each question in an assignment. Every member of a group is expected to understand the given answer to every question in the assignment.
  • It is instructive to read the what can happen to you when you copy answers. Really, it is not worth the gamble that we will not spot it. Masking copied answers will take more time than finding them yourself, and besides that, the assignments are there to prepare you for the exam that you must do alone too.

Opdrachten

Onderstaande opdrachten komen aan bod in deze cursus:

  •    Naam opdracht 1 : beschrijving 2
  •    Naam opdracht 2 : beschrijving 1
  •    ....

Fraude en plagiaat

Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: www.uva.nl/plagiaat

Weekplanning

Week Perc. Description Note
1 5 WarmUpWeek1 and Python Recap, counting words, lists, dicts (comprehensions) Group assignment. See Blackboard (Submit two assignments!).
1 5 Do the complete course of DataCamp course on importing-data-in-python PART 1 Your grade is the percentage of completed credit points. Individual
2 5 Extracting data from a webpage Group assignment. See Blackboard.
3 5 Text summarization using word clouds Group assignment. See Blackboard.
4 25 individual exam  
5 5 Structured programming Group assignment. See Blackboard. Extra veel tijd
5 5 Do the complete course of DataCamp course on importing-data-in-python PART 2 Your grade is the percentage of completed credit points. Individual
6 10 Recommender systems Group assignment. See Blackboard.
7 10 Searching and ranking Group assignment. See Blackboard.
8 25 individual exam  

Week by week course planWeek 1

Week 2

Week 3

  • Topic Deeper text analysis (POS tagging, parsing)
  • Slides/LectureNotes
  • Literature
  • Assignment
  • Practical Session
    • Make quizes from slides
    • Exercises from NLTK
    • your assignment
  • Friday
    • Quiz: like the exam. Practice probabilities, POS tags, and downloading files from the web and parsing them with beautifulsoup.
    • Answers to the assignment of this week.

Week 4

Week 5

Week 6

Week 7

  • Topic Searching and ranking
  • Slides/LectureNotes
  • Slides
  • Literature
    • PH 7
    • CI book chapter 4
  • Assignment
    • Zie Blackboard
  • Practical Session
  • Friday
    • Discuss assignment
    • Quiz (= proeftentamen)

Week 8

Rooster

Het rooster van dit vak is in te zien op DataNose.

Aanvullende informatie

 Aanbevolen voorkennis: kunnen programmeren in Python, en liefst al wat ervaring met IPython Notebooks. 

 

 

Contactinformatie

Coördinator

  • M. Mazloom