Wissensdiagramm suchen: Aufbau aus mehreren Quellen



Ich möchte darüber sprechen, was ein Diagramm des Wissens ist und wie es aus mehreren thematischen Quellen aufgebaut werden kann.

Eine große Anzahl von Abfragen in der Suche enthält eine einzelne Entität - das Objekt, nach dem der Benutzer fragt. Es können Anfragen zu bestimmten Personen, Filmen, Serien, Musikstücken oder geografischen Objekten sein. Wenn der Benutzer eine solche Anfrage stellt, kann ihm bei der Ausstellung eine zusätzliche Informationskarte angezeigt werden, in der Hoffnung, dass die Informationen auf der Karte für den Benutzer von Interesse sind. Karten schmücken das Problem und erhöhen seine Sichtbarkeit. Mithilfe von Informationskarten lassen wir eine Person verstehen, dass sie einen intelligenten Dienst nutzt, da die Suchmaschine erkannte, dass sie daran dachte, nach welcher Art von Objekt sie fragte. Darüber hinaus kann diese Intelligenz erweitert werden, indem auf die Anfrage eines Benutzers direkt auf der Problemseite geantwortet wird. Als Antwort auf „Was gibt es in Prag zu sehen?“ Können wir zum Beispiel sofort die Sehenswürdigkeiten dieser Stadt zeigen.

Es gibt Zeiten, in denen der Benutzer etwas über ein Objekt wissen möchte, aber absolut nichts darüber weiß, außer der Tatsache, dass es existiert. Oder der Benutzer möchte die Recherche zu einem Thema fortsetzen. Speziell für diesen Fall zeigt die Karte, wofür dieses Objekt bekannt ist, sowie mögliche Optionen für die Fortsetzung der Forschung im Block „Siehe auch“.

Wissensgraph


Alle diese semantischen Technologien basieren auf einem Wissensgraphen - einem Graphen, dessen Knoten Objekte der realen Welt sind, und Übergänge sind typisierte Beziehungen zwischen Objekten (zum Beispiel unterscheidet sich die Beziehung für den Geburtsort von der Beziehung für das Geburtsdatum). Ein Beispiel für einen kleinen Wissensgraphen ist in Abb. 1 dargestellt. 1.


Feige. 1. Beispiel eines Wissensdiagramms

Es gibt offene Wissensdiagramme, die heruntergeladen und verwendet werden können. Beispiele und einige Statistiken zu den bekanntesten Open-Knowledge-Diagrammen sind in der Tabelle aufgeführt. 1. Die

Tabelle. 1. Statistiken zu offenen Wissensgraphen

WissensgraphAnzahl der DatensätzeAnzahl der ObjekteAktualisierungsfrequenz
FreebaseÜber 3 Milliarden49 MillionenNicht aktualisiert
Wikidata748 Millionen18 MillionenEinmal pro Woche (inkrementell - einmal am Tag)
Dbpedia411 Millionen4 MillionenLetzte Aktualisierung im August 2019

Das Problem bei offenen Grafiken ist, dass nicht alle Wissensbereiche tief genug abgedeckt sind. Zum Beispiel russische Fernsehsendungen. Sie sind nicht sehr beliebt auf der ganzen Welt, aber sie liegen uns besonders am Herzen, weil Benutzer nach ihnen fragen. Dies bedeutet, dass wir einige Informationen zu diesen Serien finden und auf die SERP (Search Engine Result Page) bringen müssen. Das zweite Problem sind eher seltene Updates. Wenn jedoch ein Ereignis eintritt, möchten wir diese Informationen so schnell wie möglich bereitstellen und auf den Suchergebnisseiten anzeigen.

Es gibt mindestens drei mögliche Lösungen für diese Probleme.

