Kérdésem volt interjúval:
Azt mondták, hogy egy keresőmotor A cél lekérdezés szerinti eredmény nem felel meg egy követelménynek a pozíciója alapján. Hogyan tesztelnéd?
Hogyan tesztelnéd?
Bár volt néhány gondolatom:
- Szüksége van a bemeneti keresési lekérdezések listájára
- Minden egyes lekérdezéshez szüksége van egy célpozícióra.
- Minden célpozíciót egyeztet a tényleges
De ez nem volt elég.
Megjegyzések
- Csak hozzátennék ‘ a keresés / rangsorolás algoritmusának újbóli tesztelése, nem az eredményrészletek bemutatásának módja vagy a lekérdezés automatikus kiegészítésének működése. Mindkettő befolyásolhatja a végső visszakeresés hatékonyságát.
Válasz
Nem vagyok szakértő a keresőmotorokban, de vannak sok tényező járul hozzá a keresési eredmények megjelenítéséhez. A lekérdezés lényegében a kiindulópont, és fontos, hogy a motor hogyan elemzi a lekérdezést. Néhány keresőmotor “refrakcionálja” a természetes langauge algoritmusokon alapuló lekérdezést. A visszaküldött eredmények sorrendje sokféle mutatótól függ, például a népszerűségtől, az egyező szavak, kulcsszavak, címkék számától stb. Ezeknek a mértékeknek némelyike nagyobb súlyt kap, mint mások.
Tehát, ez a kérdés önmagában nem nyújt elég kontextust, vagy talán ennek a kérdésnek az volt a célja, hogy kérdéseket tegyen fel arra, hogy több kontextust szerezzen. Néha az interjúztatók homályos kérdéseket tesznek fel, hogy lássák, kezd-e az interjúalany a sötétben “anélkül, hogy elegendő kontextust szerezne (pl. kezdje el robbantani a problémákat, és remélje, hogy megbotlik egy megoldásban, vagy gondolkodjon el a problémán, és előre megfontolva vegye fontolóra a lehetséges megoldásokat). div class = “answer”>
Valójában a keresőmotorok tesztelésének kérdése az információ-visszakeresési (IR) probléma része. Csak egy kevés megközelítés, hogyan lehet őket értékelni / tesztelni.
Hagyományos IR megközelítés
A hagyományos IR egyik módja a tesztbeállítás előkészítése, beleértve a következőket:
- Jelölt lekérdezések
- Indexelt oldalak adatkészlete
- Várható eredménykészlet (a várható rangsort is beleértve) minden egyes lekérdezéshez
Ezután a keresőmotor jelölt lekérdezéseken keresztül történő futtatásával kap tényleges eredményeket, és összehasonlítja a tényleges eredményeket a várt eredményekkel az információkeresési mutatók egyikével , például precízió / visszahívás vagy nDCG . Ez kvantitatív választ adna arra, hogy mennyire rossz vagy jó a keresőmotor a várt eredményhalmazhoz képest (követelmény).
Nyilvánvaló, hogy a válasz kontextusfüggő lesz. Ez különösen függ a jelölt lekérdezések megválasztásától, azok szándékától és megfogalmazásától, az indexelt oldalak adatkészletétől és a várható eredmények megítélésétől. Tehát mi volt a kontextus?
Célvezérelt / Interaktív IR megközelítés
Másik megközelítés, talán még több gyakorlati szempontból az lenne, ha bevonnák a potenciális felhasználókat, és hagynák, hogy értékeljék az adott lekérdezés eredményeinek minőségét. Hozhatnának saját lekérdezéseket, vagy te is meghatározhatnál nekik lekérdezéseket. Ez lehet néhány ember vagy egy egész közösség, ahonnan implicit visszajelzést kaphat az eredmények minőségéről (pl. A kattintott eredmények várhatóak).
Probléma elkülönítése
Végül az lehet a probléma, hogy nem a keresőmotor általános minőségét értékelik, hanem csak szűkítik az alacsony rangsorolás okát az adott lekérdezés eredményét. Tehát követném a kapott problémát:
Azt mondták, hogy a keresőmotor céllekérdezés szerinti eredménye nem felel meg a követelményeknek a pozíciója alapján.
és feltettem magamnak a kérdést:
- Melyek voltak a további eredmények, amelyek ennél magasabbra lettek rangsorolva?
- Miért lettek magasabbak? Megmondhatom ezt az eredményrészletekből? Talán egyezik a lekérdezés kulcsszavakkal, de más jelentéssel bírnak? Tehát talán nem megfelelő a megfogalmazás? Javítaná az eredményt a lekérdezési szándék másik megfogalmazása?
- Ugyanaz a lekérdezés talán másképp van megfogalmazva, és ugyanazok a megfogalmazások mögött más lekérdezési szándék állhat. Tényleg tudom, hogy mi volt a kereső szándéka e lekérdezés mögött?
- Pontosan mi a követelmény? A magasabb szponzorált oldalak növelése érdekében? Vagy rangsorolja azokat a magasabb oldalakat, amelyek megfelelnek a lekérdezés szándékának?
Ezek segíthetnek a probléma más hasonló lekérdezésekhez történő újratermelésében.
Válasz
2004-ben egy SEO cégnél dolgoztam.Célunk az volt, hogy természetes / organikus keresési eredményeket kapjunk a Google első vagy második oldalán a megcélzott kulcsmondatokhoz (a természetes / organikus keresési eredmények a rendszeres keresési eredmények, nem pedig a Google Ad Words által szponzoráltak). A vállalat kezdő vállalkozás volt, és csak azért döntött, hogy a Google-ra összpontosítson, mivel annak idején a keresőmotorok piacának több mint 80% -át birtokolta, és tanulmányok azt mutatták, hogy a felhasználók nagyon ritkán tekintettek át a Google első két oldalán a keresési eredmények egyezésére.
Az eredmények tesztelésének módja az volt, hogy beírtuk a megcélzott kulcsszavakat (kulcsszavak kombinációja) a Google-ba, és megnéztük, hogy az adatok megjelennek-e a Google első vagy második oldalán, ha igen, akkor fontolóra vették-e. siker, ha nem, akkor kudarcnak tekintették.
Ma megváltozott a helyzet a Google célzott hirdetéseivel, így az emberek különböző eredményeket kaphatnak különböző számítógépekről, és ha be vannak jelentkezve a Google Plus szolgáltatásba, ez hatással lehet az eredményeket is, ezért nem tudom, lehetséges-e már ezt tesztelni.
Megjegyzések
- Tehát egyszerűen a Google eredményeit kezeltük == várható eredmények?
Válasz
Mivel a kérdés megemlíti a “keresési res a lekérdezés szerint nem teljesíti a pozíciónkénti követelményét “, úgy tűnik, hogy a teszt célja annak biztosítása, hogy a keresési algoritmuson a megfelelő rangsoroláson / relevancián alapuló rendezés legyen. Ennek további hibakereséséhez / részletesebb feltérképezéséhez további részleteket kérhetnék a lekérdezésről – csak egyszerű szöveges keresés volt-e egyetlen mezőben, vagy mezők kombinációját tartalmazta-e, tartalmazott-e valamilyen nem angol karaktert (diakritikus stb.). Néha annak az oka lehet, hogy az eredmény rangsorolása alacsonyabb lehet, hogy néhány speciális karakter kihagyásra kerül a keresés során, vagy bizonyos mezők nem kerülnek indexelésre, ami miatt a keresés elhagyja ezeket a mezőket.
Tesztelhetnénk:
- Használja ugyanazt a kifejezést / lekérdezést további mezőkombinációkkal
- Nézze meg, hogy a találattérkép jól működik-e – vagyis az első a keresési eredmények között szereplő dokumentumban valóban több a keresési kifejezés száma, mint a keresett mező többi dokumentumában – a dokumentum megnyitása és a számlálás ezt értékelné.
- Távolítson el egyszerre egy karaktert vagy egy mezőt (többszörös esetén mezõs keresés), majd ellenõrizze, hogy az eredmények relevánsak-e
- használja a kifejezés szinonimáját (kifejezés kereséshez), és nézze meg, hogy képeket készít-e az adott dokiról és magasabb rangú
- Szűkítse a keresést dátum vagy bármely más mező, és nézze meg, hogy egy csökkentett eredménykészlet rangsorolja-e azt magasabb rangú
Egy másik módszer az lenne, ha a Search API-t meghívnánk egy olyan eszköz segítségével, mint a hegedűs vagy a Postman, majd összehasonlítanánk a visszaadott rangot a rangsor a felhasználói felületen. Néha az ügyféloldali elemzés és betöltés során néhány gyorsítótárazási probléma miatt a rendezés zavaros lehet.