Was passiert, wenn Google-Suchanfragen das Wort "vs" verwenden?

Hatten Sie schon einmal Folgendes: Suchen Sie bei Google nach etwas und geben Sie nach dem gesuchten Wort "vs" ein, in der Hoffnung, dass die Suchmaschine Ihnen automatisch etwas vorschlägt, das ein bisschen so aussieht, wie Sie es brauchen?





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:



  1. 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ß."
  2. — . , , .
  3. «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=toolbargibt an, dass wir an den Ergebnissen im XML-Format interessiert sind, gl=uslegt den Ländercode fest, hl=enermö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 glund hlverwenden 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 wurdentarget.



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,AundBwir 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 vonAkBund, wenn es eine solche Verknüpfung gibt, vonBkA). ... Dies gibt uns die Gewichte der Kanten im Bereich von 1 bis 10.



Die Länge der Kante (Abstand) wird somit nach der Formel berechnet11 — . 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 stormum 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_subgraphsfindet Gruppen von Scheitelpunkten, die nicht durch Ausführen koder weniger Aktionen unterteilt werden können. Wie sich herausstellte, zeigen sich hier die Werte der Parameter k=2und 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 tensorflowund 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?






All Articles