Logotip Zephyrnet

Odklenite prilagojene izkušnje, ki jih poganja umetna inteligenca, z uporabo Amazon Personalize in Amazon OpenSearch Service | Spletne storitve Amazon

Datum:

Opensearch je razširljiv, prilagodljiv in razširljiv paket odprtokodne programske opreme za iskanje, analitiko, nadzor varnosti in aplikacije za opazovanje, licenciran pod licenco Apache 2.0. Storitev Amazon OpenSearch je popolnoma upravljana storitev, ki omogoča preprosto uvajanje, prilagajanje in upravljanje OpenSearch v oblaku AWS.

OpenSearch uporablja verjetnostni okvir za razvrščanje, imenovan BM-25, za izračun rezultatov ustreznosti. Če se značilna ključna beseda v dokumentu pojavlja pogosteje, BM-25 temu dokumentu dodeli višjo oceno ustreznosti. To ogrodje pa ne upošteva vedenja uporabnikov, kot so podatki o klikih ali nakupih, kar lahko dodatno izboljša ustreznost za posamezne uporabnike.

Izboljšanje funkcionalnosti iskanja je sestavni vidik izboljšanja splošne uporabniške izkušnje in angažiranosti na spletnem mestu ali aplikaciji. Iskalni promet velja za visoko namerno, ker uporabniki aktivno iščejo določen predmet in ugotovljeno je bilo, da v povprečju izvedejo do dvakrat več konverzij kot obiskovalci, ki ne iščejo spletnega mesta. Z uporabo podatkov o interakciji uporabnikov, kot so kliki, všečki in nakupi, lahko podjetja izboljšajo ustreznost iskanja, da izkoristijo ta promet in zmanjšajo primere, ko uporabniki opustijo svoje seje zaradi težav pri iskanju želenih predmetov. Z izboljšanjem kakovosti rezultatov iskanja lahko podjetja bistveno izboljšajo sodelovanje, zadovoljstvo in zvestobo svojih strank ter povečajo svoje stopnje konverzije, kar na koncu vodi do večje dobičkonosnosti in uspeha.

Amazonska prilagoditev vam omogoča, da svojim aplikacijam dodate prefinjene zmogljivosti personalizacije z uporabo iste tehnologije strojnega učenja (ML), ki se uporablja na Amazon.com že več kot 20 let. Strokovno znanje o ML ni potrebno.

Amazon Personalize podpira samodejno prilagajanje priporočil na podlagi kontekstualnih informacij o vašem uporabniku, kot so vrsta naprave, lokacija, ura ali druge informacije, ki jih posredujete. Amazonu Personalize zagotovite zgodovinske podatke o svojih uporabnikih in njihovih interakcijah v vaši aplikaciji, kot so zgodovina nakupov, ocene in všečki. V Amazon Personalize lahko dodate podatke v velikem obsegu, tako da naenkrat uvozite velike nabore zgodovinskih podatkov iz Preprosta storitev shranjevanja Amazon (Amazon S3) Datoteka CSV z uporabo formata, ki ga zahteva Amazon Personalize. Podatke lahko dodajate tudi postopoma z uvozom zapisov s konzolo ali API-jem Amazon Personalize. Ko so vaši pretekli podatki uvoženi, lahko nadaljujete z zagotavljanjem novih podatkov v realnem času s pošiljanjem dogodkov interakcije uporabnika. Na podlagi primera uporabe, ki ga želite obravnavati, kot so priporočila za izdelke, izberete vnaprej pripravljen recept, ki je optimiziran za ta cilj. Amazon Personalize analizira vaše podatke in usposablja model ML po meri na podlagi parametrov v receptu, da ustvari prilagojena priporočila, optimizirana za vaše uporabnike in aplikacijo. Ko je model usposobljen, lahko ustvarite prilagojena priporočila za svoje uporabnike v realnem času.

