• Mutimedia Web la Web Agency Italiana. Contattateci per preventivi gratuiti e consulenze nello sviluppo del vostro sito web o app Ios e Android. Professinalità e assistenza garatite!
    Immagini dei quadri e opere di: Giuseppe Lattanzio

  • Social

    [easy-social-share buttons="facebook,twitter,pinterest,linkedin,digg,stumbleupon,vk,tumblr,print,mail,del,reddit,whatsapp" counters=0 hide_names="force" template="grey-blocks-retina"]
  • WEB AGENCY

  • Sede Principale

    Multimedia Web

    Blog Studio Web

    Studio Web

    Sede a Venezia

    Web Agency Venezia

    Sede a New York

    Nyc Web Design

    Sede International

    Web Designer International

    Sito Demo One Page

    Spaghetti Web

    Landing page

    Savinus

  • smartphone

    Trovaci sul tuo smartphone

  • web-designer-ancona
  • AGENZIA WEB ITALIA

Home / News / Usare il deep learning per il parsing degli indirizzi postali

Usare il deep learning per il parsing degli indirizzi postali


Quando si implementa un sito di e-commerce, o si raccolgono dati sugli utenti, capita spesso di dover richiedere l’indirizzo postale. L’interpretazione delle informazioni contenute in esso, contrariamente a quanto si possa pensare, può rivelarsi un procedimento molto complicato, soprattutto quando si ha a che fare con utenti dislocati in varie nazioni, che utilizzano formati completamente diversi.

Per risolvere questo problema, alcuni ricercatori hanno sviluppato una tecnica che mette insieme diverse soluzioni di deep learning per analizzare automaticamente il contenuto di un indirizzo postale, suddividendolo nelle sue parti costituenti. Tale tecnica è implementata in un modulo Python accessibile a chiunque, denominato deepparse. Di seguito vedremo come usarlo.

Installare deepparse

La prima cosa che dobbiamo fare per utilizzare deepparse è, ovviamente, installarlo. Possiamo farlo tramite il package manager pip, utilizzando il comando seguente:


pip install deepparse

In alternativa, potremmo valutare l’installazione direttamente tramite il codice sorgente (che si trova su GitHub), sebbene questa sia sconsigliata (a meno di necessità particolari che esulano dagli scopi di questa breve introduzione allo strumento).

È comunque importante tenere a mente che deepparse richiede una versione di Python uguale o successiva alla 3.6. Inoltre, durante l’installazione tramite pip, sarà installata anche l’ultima versione di PyTorch, uno dei requisiti fondamentali di questo modulo.

Usare deepparse

Una volta installato deepparse, possiamo utilizzarlo in maniera abbastanza semplice:


from deepparse.parser import AddressParser
 
parser = AddressParser(model_type="bpemb", device=0)
indirizzo = parser("Via Garibaldi, 33 - 00153 Roma")

Eseguite queste poche righe di codice, la variabile indirizzo conterrà un’instanza della classe deepparse.parser.ParsedAddress, a sua volta contenente 8 proprietà:

  • street_number, corrispondente al numero civico
  • street_name, corrispondente alla via
  • unit, corrispondente all’unità immobiliare (ad esempio il numero dell’appartamente)
  • municipality, corrispondente alla città
  • province, corrispondente alla provincia
  • postal_code, corrispondente al codice di avviamento postale (CAP)
  • orientation, corrispondente all’orientazione della strada (ad esempio East o West, tipico in alcune nazioni)
  • general_delivery, corrispondente ad altre informazioni

Nel caso dell’indirizzo precedente, saranno identificate 4 delle suddette proprietà, come si vede di seguito:


>>> parsed_address
ParsedAddress<street_number='33 -', street_name='Via Garibaldi,', municipality='Roma', postal_code='00153'>

La cosa interessante di deepparse è che questa capacità di segmentazione degli indirizzi non è legata al formato specifico, che nel caso summenzionato è quello di un indirizzo postale italiano. Il funzionamento di deepparse è infatti basato su dataset molto vasti di indirizzi postali, formattati secondo i diversi formati diffusi in varie nazioni. Ciò ne rende le performance abbastanza robuste indipendentemente dal contenuto specifico dell’indirizzo.

È inoltre possibile utilizzare modelli di machine learning diversi da bpemb (quello usato nell’esempio precedente), optando per alternative come FastText o semplicemente facendo in modo che sia deepparse a segliere per noi il modello migliore. Infine, possiamo scegliere di ri-addestrate i modelli che stanno alla base di deepparse, in modo da modificarne il comportamento sulla base di altri dati, magari più specifici. Non scenderemo nel dettaglio in questa sede, rimandando al sito ufficiale del progetto chiunque volesse approfondire.

Fonte: deepparse



Source link