AI

Trovata.io haalt $ 20 miljoen op om zakelijke bankrekeningen met AI samen te voegen

avatar

gepubliceerd

on

Opstarten van banktechnologie Trovata.io kondigde vandaag aan dat het $ 20 miljoen heeft opgehaald in een serie A-ronde onder leiding van Wells Fargo Strategic Capital. De investering zal worden gebruikt om nieuwe diensten te leveren en multi-bank API's wereldwijd te versnellen, zegt het bedrijf, en om meer bankdistributiepartners toe te voegen.

Trovata-oprichter en CEO Brett Turner, die tijd heeft doorgebracht bij Deloitte en Amazon, voorspelde dat de opkomst van consumentenbankaggregators die fintech aansturen, zou leiden tot directe API's voor commerciële bank- en treasurydiensten van banken over de hele wereld. Deze vooraf gebouwde bankintegraties zouden volgens hem de behoefte van ondernemingen aan legacy-implementaties of IT-ondersteuning wegnemen en zelfopstelling mogelijk maken.

Turner lanceerde in 35, vooruitlopend op de transformatie, Trovata met 2019 medewerkers, met een platform om de banktegoeden en transacties van bedrijven native te verzamelen via API's voor wholesalebankieren. Gebruik makend van AI en machine learning, Trovata kan cash-centrische workflows automatiseren, zoals kasrapportage, analyse en prognoses, waardoor bedrijven in realtime kunnen zien hoeveel cash ze hebben, terwijl ze de cashflow beheren en prognoses opstellen en bijhouden.

Trovata fungeert als een krachtig datameer om bankgegevens op te slaan en te beheren in een schaalbare multi-bankomgeving. Het platform verzamelt en normaliseert gegevens en genereert vervolgens een prognose, waarbij gebruik wordt gemaakt van machine learning om een ​​basislijn vast te stellen en historische trends te analyseren om de nauwkeurigheid van de prognose te vergroten.

Met Trovata kunnen klanten Square-taggegevens opnemen per regio, entiteit, divisie of willekeurig label. Het vertaalt ook alle niet in USD luidende bedragen naar equivalenten in USD, waardoor u kunt inzoomen en prognoses voor afzonderlijke dochterondernemingen kunt genereren. Met een Google-achtige zoekfunctie in natuurlijke taal met een responspercentage van 300 milliseconden kunnen gebruikers belangrijke leveranciers, klanten en partners vinden en taggen bij miljoenen transacties.

“Het omslagpunt is nabij, en… Trovata kan [een diepgaande rol] spelen bij wholesalebankieren en treasurydiensten. De pandemie heeft de behoefte aan betere zichtbaarheid van contanten, bankgegevens in realtime en proactievere contante prognoses afgewezen. Bedrijven die groeien en krimpen, hebben behoefte aan deze dingen die de belangstelling alleen maar hebben vergroot, ”zei Turner in een verklaring. “De omzet is vertrouwelijk, maar onze gemiddelde dealomvang is ongeveer $ 25,00 en we zijn in 0 maanden gegroeid van 100 naar bijna 18 middelgrote en kleine ondernemingen. We zullen later deze maand een nieuw up-market product voor de onderneming aankondigen en verwachten dit jaar 4 tot 5 keer te groeien. "

"We zijn erop gebrand hoe technologie de treasury-functie opnieuw uitvindt tot een moderne, op inzicht gebaseerde operatie die onze klanten helpt om hun bedrijfsstrategie waar te maken," voegde Basil Darwish, algemeen directeur van Wells Fargo Strategic Capital, toe. "Trovata biedt onderscheidende technologie en een klantgerichte benadering voor het automatiseren van treasury-diensten, en we zijn verheugd om hun voortdurende groei met deze investering te ondersteunen."

Capital One Ventures en Pivot Investment Partners namen ook deel aan de vandaag aangekondigde serie A van Trovata, evenals bestaande vroege investeerders JP Morgan en Fintop Capital. Dit brengt het totaal van het in San Diego gevestigde bedrijf op meer dan $ 30 miljoen, na seed- en venture-rondes van in totaal $ 10.6 miljoen.

VentureBeat

De missie van VentureBeat is om een ​​digitaal stadsplein te zijn voor technische besluitvormers om kennis op te doen over transformatieve technologie en transacties. Onze site biedt essentiële informatie over datatechnologieën en strategieën om u te begeleiden bij het leiden van uw organisaties. We nodigen u uit om lid te worden van onze community, om toegang te krijgen tot:

  • up-to-date informatie over de onderwerpen die u interesseren
  • onze nieuwsbrieven
  • gated thought-leader content en toegang met korting tot onze gewaardeerde evenementen, zoals Transform
  • netwerkfuncties en meer

Word lid

Bron: https://venturebeat.com/2021/01/19/trovata-io-raises-20-million-to-aggregate-enterprise-bank-accounts-with-ai/

