Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:retrieval [2024-08-12 14:27] hoftalit:retrieval [2025-03-03 20:53] (aktuell) hof
Zeile 10: Zeile 10:
 ## Build Your Own Google ## Build Your Own Google
  
-<nodisp 2>+<nodisp 0>
 ++++Repo| ++++Repo|
 https://github.com/tkilla77/ksr_talit_indexing https://github.com/tkilla77/ksr_talit_indexing
Zeile 46: Zeile 46:
 } }
 </code> </code>
 +
 +Der Corpus ist ein Dictionary, dessen Keys gerade die Dokumenten-Ids sind; jedes Dokument ist wiederum ein kleines Dictionary, wobei jedes dieselben Keys (`name`...) aufweist.
 +
 ### Aufgabe 1 - Lineare Suche ### Aufgabe 1 - Lineare Suche
  
Zeile 72: Zeile 75:
 Mit dem `tqdm`-Modul lässt sich der Fortschritt bequem darstellen. Das Modul muss einmalig z.B. mit `%pip install tqdm` installiert werden. Mit dem `tqdm`-Modul lässt sich der Fortschritt bequem darstellen. Das Modul muss einmalig z.B. mit `%pip install tqdm` installiert werden.
  
-<nodisp 1>+<nodisp 0>
 ++++Lösung| ++++Lösung|
 <code python> <code python>
Zeile 111: Zeile 114:
 ++++ ++++
  
-<nodisp 2>+<nodisp 0>
 ++++Lösung| ++++Lösung|
 Zuerst muss die Datei in `data/cities500.zip` bzw. `data/allCountries.zip` gespeichert werden. Zuerst muss die Datei in `data/cities500.zip` bzw. `data/allCountries.zip` gespeichert werden.
Zeile 120: Zeile 123:
     import zipfile     import zipfile
     import csv     import csv
 +    from tqdm.auto import tqdm
 +    
 +    # Fieldnames from https://download.geonames.org/export/dump/
 +    fields = ['geonameid', 'name', 'asciiname', 'alternatenames', 'latitude', 'longitude', 'feature class', 'feature code', 'country code', 'cc2', 'admin1 code', 'admin2 code', 'admin3 code', 'admin4 code', 'population', 'elevation', 'dem', 'timezone', 'modification date']
          
     result = {}     result = {}
     with zipfile.ZipFile(f'data/{filename}.zip') as myzip:    # open the zip archive     with zipfile.ZipFile(f'data/{filename}.zip') as myzip:    # open the zip archive
         with myzip.open(f'{filename}.txt', 'r') as csv_file:  # open a single file in the archive         with myzip.open(f'{filename}.txt', 'r') as csv_file:  # open a single file in the archive
-            reader = csv.DictReader(TextIOWrapper(csv_file, 'utf-8'), delimiter='\t', fieldnames=['geonameid', 'name', 'asciiname', 'alternatenames', 'latitude', 'longitude', 'feature class', 'feature code', 'country code', 'cc2', 'admin1 code', 'admin2 code', 'admin3 code', 'admin4 code', 'population', 'elevation', 'dem', 'timezone', 'modification date'])+            reader = csv.DictReader(TextIOWrapper(csv_file, 'utf-8'), delimiter='\t', fieldnames=fields)
             for data in tqdm(reader, desc=filename):             for data in tqdm(reader, desc=filename):
                 result[int(data['geonameid'])] = data                 result[int(data['geonameid'])] = data
Zeile 178: Zeile 185:
 Probiert zuerst mit dem Toy-Dataset, bevor ihr euch an die grossen Datasets wagt! Probiert zuerst mit dem Toy-Dataset, bevor ihr euch an die grossen Datasets wagt!
  
-<nodisp 2>+<nodisp 0>
 ++++Lösung| ++++Lösung|
  
  • talit/retrieval.1723472832.txt.gz
  • Zuletzt geändert: 2024-08-12 14:27
  • von hof