Im vorangegangenen Kapitel haben wir gelernt, wie Texte, seien dies Dokumente oder Anfragen, aufbereitet werden können, um sie in eine einheitliche, vereinfachte Menge von Termen zu überführen. Die verwendeten Transformationsschritte zielen einerseits darauf ab, die Dokumente nur noch durch bedeutungstragende Terme zu beschreiben und die Menge dieser Terme möglichst klein zu halten. Andererseits, werden durch diese Normierung die Texte bereits etwas intelligenter repräsentiert als durch eine einfache Sequenz von Wörtern. In diesem Kapitel gehen wir auf die Grundlagen der effizienten Speicherung und der Suche über invertierte Indexe ein.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Das ggf. Verknüpfungsoperatoren in den Anfragen enthalten sind, ignorieren wir zunächst.
- 2.
Diese Bücher werden auch in den Literaturverweisen der Buchkapitel referenziert.
- 3.
Nicht zu verwechseln mit der Datenstruktur Dictionary (dict) in Python, auch wenn diese eine gewisse Ähnlichkeit besitzt. Ein Dictionary in Python ist eine Hash-Tabelle, dessen Schlüssel auf einen Wert verweisen. Ein Dictionary eines invertierten Index ist lediglich die Menge der Schlüssel (Keys), z. B. einer Hash-Tabelle.
- 4.
Das Jupyter Notebook ‚Invertierter Index.ipynb‘ in 7 https://github.com/ThomasHoppe/Buch-Semantische-Suche enthält eine einfache beispielhafte Implementierung eines invertierten Indexes zur Veranschaulichung und für weitere Experimente.
- 5.
7 http://christianherta.de/lehre/informationRetrieval/trie.php stellt zwei Templates zur Implementierung von Tries vor und gibt zusätzliche Informationen zu effizienten Implementierungen. Abgeleitet aus dieser Implementierung enthält das Jupyter-Notebook ‚Präfix-Baum.ipynb‘ im Github Repository 7 https://github.com/ThomasHoppe/Buch-Semantische-Suche eine Variante eines PATRICIA-Tries, die in den Knoten anstelle von Bits Character als Schlüssel von Hash-Tabellen verwendet, um zu Unterbäumen zu verzweigen.
- 6.
Im Kontext des Information Retrievals stellen (Manning et al. 2009) weitere Möglichkeiten dar, Wildcard-Operatoren zu realisieren, für einen Einsatz in semantischen Suchverfahren erscheinen diese jedoch ungeeignet.
- 7.
Wir verwenden hier der Einfachheit halber die im Index des jeweiligen Buchs angegebene Anzahl der Seiten, in denen der Begriff vorkommt, da das Durchzählen der Worte aller dieser Bücher zu aufwändig gewesen wäre. Die Erwähnungen in D7 wurden dem Inhaltsverzeichnis entnommen, da D7 keinen Index enthält.
- 8.
Im engen Sinn ist ANDOR kein aus der Logik bekannter Operator. Im Bereich der Suchmaschinen ist er jedoch ein verbreiteter Operator, der die Eigenschaften von AND und OR kombiniert. Wir betrachten ihn daher der Einfachheit halber als logischen Operator.
- 9.
Eine alleinstehende Negation ist bei Suchfunktionen normalerweise sinnlos. Z.B. müsste eine Anfrage wie NOT Auto alle Dokumente zurückliefern, die den Term Auto nicht enthalten. Da Menschen normalerweise nicht in derartigen Negationen denken (Probieren Sie einfach mal sich einen Nicht-Elefanten vorzustellen), ist eine Negation nur zur Einschränkung der Treffer eines positiven Suchbegriffs sinnvoll.
- 10.
Über sogenannte Skip-Pointer kann der Algorithmus sogar noch weiter optimiert werden, so dass er nur noch einen sublinearen Aufwand benötigt (siehe hierzu Manning et al. 2009).
- 11.
Da wir zur Illustration des invertierten Index den Index von Büchern genutzt haben, um die Termhäufigkeit zu ermitteln, wurden für diese Illustration auch nur die Seitenzahlen der entsprechenden Begriffe verwendet. Natürlich müssten bei einer realen Implementierung die Token-Positionen der Terme verwendet werden.
- 12.
Sofern während der Textaufbereitung mehrere Token zu Nominalphrasen oder Entitäten zusammengefasst werden, erfordert dies u. U. eine nachträgliche Renummerierung nachfolgender Token-Positionen.
- 13.
Eine weitere Form der Skalierung, die für eine semantische Suche von Bedeutung ist und die wir als semantische Skalierung bezeichnen können, werden wir in 7 Abschn. 6.4.3.5 kennenlernen.
- 14.
Diese Form der impliziten Verknüpfung von Sätzen durch die in ihnen enthaltenen Worte nutzt beispielsweise der TextRank-Algorithmus (Mihalcea und Tarau 2004) aus, um die wichtigsten Sätze eines Textes für Textzusammenfassungen zu extrahieren. Übertragen auf Dokumente, könnte ein analoger Ansatz genutzt werden, um die wichtigsten Dokumente eines Korpus zu ermitteln.
- 15.
Als spider traps werden zyklische Linkstrukturen bezeichnet, in die ein zufällig surfender Web-Nutzer von außen zwar reinlaufen, diese aber nie mehr durch zufälliges Auswählen von Links verlassen kann.
- 16.
Im Nenner finden sich die Längen der beiden Vektoren. Genauer gesagt handelt es sich hierbei um die euklidischen Längen der Vektoren, bzw. die L2-Norm.
- 17.
- 18.
Hierbei stellt |q| die Länge der Anfrage, sprich die Anzahl der Anfrageterme dar.
- 19.
Hierzu kann der Dokumentenindex, der für das Löschen von Dokumenten sowieso benötigt wird (siehe 7 Abschn. 3.1.4), gleich mit genutzt werden.
- 20.
Für Wissens- oder Begriffsmodelle könnte eine solche Maßnahme sein, die Disjunktheit bestimmter Begriffskategorien auszunutzen und die Ähnlichkeit von Begriffen disjunkter Kategorien auf Null zu setzen.
- 21.
In 7 Abschn. 5.1.2 werden wir diese Technik als eine der Methoden kennen lernen, semantische Suche mit konventionellen Volltextsuchmaschinen umzusetzen.
- 22.
Anstatt die Termvektoren auf diese Weise direkt zu modifizieren, werden wir in 7 Abschn. 5.3.5 einen anderen Weg beschreiten. Dort werden wir die zusätzlichen Begriffe einfach den Annotationen der Dokumente hinzufügen und so die Annotationen „semantisch anreichern“. Die hier dargestellten modifizierten Termvektoren stellen eine Linearkombination der Termvektoren einer semantisch angereicherten Annotation dar. Dieses Modell der modifizierten Termvektoren kann daher zur Erklärung der Funktionsweise der semantisch angereicherten Dokumentannotationen verwendet werden. Zudem zeigt diese Äquivalenz, dass semantisch angereicherte Annotationen mit denselben der hier dargestellten Probleme behaftet sind.
- 23.
Hierbei gibt es jedoch eine kleine Ausnahme. Sofern an der Benutzeroberfläche komplexere Anfragen mit logischen Operatoren bereitgestellt werden, müssen diese bei der Aufbereitung der Anfragen separat und gesondert behandelt werden.
- 24.
Einige interessante Verständnis- und Übungsfragen finden sich in den Vorlesungsfolien „Information Retrieval in the Cloud“, Dell Zhang, 2018/9, 7 http://www.dcs.bbk.ac.uk/~dell/teaching/cc/dell_cc_09.pdf (letzter Aufruf 10.04.2020).
Literatur
(Bellman & Bellman 1961) “Adaptive Control Processes: A Guided Tour.”, Richard Bellman, Richard Ernest Bellman, Rand Corporation, Research studies, Princeton University Press, 1961.
(Brin & Page 1998) “The anatomy of a large-scale hypertextual Web search engine” Sergey Brin, Larry Page, Computer Networks and ISDN Systems. 30 (1–7): 107–117, http://infolab.stanford.edu/pub/papers/google.pdf (letzter Aufruf 10.4.2020)
(Giraud 2014) “Introduction to High-Dimensional Statistics”, Christophe Giraud, Chapman & Hall/CRC Monographs on Statistics and Applied Probability, 2014.
(Gonzales 2008) “Index compression for information retrieval systems”, Roi Blanco Gonzales, PhD thesis, University of A Coruña, 2008. http://www.dc.fi.udc.es/~roi/publications/rblanco-phd.pdf (letzter Aufruf 10.4.2020)
(Henrich 2008) “Information Retrieval 1 - Grundlagen, Modelle und Anwendungen”, Andreas Henrich, Version: 1.2, Rev: 5727, Stand: 7. Januar 2008, Otto-Friedrich-Universität, Bamberg, 2008, https://www.uni-bamberg.de/fileadmin/uni/fakultaeten/wiai_lehrstuehle/medieninformatik/Dateien/Publikationen/2008/henrich-ir1-1.2.pdf (letzter Aufruf 10.4.2020)
(Leskovec et al. 2010) “Mining of Massive Datasets”, Jure Leskovec, Anand Rajaraman, Jeff Ullman, Cambridge University Press, 2010, http://www.mmds.org/ (letzter Aufruf 10.4.2020)
(Lin & Dyer 2010) “Data-Intensive Text Processing with MapReduce”, Jimmy Lin, Chris Dyer, Morgan & Claypool Publishers, Manuskript unter, http://lintool.github.io/MapReduceAlgorithms/index.html (letzter Aufruf 10.4.2020)
(Manning et al. 2009) “An Introduction to Information Retrieval”, Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze, Cambridge University Press, Cambridge, England, 2009.
(Mihalcea & Tarau 2004) “TextRank:Bringing Order into Texts”, Rada Mihalcea, Paul Tarau, Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing, p.404–411, Barcelona, Spain, 2004, https://web.eecs.umich.edu/~mihalcea/papers/mihalcea.emnlp04.pdf (letzter Aufruf 10.4.2020)
(Novotný 2018) „Implementation Notes for the Soft Cosine Measure“, 2018, https://arxiv.org/pdf/1808.09407.pdf (letzter Aufruf 10.4.2020)
(Oldakowski & Bizer 2005) “SemMF: A Framework for Calculating Semantic Similarity of Objects Represented as RDF Graphs” Radoslaw Oldakowski, Christian Bizer, Poster at the 4th International Semantic Web Conference, 2005, https://www.researchgate.net/publication/238626421_SemMF_A_Framework_for_Calculating_Semantic_Similarity_of_Objects_Represented_as_RDF_Graphs (letzter Aufruf 10.4.2020)
(Radovanović et al 2010), “On the Existence of Obstinate Results in Vector Space Models”, Milos Radovanović, Alexandros Nanopoulos, Mirjana Ivanović, Proceeding of the 33rd International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR 2010, Geneva, Switzerland, July 19-23, 2010, https://www.researchgate.net/publication/221300014_On_the_existence_of_obstinate_results_in_vector_space_models (letzter Aufruf 10.4.2020)
(Sidorov et al. 2014) “Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model”, Grigori Sidorov, Alexander Gelbukh, HelenaGómez-Adorno, David Pinto,. Computación y Sistemas. 18 (3): 491–504 http://www.cys.cic.ipn.mx/ojs/index.php/CyS/article/view/2043 (letzter Aufruf 10.4.2020)
(Slimani 2013) “Description and Evaluation of Semantic Similarity Measures Approaches” Thabet Slimani, International Journal of Computer Applications 80(10):25–33, 2013 https://arxiv.org/abs/1310.8059 (letzter Aufruf 10.4.2020)
(Vershynin 2019) “High-Dimensional Probability - An Introduction with Applications in Data Science”, Roman Vershynin, University of California, Irvine, https://www.math.uci.edu/~rvershyn/papers/HDP-book/HDP-book.pdf (letzter Aufruf 10.4.2020)
(Zhong et al. 2002) “Conceptual Graph Matching for Semantic Search”, Jiwei Zhong, Haiping Zhu, Jianming Li, Yong Yu, In: Priss U., Corbett D., Angelova G. (Hrsg.) Conceptual Structures: Integration and Interfaces. ICCS 2002. Lecture Notes in Computer Science, Vol 2393. Springer, Berlin, Heidelberg. http://disi.unitn.it/~p2p/RelatedWork/Matching/iccs2002.pdf (letzter Aufruf 10.4.2020)
(Zhu & Iglesias 2016) “Computing Semantic Similarity of Concepts in Knowledge Graphs”, Ganggao Zhu, Carlos A. Iglesias, IEEE Transactions On Knowledge And Data Engineering, Vol. 29, Issue 1, 2016, https://core.ac.uk/download/pdf/148683663.pdf (letzter Aufruf 10.4.2020)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature
About this chapter
Cite this chapter
Hoppe, T. (2020). Grundlagen des Information Retrievals. In: Semantische Suche. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-658-30427-0_3
Download citation
DOI: https://doi.org/10.1007/978-3-658-30427-0_3
Published:
Publisher Name: Springer Vieweg, Wiesbaden
Print ISBN: 978-3-658-30426-3
Online ISBN: 978-3-658-30427-0
eBook Packages: Computer Science and Engineering (German Language)