Eingabe von "vs" nach dem gesuchten Wort
Es ist mir passiert.
Wie sich herausstellte, ist dies eine große Sache. Dies ist eine Technik , die bei der Suche nach einer Alternative zu etwas eine Menge Zeit sparen kann.
Ich sehe drei Gründe, warum sich diese Technik perfekt zeigt, wenn nach Informationen über Technologien, bestimmte Entwicklungen und Konzepte gesucht wird, die sie verstehen möchten:
- Der beste Weg, etwas Neues zu lernen, besteht darin, herauszufinden, wie es neu ist, ähnlich dem, was bereits bekannt ist, oder wie sich das Neue vom Bekannten unterscheidet. Zum Beispiel können Sie in der Liste der Sätze, die nach "vs" erscheinen, etwas sehen, über das Sie sagen können: "Und so stellt sich heraus, dass das, wonach ich suche, so aussieht, wie ich bereits weiß."
- — . , , .
- «vs» — , Google , - -. «or», - -. , «or», Google , - .
Bei der Bearbeitung eines Berts oder einer Anfrage macht Google Vorschläge zur Sesamstraße. Und die Abfrage "bert vs" gibt mir Tipps zu Google BERT.
Es hat mich zum Nachdenken gebracht. Aber was ist, wenn wir die von Google vorgeschlagenen Wörter nach der Eingabe von "vs" nehmen und darin suchen und nach ihnen auch "vs" hinzufügen? Was ist, wenn Sie dies mehrmals wiederholen? Wenn ja, können Sie ein schönes Netzwerkdiagramm verwandter Abfragen erhalten.
Zum Beispiel könnte es so aussehen.
Ego-Diagramm für Bert-Abfragen mit Radius 25
Dies ist eine sehr nützliche Technik zum Erstellen von Mind Maps von Technologien, Entwicklungen oder Ideen, die die Beziehung ähnlicher Entitäten widerspiegeln.
Ich werde Ihnen sagen, wie Sie solche Grafiken erstellen.
Automatisierung der Erfassung von "vs" -Daten von Google
Über diesen Link können Sie Vorschläge zur automatischen Vervollständigung in XML von Google erhalten. Diese Funktion scheint keine API für den allgemeinen Gebrauch zu sein, daher sollte dieser Link wahrscheinlich nicht zu schwer sein.
http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&hl=en&q=<search_term>
Der URL-Parameter
output=toolbar
gibt an, dass wir an den Ergebnissen im XML-Format interessiert sind, gl=us
legt den Ländercode fest, hl=en
ermöglicht die Angabe der Sprache und das Design q=<search_term>
ist genau das, was Sie benötigen, um die Ergebnisse der Fertigstellung zu erhalten.
Die Parameter
gl
und hl
verwenden die standardmäßigen aus zwei Buchstaben bestehenden Länder- und Sprachkennungen .
Experimentieren wir mit all dem, indem wir eine Suche beispielsweise mit einer Abfrage starten
tensorflow
.
Der erste Schritt der Arbeit besteht darin, auf die angegebene URL zu verweisen, wobei die folgende Struktur verwendet wird, die die Abfrage beschreibt :
q=tensorflow%20vs%20
. Der gesamte Link sieht folgendermaßen aus:
http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&hl=en&q=tensorflow%20vs%20
Als Antwort erhalten wir XML-Daten.
Was tun mit XML?
Jetzt müssen Sie die Ergebnisse des Abschlusses des Abschlusses auf Übereinstimmung mit einem bestimmten Satz von Kriterien überprüfen. Mit denen, die zu uns passen, werden wir weiter arbeiten.
Überprüfen der Ergebnisse
Ich habe beim Überprüfen der Ergebnisse die folgenden Kriterien verwendet:
- Die empfohlene Suchabfrage darf nicht den ursprünglichen Abfragetext (d
tensorflow
. H. - ) enthalten. - Die Empfehlung sollte keine Anfragen enthalten, die zuvor als geeignet befunden wurden (zum Beispiel -
pytorch
). - Eine Empfehlung sollte nicht mehrere "vs" Wörter enthalten.
- Nachdem 5 übereinstimmende Suchvorgänge gefunden wurden, werden alle anderen nicht mehr berücksichtigt.
Dies ist nur eine der Möglichkeiten, die Liste der Empfehlungen zum Ausfüllen einer von Google erhaltenen Suchanfrage zu "bereinigen". Außerdem sehe ich manchmal den Vorteil, aus der Liste nur Empfehlungen auszuwählen, die nur aus einem Wort bestehen, aber die Verwendung dieser Technik hängt von der jeweiligen Situation ab.
Unter Verwendung dieser Kriterien haben wir also 5 der folgenden Ergebnisse erhalten, denen jeweils ein bestimmtes Gewicht zugewiesen wurde.
5 Ergebnisse
Nächste Iteration
Diese 5 gefundenen Empfehlungen werden dann der gleichen Verarbeitung wie die ursprüngliche Suchabfrage unterzogen. Sie werden mit dem Wort "vs" an die API übergeben, und es werden erneut 5 Ergebnisse für die automatische Vervollständigung ausgewählt, die die oben genannten Kriterien erfüllen. Hier ist das Ergebnis einer solchen Verarbeitung der obigen Liste.
Suchen nach automatisch vervollständigten Ergebnissen für bereits gefundene Wörter Sie
können diesen Vorgang fortsetzen, indem Sie die Wörter in der Spalte untersuchen, die noch nicht untersucht wurden
target
.
Wenn Sie genügend Iterationen dieser Wortsuche ausführen, erhalten Sie eine ziemlich große Tabelle mit Informationen zu Abfragen und Gewichten. Diese Daten eignen sich gut für die Grafikvisualisierung.
Das Ego zählt
Das Netzwerkdiagramm, das ich Ihnen am Anfang des Artikels gezeigt habe, ist das sogenannte Ego-Diagramm, das in unserem Fall für die Abfrage erstellt wurde
tensorflow
. Ein Ego-Graph ist ein Graph mit all seinen Knoten in einiger Entfernung vom Knoten tensorflow
. Dieser Abstand darf den angegebenen Abstand nicht überschreiten.
Und wie wird der Abstand zwischen Knoten bestimmt?
Schauen wir uns zunächst das fertige Diagramm an.
Das Ego-Diagramm für eine Tensorflow-Abfrage mit einem Radius von 22 ist das
Gewicht der Kante, die die Abfrage verbindet,
A
undB
wir wissen es bereits. Dies ist der Rang der Empfehlung aus der Abschlussliste, der von 1 bis 5 variiert. Um das Diagramm nicht orientiert zu machen, können Sie einfach die Gewichte der Verknüpfungen zwischen den Scheitelpunkten in zwei Richtungen hinzufügen (dh vonA
kB
und, wenn es eine solche Verknüpfung gibt, vonB
kA
). ... Dies gibt uns die Gewichte der Kanten im Bereich von 1 bis 10.
Die Länge der Kante (Abstand) wird somit nach der Formel berechnet
11 —
. Wir haben hier 11 gewählt, weil das maximale Kantengewicht 10 beträgt (eine Kante hat dieses Gewicht, wenn beide Empfehlungen ganz oben auf den Listen der automatischen Vervollständigung des jeweils anderen stehen). Infolgedessen beträgt der Mindestabstand zwischen Anforderungen 1. Die
Größe (Größe) und Farbe (Farbe) des Diagrammscheitelpunkts wird durch die Anzahl (Anzahl) der Fälle bestimmt, in denen die entsprechende Anforderung in der Liste der Empfehlungen aufgeführt ist. Das Ergebnis ist, dass je größer der Peak ist, desto wichtiger ist das Konzept, das ihm präsentiert wird.
Das betrachtete Ego-Diagramm hat einen Radius von 22. Dies bedeutet, dass Sie jede Anforderung ausgehend vom Scheitelpunkt erreichen können
tensorflow
, indem Sie eine Entfernung von nicht mehr als 22 gehen. Schauen wir uns an, was passiert, wenn wir den Radius des Diagramms auf 50 erhöhen.
Ego-Graph für Tensorflow-Abfrage mit Radius 50
Interessanterweise stellte sich heraus! Diese Grafik enthält die meisten grundlegenden Technologien, die die an der künstlichen Intelligenz Beteiligten kennen sollten. Darüber hinaus sind die Namen dieser Technologien logisch gruppiert.
Und alles basiert auf einem einzigen Schlüsselwort.
Wie zeichnet man solche Graphen?
Ich habe das Online-Tool Flourish verwendet, um ein solches Diagramm zu zeichnen .
Mit diesem Dienst können Sie Netzwerkdiagramme und andere Diagramme über eine einfache Oberfläche erstellen. Ich nehme an, es lohnt sich, nach denjenigen zu suchen, die daran interessiert sind, Ego-Graphen zu erstellen.
Wie erstelle ich ein Ego-Diagramm mit einem bestimmten Radius?
Um ein Ego-Diagramm mit einem bestimmten Radius zu erstellen, können Sie das Python-Paket verwenden
networkx
. Es hat eine sehr praktische Funktion ego_graph
. Der Radius des Diagramms wird angezeigt, wenn diese Funktion aufgerufen wird.
import networkx as nx
#
#nodes = [('tensorflow', {'count': 13}),
# ('pytorch', {'count': 6}),
# ('keras', {'count': 6}),
# ('scikit', {'count': 2}),
# ('opencv', {'count': 5}),
# ('spark', {'count': 13}), ...]
#edges = [('pytorch', 'tensorflow', {'weight': 10, 'distance': 1}),
# ('keras', 'tensorflow', {'weight': 9, 'distance': 2}),
# ('scikit', 'tensorflow', {'weight': 8, 'distance': 3}),
# ('opencv', 'tensorflow', {'weight': 7, 'distance': 4}),
# ('spark', 'tensorflow', {'weight': 1, 'distance': 10}), ...]
#
G=nx.Graph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
# - 'tensorflow'
EG = nx.ego_graph(G, 'tensorflow', distance = 'distance', radius = 22)
#
subgraphs = nx.algorithms.connectivity.edge_kcomponents.k_edge_subgraphs(EG, k = 3)
# , 'tensorflow'
for s in subgraphs:
if 'tensorflow' in s:
break
pruned_EG = EG.subgraph(s)
ego_nodes = pruned_EG.nodes()
ego_edges = pruned_EG.edges()
Außerdem habe ich hier eine andere Funktion verwendet -
k_edge_subgraphs
. Es wird verwendet, um einige Ergebnisse zu entfernen, die nicht unseren Anforderungen entsprechen.
Beispielsweise handelt es sich
storm
um ein Open Source-Framework für verteiltes Echtzeit-Computing. Dies ist aber auch eine Figur aus dem Marvel-Universum. Welche Suchvorschläge werden Ihrer Meinung nach "gewinnen", wenn Sie "Storm vs" in Google eingeben?
Die Funktion
k_edge_subgraphs
findet Gruppen von Scheitelpunkten, die nicht durch Ausführen k
oder weniger Aktionen unterteilt werden können. Wie sich herausstellte, zeigen sich hier die Werte der Parameter k=2
und gut k=3
. Am Ende bleiben nur die Untergraphen übrig, zu denen sie gehören tensorflow
. Auf diese Weise können wir sicherstellen, dass wir nicht zu weit von dem Ort entfernt sind, an dem wir mit der Suche begonnen haben, und nicht in zu weit entfernte Gebiete vordringen.
Verwenden von Ego-Graphen im Leben
Gehen wir von Beispiel c weg
tensorflow
und schauen uns einen anderen Ego-Graphen an. Diesmal eine Grafik, die etwas anderem gewidmet ist, das mich interessiert. Dies ist eine Schacheröffnung, die als "spanisches Spiel" bezeichnet wird (Ruy Lopez Schacheröffnung).
▍Studie der Schacheröffnungen
Studium der „Spanischen Partei“ (ruy lopez)
Unsere Methodik ermöglichte es uns, schnell die häufigsten Ideen für Eröffnungen zu entdecken, die einem Schachforscher helfen können.
Schauen wir uns nun andere Beispiele für die Verwendung von Ego-Graphen an.
▍Gesundes Essen
Kohl! Lecker!
Aber was wäre, wenn Sie den Wunsch hätten, einen schönen, unvergleichlichen Kohl durch etwas anderes zu ersetzen? Das Ego-Diagramm rund um Kohl (
kale
) hilft Ihnen dabei .
Ego-Diagramm für Grünkohlabfrage mit Radius 25
»Wir kaufen einen Hund
Es gibt so viele Hunde und so wenig Zeit ... Ich brauche einen Hund. Aber welcher? Vielleicht so etwas wie ein Pudel (
poodle
)?
Ego-Diagramm für Pudelabfrage mit Radius 18
▍ Auf der Suche nach Liebe
Hund und Kohl ändern nichts? Müssen Sie Ihren Seelenverwandten finden? Wenn ja, hier ist ein kleiner, aber sehr autarker Ego-Graph, der dabei helfen kann.
Ego-Grafik für Anfrage Kaffee trifft Bagel mit Radius 18
▍Was wäre, wenn Dating-Apps nicht helfen würden?
Wenn Dating-Apps nicht nützlich sind, lohnt es sich, die Show zu sehen, anstatt mit Eis mit Kohlgeschmack (oder kürzlich entdecktem Rucolasalat) abzuhängen. Wenn Sie The Office mögen (sicherlich das, das in Großbritannien gedreht wurde), dann mögen Sie vielleicht auch einige der anderen Shows.
Ego-Diagramm zum Abfragen des Büros mit einem Radius von 25
Zusammenfassung
Damit ist die Geschichte über die Verwendung des Wortes "vs" in einer Google-Suche und über Ego-Diagramme abgeschlossen. Ich hoffe, dass all dies Ihnen zumindest ein wenig bei Ihrer Suche nach Liebe, einem guten Hund und gesundem Essen hilft.
Verwenden Sie ungewöhnliche Suchtechniken im Internet?