[PYTHON] Erkennen Sie den verlorenen Suchstatus im Verlauf der Google Chrome-Suchanfrage

Einführung

Haben Sie jemals Ihre Zeit verschwendet, weil die Informationen, nach denen Sie im Web gesucht haben, schwer zu bekommen waren? Wenn ich nicht aufpasse, kann ich endlos suchen. Ich denke, dass es einige Fälle gibt, in denen Sie sich bei einer Suche verlaufen, bei der Sie nicht die gewünschten Informationen erhalten können, egal wie oft Sie suchen. Ich dachte, wenn ich den Zustand des verlorenen Kindes objektiv beurteilen könnte, müsste ich keine unnötige Zeit aufwenden, also untersuchte ich, ob es möglich wäre, mit den vorliegenden Informationen zu beurteilen.

In diesem Artikel haben wir untersucht und analysiert, ob es möglich ist, den verlorenen Suchstatus zu ermitteln, indem wir anhand des Suchverlaufs mehrerer Personen analysieren, wie sich die Suchabfrage ändert. Infolgedessen konnte ich den Verlustzustand der Suche nicht eindeutig beurteilen, aber ich hatte das Gefühl, dass es möglich sein würde, die Variablen der Analyse zu erhöhen und die Tendenz aus einer anderen Perspektive zu erfassen.

Suche verlorenen untergeordneten Zustand

Annahme

Dieses Mal wird angenommen, dass die Änderung der Suchabfrage als Faktor zur Beurteilung der Situation, in der die Suche verloren geht, wirksam ist. Ich denke, es ist natürlich, dass selbst wenn Sie wiederholt suchen, indem Sie die Wortkombination ändern, nur ähnliche Seiten getroffen werden. Selbst wenn Sie nur den Wortlaut ändern, ist es unwahrscheinlich, dass Sie auf nützliche Seiten stoßen. Mit anderen Worten, wenn sich an der Suchabfrage wenig ändert, kann gesagt werden, dass die Suche verloren geht.

Bestehende Technologie zur Problemlösung

Auf der anderen Seite kann gesagt werden, dass Sie sich nicht in einem verlorenen Suchstatus befinden, weil Sie sich der gesuchten Seite nähern, indem Sie neue Informationen über das Suchziel abrufen oder die Suchabfrage durch eine neue Idee ändern. Um verlorene Suchbedingungen zu vermeiden, wird versucht, die Lösung durch Erweitern von Abfragen wie Google Suggest und Empfehlen von Suchergebnissen basierend auf Benutzereinstellungen basierend auf kooperativer Filterung unter Verwendung der Suchinformationen anderer Benutzer zu versuchen. Ich werde.

Überprüfen Sie diesmal die Punkte

Andererseits haben wir in diesem Artikel bestätigt, ob es möglich ist, den verlorenen Suchstatus zu erkennen, anstatt ihn zu beseitigen. Wenn Sie nach einem bestimmten Ausdruck suchen, können Sie ihn mit der vorhandenen Technologie lösen. Ich denke jedoch, dass der Suchstatus aufgrund der Tatsache, dass Sie den Suchbegriff nicht klar verstehen, möglicherweise noch nicht gut gelöst ist. Zuallererst wollte ich die Menschen um mich herum ermutigen, Unterstützung zu erhalten, indem ich die Situation erfasste, in der ich mich bei der Suche verirrt hatte, und untersuchte, ob dies beurteilt werden kann.

Analysezusammenfassung

Dieses Mal haben wir eine Umfrage gemäß dem folgenden Ablauf durchgeführt.

Kobito.Y1nW4f.png

  1. Holen Sie sich eine Suchanfrage von Google Chrome
  2. Analysieren Sie den Übergang von Suchanfragen mit Python
  3. Stellen Sie die Ergebnisse grafisch dar

Umwelt / gebraucht

· Mac ・ Google Chrome-Suchverlauf ・ Python (3.6.0)

Analyse

Google Chrome-Suchverlauf

Speicherort der Suchverlaufsdaten

In Google Chrome werden nicht nur der angezeigte Seitenverlauf, sondern auch Informationen wie Suchanfrageninformationen und das zuletzt angezeigte Datum der Ziel-URL lokal gespeichert.