AI

AI Weekly: Biden roept op tot $ 37 miljard om het tekort aan chips aan te pakken

avatar

gepubliceerd

on

De Amerikaanse president Joe Biden houdt een halfgeleider vast tijdens zijn opmerkingen voordat hij op 24 februari 2021 in Washington, DC een uitvoerend bevel over de economie ondertekent in de State Dining Room van het Witte Huis.


President Biden heeft deze week een uitvoerend bevel voor de toeleveringsketen ondertekend en steun toegezegd voor $ 37 miljard om een ​​tekort aan halfgeleiders aan te pakken.Lees meer Bron: https://venturebeat.com/2021/02/26/ai-weekly-biden-calls-for-37-billion-to-address-chip-shortage/

Verder lezen

AI

TensorFlow: een spiekbriefje

avatar

gepubliceerd

on

TensorFlow is een open source softwarebibliotheek ontwikkeld door Google voor numerieke berekeningen met gegevensstroomgrafieken. In deze TensorFlow-gids wordt uitgelegd waarom de bibliotheek belangrijk is, hoe deze moet worden gebruikt en meer. Bron: https://www.techrepublic.com/article/tensorflow-googles-open-source-software-library-for-machine-learning-the-smart-persons-guide/#ftag=RSS56d97e7

Verder lezen

AI

Vertaal en analyseer tekst met behulp van SQL-functies met Amazon Athena, Amazon Translate en Amazon Comprehend

avatar

gepubliceerd

on

U heeft Amazon eenvoudige opslagservice (Amazon S3) emmers vol bestanden met inkomende chats van klanten, productrecensies en feeds voor sociale media, in vele talen. Het is uw taak om de producten te identificeren waar mensen het over hebben, te bepalen of ze gelukkige of droevige gedachten uiten, hun opmerkingen in één gemeenschappelijke taal te vertalen en kopieën van de gegevens te maken voor uw bedrijfsanalisten met deze nieuwe informatie toegevoegd aan elk record. Bovendien moet u alle persoonlijk identificeerbare informatie (PII) verwijderen, zoals namen, adressen en creditcardnummers.

