Research and Development 1/^Archief/2009-2010/10/Pilot

Uit Werkplaats
Ga naar: navigatie, zoeken
Bagjoke.jpg

Research and Development 1

Patrick van Bommel
Sjaak Smetsers


 © comments



  • Property "Auteur1" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/10Gebruiker:Sanne Derckx" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur2" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/10Gebruiker:Stan Philipsen" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur3" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/10Gebruiker:Ko Stoffelen" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
  • Property "Auteur4" (as page type) with input value "  Research and Development 1/^Archief/2009-2010/10" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.

informatie die hoort bij de pilot.

Onderzoeksvragen:

-(Hoe) is het mogelijk verschillende profielen geautomatiseerd te koppelen? (vb; aan de hand van een hyves-profiel automatisch het bijbehorende facebook-profiel te herkennen.

Hoe ik het me voorstel:

Mockup.png

laat maar horen wat jullie er van vinden. Op de achtergrond moeten we dus eerst het hyvesprofiel geautomatiseerd bekijken. Vervolgens zoeken we bijvoorbeeld op facebook naar vergelijkbare namen. Vervolgens vergelijken we de interesses en vrienden die in beide netwerken voorkomen (jantje heeft bijvoorbeeld op zowel Hyves als Facebook een vriend met de naam Pietje). Uiteindelijk kunnen we nog proberen via een zoekmachine te zoeken op de naam en de resultaten te bekijken. Wanneer een van de resultaten die de zoekmachine ons geeft over een onderwerp gaat wat de persoon volgens zijn hyvesprofiel interessant vindt zou het waarschijnlijk kunnen zijn dat deze website ook daadwerkelijk over onze Jantje gaat.

Voorbeeld

Gebruiker wilt weten wat er over hem te vinden is op het internet. Hij gaat naar WieOWie.nl. Daar tikt hij zijn naam in. Vervolgens krijgt hij een lijstje met zoekresultaten: Hyvesprofielen, resultaten via google etc. Maar de resultaten via een zoekmachine als google worden vervuild door naamgenoten. Daarom zou het handig zijn als we kunnen bepalen welke sites echt gaan over de persoon die wij zoeken. Aan de hand van een hyvesprofiel kunnen we bepaalde interesses zien. Is het mogelijk dat we deze gegevens combineren om zo betere zoekresultaten te krijgen? Gebruiker voert (hyvesprofiel-)naam in en krijgt (betere?) zoekresultaten. Is die reactie op de pagina van de breiclub van de persoon waar we naar zoeken?

Onderzoeksvragen

Hoe kunnen we informatie die op websites staat eenvoudig geautomatiseerd opslaan? In hoeverre is het mogelijk zoekresultaten te personaliseren met behulp van openbare gegevens?

Aanpak

We willen ten eerste een aantal tools gaan testen om gegevens van sites kunnen crawlen. Het resultaat van deze stap is een lijstje met de voor- en nadelen van verschillende tools. Hiervoor zullen we de tools ook moeten testen. Vervolgens proberen we deze gegevens geautomatiseerd op te slaan. Het resultaat hiervan is een prototype dat de gegevens ophaalt en op een eenvoudige manier verwerkt. Ook willen we in de pilot kijken welke gegevens we mogelijk geautomatiseerd zouden kunnen vinden. Dit doen we door te onderzoeken welke gegevens er op het internet (openbaar) toegankelijk zijn. Zo kijken we welke gegevens je als hyvesbezoeker, hyvesgebruiker of hyvesvriend over mensen kunt zien. In hoeverre zijn deze gegevens aan te passen door de gebruiker en wat zijn de instellingen die het meeste voorkomen? Welke gegevens op Facebook zijn toegankelijk? Zijn er nog meer profielen die we zouden kunnen koppelen? Verder lijkt het handig tijdens de pilot te testen in hoeverre het automatisch zou kunnen werken. Dit kunnen we doen door zelf computer te 'spelen'. We simuleren onze software. We proberen bij enkele verschillende personen welke data we kunnen vinden. Voorbeeld: Profiel van Jan Janssen, interesses (volgens Hyves): voetbal, uitgaan. Leeftijd: 18. Hoe zou een computer (onze software) deze persoon kunnen herkennen?

Crawling vs Scraping

Onze bots bestaan in feite uit 2 gedeelten: een crawlgedeelte en een scrapegedeelte. Met crawlen bedoelen we het systematisch ophalen van webpagina's. Ter illustratie: men geeft een beginpagina op en deze wordt (als string HTML) opgehaald. Vervolgens worden alle hyperlinks van de pagina afgehaald. (Meestal alle waarden van "href" attributen.) Deze worden aan een soort van lijst (queue) toegevoegd en één voor één opgehaald, waarna dit proces zich recursief herhaald. De gebruiker kan meestal zelf een stopcriterium opgeven. Met scrapen bedoelen we het extraheren van bruikbare informatie uit deze HTML string. Bijvoorbeeld woonplaats, geboortedatum, etc. Dit gebeurt voornamelijk door StringFind-achtige functies of pattern matching met reguliere expressies. Hoe dit precies gebeurt is sterk afhankelijk van de programmeertaal. Wel is het vaak gebaseerd op het feit dat bepaalde informatie op een vaste plek op een pagina staat, met bijvoorbeeld vaste HTML-tags er omheen waar naar gezocht kan worden.


Links

  • crawler4j: Een open-source webcrawler, geschreven in Java.
  • Scrapy: Een open-source webcrawler, geschreven in Python.
  • [1]: Een artikel waarin beschreven staat hoe Wget en grep gebruikt kunnen worden als webscraper.
  • [2]: Informatie over webcrawlers.
  • [3]: Informatie over webscraping.