Z novo lansiranim Amazon Personalized Search Plugin za storitev Amazon OpenSearch, lahko uporabite zgodovino interakcij in zanimanja uporabnikov, da izboljšate njihove rezultate iskanja. Z uporabo an Amazon Personalize recept kot Prilagojena uvrstitev, lahko pomagate izboljšati rezultate iskanja za ustrezne elemente na podlagi zanimanja uporabnikov v času prejemanja rezultatov iskanja iz storitve OpenSearch.

Ta objava pojasnjuje, kako integrirati vtičnik Amazon Personalize Search Ranking s storitvijo OpenSearch, da omogočite prilagojene izkušnje iskanja. Za ustvarjanje artefaktov Amazon Personalize v tej objavi uporabljamo nabor podatkov iz IMDb, najbolj verodostojnega vira na svetu za filme, TV in vsebine slavnih, na voljo na AWS Marketplace, kot tudi Nabor podatkov MovieLens pripravila raziskava GroupLens na Univerzi v Minnesoti, sestavljena iz razvrstitev uporabnikov za različne filme.

Pregled rešitev

Naslednji diagram prikazuje arhitekturo rešitev.

Potek dela vključuje naslednje korake:

  1. Uporabnik izda iskalno zahtevo prek svojega spletnega mesta ali portala. Ta iskalna zahteva je poslana storitvi OpenSearch.
  2. Prvih N rezultatov iskanja je vrnjenih iz indeksa OpenSearch Service in poslanih v vtičnik za predhodno obdelavo in pripravo vnosa za Kampanja Amazon Personalize.
  3. Zahteva je poslana storitvi Amazon Personalize, da dobite ponovno razvrščene rezultate iskanja.
  4. Amazon Personalize vrne prilagojeno razvrstitev rezultatov iskanja z ustrezno oceno za vsak rezultat.
  5. Prerazvrščene zadetke vrne vtičnik v storitev OpenSearch, pri čemer se uporabi utež med oceno ustreznosti storitve OpenSearch in prilagojeno oceno razvrstitve Amazon Personalize. Določite parameter teže (med 0.0–1.0), ki nadzira ravnovesje med storitvijo OpenSearch in Amazon Personalize pri prerazvrščanju rezultatov. Višja teža pomeni večji vpliv rezultatov razvrstitve Amazon Personalize v primerjavi z rezultati OpenSearch Service. To vam omogoča, da prilagodite, koliko prilagojena priporočila vplivajo na končno razvrstitev rezultatov iskanja, vrnjenih uporabniku.
  6. Uporabnik dobi prilagojene rezultate iskanja na podlagi svojih preferenc in interakcij.

Predpogoji

Morali bi imeti naslednje predpogoje:

  • An AWS račun.
  • An AWS upravljanje identitete in dostopa (IAM) z ustreznimi dovoljenji za dostop. Mi nudimo Oblikovanje oblaka AWS predloge in zvezke Jupyter za pomoč pri nastavitvi zahtevane vloge IAM in dostopa.
  • Če želite omogočiti personalizacijo v storitvi OpenSearch, morate nastaviti zahtevane vire Amazon Personalize, vključno s skupino nabora podatkov, različico rešitve in kampanjo. Zagotovili smo a Jupyterjev zvezek ki ustvari vse vire Amazon Personalize, pri čemer izkorišča prednosti popolnoma upravljanih zmožnosti instance prenosnega računalnika Jupyter Amazon SageMaker.

Razmestite sklad CloudFormation

Sklad CloudFormation avtomatizira uvajanje domene OpenSearch Service in primerka SageMaker Notebook. Izvedite naslednje korake za razmestitev sklada:

  1. Prijavite se v Konzola za upravljanje AWS s svojimi poverilnicami v računu, kjer želite uvesti sklad CloudFormation.
  2. Zaženite sklad CloudFormation neposredno.
  3. o Določite podrobnosti strani, navedite vse parametre, ki jih zahteva predloga, na primer velikosti primerkov storitve OpenSearch in SageMaker.
  4. o Konfigurirajte možnosti zlaganja strani, določite ime sklada in vse druge možnosti, ki jih želite nastaviti.
  5. Dokončajte ustvarjanje sklada in spremljajte stanje na strani s podrobnostmi o skladu.
  6. Ko je sklad ustvarjen, odprite primerek prenosnika SageMaker s konzole.