Je weet al hoe je het moet gebruiken Amazone Athene om gegevens in Amazon S3 te transformeren met behulp van eenvoudige SQL-opdrachten en de ingebouwde functies in Athena. Nu kunt u Athena ook gebruiken om tekstvelden te vertalen en te analyseren, dankzij Amazon Vertalen, Amazon begrijpt het, en de kracht van Athena User Defined Functions (UDF's).

Athena is een interactieve zoekservice waarmee u eenvoudig gegevens kunt analyseren die zijn opgeslagen in Amazon S3 met behulp van SQL. Amazon Comprehend is een Natural Language Processing (NLP) -service waarmee je gemakkelijk inzichten uit tekst kunt halen. Amazon Translate is een neurale automatische vertaalservice die snelle, hoogwaardige, betaalbare en aanpasbare taalvertalingen levert. In dit bericht laat ik je zien hoe je ze nu samen kunt gebruiken om de volgende acties uit te voeren:

  • Detecteer de dominante taal van een tekstveld
  • Detecteer het heersende sentiment: positief, negatief, geen van beide of beide
  • Entiteiten detecteren of redigeren (zoals items, plaatsen of hoeveelheden)
  • Detecteer of redigeer PII
  • Vertaal tekst van de ene taal naar de andere

Met dit bericht worden de volgende doelen bereikt:

  • Laat zien hoe u snel de tekstanalyse-functies instelt in uw eigen AWS-account (het is snel en eenvoudig!)
  • Leg kort uit hoe de functies werken
  • Bespreek prestaties en kosten
  • Geef een zelfstudie waarin we wat tekstanalyses uitvoeren op Amazon-productrecensies
  • Beschrijf alle beschikbare functies

We voegen een lijst met alle beschikbare functies toe aan het einde van het bericht; de volgende code toont enkele voorbeeldquery's en resultaten:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('I am very happy', 'en') as sentiment sentiment POSITIVE USING FUNCTION detect_pii_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities('I am Bob, I live in Herndon VA, and I love cars', 'en') as pii pii [["NAME","Bob"],["ADDRESS","Herndon VA"]] USING FUNCTION redact_pii_entities(text_col VARCHAR, lang VARCHAR, type VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_pii_entities('I am Bob, I live in Herndon VA, and I love cars', 'en', 'NAME,ADDRESS') as pii_redacted pii_redacted I am [NAME], I live in [ADDRESS], and I love cars USING FUNCTION translate_text(text_col VARCHAR, sourcelang VARCHAR, targetlang VARCHAR, terminologyname VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT translate_text('It is a beautiful day in the neighborhood', 'auto', 'fr', NULL) as translated_text translated_text C'est une belle journée dans le quartier

Installeer de tekstanalyse-UDF

Een Athena UDF gebruikt AWS Lambda om de functiecapaciteit te implementeren. Ik bespreek later in dit bericht meer details, maar je hoeft de innerlijke werking niet te begrijpen om de UDF voor tekstanalyse te gebruiken, dus laten we aan de slag gaan.

Installeer de voorgebouwde Lambda-functie met de volgende stappen:

  1. Navigeer naar de TextAnalyticsUDFHandler toepassing in de AWS serverloze toepassingsrepository.
  2. In de Applicatie-instellingen sectie, laat de instellingen op hun standaardwaarden staan.
  3. kies Ik erken dat deze app aangepaste IAM-rollen maakt.
  4. Kies Implementeren.

En dat is het! Nu heb je een nieuwe Lambda-functie genaamd textanalytics-udf​ U bent klaar om enkele tekstanalysequery's in Athena te proberen.

Als u liever vanaf de broncode bouwt en implementeert, raadpleegt u de instructies aan het einde van het GitHub-opslagplaats README.

Voer uw eerste tekstanalysequery uit

Als u nieuw bent bij Athena, wilt u misschien het Ermee beginnen gids.

Op het moment van schrijven is de Athena UDF-functie nog in preview. Om het in te schakelen, maakt u een Athena-werkgroep met de naam AmazonAthenaPreviewFunctionality en voer alle UDF-query's van die werkgroep uit.

Voer de volgende vraag in de SQL-editor in:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('I am very happy', 'en') as sentiment

Je krijgt een simpel POSITIVE resultaat. Probeer het nu opnieuw, variërend van de invoertekst - probeer iets minder positiefs om te zien hoe de geretourneerde sentimentwaarde verandert.

Gebruik in plaats daarvan de volgende query om het sentiment samen met de vertrouwensscores voor elke potentiële sentimentwaarde te krijgen:

USING FUNCTION detect_sentiment_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment_all('I am very happy', 'en') as sentiment

Nu krijg je een JSON-string met het sentiment en alle sentimentscores:

{"sentiment":"POSITIVE","sentimentScore":{"positive":0.999519,"negative":7.407639E-5,"neutral":2.7478999E-4,"mixed":1.3210243E-4}}

U kunt gebruik maken van de ingebouwde JSON-extractiefuncties in Athena op dit resultaat om de velden te extraheren voor verdere analyse.

Hoe de UDF werkt

Zie voor meer informatie over het Athena UDF-framework Query's uitvoeren met door de gebruiker gedefinieerde functies.

De Java-klasse TextAnalyticsUDFHandler implementeert onze UDF Lambda-functiehandler. Elke tekstanalysefunctie heeft een overeenkomstige openbare methode in deze klasse.

Athena roept onze UDF Lambda-functie op met batches van invoerrecords. De TextAnalyticsUDFHandler verdeelt deze batches in kleinere batches van maximaal 25 rijen om te profiteren van de synchrone multi-document batch-API's van Amazon Comprehend waar ze beschikbaar zijn (bijvoorbeeld voor het detecteren van taal, entiteiten en sentiment). Als er geen synchrone multi-document API beschikbaar is (zoals voor DetectPiiEntity en TranslateText), gebruiken we in plaats daarvan de API voor één document.

Amazon begrijpt API servicequota zorg voor vangrails om uw blootstelling aan kosten door onbedoeld intensief gebruik te beperken (we bespreken dit meer in de volgende sectie). Standaard verwerken de batch-API's voor meerdere documenten tot 250 records per seconde en verwerken de API's voor één document tot 20 records per seconde. Onze UDF's gebruiken exponentiële back-off en proberen opnieuw om de verzoeksnelheid te vertragen om binnen deze limieten te blijven. U kunt een verhoging van het aantal transacties per seconde voor API's aanvragen met behulp van de Sjabloon voor quotumaanvraag op de AWS-beheerconsole.

Amazon Comprehend en Amazon Translate dwingen elk een maximale invoertekenreeks af van 5,000 utf-8 bytes. Tekstvelden die langer zijn dan 5,000 utf-8 bytes worden afgekapt tot 5,000 bytes voor taal- en sentimentdetectie, en op zinsgrenzen gesplitst in meerdere tekstblokken van minder dan 5,000 bytes voor vertaling en entiteits- of PII-detectie en redactie. De resultaten worden vervolgens gecombineerd.

Kosten optimaliseren

Naast de kosten voor Athena-zoekopdrachten, brengt de tekstanalyse-UDF gebruikskosten met zich mee van Lambda en Amazon Comprehend en Amazon Translate. Het bedrag dat u betaalt, is een factor van het totale aantal records en tekens dat u met de UDF verwerkt. Zie voor meer informatie AWS Lambda-prijzen, Amazon begrijpt prijzenen Amazon Translate-prijzen.

Om de kosten te minimaliseren, raad ik u aan om dezelfde records niet meerdere keren te verwerken. In plaats daarvan kunt u de resultaten van de tekstanalyse-UDF materialiseren door CREATE TABLE AS SELECT (CTAS) -query's te gebruiken om de resultaten vast te leggen in een aparte tabel die u vervolgens zo vaak als nodig rendabel kunt opvragen zonder extra UDF-kosten. Verwerk nieuw binnengekomen records incrementeel met INSERT INTO… SELECT-queries om alleen de nieuwe records te analyseren en te verrijken en deze toe te voegen aan de doeltabel.

Voorkom dat u de tekstanalyse-functies onnodig aanroept op records die u later weggooit. Schrijf uw query's om de gegevensset eerst te filteren met behulp van tijdelijke tabellen, weergaven of geneste query's, en pas vervolgens de tekstanalysefuncties toe op de resulterende gefilterde records.

Beoordeel altijd de potentiële kosten voordat u tekstanalysequery's uitvoert op tabellen met een verschillend groot aantal records.

In deze sectie geven we twee voorbeelden van kostenramingen.

Voorbeeld 1: analyseer de taal en het sentiment van tweets

Laten we aannemen dat je 10,000 tweetrecords hebt, met een gemiddelde lengte van 100 tekens per tweet. Uw SQL-query detecteert de dominante taal en het sentiment voor elke tweet. Je zit in je tweede dienstjaar (de gratis laag is niet langer van toepassing). De kostengegevens zijn als volgt:

  • Grootte van elke tweet = 100 tekens
  • Aantal eenheden (100 tekens) per record (minimum is 3 eenheden) = 3
  • Totaal aantal eenheden: 10,000 (records) x 3 (eenheden per record) x 2 (Amazon Comprehend-verzoeken per record) = 60,000
  • Prijs per stuk = $ 0.0001
  • Totale kosten voor Amazon Comprehend = [aantal eenheden] x [kosten per eenheid] = 60,000 x $ 0.0001 = $ 6.00 

Voorbeeld 2: tweets vertalen

Laten we aannemen dat 2,000 van uw tweets niet in uw lokale taal zijn, dus voert u een tweede SQL-query uit om ze te vertalen. De kostengegevens zijn als volgt:

  • Grootte van elke tweet = 100 tekens
  • Totaal aantal tekens: 2,000 (records) * 100 (tekens per record) x 1 (vertaalverzoeken per record) = 200,000
  • Prijs per teken = $ 0.000015
  • Totale kosten voor Amazon Translate = [aantal tekens] x [kosten per teken] = 200,000 x $ 0.000015 = $ 3.00

Analyseer inzichten uit klantrecensies

Het is tijd om onze nieuwe tekstanalysequery's te gebruiken.

Zie voor een tutorial over het verkrijgen van bruikbare inzichten uit klantrecensies Zelfstudie: inzichten uit klantrecensies analyseren met Amazon Comprehend​ Dit bericht biedt een alternatieve benadering van dezelfde uitdaging: het gebruik van SQL-query's mogelijk gemaakt door Athena en Amazon Comprehend.

De zelfstudie duurt ongeveer 10 minuten en kost tot $ 6 voor Amazon Comprehend. Er zijn geen kosten als je in aanmerking komt voor de gratis laag.

Maak een nieuwe database aan in Athena

Voer de volgende query uit in de Athena-queryeditor:

CREATE DATABASE IF NOT EXISTS comprehendresults;

Kies uw nieuwe database wanneer u uw gegevensbron aansluit.

Maak een brontabel met klantrecensiegegevens

We maken gebruik van de Amazon Klantrecensies Dataset, handig gehost voor openbare toegang in Amazon S3.

  1. Voer de volgende query uit in de Athena-queryeditor:
    CREATE EXTERNAL TABLE amazon_reviews_parquet( marketplace string, customer_id string, review_id string, product_id string, product_parent string, product_title string, star_rating int, helpful_votes int, total_votes int, vine string, verified_purchase string, review_headline string, review_body string, review_date bigint, year int)
    PARTITIONED BY (product_category string)
    ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
    LOCATION 's3://amazon-reviews-pds/parquet/'
    

  1. Onder Tafels, zoek de nieuwe tabel amazon cialis_parquet.
  2. Kies in het optiemenu Laad partities.
  1. Bekijk een voorbeeld van de nieuwe tafel, amazon_reviews_parquet.
  1. Voer de volgende query uit om de gemiddelde beoordelingsduur te bepalen:
    SELECT AVG(LENGTH(review_body)) AS average_review_length FROM amazon_reviews_parquet

De gemiddelde lengte van een recensie is ongeveer 365 tekens. Dit komt overeen met 4 Amazon Comprehend-eenheden per record (1 eenheid = 100 tekens).

Detecteer de taal voor elke recensie

Om de taal van elke recensie te achterhalen, voert u de volgende zoekopdracht uit in de Athena-zoekopdrachteditor - het duurt iets meer dan 1 minuut en kost $ 2:

CREATE TABLE amazon_reviews_with_language WITH (format='parquet') AS
USING FUNCTION detect_dominant_language(col1 VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf')
SELECT *, detect_dominant_language(review_body) AS language
FROM amazon_reviews_parquet
LIMIT 5000

Deze query maakt een nieuwe tabel aan, amazon_reviews_with_language, met een nieuwe kolom toegevoegd: language​ De LIMIT-clausule beperkt het aantal records tot 5,000.

De kosten worden berekend als: 5,000 (records) x 4 (eenheden per record) x 1 (verzoeken per record) x $ 0.0001 (Amazon Comprehend-prijs per eenheid) = $ 2. 

Voer de volgende zoekopdracht uit om de gedetecteerde taalcodes te zien, met het overeenkomstige aantal beoordelingen voor elke taal:

SELECT language, count(*) AS count FROM amazon_reviews_with_language GROUP BY language ORDER BY count DESC

Detecteer sentiment en entiteiten voor elke recensie

Om sentiment te detecteren, voert u de volgende query uit in de Athena-queryeditor - deze gebruikt twee tekstanalysefuncties, duurt ongeveer 1 minuut en kost $ 4:

CREATE TABLE amazon_reviews_with_text_analysis WITH (format='parquet') AS
USING FUNCTION detect_sentiment_all(col1 VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf'), FUNCTION detect_entities_all(col1 VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf')
SELECT *, detect_sentiment_all(review_body, language) AS sentiment, detect_entities_all(review_body, language) AS entities
FROM amazon_reviews_with_language
WHERE language IN ('ar', 'hi', 'ko', 'zh-TW', 'ja', 'zh', 'de', 'pt', 'en', 'it', 'fr', 'es')

Deze query maakt een nieuwe tabel aan, amazon_reviews_with_text_analysis, met twee extra kolommen toegevoegd: sentiment en entities​ De WHERE-clausule beperkt de resultatenset tot de lijst met talen die worden ondersteund door Amazon Comprehend-sentiment en entiteitsdetectie.

De kosten worden berekend als: 5,000 (records) x 4 (eenheden per record) x 2 (verzoeken per record) x $ 0.0001 (Amazon Comprehend-prijs per eenheid) = $ 4.

Bekijk een voorbeeld van de nieuwe tabel en inspecteer enkele van de waarden voor de nieuwe sentiment en entities kolommen. Ze bevatten JSON-strings met geneste structuren en velden.

De volgende schermafbeelding toont de sentiment kolomdetails.

De volgende schermafbeelding toont de details van de entiteitenkolom.

Vervolgens gebruiken we de JSON-functies in Athena om deze kolommen voor analyse voor te bereiden.

Bereid sentiment voor op analyse

Voer de volgende SQL-query uit om een ​​nieuwe tabel te maken met sentiment- en sentimentscores, uitgebreid in afzonderlijke kolommen:

CREATE TABLE sentiment_results_final WITH (format='parquet') AS
SELECT review_date, year, product_title, star_rating, language, CAST(JSON_EXTRACT(sentiment,'$.sentiment') AS VARCHAR) AS sentiment, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.positive') AS DOUBLE ) AS positive_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.negative') AS DOUBLE ) AS negative_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.neutral') AS DOUBLE ) AS neutral_score, CAST(JSON_EXTRACT(sentiment,'$.sentimentScore.mixed') AS DOUBLE ) AS mixed_score, review_headline, review_body
FROM amazon_reviews_with_text_analysis