~/Library/Application\ Support/Google/Chrome/Default/History
Local Settings/Application Data/Google/Chrome/User Data/Default/History

Durchsuchen von Suchverlaufsdaten

Der Verlauf wird im SQLite3-Format gespeichert, einem RDBMS, das in Ihrer Anwendung ausgeführt wird. Wenn Sie einen Mac verwenden, können Sie ohne besondere Vorbereitung von CUI aus surfen. Es ist besser, vor dem Surfen eine Kopie zu erstellen.

$sqlite3 History

Da es mit SQL-Anweisungen ähnlich wie Oracle usw. verarbeitet werden kann, haben Sie beim Berühren von RDBMS keine Probleme beim Erfassen von Daten. Wenn Sie sich an ".schema" erinnern, das Schemainformationen ausgibt, an ".table", das eine Tabellenliste ausgibt, und an ".output", das das Ausgabeziel ändert, als häufig verwendete charakteristische Befehle, haben Sie keine Probleme. Es kann ausgeführt werden, indem eine externe SQL-Datei gelesen wird oder der Name der gelesenen Datei verwendet wird.

[Referenz] http://qiita.com/northriver/items/3f48f27b60f6362d330c http://l-w-i.net/t/sqlite/ext_001.txt https://www.dbonline.jp/sqlite/sqlite_command/list.html

Darüber hinaus kann es von der GUI verwaltet werden, indem die folgende Anwendung installiert wird. (Kompatibel mit Windows und Mac) DB Browser for SQLite

Informationen zu Suchverlaufsdaten

Dieses Mal habe ich "keyword_search_terms" verwendet, die die Informationen der Suchabfrage-Verlaufstabelle sind.

Da es in der Geschichte nicht viele detaillierte Informationen zu den Daten gab, werde ich außerdem die Informationen beschreiben, die bei der Untersuchung gefunden wurden.

・ Informationen zum Spaltennamen Beachten Sie, dass jede Tabelle einen Spaltennamen mit demselben Namen hat, diese jedoch nicht immer dieselbe Bedeutung haben. Beispiel) urls.id = Visits.url

・ Informationen zu Datum und Uhrzeit Bitte beachten Sie, dass das Basisdatum und die Einheit je nach Spalte unterschiedlich sind. Visits.visit_time basiert auf dem 1. Januar 1961, Einheit ist Mikrosekunde downloads.start_time basiert auf dem 1. Januar 1970, die Einheit ist die zweite [Referenz] http://www.forensicswiki.org/wiki/Google_Chrome

・ Über den Übergang Da das Format einiger Spalten unbekannt ist, gibt es viele Elemente, die nicht verstanden werden können. Obwohl diesmal nicht verwendet, ist urls.transition ein Code, der zeigt, wie auf die Seite übergegangen wurde. (Wird geöffnet, indem direkt ein Link oder eine URL von einer anderen Seite usw. eingegeben wird.) Der Übergangscode kann erhalten werden, indem von binär nach hexadezimal konvertiert wird und das logische Produkt 0xFF verwendet wird.

[Referenz] So finden Sie den Übergangscodewert https://groups.google.com/a/chromium.org/forum/#!topic/chromium-discuss/r7UQ2i98Lu4 [Referenz] Bedeutung des Übergangscodewerts https://developer.chrome.com/extensions/history

Messung der Sucheffizienz

Informationen zum Suchergebnis

Wir haben die Ähnlichkeit mit den vorherigen Suchanfragen für jeden Suchversuch gemessen und eine Punktzahl berechnet, die angibt, dass sich die Sucheffizienz verschlechtert, wenn viele ähnliche Wörter vorhanden sind.

Für die Berechnung der Ähnlichkeit zwischen Wörtern haben wir difflib verwendet, das in Python als Standardbibliothek erstellt wurde. Vergleichen Sie mit SequenceMatcher und berechnen Sie die Ähnlichkeit. Es kann wie folgt verwendet werden. Die Ähnlichkeit wird von 0 (überhaupt keine Übereinstimmung) bis 1 (genaue Übereinstimmung) berechnet.

>>> difflib.SequenceMatcher(None, 'python','python3').ratio()
0.9230769230769231

Das Folgende ist ein Beispiel für die Berechnung der Suchpunktzahl anhand dieser. Diejenigen, die durch die rote Linie verbunden sind, sind die Kombinationen von Wörtern mit dem höchsten Grad an Ähnlichkeit. Die Punktzahl für die zweite Suche beträgt "0,64".