Primerek zvezka bo že vnaprej naložen z zahtevanimi zvezki.

Nastavite in dokončajte potek dela Amazon Personalize

odprite 1.Configure_Amazon_Personalize.ipynb prenosni računalnik za nastavitev artefaktov Amazon Personalize. Ta zvezek vas vodi skozi naslednje korake:

  1. Prenesite nabor podatkov in predhodno obdelajte podatke, da ustvarite potrebne vhodne datoteke za ustvarjanje naborov podatkov.
  2. Ustvari skupino podatkovnih zbirk.
  3. Ustvarite nize podatkov in sheme.
  4. Pripravite in uvozite podatke.
  5. Ustvarite rešitev in različico rešitve.
  6. Ustvarite oglaševalsko akcijo za različico rešitve.

Namestite vtičnik Amazon Personalize Search Ranking z uporabo prenosnega računalnika Jupyter

odprite 2.Configure_Amazon_OpenSearch.ipynb zvezek in pregledajte navodila. Ta zvezek vas vodi skozi naslednje korake:

  1. Vnesite vzorčne podatke indeksa v primerek storitve OpenSearch. Polnjenje indeksa z reprezentativnimi podatki olajša temeljito testiranje in preverjanje vtičnika.
  2. Namestite paket vtičnikov v domeni OpenSearch Service. To integrira zmožnosti personalizacije v okolje OpenSearch.
  3. Nastavite iskalne kanale, da aktivirate funkcionalnost vtičnika. Cevovodi za iskanje vsebujejo predprocesorje zahtev in postprocesorje odgovorov, ki preoblikujejo poizvedbe in rezultate. Pri izdelavi cevovoda določite ARN oglaševalske akcije Amazon Personalize, ustvarjen prej v a personalized_search_ranking postprocesor za omogočanje prilagojenega prerazvrščanja. To konfigurira vtičnik za pridobivanje rezultatov personalizacije v realnem času iz storitve Amazon Personalize za aplikacijo med obdelavo rezultatov. Določitev cevovodov omogoča dodatku, da poveča ustreznost iskanja na podlagi uporabniških preferenc.

S konzolo namestite vtičnik Amazon Personalize Search Ranking

Vtičnik za iskanje Amazon Personalize lahko nastavite tudi s konzole. To morate storiti le, če vtičnika niste namestili s prejšnjim prenosnim računalnikom Jupyter.

Če želite namestiti vtičnik Amazon Personalize Search Ranking v storitev OpenSearch, izvedite naslednje korake:

  1. Na konzoli storitve OpenSearch se pomaknite do svoje domene.
  2. o Paketi izberite jeziček Pridruženi paket za povezavo vtičnika Amazon Personalize Search Ranking z vašo domeno OpenSearch Service. Različica vtičnika se mora ujemati z različico domene OpenSearch Service.

Vtičnik Amazon Personalize Search Ranking lahko namestite v storitev OpenSearch Service različice 2.9 in novejše.

  1. Na seznamu razpoložljivih vtičnikov poiščite vtičnik Amazon Personalize Search Ranking.
  2. Izberite Sodelavec poleg vtičnika, da ga namestite in povežete z vašo obstoječo domeno storitve OpenSearch.

Ko povežete vtičnik, se prikaže na seznamu paketov kot vrsta vtičnika. Ko je vtičnik nameščen, je postopek namestitve končan.

Omogočite vtičnik Amazon Personalize Search Ranking

Vtičnik Amazon Personalize Search Ranking uporablja search-pipeline funkcija OpenSearch Service, izdana od različice 2.9. Vtičnik je odvisen od search-pipeline funkcijo za uporabo prilagojene lestvice Amazon za rezultate iskanja, ki jih zagotavlja storitev OpenSearch Service, in jo je treba nastaviti kot a search-pipeline odzivni procesor. Ta definicija cevovoda bo vsebovala konfiguracijo za vtičnik Amazon Personalize, ki vključuje kampanjo Amazon Personalize za poziv k pridobitvi uvrstitve Amazon Personalize, vlogo IAM za dostop do virov Amazon Personalize, kot tudi parametre, opredeljene v naslednji tabeli.