Bekijk een voorbeeld van het nieuwe sentiment_results_final tabel (zie de volgende schermafbeelding). Komt het sentiment over het algemeen overeen met de tekst van het review_body veld? Hoe verhoudt het zich tot de star_rating​ Als u dubieuze sentimenttoewijzingen ziet, controleer dan de betrouwbaarheidsscores om te zien of het sentiment met een laag vertrouwen is toegewezen.

Bereid entiteiten voor op analyse

Voer de volgende SQL-query uit om een ​​nieuwe tabel te maken met gedetecteerde entiteiten die niet zijn genest in afzonderlijke rijen (binnenste subquery), met elk veld in een aparte kolom (buitenste query):

CREATE TABLE entities_results_final WITH (format='parquet') AS
SELECT review_date, year, product_title, star_rating, language, CAST(JSON_EXTRACT(entity_element, '$.text') AS VARCHAR ) AS entity, CAST(JSON_EXTRACT(entity_element, '$.type') AS VARCHAR ) AS category, CAST(JSON_EXTRACT(entity_element, '$.score') AS DOUBLE ) AS score, CAST(JSON_EXTRACT(entity_element, '$.beginOffset') AS INTEGER ) AS beginoffset, CAST(JSON_EXTRACT(entity_element, '$.endOffset') AS INTEGER ) AS endoffset, review_headline, review_body
FROM
( SELECT * FROM ( SELECT *, CAST(JSON_PARSE(entities) AS ARRAY(json)) AS entities_array FROM amazon_reviews_with_text_analysis ) CROSS JOIN UNNEST(entities_array) AS t(entity_element)
)

