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 [2025-10-28 08:56] hoftalit:retrieval [2025-11-03 18:21] (aktuell) hof
Zeile 1: Zeile 1:
 # Information Retrieval # Information Retrieval
  
-Beim _Information Retrieval_ geht es darum, aus einer potentiell riesigen Menge von Dokumenten (en. _corpus_) diejenigen herauszufinden, die einer Suchanfrage (en. _query_) am besten entsprechen. Die am besten bekannte Anwendung ist die Internet-Suche, die uns für eine Suchanfrage meist die richtige Seite aus Billionen von Webseiten herausfindet.+Beim _Information Retrieval_ geht es darum, aus einer potentiell riesigen Menge von Dokumenten (en. _corpus_) diejenigen herauszufinden, die einer Suchanfrage (en. _query_) am besten entsprechen. Die bekannteste Anwendung ist die Internet-Suche, die für eine Anfrage die richtige Seite aus Billionen von Webseiten herausfindet.
  
 Es bestehen die folgenden Kapitel: Es bestehen die folgenden Kapitel:
Zeile 7: Zeile 7:
   * [[indexing]]   * [[indexing]]
   * [[spatial]]   * [[spatial]]
 + 
  
 ## Build Your Own Google ## Build Your Own Google
  
-{{ :gf_informatik:binary_search.jpeg?nolink&300|}}+{{ .:retrieval:pasted:20251028-091132.png?nolink&400|}}
  
-<nodisp 2>+<nodisp 0>
 ++++Repo| ++++Repo|
 https://github.com/tkilla77/ksr_talit_indexing https://github.com/tkilla77/ksr_talit_indexing
Zeile 25: Zeile 26:
 Um diese Aufgaben **schnell** zu lösen, ist es im allgemeinen nicht möglich, den ganzen Korpus für jede Anfrage zu durchsuchen. Stattdessen bauen wir einen **Index**, der es erlaubt, effizient die geforderten Dokumente zu finden. Um diese Aufgaben **schnell** zu lösen, ist es im allgemeinen nicht möglich, den ganzen Korpus für jede Anfrage zu durchsuchen. Stattdessen bauen wir einen **Index**, der es erlaubt, effizient die geforderten Dokumente zu finden.
  
-Im Unterschied zu einem _Dictionary_ hat in einem _Index_ nicht jedes Dokument einen eindeutigen Schlüssel, sondern für einen gegebenen Schlüssel können mehrere Dokumente erfasst sein.+Im Unterschied zu einem _Dictionary_ hat in einem _Index_ nicht jedes Dokument einen eindeutigen Schlüssel, sondern für einen gegebenen Schlüssel können mehrere Dokumente erfasst sein, und ein Dokument kann für mehrere Schlüssel eingetragen sein
 + 
 +In der nebenstehenden Abbildung sind beispielsweise für viele Einträge _mehrere_ Seitenzahlen aufgeführt, und die Seitenzahl 222 wird mehrfach referenziert.
  
 ### Jupyter ### Jupyter
Zeile 79: Zeile 82:
 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 2>+<nodisp 0>
 ++++Lösung| ++++Lösung|
 <code python> <code python>
Zeile 95: Zeile 98:
 ++++ ++++
 </nodisp> </nodisp>
- 
 ### Aufgabe 2 - Ernsthafte Datasets ### Aufgabe 2 - Ernsthafte Datasets
  
Zeile 114: Zeile 116:
  
 ++++Hinweise:| ++++Hinweise:|
-  * https://docs.python.org/3/library/zipfile.html +  * Zip-Dateien entpacken mit [[https://docs.python.org/3/library/zipfile.html|zipfile.ZipFile]] 
-  * https://docs.python.org/3/library/io.html#io.TextIOWrapper+  * CSV-Dateien einlesen als Dictionaries mit [[https://docs.python.org/3/library/csv.html#csv.DictReader|csv.DictReader]] 
 +  * Binärdateien als Unicode-Text interpretieren mit [[https://docs.python.org/3/library/io.html#io.TextIOWrapper|io.TextIOWrapper]] 
 +    * z.B. mit `csv.DictReader(TextIOWrapper(csv_file, 'utf-8'), delimiter='\t', fieldnames=...)`
 ++++ ++++
  
-<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 189: Zeile 193:
 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.1761641802.txt.gz
  • Zuletzt geändert: 2025-10-28 08:56
  • von hof