Erstens: Tu nichts, versöhne dich, schließe deine Augen und lebe weiter. Zweitens: Fügen Sie Informationen vorsichtig manuell zu geöffneten Wissensspalten hinzu und verwenden Sie dann die Daten von dort. Und die dritte Option: Das Wissen aus einer thematischen Quelle automatisch mit dem Diagramm zusammenführen. Für dieselben Filme und Fernsehsendungen gibt es einige solcher Quellen: KinoPoisk, IMDb, Kino Mail.ru. Darüber hinaus haben Objekte in Wissensgraphen in der Regel Links zu gängigen thematischen Ressourcen.

Wir haben begonnen, den dritten Ansatz umzusetzen. Bevor Sie dieses Problem lösen können, müssen Sie sich vorbereiten. Tatsache ist, dass die Daten in den Quellen in verschiedenen Formaten dargestellt werden. In Wikidata ist es beispielsweise JSON, in Cinema Search - HTML. Sie müssen in dasselbe Format konvertiert werden. Wir konvertieren zu N-Tripeln, weil es bequem ist, es parallel zu verarbeiten, und in diesem Fall ist es wirklich wichtig, da wir mit Big Data arbeiten. Ein erweiterter JSON-Speicherauszug von Wikidata benötigt ungefähr 720 GB, und HTML-Seiten für die Filmsuche haben 230 GB, sodass fast alle Aufgaben in einem Cluster mithilfe des MapReduce-Paradigmas gelöst werden.

Doppelkleben


Eine der schwierigsten Aufgaben beim Zusammenführen von Wissensgraphen ist das Kleben von Duplikaten. Zum Beispiel haben wir Graphen und zwei Objekte darin, die ein Objekt der realen Welt sind. Wir möchten sie in unserem resultierenden Diagramm so zusammenkleben, dass es ein Objekt im Wissensdiagramm ist. Die Lösung, die wir von Anfang an gefunden haben, ist recht einfach. Nehmen wir alle gleichnamigen Objekte und kleben sie. So erfuhren wir, dass es mindestens zwei berühmte Personen mit dem Namen Brad Pitt gibt, etwas weniger als vierzig Filme und Serien namens „The Bridge“ und ungefähr die gleiche Anzahl von Ivanovs, über die es einen Artikel auf Wikipedia gibt.

Offensichtlich funktioniert ein so einfacher Ansatz nicht, es ist etwas Komplizierteres erforderlich. Und dann haben wir eine dreiteilige Lösung gefunden. Der erste Teil ist ein Kandidatengenerator für die Verknüpfung. Der zweite ist ein Klassifikator, der versucht, die Frage zu beantworten, ob ein paar Objekte zusammengeklebt werden sollen. Und der dritte ist ein zusätzlicher Klebeschritt: Wir kleben etwas, das aus irgendeinem Grund nicht funktioniert hat, um im vorherigen Schritt zu kleben.

Ein Generator wird benötigt, um die Anzahl der Kandidaten für die Verknüpfung zu verringern (der Versuch, jedes Objekt mit jedem zu verknüpfen, ist zu teuer). Daher beschränken wir uns nur auf eine kleine Anzahl von Kandidaten und führen den Klassifikator dann nur für diese kleine Menge aus. Die Grundidee ist, dass die Namen von Objekten, die in Beziehung gesetzt werden können, in irgendeiner Weise ähnlich sein sollten. Wir haben uns entschlossen, mit einer vollständigen Übereinstimmung der Teilzeichenfolgen zu beginnen, aber mit der Fähigkeit, Wörter neu anzuordnen. Dies bedeutet, dass zwei Objekte, die nicht dieselbe Wortreihenfolge haben (z. B. Name und Nachname der Person werden verwechselt), trotzdem übereinstimmen. Wir verwenden sowohl russische als auch ausländische Originalnamen. Wir verwenden auch Spitznamen, Aliase und Synonyme für die Objekte, die wir aus Wikipedia-Weiterleitungen gesammelt haben.