Nastavitve Obvezno privzeto Opis
campaign Da Noben Določite ARN kampanje Amazon Personalize, ki jo želite uporabiti za prilagajanje rezultatov.
recipe Da Noben Določite ime recepta Amazon Personalize, ki ga želite uporabiti. Od tega pisanja, aws-personalized-ranking je edina podprta vrednost.
item_id_field Ne “_id” Če _id polje za indeksiran dokument v OpenSearch ne ustreza vašemu Amazon Personalize itemId, določite ime polja, ki ga.
weight Da Noben Določite poudarek, ki ga odzivni procesor daje personalizaciji, ko ponovno razvršča rezultate. Določite vrednost v razponu od 0.0–1.0. Bližje ko je 1.0, večja je verjetnost, da bodo rezultati storitve Amazon Personalize uvrščeni višje. Če podate 0.0, ne pride do personalizacije in ima prednost storitev OpenSearch.
tag Ne Noben Določite identifikator za procesor.
iam_role_arn Da Noben Določite vlogo IAM za dostop do virov Amazon Personalize. To je obvezno za storitev OpenSearch in neobvezno za odprtokodno iskanje OpenSearch.
aws_region Da Noben Določite regijo AWS, kjer ste ustvarili svojo kampanjo Amazon Personalize.
ignore_failure Ne Noben Določite, ali vtičnik prezre morebitne napake procesorja. Za vrednosti navedite true or false. Za vaša produkcijska okolja priporočamo, da določite true da se izognete kakršnim koli prekinitvam pri odgovorih na poizvedbo. Za testna okolja lahko določite false za ogled morebitnih napak, ki jih ustvari vtičnik.
external_account_iam_role_arn Ne Noben Če uporabljate storitev OpenSearch Service in vaši viri storitev Amazon Personalize in OpenSearch Service obstajajo v različnih računih, navedite ARN vloge, ki ima dovoljenje za dostop do storitve Amazon Personalize.

Naslednji delček kode Python ustvari iskalni cevovod z a personalized_search_ranking odzivni procesor na domeni OpenSearch Service. Ta korak zaženete enkrat kot del zvezka, ki je priložen tej objavi:

Določite iskalni kanal za prilagojeno razvrstitev

S to kodo Python lahko ustvarite iskalni cevovod z a personalized_search_ranking odzivni procesor na domeni OpenSearch Service. Zamenjajte končno točko domene z URL-jem končne točke domene. Na primer: https://<domain name>.<AWS region>.es.amazonaws.com.

import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
pipeline_name = 'pipeline name'
url = f'{domain_endpoint}/_search/pipeline/{pipeline_name}'
auth = AWSSigV4('es')

headers = {'Content-Type': 'application/json'}