Bekijk een voorbeeld van de inhoud van de nieuwe tabel, entities_results_final (zie de volgende schermafbeelding).

Visualiseer in Amazon QuickSight (optioneel)

Als optionele stap kunt u uw resultaten visualiseren met Amazon QuickSight. Voor instructies, zie Stap 5: Amazon Comprehend-uitvoer visualiseren in Amazon QuickSight.

U kunt het nieuwe visuele type woordwolk gebruiken voor entiteiten, in plaats van een boomstructuur. Selecteer in het word cloud-diagrammenu Verberg "andere" categorieën.

Je hebt nu een dashboard met visualisaties van sentiment en entiteiten dat lijkt op de volgende schermafbeelding.

Probleemoplossen

Als uw vraag mislukt, vinkt u het Amazon CloudWatch metrische gegevens en logboeken die zijn gegenereerd door de UDF Lambda-functie.

  1. Zoek op de Lambda-console het textanalytics-udf functie.
  2. Kies Controle.

U kunt de CloudWatch-statistieken bekijken die laten zien hoe vaak de functie is uitgevoerd, hoe lang deze is uitgevoerd, hoe vaak deze is mislukt en meer.

  1. Kies Bekijk logboeken in CloudWatch om de functielogboekstromen te openen voor meer inzicht in probleemoplossing.