Vor dem Training des Modells wäre es schön, Daten von irgendwoher zu bekommen. Wir hatten Glück, alles Notwendige war bereits in den offenen Graphen des Wissens. Zum Beispiel in Wikidata etwas weniger als 200.000 Objekte, Links zu Filmen und TV-Shows von KinoPoisk und etwas weniger als 100.000 Links zu Menschen KinoPoisk. Wir werden auf diese Daten geschult.

Alle Attribute basieren auf der Idee, dass dasselbe Objekt in zwei Spalten einen ähnlichen Kontext haben sollte. Eine ähnliche Idee wird verwendet, um das Entity Linking-Problem zu lösen. Darüber hinaus bedeutet der Kontext in der Grafik nicht benachbarte Objekte zu diesem Objekt, sondern deren Zeichenfolgenbeschreibungen. Formal wird der Kontext eines Objekts in einem Diagramm als alle angrenzenden Linien betrachtet, ebenso wie die Namen der darauf einfallenden Objekte und Typen. In Abb. 2 Zeilen, die zum Kontext dieses Objekts gehören, sind fett hervorgehoben.


Feige. 2. Objektkontext Es

gibt verschiedene Möglichkeiten, mit Zeichenfolgen zu arbeiten. Erstens, um das Zusammentreffen von Zeichenfolgen zu betrachten und sie als Ganzes abzugleichen, dh nur das vollständige Zusammentreffen zu berücksichtigen. Zweitens können wir die Zeichenfolge als Wortsack verwenden, die Zeichenfolge in Wörter aufteilen und die Reihenfolge opfern. Wir verwenden beide Ansätze.

Zeichenfolgen können entweder alle gleichzeitig verwendet oder nach den Arten von Beziehungen gruppiert werden, mit denen sie dem Objekt zugeordnet sind. Absolute und relative Übereinstimmungen nach Gruppen werden ebenfalls berücksichtigt.

Nehmen wir zwei Objekte: Lionel Messi (Lionel Messi) und Lionel Richie (Lionel Richie), Registerkarte. 2. Die

Tabelle. 2. Einige Beziehungen für die Objekte Lionel Messi und Lionel Richie.

Name der BeziehungLionel MessiLionel Richie
NameLionel Messi"Lionel Richie"
Geburtstag24. Juni 198720. Juni 1949
FußballvereinFC Barcelona- -

Namen stimmen nicht vollständig überein, daher ist eine vollständige Übereinstimmung im Namen Null. Die Anzahl der Wortübereinstimmungen im Namen beträgt jedoch 1, da der ursprüngliche Name „Lionel“ mit beiden Objekten übereinstimmt. Der Jacquard-Koeffizient (das Verhältnis der Größe des Schnittpunkts zur Größe der Vereinigung) für den Namen beträgt 0,2:

J(Messi,Richie)=|«Lionel»||«»,«»,«Lionel»,«Messi»,«Richie»|


Wir haben nicht sofort verstanden, dass es keinen Sinn macht, in dieses Zeichen zu schreiben, wenn ein Objekt nicht die richtige Beziehung hat. Es ist also besser, einen fehlenden Wert zu schreiben. Wenn wir einem großen Diagramm ein thematisches Diagramm hinzufügen, hat es häufig keine Beziehung, und Sie müssen in der Lage sein, zwischen Fällen zu unterscheiden, in denen die beiden Beziehungen nicht übereinstimmten und in denen eines der Objekte einfach nicht die erforderliche Beziehung aufweist . Nach dieser Logik ist die Anzahl der übereinstimmenden Wörter für die Fußball-Club-Beziehung der fehlende Wert. Die Anzahl der vollständigen Zeilenübereinstimmungen in allen Beziehungen ist Null, und die Anzahl der übereinstimmenden Wörter beträgt zwei ("Lionel" und "Juni").

Die Bewertung der besten vom Modell verwendeten Merkmale ist in Abb. 2 dargestellt. 3.


Feige. 3. Die wichtigsten verwendeten Zeichen.