body = {
  "description": "A pipeline to apply custom re-ranking from Amazon Personalize",
  "response_processors": [
    {
      "personalized_search_ranking" : {
        "campaign_arn" : "<Replace with Amazon Personalize Campaign ARN>",
        "item_id_field" : "itemId",
        "recipe" : "aws-personalized-ranking",
        "weight" : "0.3",
        "tag" : "personalize-processor",
        "iam_role_arn": "<Replace with Role ARN>",
        "aws_region": "<Replace with AWS region>",
        "ignore_failure": true
    }
  ]
}
try:
    response = requests.put(url, auth=auth, json=body, headers=headers)
    print(response.text)
except Exception as e:
    print(f"Error: {e}")

Uporabi iskalni kanal za posamezno poizvedbo

Ko konfigurirate iskalni cevovod z a personalized_search_ranking odgovorni procesor, lahko uporabite vtičnik Amazon Personalize Search Ranking za svoje poizvedbe OpenSearch in si ogledate ponovno razvrščene rezultate. Posodobite kodo, da določite končno točko vaše domene, indeks storitve OpenSearch, ime vašega cevovoda (ki ste ga konfigurirali zgoraj) in svojo poizvedbo (za poizvedbo uporabljamo »Tom Cruise«). Za user_id, določite ID uporabnika, za katerega prejemate rezultate iskanja. Ta uporabnik mora biti v podatkih, ki ste jih uporabili za ustvarjanje različice rešitve Amazon Personalize.

import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
index = 'index name'
url = f'{domain_endpoint}/{index}/_search/'

auth = AWSSigV4('es')
headers = {'Content-Type': 'application/json'}
params = {"search_pipeline": "<Replace with pipeline-name>"}
body = {
    "query": {
        "multi_match": {
            "query": "Tom Cruise",
            "fields": ["title", "plot", "genres", "directedBy", "starring"]
        }
    },
    "ext": {
        "personalize_request_parameters": {
            "user_id": "<Replace with USER ID>"
        }
    }
}
try:
    response = requests.post(url, auth=auth, params=params, json=body, headers=headers)
    print(response)
except Exception as e:
    print(f"Error: {e}")

Ocenite rezultate

odprite 3.Testiranje.ipynb beležnico in pojdite skozi korake za testiranje in primerjavo rezultatov za poizvedbe, ki uporabljajo personalizacijo, in tiste, ki je ne uporabljajo. Vtičnik Amazon Personalize Search Ranking ponovno razvrsti rezultate iskanja v odgovoru na poizvedbo storitve OpenSearch. Upošteva tako razvrstitev iz storitve Amazon Personalize kot tudi razvrstitev iz storitve OpenSearch. Ta zvezek vas vodi skozi naslednje korake:

  1. Določite potrebne parametre povezave za vzpostavitev povezave z vašo domeno OpenSearch Service. To vključuje določanje končne točke domene, poverilnic za preverjanje pristnosti in vseh dodatnih konfiguracijskih nastavitev, ki so potrebne za vašo specifično nastavitev storitve OpenSearch.
  2. Ustvarite niz vzorčnih poizvedb, vključno s poizvedbami s parametri personalizacije in poizvedbami brez parametrov personalizacije. Te poizvedbe bodo uporabljene za oceno vpliva personalizacije na rezultate iskanja.
  3. Zaženite in primerjajte rezultate za poizvedbe, ki uporabljajo personalizacijo, in tiste, ki je ne uporabljajo.

Za naš primer smo uporabili poizvedbo za »Tom Cruise«, za parameter personalizacije pa smo uporabili uporabnika z nedavno zgodovino gledanja dramskih in romantičnih filmskih žanrov. Naslednji rezultati iskanja prikazujejo, kako vtičnik prilagaja in daje prednost priporočilom, ki temeljijo na uporabnikovem opaženem vedenju gledanja. To ponazarja zmožnost vtičnika, da zagotovi prilagojeno, izbrano izkušnjo z upoštevanjem individualnih uporabniških preferenc in vzorcev sodelovanja. Zmožnost izboljšanja in prilagajanja rezultatov iskanja na podlagi sklepanja uporabnikovih preferenc omogoča zagotavljanje povečane ustreznosti in uporabnosti.

Prilagojeni rezultati v primerjavi z neprilagojenimi

Razmislimo o prilagajanju rezultatov za uporabnika z ID-jem 12. Najprej preverimo nedavne interakcije tega uporabnika tako, da zaženemo kodo v 3.Testiranje.ipynb prenosni računalnik za pridobitev njihove zgodovine interakcij. To nam omogoča, da vidimo, katere vrste filmov je ta uporabnik nedavno pregledal, kar nam lahko pomaga pri prilagajanju priporočil zanj.

V tem primeru vidimo, da je uporabnik izrazil zanimanje za filmske žanre drame, romance in trilerja. Da zagotovimo prilagojena priporočila, najprej izvedemo poizvedbe z omogočenimi parametri personalizacije, pri čemer uporabimo uporabnikove žanrske nastavitve. Nato izvajamo iste poizvedbe brez omogočene personalizacije za primerjavo. Naslednji rezultati prikazujejo razliko med izidi nepersonaliziranih in personaliziranih priporočil.

Prva dva stolpca prikazujeta privzete rezultate storitve OpenSearch za poizvedbo »Tom Cruise« v indeksu filmov, ki prikazuje različne filme Toma Cruisa v različnih žanrih. Naslednja dva stolpca prikazujeta prilagojene rezultate storitve OpenSearch za isto poizvedbo »Tom Cruise«, vendar prilagojena uporabniku, ki ga zanimajo žanri drame, romance in trilerja. V primerjavi z generičnimi rezultati so pri prilagojenih rezultatih vidno prikazani filmi Toma Cruisa v žanrih drame, romance in trilerja, ki jih ima uporabnik. Delta poudarja, kako so bili prilagojeni rezultati ponovno razvrščeni glede na neprilagojene rezultate, pri čemer daje prednost filmom, ki se ujemajo z žanrskimi preferencami uporabnika. To prikazuje, kako lahko personalizacija prilagodi rezultate OpenSearch Service okusom in interesom posameznih uporabnikov.

Ta primerjava prikazuje, kako lahko Amazon Personalize prilagodi rezultate filmov storitve OpenSearch Service tako, da ustrezajo interesom posameznega uporabnika. Čeprav je standardna storitev OpenSearch namenjena vsesplošnemu zagotavljanju ustreznih rezultatov filmov za Toma Cruisa, Amazon Personalize prilagodi rezultate, da se osredotoči na filme Toma Cruisa, za katere predvideva, da bodo uživali ta uporabnik na podlagi njihove edinstvene zgodovine gledanja in preferenc.

Vzporedni rezultati ponazarjajo, kako Amazon Personalize zagotavlja bolj ciljano, na uporabnika osredotočeno izkušnjo iskanja s prilagajanjem rezultatov filmov posamezniku.

Čiščenje

Izvedite naslednje korake za čiščenje virov:

  1. Sledite korakom v 4.Cleanup.ipynb prenosni računalnik za čiščenje virov, ustvarjenih v prenosnem računalniku.
  2. Na konzoli AWS CloudFormation izbrišite sklad, ki ste ga ustvarili.

zaključek

Vtičnik Amazon Personalize Search Ranking se brezhibno integrira s storitvijo OpenSearch, da omogoči prilagojene izkušnje iskanja. Z uporabo podatkov o vedenju uporabnikov in zmožnosti ML storitve Amazon Personalize lahko vtičnik preureja uvrstitve rezultatov storitve OpenSearch Service, da poveča ustreznost za vsakega posameznega uporabnika. To ustvari po meri prilagojeno izkušnjo iskanja, ki najustreznejše vsebine prikaže višje v rezultatih. Vtičnik je mogoče konfigurirati za uravnoteženje personalizacije z izvornim točkovanjem storitve OpenSearch, da ustreza različnim primerom uporabe. Na splošno je vtičnik Amazon Personalize Search Ranking zmogljiv način za izboljšanje ustreznosti iskanja storitve OpenSearch Service in vključenosti z upoštevanjem posameznih interesov in preferenc vaših uporabnikov. Z le nekaj konfiguracijskimi koraki lahko začnete streči hiperrelevantne rezultate, ki močno odmevajo pri vaših uporabnikih.

Dodatni viri


O avtorjih

James Jory je glavni arhitekt rešitev na področju uporabne umetne inteligence z AWS. Posebno ga zanimajo sistemi za personalizacijo in priporočila ter ima izkušnje z e-trgovino, marketinško tehnologijo in analizo podatkov o strankah. V prostem času uživa v kampiranju in simulacijah avtomobilskih dirk.

Reagan Rosario je arhitekt rešitev pri AWS, specializiran za gradnjo razširljivih, zelo razpoložljivih in varnih rešitev v oblaku za podjetja, ki se ukvarjajo s tehnologijo izobraževanja. Z več kot 10-letnimi izkušnjami na področju programskega inženiringa in arhitekturnih vlog Reagan rad uporablja svoje tehnično znanje za pomoč strankam AWS pri arhitekturi robustnih rešitev v oblaku, ki izkoriščajo širino in globino AWS.

spot_img

Najnovejša inteligenca

spot_img