Zie voor meer informatie over het bekijken van CloudWatch-statistieken via Lambda Met behulp van de Lambda-console.

Extra gebruiksscenario's

Er zijn veel use-cases voor SQL-tekstanalysefuncties. Houd naast het voorbeeld in dit bericht rekening met het volgende:

  • Vereenvoudig ETL-pijplijnen door incrementele SQL-query's te gebruiken om tekstgegevens te verrijken met sentiment en entiteiten, zoals het streamen van socialemediastreams die worden opgenomen door Amazon Kinesis-gegevens Firehose
  • Gebruik SQL-query's om sentiment en entiteiten in uw klantondersteuningsteksten, e-mails en ondersteuningsaanvragen te onderzoeken
  • Bereid onderzoeksklare datasets voor door PII uit klant- of patiëntinteracties te redigeren
  • Standaardiseer veel talen naar één gemeenschappelijke taal

Mogelijk hebt u aanvullende gebruiksscenario's voor deze functies, of extra mogelijkheden die u toegevoegd wilt zien, zoals de volgende:

  • SQL-functies om aangepaste entiteitsherkenning en aangepaste classificatiemodellen aan te roepen in Amazon Comprehend
  • SQL-functies voor de-identificatie - uitbreiding van de entiteit- en PII-redactiefuncties om entiteiten te vervangen door alternatieve unieke identifiers

Bovendien is de implementatie open source, wat betekent dat u de opslagplaats kunt klonen, de functies naar eigen inzicht kunt wijzigen en uitbreiden en (hopelijk) ons pull-verzoeken kunt sturen zodat we uw verbeteringen weer in het project kunnen samenvoegen en het beter kunt maken voor iedereen.

Schoonmaken

Nadat u deze zelfstudie heeft voltooid, wilt u misschien alle AWS-bronnen opschonen die u niet langer wilt gebruiken. Actieve AWS-resources kunnen kosten blijven maken in uw account.

  1. Voer in Athena de volgende query uit om de database en alle tabellen te verwijderen:
    DROP DATABASE comprehendresults CASCADE

  1. Verwijder in AWS CloudFormation de stapel serverlessrepo-TextAnalyticsUDFHandler.
  2. Zeg uw QuickSight-abonnement op.

Conclusie

Ik heb je laten zien hoe je de voorbeeldtekstanalyse UDF Lambda-functie voor Athena installeert, zodat je eenvoudige SQL-query's kunt gebruiken om tekst te vertalen met Amazon Translate, inzichten kunt genereren uit tekst met Amazon Comprehend en gevoelige informatie kunt redigeren. Ik hoop dat u dit nuttig vindt en voorbeelden deelt van hoe u het kunt gebruiken om uw architecturen te vereenvoudigen en nieuwe mogelijkheden voor uw bedrijf te implementeren.

Deel uw mening met ons in de commentarensectie of in de kwestiessectie van de projecten GitHub-repository.

Bijlage: Beschikbare functieverwijzing

Dit gedeelte geeft een overzicht van de functies die momenteel beschikbaar zijn. De README bestand biedt aanvullende details.

taal herkennen

Deze functie maakt gebruik van het Amazon Comprehend BatchDetectDominantLanguage API om de dominante taal te identificeren op basis van de eerste 5,000 bytes aan invoertekst.

De volgende code retourneert een taalcode, zoals fr voor Frans of en voor Engels:

USING FUNCTION detect_dominant_language(text_col VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_dominant_language('il fait beau à Orlando') as language

De volgende code retourneert een JSON-geformatteerde array van taalcodes en bijbehorende betrouwbaarheidsscores:

USING FUNCTION detect_dominant_language_all(text_col VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_dominant_language_all('il fait beau à Orlando') as language_all

Detecteer sentiment

Deze functie maakt gebruik van het Amazon Comprehend BatchDetectSentiment API om het sentiment te identificeren op basis van de eerste 5,000 bytes aan invoertekst.

De volgende code retourneert een gevoel als POSITIEF, NEGATIEF, NEUTRAAL of GEMENGD:

USING FUNCTION detect_sentiment(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment('Joe is very happy', 'en') as sentiment

De volgende code retourneert een object in JSON-indeling met gedetecteerde sentiment- en vertrouwensscores voor elke sentimentwaarde:

USING FUNCTION detect_sentiment_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_sentiment_all('Joe is very happy', 'en') as sentiment_all

Detecteer entiteiten

Deze functie maakt gebruik van het Amazon Comprehend DetectEntities API om PII te identificeren. Invoer van tekst die langer is dan 5,000 bytes resulteert in meerdere Amazon Comprehend API-aanroepen.

De volgende code retourneert een JSON-geformatteerd object met een array van entiteitstypen en waarden:

USING FUNCTION detect_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_entities('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en') as entities

De volgende code retourneert een object in JSON-indeling dat een array van PII-entiteitstypen bevat, met hun waarden, scores en tekenoffsets:

USING FUNCTION detect_entities_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_entities_all('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en') as entities_all

Entiteiten redigeren

Deze functie vervangt entiteitswaarden voor de opgegeven entiteitstypen door “[ENTITY_TYPE]​ Invoer van tekst langer dan 5,000 bytes resulteert in meerdere Amazon Comprehend API-aanroepen. Zie de volgende code:

USING FUNCTION redact_entities(text_col VARCHAR, lang VARCHAR, types VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_entities('His name is Joe, he lives in Richmond VA, he bought an Amazon Echo Show on January 5th, and he loves it', 'en', 'ALL') as entities_redacted

De opdracht retourneert een geredigeerde versie van de invoertekenreeks. Specificeer een of meer entiteitstypen redigeren door een door komma's gescheiden lijst met valid types in de parameter types string, of ALL om alle typen te redigeren.

Detecteer PII

Deze functie gebruikt de DetectPiiEntities API om PII te identificeren. Invoer van tekst die langer is dan 5,000 bytes resulteert in meerdere Amazon Comprehend API-aanroepen.

De volgende code retourneert een JSON-geformatteerd object met een array van PII-entiteitstypen en waarden:

USING FUNCTION detect_pii_entities(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en') as pii

De volgende code retourneert een object in JSON-indeling dat een array van PII-entiteitstypen bevat, met hun scores en tekenoffsets:

USING FUNCTION detect_pii_entities_all(text_col VARCHAR, lang VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT detect_pii_entities_all('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en') as pii_all

PII redigeren

Deze functie vervangt de PII-waarden voor de opgegeven PII-entiteitstypen door '[PII_ENTITY_TYPE]​ Invoer van tekst langer dan 5,000 bytes resulteert in meerdere Amazon Comprehend API-aanroepen. Zie de volgende code:

USING FUNCTION redact_pii_entities(text_col VARCHAR, lang VARCHAR, types VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT redact_pii_entities('His name is Joe, his username is joe123 and he lives in Richmond VA', 'en', 'ALL') as pii_redacted

De functie retourneert een geredigeerde versie van de invoertekenreeks. Specificeer een of meer PII-entiteitstypen redigeren door een door komma's gescheiden lijst van geldige typen in het type tekenreeksparameter, of ALL om alle typen te redigeren.

Tekst vertalen

Deze functie vertaalt tekst van de brontaal naar de doeltaal. Invoer van tekst die langer is dan 5,000 bytes resulteert in meerdere Amazon Translate API-aanroepen. Zie de volgende code:

USING FUNCTION translate_text(text_col VARCHAR, sourcelang VARCHAR, targetlang VARCHAR, customterminologyname VARCHAR) RETURNS VARCHAR TYPE LAMBDA_INVOKE WITH (lambda_name = 'textanalytics-udf') SELECT translate_text('It is a beautiful day in the neighborhood', 'auto', 'fr', NULL) as translated_text

De functie retourneert de vertaalde string. Detecteer optioneel de brontaal automatisch (gebruik auto als de taalcode, die Amazon Comprehend gebruikt), en specificeer optioneel een aangepaste terminologie (gebruik anders NULL op een customTerminologyName).


Over de auteur

Bob StrahanBob Strahan is een Principal Solutions Architect in het AWS Language AI Services-team.

Bron: https://aws.amazon.com/blogs/machine-learning/translate-and-analyze-text-using-sql-functions-with-amazon-athena-amazon-translate-and-amazon-comprehend/

Verder lezen

AI

Verbindingen en inspiraties tussen sciencefiction, tech en games

avatar

gepubliceerd

on


Dean Takahashi, Ramez Naam en Tim Chang praten over de verbanden en inspiraties tussen sciencefiction, tech en games.Lees meer Bron: https://venturebeat.com/2021/02/26/drawing-the-connections-and-inspirations-between-science-fiction-tech-and-games/

Verder lezen
Blockchain5 dagen geleden

Carrefour-shoppers in de VAE krijgen van boer tot bord informatie met blockchain-technologie

Voorgestelde hardware-implementatie van de QEC-code. Het circuit bestaat uit twee Josephson-knooppunten gekoppeld door een gyrator, rood gemarkeerd. KREDIET M. Rymarz et al., Phys Rev X (2021), https://doi.org/10.1103/PhysRevX.11.011032 (CC BY 4.0)
Nano-technologie4 dagen geleden

Blauwdruk voor fouttolerante qubits: wetenschappers van Forschungszentrum Jülich en RWTH Aachen University hebben een circuit ontworpen voor kwantumcomputers dat van nature is beschermd tegen veelvoorkomende fouten

PR Newswire5 dagen geleden

Internationale HPV Awareness Day-top

AI5 dagen geleden

Ik ben ontslagen: de AI van Google is ineenstort omdat de co-lead van de ethische eenheid enkele weken na het afzetten van een collega gedwongen werd te vertrekken

Voorgestelde hardware-implementatie van de QEC-code. Het circuit bestaat uit twee Josephson-knooppunten gekoppeld door een gyrator, rood gemarkeerd. KREDIET M. Rymarz et al., Phys Rev X (2021), https://doi.org/10.1103/PhysRevX.11.011032 (CC BY 4.0)
Nano-technologie4 dagen geleden

Blauwdruk voor fouttolerante qubits: wetenschappers van Forschungszentrum Jülich en RWTH Aachen University hebben een circuit ontworpen voor kwantumcomputers dat van nature is beschermd tegen veelvoorkomende fouten

PR Newswire5 dagen geleden

IAR Systems introduceert 64-bit Arm-core-ondersteuning in toonaangevende embedded ontwikkeltools

automotive4 dagen geleden

FAA maakt SpaceX Starship-prototype vrij voor derde lancering en landingspoging

Nano-technologie5 dagen geleden

Dynamica van nanodeeltjes met behulp van een nieuw geïsoleerd lumenperfusiesysteem voor lymfevaten

Voorgestelde hardware-implementatie van de QEC-code. Het circuit bestaat uit twee Josephson-knooppunten gekoppeld door een gyrator, rood gemarkeerd. KREDIET M. Rymarz et al., Phys Rev X (2021), https://doi.org/10.1103/PhysRevX.11.011032 (CC BY 4.0)
Nano-technologie5 dagen geleden

Blauwdruk voor fouttolerante qubits: wetenschappers van Forschungszentrum Jülich en RWTH Aachen University hebben een circuit ontworpen voor kwantumcomputers dat van nature is beschermd tegen veelvoorkomende fouten

PR Newswire5 dagen geleden

Waarom Famtech de komende jaren een belangrijke trend zal worden

PR Newswire5 dagen geleden

Omkering van antistollingsmiddelen Marktomvang ter waarde van $ 1.81 miljard in 2027: Grand View Research, Inc.

PR Newswire5 dagen geleden

Heritage Health Solutions, Inc. kondigt nieuwe president aan

Globe NewsWire5 dagen geleden

Kennisgeving aan de jaarlijkse algemene vergadering van Savosolar Plc

Bio-ingenieur4 dagen geleden

Grafeenoxide-membranen kunnen de energiekosten van de papierindustrie verlagen

PR Newswire5 dagen geleden

Thrasio verhoogt Europese toezegging tot € 500 miljoen; Kondigt opnieuw een belangrijke Duitse overname aan

Nano-technologie5 dagen geleden

Een snelheidslimiet geldt ook in de kwantumwereld: onderzoek door de Universiteit van Bonn bepaalt de minimumtijd voor complexe kwantumoperaties

PR Newswire5 dagen geleden

Wereldwijde vee-monitoring industrie tot 2027 - stijgende vraag naar vee monitoring

Bio-ingenieur4 dagen geleden

UH ontvangt $ 5 miljoen om de HIV / AIDS-epidemie te bestrijden

Bio-ingenieur4 dagen geleden

Drie langdurige antibiotica zouden een alternatief kunnen bieden voor verslavende opioïde pijnstillers

Bio-ingenieur4 dagen geleden

Hoe vervuiling buitenshuis de luchtkwaliteit binnenshuis beïnvloedt

Trending