Das beste Attribut unseres Modells ist die relative Gesamtübereinstimmung der Wörter. Dieser komplexe Name verbirgt die Summe der Jacquard-Koeffizienten für alle Beziehungen. Es ist interessant, dass, wenn wir das gesamte maschinelle Lernen aus dieser Aufgabe vollständig verwerfen und einen mehr oder weniger angemessenen Grenzwert für den Wert dieses Attributs lassen, die Qualität des Modells durchF1-Maßnahme wird nur um 20% fallen. Wenn wir die oben beschriebenen Zeichen nehmen und ihnen XGBoost aus der Box beibringen, 250 Bäume mit einer Höhe von 4, dann erhalten wir ziemlich gute Metriken.

Tabelle. 3. Metriken des Qualitätsmodells für Testdaten.

MetriknameWert
Präzision0,961531
Vollständigkeit (Rückruf)0,963220
F10,962375
Auc0,999589

Es gibt jedoch ein Problem: Bei diesen Metriken sind einige Objekte, die wir nicht kleben, nicht sichtbar. Dies sind die sogenannten "großen Objekte", die viele Beziehungen haben. Städte, Länder, Besatzung - dies sind die Objekte, die mit einer großen Anzahl anderer Objekte verbunden sind. In Abb. Abbildung 4 zeigt, wie dies auf SERP aussehen könnte. Alles scheint ziemlich harmlos:


Feige. 4. Das Problem "großer" Objekte

. Wir haben Duplikate auf der Karte. Es scheint in Ordnung zu sein, aber tatsächlich ist das Problem viel tiefer und die Datenkonsistenz leidet. Dies liegt daran, dass in unseren Trainingsdaten überhaupt keine derartigen Objekte vorhanden sind. Hier müssen wir einen anderen Ansatz anwenden, um eine große Anzahl von Beziehungen dieser Objekte zu unserem eigenen Vorteil zu verwenden. In Abb. 5 zeigt ein Diagramm dieses Ansatzes. Es seien zwei Objekte X und Y, die durch den Klassifikator verbunden sind. Diese Objekte gehören zu verschiedenen Diagrammen und jedes Objekt ist einigen anderen Objekten in seinem Diagramm zugeordnet. Objekt X ist durch Beziehungen den Objekten A, B, C zugeordnetr1, r2, r3und Objekt Y mit Objekten D, E und F unter Verwendung von Beziehungen r1, r2und r4. Aber jetzt wissen wir, dass die Objekte X und Y tatsächlich ein Objekt der realen Welt sind.


Feige. 5. Zusätzliches Kleben

Lassen Sie uns zwei Hypothesen aufstellen:

  • H1:P(D|A)=p=P(D|¬A)- ein Objekt Din keiner Weise verbunden und tritt unabhängig vom Objekt auf A.
  • H2:P(D|A)=p1p2=P(D|¬A)- eine Art Beziehung zwischen Dund Aalles ist einfach so.

Dann können wir den Likelihood-Ratio- Test anwenden und eine von zwei Hypothesen akzeptieren. So können wir große Objekte zusammenkleben.

Die endgültige Lösung erwies sich als ziemlich universell. Auf ähnliche Weise ist es möglich, Duplikate für andere thematische Quellen zu kleben, wodurch die Abdeckung und Tiefe der Themen im Wissensdiagramm ständig erhöht wird.

Fazit


Der Artikel betrachtet eine der möglichen Lösungen für das Problem des Klebens identischer Objekte unterschiedlicher Wissensgraphen. Wenn das Wissensdiagramm bereits erstellt wurde, können wir Informationskarten auf der Seite mit Suchergebnissen anzeigen, das Wissen aus dem Diagramm verwenden, um Faktoide zu beantworten, oder eine andere interessante Anwendung entwickeln, um den Benutzern zu gefallen.

Ich hoffe, es war interessant, ein wenig darüber zu lesen, wie alles von innen nach außen funktioniert. Wenn es unverständliche Momente gibt, stellen Sie bitte Fragen, ich werde versuchen, sie zu beantworten.

All Articles