Ich hatte eine Interviewfrage:
Ihnen wurde gesagt, dass eine Suchmaschine Ergebnis nach Zielabfrage erfüllt eine Anforderung durch seine Position nicht. Wie würden Sie es testen?
Wie würden Sie es testen?
Ich hatte jedoch einige Gedanken:
- Sie benötigen eine Liste von Eingabesuchabfragen
- Sie benötigen eine Zielposition für jede der Abfragen
- Sie stimmen jede Zielposition mit der tatsächlichen
- Ich möchte Ihnen nur ‚ hinzufügen Testen Sie den Such- / Ranking-Algorithmus erneut, nicht die Art und Weise, wie Ergebnisausschnitte dargestellt werden oder wie die automatische Vervollständigung von Abfragen funktioniert. Beide können sich auf die endgültige Abrufeffektivität auswirken.
Aber es hat nicht gereicht.
Kommentare
Antwort
Ich bin kein Experte für Suchmaschinen, aber es gibt sie Viele Faktoren, die dazu beitragen, wie Suchergebnisse angezeigt werden. Die Abfrage ist im Wesentlichen der Ausgangspunkt, und es ist wichtig, wie die Engine die Abfrage analysiert. Außerdem werden einige Suchmaschinen die Abfrage basierend auf natürlichen Sprachalgorithmen „umgestalten“. Die Reihenfolge der zurückgegebenen Ergebnisse hängt häufig von verschiedenen Metriken ab, z. B. der Beliebtheit, der Anzahl übereinstimmender Wörter, Schlüsselwörter, Tags usw. Außerdem werden einige dieser Kennzahlen stärker gewichtet als andere.
Diese Frage an sich bietet Ihnen nicht wirklich genug Kontext, oder vielleicht bestand der Zweck dieser Frage darin, Sie dazu zu bringen, Fragen zu stellen, um mehr Kontext abzuleiten. Manchmal stellen Interviewer vage Fragen, um zu sehen, ob der Befragte anfängt, Stiche im Dunkeln zu machen „ohne ausreichend Kontext zu gewinnen (z. B. Probleme zu lösen und zu hoffen, über eine Lösung zu stolpern, oder über das Problem nachzudenken und mögliche Lösungen mit Bedacht zu prüfen).
Antwort
Tatsächlich ist die Frage, wie Suchmaschinen getestet werden, Teil des Information Retrieval (IR) -Problems. Ich werde nur ein Problem auflisten Einige Ansätze, wie sie bewertet / getestet werden können.
Traditioneller IR-Ansatz
Eine Möglichkeit im herkömmlichen IR besteht darin, den Testaufbau vorzubereiten, einschließlich:
- Kandidatenabfragen
- Datensatz indizierter Seiten
- Erwartete Ergebnismenge (einschließlich erwarteter Rangfolge) für jede Abfrage
Als Nächstes erhalten Sie tatsächliche Ergebnisse, indem Sie Ihre Suchmaschine über Kandidatenabfragen ausführen und die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen unter Verwendung einer der Informationsabrufmetriken vergleichen , z.B Präzision / Rückruf oder nDCG . Das würde Ihnen eine quantitative Antwort geben, wie schlecht oder gut Ihre Suchmaschine in Bezug auf die erwartete Ergebnismenge (Anforderung) ist.
Offensichtlich wird die Antwort kontextspezifisch sein. Dies hängt insbesondere von der Auswahl der Kandidatenanfragen, deren Absicht und Wortlaut, dem Datensatz der indizierten Seiten und der Art und Weise ab, wie die erwarteten Ergebnisse beurteilt wurden. Wie war der Kontext?
Zielorientierter / interaktiver IR-Ansatz
Ein weiterer Ansatz, möglicherweise mehr Praktisch wäre es, potenzielle Benutzer einzubeziehen und sie die Qualität der Ergebnisse für eine bestimmte Abfrage beurteilen zu lassen. Sie könnten ihre eigenen Abfragen bringen oder Sie könnten Abfragen für sie definieren. Dies können einige Personen oder eine ganze Community sein, von denen Sie impliziteres Feedback zur Ergebnisqualität erhalten können (z. B. werden die angeklickten Ergebnisse erwartet).
Problemisolierung
Schließlich besteht das Problem möglicherweise nicht darin, die Gesamtqualität der Suchmaschine zu bewerten, sondern nur den Grund für das niedrige Ranking einzugrenzen dieses bestimmten Abfrageergebnisses. Ich würde also dem Problem folgen, das Sie haben:
Ihnen wurde gesagt, dass ein Suchmaschinenergebnis durch Zielabfrage eine Anforderung aufgrund seiner Position nicht erfüllt.
und fragte mich:
- Welche anderen Ergebnisse wurden höher eingestuft?
- Warum wurden sie höher eingestuft? Kann ich das an Ergebnisausschnitten erkennen? Vielleicht stimmen sie mit Abfrage-Schlüsselwörtern überein, haben aber eine andere Bedeutung? Vielleicht ist der Wortlaut falsch? Würde ein anderer Wortlaut der Abfrageabsicht das Ergebnis verbessern?
- Dieselbe Abfrage kann unterschiedlich formuliert sein, und dieselben Formulierungen haben möglicherweise unterschiedliche Abfrageabsichten. Weiß ich wirklich, was die Absicht eines Suchers hinter dieser Abfrage war?
- Was genau ist die Anforderung? Um höher gesponserte Seiten zu steigern? Oder höhere Seiten, die der Abfrageabsicht entsprechen?
Diese können Ihnen helfen, das Problem für andere ähnliche Abfragen zu reproduzieren.
Antwort
Ich habe 2004 für ein SEO-Unternehmen gearbeitet.Unser Ziel war es, auf der ersten oder zweiten Seite von Google natürliche / organische Suchergebnisse für die ausgewählten Schlüsselbegriffe zu erhalten (natürliche / organische Suchergebnisse sind die regulären Suchergebnisse, nicht die von Google Ad Words gesponserten). Das Unternehmen war ein Start-up und entschied sich, sich nur auf Google zu konzentrieren, da es zu diesem Zeitpunkt mehr als 80% des Suchmaschinenmarktes ausmachte. Studien zeigten, dass Nutzer sehr selten über die ersten beiden Seiten von Google hinaus nach einer Übereinstimmung der Suchergebnisse suchten.
Wir haben die Ergebnisse getestet, indem wir die gewünschten Schlüsselphrasen (Kombination von Schlüsselwörtern) in Google eingegeben haben und überprüft haben, ob die Auflistung auf der ersten oder zweiten Seite von Google angezeigt wurde. Wenn ja, wurde dies berücksichtigt Ein Erfolg, wenn nicht, wurde dies als Fehlschlag angesehen.
Mit der gezielten Werbung von Google haben sich die Dinge heute geändert, sodass Nutzer möglicherweise unterschiedliche Ergebnisse von verschiedenen Computern erhalten. Wenn sie bei Google Plus angemeldet sind, kann dies Auswirkungen haben Die Ergebnisse auch, daher weiß ich nicht, ob es überhaupt noch möglich ist, dies zu testen.
Kommentare
- So wurden einfach Google-Ergebnisse als Referenz behandelt == erwartete Ergebnisse?
Antwort
Weil in der Frage „search res ult durch die Abfrage erfüllt nicht ihre Anforderung nach Position „, es sieht so aus, als ob das Testziel darin besteht, sicherzustellen, dass die richtige Rangfolge / relevanzbasierte Sortierung im Suchalgorithmus vorhanden ist. Um dies weiter zu debuggen / zu analysieren, könnte ich weitere Details zu der Abfrage erfragen – war es nur eine einfache Textsuche in einem einzelnen Feld oder handelte es sich um eine Kombination von Feldern, handelte es sich um nicht englische Zeichen (diakritische Zeichen usw.)? Manchmal kann der Grund dafür, dass ein Ergebnis niedriger eingestuft wird, darin liegen, dass einige Sonderzeichen bei der Suche weggelassen werden oder bestimmte Felder nicht indiziert werden, weshalb bei der Suche diese Felder weggelassen werden.
Wir könnten testen, indem wir
- denselben Begriff / dieselbe Abfrage mit einer zusätzlichen Kombination von Feldern verwenden.
- Überprüfen Sie, ob die Hitmap einwandfrei funktioniert – dh die erste Dokumente in den Suchergebnissen haben tatsächlich mehr „Anzahl der Suchbegriffe“ als andere Dokumente in dem gesuchten Feld – das Öffnen des Dokuments und das Zählen würden dies bewerten.
- Eliminieren Sie jeweils ein Zeichen oder ein Feld (für mehrere) Feldsuche) und prüfen Sie dann, ob die Ergebnisse relevant sind.
- Verwenden Sie ein Synonym des Begriffs (für die Begriffssuche) und prüfen Sie, ob das Dokument und der Rang höher sind.
- Grenzen Sie die Suche ein Datum oder ein anderes Feld und prüfen Sie, ob eine reduzierte Ergebnismenge höher eingestuft wird.
Eine andere Methode besteht darin, die Such-API mit einem Tool wie Fiddler oder Postman aufzurufen und dann den zurückgegebenen Rang mit zu vergleichen das Ranking in der Benutzeroberfläche. Manchmal kann beim Parsen und Laden der clientseitigen Seite aufgrund einiger Caching-Probleme die Sortierung durcheinander gebracht werden.