L'Amazon Machine Learning Solutions Lab (MLSL) ha recentemente creato uno strumento per annotare il testo con il riconoscimento di entità nominate (NER) e le etichette di relazione utilizzando Amazon SageMaker verità fondamentale. Gli annotatori utilizzano questo strumento per etichettare il testo con entità denominate e collegare le loro relazioni, creando così un set di dati per l'addestramento di modelli di machine learning (ML) all'avanguardia per l'elaborazione del linguaggio naturale (NLP). Ancora più importante, questo è ora pubblicamente disponibile per tutti i clienti AWS.
Caso d'uso del cliente: Booking.com
Booking.com è una delle piattaforme di viaggio online leader a livello mondiale. Capire cosa dicono i clienti sugli oltre 28 milioni di annunci immobiliari dell'azienda sulla piattaforma è essenziale per mantenere un'esperienza cliente di prim'ordine. In precedenza, Booking.com poteva utilizzare solo la tradizionale analisi del sentiment per interpretare su larga scala le recensioni generate dai clienti. Cercando di migliorare la specificità di queste interpretazioni, Booking.com si è recentemente rivolto a MLSL per ottenere aiuto nella creazione di un set di dati con annotazioni personalizzato per l'addestramento di un modello di analisi del sentiment basato sugli aspetti.
L'analisi del sentimento tradizionale è il processo di classificazione di una parte di testo come positiva, negativa o neutra come a singolare sentimento. Questo funziona per capire in generale se gli utenti sono soddisfatti o insoddisfatti di una particolare esperienza. Ad esempio, con la tradizionale analisi del sentimento, il seguente testo può essere classificato come "neutro":
Il nostro soggiorno all'hotel è stato piacevole. Il personale era cordiale e le camere erano pulite, ma i nostri letti erano piuttosto scomodi.
L'analisi del sentiment basata sugli aspetti offre una comprensione più sfumata del contenuto. Nel caso di Booking.com, piuttosto che prendere una recensione del cliente nel suo insieme e classificarla in modo categorico, può prendere il sentimento all'interno di una recensione e assegnarlo ad aspetti specifici. Ad esempio, le recensioni dei clienti di un determinato hotel potrebbero elogiare la piscina e l'area fitness immacolate, ma fornire un feedback critico sul ristorante e sulla lounge.
L'affermazione che sarebbe stata classificata come "neutra" dalla tradizionale sentiment analysis, con la sentiment analysis basata sugli aspetti diventerà:
Il nostro soggiorno all'hotel è stato piacevole. Il personale era cordiale e le camere erano pulite, ma i nostri letti erano piuttosto scomodi.
- Albergo: Positivo
- Personale: Positivo
- Camera: Positivo
- Letti: Negativo
Booking.com ha cercato di creare un modello di analisi del sentiment personalizzato basato sugli aspetti che indicasse loro quali parti specifiche dell'esperienza dell'ospite (da un elenco di oltre 50 aspetti) erano positivo, negativo., o neutro.
Prima che Booking.com potesse creare un set di dati di addestramento per questo modello, aveva bisogno di un modo per annotarlo. Lo strumento di annotazione di MLSL ha fornito la tanto necessaria soluzione personalizzata. La revisione umana è stata eseguita su un'ampia raccolta di recensioni di hotel. Quindi, gli annotatori hanno completato l'annotazione di entità denominate sul sentimento e sugli intervalli di testo e sulle frasi dell'esperienza degli ospiti prima di collegare insieme gli intervalli appropriati.
Il nuovo modello basato sugli aspetti consente a Booking.com di personalizzare sia le sistemazioni che le recensioni per i propri clienti. Evidenziare gli aspetti positivi e negativi di ogni alloggio consente ai clienti di scegliere il loro abbinamento perfetto. Inoltre, diversi clienti si preoccupano di diversi aspetti dell'alloggio e il nuovo modello offre l'opportunità di mostrare a ciascuno le recensioni più rilevanti.
Requisiti di etichettatura
Sebbene Ground Truth fornisca una funzionalità di annotazione di testo NER incorporata, non offre la possibilità di collegare insieme le entità. Con questo in mente, Booking.com e MLSL hanno elaborato i seguenti requisiti di alto livello per un nuovo strumento di etichettatura testuale per il riconoscimento di entità denominate che:
- Accetta come input: testo, etichette di entità, etichette relazionalie etichette di classificazione.
- Facoltativamente, accetta come input dati pre-annotati con le precedenti annotazioni di etichette e relazioni.
- Presenta all'annotatore testo non annotato o preannotato.
- Consente agli annotatori di evidenziare e annotare testo arbitrario con un'etichetta di entità.
- Consente agli annotatori di creare relazioni tra due annotazioni di entità.
- Consente agli annotatori di navigare facilmente in un gran numero di etichette di entità.
- Supporta il raggruppamento delle etichette delle entità in categorie.
- Consenti relazioni sovrapposte, il che significa che lo stesso segmento di testo con annotazioni può essere correlato a più di un altro segmento di testo con annotazioni.
- Consente la sovrapposizione di annotazioni di etichette di entità, il che significa che due annotazioni possono sovrapporsi alla stessa parte di testo. Ad esempio, il testo "Seattle Space Needle" può avere sia le annotazioni "Seattle" → "locations", sia "Seattle Space Needle" → "attrazioni".
- Il formato di output è compatibile con il formato di input e può essere riportato nelle successive attività di etichettatura.
- Supporta testo con codifica UTF-8 contenente emoji e altri caratteri multibyte.
- Supporta le lingue da sinistra a destra.
Esempio di annotazione
Si consideri il seguente documento:
Abbiamo adorato la posizione di questo hotel! La sala sul tetto ci ha dato la vista perfetta dell'ago spaziale. È anche a breve distanza in auto dal mercato di Pike Place e dal lungomare.
Il cibo era disponibile solo tramite il servizio in camera, il che è stato un po' deludente ma ha senso in questo mondo post-pandemia.
Nel complesso, un'esperienza a prezzi ragionevoli.
Il caricamento di questo documento nella nuova annotazione NER presenta un operatore con la seguente interfaccia:
In questo caso, il compito del lavoratore è quello di:
- Etichetta le entità relative alla proprietà (posizione, prezzo, cibo, ecc.)
- Etichetta le entità correlate al sentimento (positivo, negativo o neutro)
- Collega entità denominate relative alla proprietà a parole chiave relative al sentimento per catturare con precisione l'esperienza dell'ospite
La velocità di annotazione è stata una considerazione importante dello strumento. Utilizzando una sequenza di scorciatoie da tastiera intuitive e gesti del mouse, gli annotatori possono gestire l'interfaccia e:
- Aggiungi e rimuovi annotazioni di entità denominate
- Aggiungi relazioni tra entità denominate
- Salta all'inizio e alla fine del documento
- Invia il documento
Inoltre, è disponibile il supporto per le etichette sovrapposte. Per esempio, Seattle Space Needle
: in questa frase, Seattle
è annotato sia come luogo di per sé che come parte del nome dell'attrazione.
L'annotazione completata fornisce un'analisi più completa e sfumata dei dati:
Le relazioni possono essere configurate a molti livelli, dalle categorie di entità ad altre categorie di entità (ad esempio, da "cibo" a "sentimento") o tra singoli tipi di entità. Le relazioni sono dirette, quindi gli annotatori possono collegare un aspetto come il cibo a un sentimento, ma non viceversa (a meno che non sia esplicitamente abilitato). Quando si disegnano relazioni, lo strumento di annotazione dedurrà automaticamente l'etichetta e la direzione della relazione.
Configurazione dello strumento di annotazione NER
In questa sezione, spieghiamo come personalizzare lo strumento di annotazione NER per casi d'uso specifici del cliente. Ciò include la configurazione di:
- Il testo di input da annotare
- Etichette di entità
- Etichette di relazione
- Etichette di classificazione
- Dati preannotati
- Istruzioni per il lavoratore
Tratteremo le specifiche dei formati dei documenti di input e output, oltre a fornire alcuni esempi di ciascuno.
Inserisci il formato del documento
Lo strumento di annotazione NER prevede il seguente documento di input in formato JSON (i campi con un punto interrogativo accanto al nome sono facoltativi).
In poche parole, il formato di input ha queste caratteristiche:
- O
entityLabels
orclassificationLabels
(o entrambi) sono tenuti ad annotare. - If
entityLabels
sono dati, allorarelationshipLabels
può essere aggiunto. - Possono essere consentite relazioni tra diverse etichette di entità/categoria o una combinazione di queste.
- La "fonte" di una relazione è l'entità con cui inizia la freccia diretta, mentre il "bersaglio" è dove si sta dirigendo.
Settore | Tipologia | Descrizione |
testo | stringa | Necessario. Immettere il testo per l'annotazione. |
tokenRows | corda[][] | Opzionale. Tokenizzazione personalizzata del testo di input. Array di array di stringhe. L'array di primo livello rappresenta ogni riga di testo (interruzioni di riga) e l'array di secondo livello rappresenta i token su ogni riga. Tutti i caratteri/rune nel testo di input devono essere contabilizzati in tokenRows, inclusi eventuali spazi bianchi. |
ID documento | stringa | Opzionale. Valore facoltativo per i clienti per tenere traccia del documento annotato. |
EntityLabels | oggetto[] | Obbligatorio se la classificazioneLabels è vuota. Matrice di etichette di entità. |
etichetteentità[].nome | stringa | Necessario. Nome visualizzato dell'etichetta dell'entità. |
etichetteentità[].categoria | stringa | Opzionale. Nome della categoria dell'etichetta dell'entità. |
entitàLabels[].shortName | stringa | Opzionale. Visualizza questo testo sulle entità annotate anziché sul nome completo. |
etichetteentità[].shortCategory | stringa | Opzionale. Visualizza questo testo nell'elenco a discesa di selezione dell'annotazione dell'entità invece delle prime quattro lettere del nome della categoria. |
entitàLabels.color | stringa | Opzionale. Codice colore esadecimale con prefisso "#". Se vuoto, assegnerà automaticamente un colore all'etichetta dell'entità. |
etichette di relazione | oggetto[] | Opzionale. Matrice di etichette di relazione. |
etichetterelazioni[].name | stringa | Necessario. Nome visualizzato dell'etichetta di relazione. |
relationshipLabels[].allowedRelationships | oggetto[] | Opzionale. Matrice di valori che limita i tipi di etichette di entità di origine e destinazione a cui può essere assegnata questa relazione. Ogni elemento nell'array è "OR'ed" insieme. |
relationshipLabels[].allowedRelationships[].sourceEntityLabelCategories | corda[] | Necessario per impostare sourceEntityLabelCategories o sourceEntityLabels (o entrambi). Elenco di tipi di categorie di etichette di entità di origine legali per questa relazione. |
relationshipLabels[].allowedRelationships[].targetEntityLabelCategories | corda[] | Necessario per impostare targetEntityLabelCategories o targetEntityLabels (o entrambi). Elenco di tipi di categorie di etichette di entità di destinazione legali per questa relazione. |
relationshipLabels[].allowedRelationships[].sourceEntityLabels | corda[] | Necessario per impostare sourceEntityLabelCategories o sourceEntityLabels (o entrambi). Elenco di tipi di etichetta di entità di origine legale per questa relazione. |
relationshipLabels[].allowedRelationships[].sourceEntityLabels | corda[] | Necessario per impostare targetEntityLabelCategories o targetEntityLabels (o entrambi). Elenco di tipi di etichette di entità di destinazione legali per questa relazione. |
classificazioneEtichette | corda[] | Obbligatorio se entityLabels è vuoto. Elenco delle etichette di classificazione a livello di documento. |
entitàAnnotazioni | oggetto[] | Opzionale. Matrice di annotazioni di entità con cui preannotare il testo di input. |
entitàAnnotazioni[].id | stringa | Necessario. Identificatore univoco per questa annotazione di entità. Utilizzato per fare riferimento a questa entità in relationshipAnnotations. |
entitàAnnotazioni[].start | numero | Necessario. Inizia l'offset della runa di questa annotazione di entità. |
entitàAnnotazioni[].end | numero | Necessario. End rune offset di questa annotazione di entità. |
entitàAnnotazioni[].text | stringa | Necessario. Contenuto del testo tra l'offset della runa iniziale e finale. |
entitàAnnotazioni[].label | stringa | Necessario. Nome dell'etichetta dell'entità associata (dai nomi in entityLabels). |
entitàAnnotazioni[].labelCategoria | stringa | Facoltativo.Categoria etichetta entità associata (dalle categorie in entityLabels). |
relazioneAnnotazioni | oggetto[] | Opzionale. Array di annotazioni di relazione. |
relationshipAnnotations[].sourceEntityAnnotationId | stringa | Necessario. ID annotazione entità di origine per questa relazione. |
relationshipAnnotations[].targetEntityAnnotationId | stringa | Necessario. ID annotazione dell'entità di destinazione per questa relazione. |
relazioneAnnotazioni[].label | stringa | Necessario. Nome dell'etichetta di relazione associata. |
classificazioneAnnotazioni | corda[] | Opzionale. Array di classificazioni con cui preannotare il documento. |
arrivo | oggetto | Opzionale. Parametri di configurazione aggiuntivi. |
meta.istruzioni | stringa | Opzionale. Istruzioni per l'annotatore di etichettatura in formato Markdown. |
meta.disableSubmitConfirmation | booleano | Opzionale. Imposta su true per disabilitare il modale di conferma dell'invio. |
meta.multiclassificazione | booleano | Opzionale. Imposta su true per abilitare la modalità multi-etichetta per la classificazioneLabels. |
Ecco alcuni documenti di esempio per avere un'idea migliore di questo formato di input
I documenti che aderiscono a questo schema vengono forniti a Ground Truth come singoli elementi pubblicitari in un manifest di input.
Formato del documento di output
Il formato di output è progettato per fornire facilmente feedback in una nuova attività di annotazione. I campi facoltativi nel documento di output vengono impostati se sono impostati anche nel documento di input. L'unica differenza tra i formati di input e output è il file meta
oggetto.
Settore | Tipologia | Descrizione |
meta.respinto | booleano | È impostato su true se l'annotatore ha rifiutato questo documento. |
meta.rejectedReason | stringa | Motivo dell'annotatore fornito per il rifiuto del documento. |
meta.runes | corda[] | Array di rune che rappresentano tutti i caratteri nel testo di input. Utilizzato per calcolare gli offset iniziali e finali delle annotazioni di entità. |
Ecco un documento di output di esempio che è stato annotato:
Nota sulle rune:
Una "runa" in questo contesto è un singolo carattere evidenziabile nel testo, compresi i caratteri multibyte come le emoji.
- Poiché diversi linguaggi di programmazione rappresentano i caratteri multibyte in modo diverso, l'utilizzo di "Rune" per definire ogni carattere evidenziabile come un singolo elemento atomico significa che abbiamo un modo inequivocabile per descrivere una determinata selezione di testo.
- Ad esempio, Python tratta la bandiera svedese come quattro caratteri:
Ma JavaScript tratta la stessa emoji come due caratteri
Per eliminare ogni ambiguità, tratteremo la bandiera svedese (e tutti gli altri caratteri emoji e multibyte) come un singolo elemento atomico.
- Offset: posizione della runa relativa al testo di input (a partire dall'indice 0)
Esecuzione di annotazioni NER con Ground Truth
In qualità di servizio di etichettatura dei dati completamente gestito, Ground Truth crea set di dati di addestramento per ML. Per questo caso d'uso, utilizziamo Ground Truth per inviare una raccolta di documenti di testo a un pool di lavoratori per l'annotazione. Infine, esaminiamo la qualità.
Ground Truth può essere configurato per creare un lavoro di etichettatura dei dati utilizzando il nuovo strumento NER come modello personalizzato.
Nello specifico:
- Creare una forza lavoro di etichettatura privata di lavoratori per eseguire l'attività di annotazione
- Crea un manifest di input Ground Truth con i documenti che vogliamo annotare e poi caricalo su Servizio di archiviazione semplice Amazon (Amazon S3)
- Crea attività di pre-etichettatura e funzioni Lambda di post-etichettatura
- Crea un lavoro di etichettatura Ground Truth utilizzando il modello NER personalizzato
- Annota i documenti
- Esamina i risultati
Risorse dello strumento NER
Un elenco completo delle risorse di riferimento e dei documenti di esempio è disponibile nella seguente tabella:
Etichettare la creazione della forza lavoro
Ground Truth utilizza SageMaker che etichetta la forza lavoro per gestire i lavoratori e distribuire le attività. Crea una forza lavoro privata, un team di lavoro chiamato ner-worker-team, e assegna te stesso al team utilizzando le istruzioni trovate in Crea una forza lavoro privata (console Amazon SageMaker).
Dopo esserti aggiunto a una forza lavoro privata e aver confermato la tua e-mail, prendi nota dell'URL del portale del lavoratore dalla Console di gestione AWS:
- Spostarsi
SageMaker
- Spostarsi
Ground Truth → Labeling workforces
- Seleziona il
Private
linguetta - Prendi nota dell'URL
Labeling portal sign-in URL
Accedi al portale dei lavoratori per visualizzare e iniziare a lavorare sulle attività di etichettatura.
Manifesto di input
Il manifesto dei dati di input di Ground Truth è un file di righe JSON in cui ogni riga contiene una singola attività di lavoro. Nel nostro caso, ogni riga conterrà un singolo documento di input con codifica JSON contenente il testo che vogliamo annotare e lo schema di annotazione NER.
Scarica un manifest di input di esempio reviews.manifest
da https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
Note:: ogni riga nel manifest di input necessita di una chiave di primo livello source
or source-ref
. Puoi saperne di più in Usa un file manifest di input nella Guida per sviluppatori di Amazon SageMaker.
Carica il manifesto di input su Amazon S3
Carica questo manifest di input in un bucket S3 utilizzando la Console di gestione AWS o dalla riga di comando, sostituendo così your-bucket
con un vero nome di bucket.
Scarica il modello di lavoratore personalizzato
Scarica il modello di lavoratore personalizzato dello strumento NER da https://assets.solutions-lab.ml/NER/0.2.1/worker-template.liquid.html visualizzando il sorgente e salvando i contenuti in locale, oppure dalla riga di comando:
Crea attività di pre-etichettatura e funzioni Lambda di post-etichettatura
Scarica l'attività di pre-etichettatura di esempio Funzione Lambda: smgt-ner-pre-labeling-task-lambda.py
da https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-pre-labeling-task-lambda.py
Scarica l'attività di pre-etichettatura di esempio Funzione Lambda: smgt-ner-post-labeling-task-lambda.py
da https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-post-labeling-task-lambda.py
- Crea la funzione Lambda dell'attività di pre-etichettatura dalla Console di gestione AWS:
- Spostarsi
Lambda
- Seleziona
Create function
- Specificare
Function name
assmgt-ner-pre-labeling-task-lambda
- Seleziona
Runtime
→Python 3.6
- Seleziona
Create function
- In
Function code
→lambda_hanadler.py
, incolla il contenuto dismgt-ner-pre-labeling-task-lambda.py
- Seleziona
Deploy
- Spostarsi
- Crea la funzione Lambda dell'attività post-etichettatura dalla Console di gestione AWS:
- Spostarsi
Lambda
- Seleziona
Create function
- Specificare
Function name
assmgt-ner-post-labeling-task-lambda
- Seleziona
Runtime
→Python 3.6
- Espandere
Change default execution role
- Seleziona
Create a new role from AWS policy templates
- Inserire il
Role name
:smgt-ner-post-labeling-task-lambda-role
- Seleziona
Create function
- Seleziona il
Permissions
linguetta - Seleziona il
Role name
:smgt-ner-post-labeling-task-lambda-role
per aprire la console IAM - Aggiungi due policy al ruolo
- Seleziona
Attach policies
- Allegare il
AmazonS3FullAccess
politica - Seleziona
Add inline policy
- Seleziona il
JSON
linguetta - Incolla la seguente politica in linea:
- Seleziona
- Torna al file
smgt-ner-post-labeling-task-lambda
Pagina di configurazione della funzione Lambda - Seleziona il
Configuration
linguetta - In
Function code
→ lambda_hanadler.py
, incolla il contenuto dismgt-ner-post-labeling-task-lambda.py
- Seleziona
Deploy
- Spostarsi
Crea un lavoro di etichettatura Ground Truth
Dalla Console di gestione AWS:
- Passare alla
Amazon SageMaker
servizio - Spostarsi
Ground Truth
→Labeling Jobs
. - Seleziona
Create labeling job
- Specifica un file
Job Name
- Seleziona
Manual Data Setup
- Specifica la posizione del set di dati di input in cui hai caricato il manifest di input in precedenza (ad esempio, s
3://your-bucket/ner-input/sample-smgt-input-manifest.jsonl
) - Specifica la posizione del set di dati di output in modo che punti a una cartella diversa nello stesso bucket (ad es.
s3://your-bucket/ner-output/
) - Specifica un file
IAM Role
selezionandoCreate new role
- Consenti a questo ruolo di accedere a qualsiasi bucket S3 selezionando
S3 buckets you specify
→Any S3 bucket
durante la creazione della politica - In una nuova finestra della Console di gestione AWS, apri il file
IAM
console e selezionareRoles
- Cerca il nome del ruolo che hai appena creato (ad esempio,
AmazonSageMaker-ExecutionRole-20210301T154158
) - Seleziona il nome del ruolo per aprire il ruolo nella console
- Allega le seguenti tre policy:
- Selezionare Allega criteri
- Allegare il
AWSLambda_FullAccess
al ruolo - Seleziona
Trust Relationships
→Edit Trust Relationships
- Modifica il JSON della relazione di fiducia,
- sostituire
YOUR_ACCOUNT_NUMBER
con il tuo numero di account AWS numerico, da leggere: - Salva il rapporto di fiducia
- Consenti a questo ruolo di accedere a qualsiasi bucket S3 selezionando
- Torna al nuovo lavoro Ground Truth nella finestra precedente della Console di gestione AWS: sotto
Task Category
, selezionareCustom
- Seleziona
Next
- Seleziona
Worker types
:Private
- Seleziona il
Private team
:ner-worker-team
che è stato creato nella sezione precedente - Nel
Custom labeling task setup
area di testo, cancellare il contenuto predefinito e incollare il contenuto del fileworker-template.liquid.html
file ottenuto in precedenza - specificare la
Pre-labeling task Lambda function
con la funzione precedentemente creata:smgt-ner-pre-labeling
- specificare la
Post-labeling task Lambda function
con la funzione creata in precedenza:smgt-ner-post-labeling
- Seleziona
Create
Annota i documenti
Una volta creato il lavoro Ground Truth, possiamo iniziare ad annotare i documenti. Apri il portale dei lavoratori per la nostra forza lavoro creata in precedenza (nella Console di gestione AWS, vai al file SageMaker
, Ground Truth → Labeling workforces
, Private
, e apri il Labeling portal sign-in URL
)
Accedi e seleziona la prima attività di etichettatura nella tabella, quindi seleziona "Inizia a lavorare" per aprire l'annotatore. Esegui le tue annotazioni e seleziona Invia su tutti e tre i documenti di esempio.
Esamina i risultati
Man mano che gli annotatori di Ground Truth completano le attività, i risultati saranno disponibili nel bucket S3 di output:
Una volta completate tutte le attività per un lavoro di etichettatura, l'output consolidato è disponibile nel file output.manifest
file che si trova qui:
Questo manifest di output è un file di righe JSON con un documento di testo annotato per riga nel "Formato documento di output" specificato in precedenza. Questo file è compatibile con il "Formato documento di input" e può essere inserito direttamente in un successivo lavoro Ground Truth per un altro giro di annotazione. In alternativa, può essere analizzato e inviato a un lavoro di formazione ML. Alcuni scenari in cui potremmo utilizzare un secondo giro di annotazioni sono:
- Suddividere il processo di annotazione in due fasi in cui il primo annotatore identifica le annotazioni di entità e il secondo annotatore traccia le relazioni
- Prendendo un campione del nostro
output.manifest
e inviarlo a un secondo annotatore più esperto per la revisione come controllo di qualità
Modelli personalizzati di annotazione Ground Truth
Lo strumento di annotazione NER descritto in questo documento è implementato come modello di annotazione Ground Truth personalizzato. I clienti AWS possono creare le proprie interfacce di annotazione personalizzate utilizzando le istruzioni disponibili qui:
Conclusione
Lavorando insieme, Booking.com e Amazon MLSL sono stati in grado di sviluppare un potente strumento di annotazione del testo in grado di creare complesse annotazioni di relazione e riconoscimento di entità denominate.
Incoraggiamo i clienti AWS con un caso d'uso di annotazione di testo NER a provare lo strumento descritto in questo post. Se desideri aiuto per accelerare l'uso del ML nei tuoi prodotti e servizi, contatta il Lab di Amazon Machine Learning Solutions.
Informazioni sugli autori
Dan Nobile è un ingegnere di sviluppo software presso Amazon, dove aiuta a creare esperienze utente piacevoli. Nel tempo libero ama leggere, fare esercizio e vivere avventure con la sua famiglia.
Pri Nonis è un Deep Learning Architect presso l'Amazon ML Solutions Lab, dove lavora con clienti di vari settori verticali e li aiuta ad accelerare il loro percorso di migrazione al cloud e a risolvere i loro problemi di ML utilizzando soluzioni e tecnologie all'avanguardia.
Niharika Jayanthi è un Front End Engineer presso AWS, dove sviluppa soluzioni di annotazione personalizzate per i clienti di Amazon SageMaker. Al di fuori del lavoro, le piace andare nei musei e allenarsi.
Amit Beka è un Machine Learning Manager presso Booking.com, con oltre 15 anni di esperienza nello sviluppo software e nell'apprendimento automatico. È affascinato dalle persone e dalle lingue e da come i computer siano ancora sconcertati da entrambi.
- '
- 100
- 11
- 7
- Chi siamo
- accesso
- Il mio account
- Contabilità
- operanti in
- Action
- aggiunta
- aggiuntivo
- Tutti
- Amazon
- Apprendimento automatico di Amazon
- Amazon Sage Maker
- Ambiguità
- .
- RISERVATA
- disponibile
- Disponibile a tutti
- AWS
- Inizio
- essendo
- costruire
- Costruzione
- che
- casi
- classificazione
- Cloud
- codice
- collezione
- complesso
- computer
- Configurazione
- considerazione
- consolle
- contenuto
- testuali
- potuto
- Creazione
- critico
- esperienza del cliente
- Clienti
- dati
- apprendimento profondo
- sviluppare
- Costruttori
- Mercato
- diverso
- documenti
- non
- facilmente
- effetto
- Emoji
- incoraggiare
- ingegnere
- eccetera
- esempio
- esecuzione
- aspetta
- esperienza
- Esperienze
- famiglia
- Federale
- feedback
- campi
- Infine
- Nome
- fitness
- cibo
- formato
- essere trovato
- pieno
- function
- gif
- andando
- GUEST
- guida
- Aiuto
- aiuta
- qui
- Highlight
- Hotel
- Come
- Tutorial
- HTTPS
- IAM
- implementato
- importante
- Compreso
- Index
- individuale
- IT
- JavaScript
- Lavoro
- viaggio
- Le
- etichettatura
- per il tuo brand
- Lingua
- Le Lingue
- grandi
- principale
- IMPARARE
- apprendimento
- Legale
- Livello
- livelli
- linea
- LINK
- Liquido
- Lista
- Annunci
- a livello locale
- località
- cerca
- machine learning
- gestione
- marchio
- Rappresentanza
- partita
- Meta
- mente
- ML
- modello
- Scopri di più
- Musei
- nomi
- Linguaggio naturale
- Elaborazione del linguaggio naturale
- di applicazione
- nlp
- numeri
- Offerte
- offset
- online
- aprire
- apre
- Opportunità
- Altro
- Persone
- Frasi
- piattaforma
- Piattaforme
- Termini e Condizioni
- politica
- pool
- Portale
- post-pandemia
- potente
- prezzo
- Direttore
- un bagno
- processi
- Prodotti
- Programmazione
- linguaggi di programmazione
- proprietà
- fornire
- fornisce
- Python
- qualità
- domanda
- Lettura
- Relazioni
- Requisiti
- risorsa
- Risorse
- al Deck ristorante
- Risultati
- recensioni
- Recensioni
- Camere
- sagemaker
- risparmio
- Scala
- senso
- sentimento
- Servizi
- set
- Corti
- Un'espansione
- So
- Software
- lo sviluppo del software
- Soluzioni
- RISOLVERE
- lo spazio
- velocità
- inizia a
- dichiarazione
- soggiorno
- conservazione
- supporto
- Target
- Tecnologie
- L’ORIGINE
- tempo
- insieme
- tokenizzazione
- Tokens
- top
- di livello superiore
- pista
- tradizionale
- Training
- viaggiare
- trattare
- tratta
- Affidati ad
- us
- utenti
- APPREZZIAMO
- versione
- Visualizza
- Che
- entro
- Lavora
- lavorato
- lavoratori
- Forza lavoro
- lavoro
- risolvendo
- lavori
- mondo
- Il mondo di
- sarebbe
- anni