Je näher die berechnete Suchpunktzahl an 0 liegt, desto geringer kann die Ähnlichkeit beurteilt werden, und ich möchte sie als Grundlage für die Feststellung verwenden, ob die Suche verloren geht oder nicht.

Experiment

Zieldaten

Wir haben den Chrome-Verlauf von 4 Personen erhalten und bestätigt. Ich wollte, dass Sie in 10 Minuten nach den hier vorgestellten Themen suchen. Darüber hinaus haben wir einen beliebigen Suchverlauf ausgewählt, den wir normalerweise verwendet haben. Einer von ihnen ist mein Senior und die Forschungsaufgabe ist sehr schnell erledigt. Die anderen drei sind Junioren.

Vorverarbeitung

Nur der Übergang der Suchabfrage, der anscheinend für einen Zweck durchsucht wurde, wurde extrahiert und als Testdaten verwendet. Da der Chrome-Verlauf sowohl die Informationen in der Suchabfrage als auch die Informationen enthält, in denen alle alphabetischen Zeichen in Kleinbuchstaben geschrieben sind, wurden diesmal die in Kleinbuchstaben konvertierten Informationen verwendet.

Unten ist ein Beispiel.

postgresql mac Installation
Installationsort für postgresql mac
Postgresql Mac Installationsspezifikation
postgresql mac Installationsverzeichnis ändern

Die horizontale Achse ist die Anzahl der Suchversuche und die vertikale Achse ist die Suchbewertung. Das erste Mal ist 0, da es kein Vergleichsziel gibt. In diesem Beispiel hat sich an der Suchabfrage nicht viel geändert, sodass die Suchpunktzahl weiter steigt.

Ergebnis

Kobito.4jPMyn.png

Über die Punktzahl der allgemeinen Aufgaben

Die rote Linie ist das Ergebnis der Suche nach häufigen Problemen. Der Senior kam zum sechsten Mal zu den Zielinformationen, aber die anderen drei hatten keine Zeit mehr.

Die Suchbewertung meiner Senioren ist vom 4. bis zum 5. Mal erheblich gesunken, und als ich die Abfrage überprüft habe, hat sich diese drastisch geändert. Als ich die Anhörung durchführte, konnte ich zu Beginn der Suche nur nach abstrakten Wörtern suchen, aber als ich fortfuhr, fand ich ein bestimmtes Wort, nach dem ich suchen konnte.

Auf der anderen Seite hatten Herr A und Herr C keine große Änderung in der Suchanfrage, und ich konnte die Situation lesen, über die sie sich Sorgen machten. Als ich mich auf die Daten der blauen Linie von Herrn B konzentrierte, fiel die Punktzahl vom 5. auf das 6. Mal, aber ich las nur von Englisch auf Japanisch. Ich denke, es gibt Vor- und Nachteile, ob dies eine Ausgleichssituation ist oder nicht.

Über die Punktzahl der normalen Suche

Beim Lesen der Grafik hatte ich den Eindruck, dass Senioren mit hohen Forschungsfähigkeiten niedrige Suchergebnisse haben, aber es scheint, dass zusätzliche Forschung notwendig ist, um festzustellen, ob dies angemessen ist, da nur wenige Daten vorliegen.

Für die Zukunft

・ Verbesserung der Score-Berechnungsmethode Ich war der Meinung, dass die Suchpunktzahl, die als Tendenz des Suchverlustzustands angenommen wird, immer noch nützlich sein kann, daher möchte ich die Berechnungsmethode für die Punktzahl verbessern.

・ Service mit Suchergebnis Wir möchten einen Schwellenwert für die Suchbewertung festlegen, um den verlorenen Suchstatus zu beseitigen. Wenn dieser überschritten wird, möchten wir einen Dienst erstellen, z. B. den Benutzer benachrichtigen, um sich dessen bewusst zu sein, und mit anderen zusammenarbeiten.

Recommended Posts

Erkennen Sie den verlorenen Suchstatus im Verlauf der Google Chrome-Suchanfrage
Speichern Sie das Hundebild aus der Google-Bildsuche
[Python] Laden Sie das Originalbild von der Google Bildsuche herunter
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】