Bedrijven hebben toegang tot enorme hoeveelheden gegevens, waarvan een groot deel moeilijk te ontdekken is omdat de gegevens ongestructureerd zijn. Conventionele benaderingen van analyseren ongestructureerde gegevens gebruik trefwoord- of synoniemenmatching. Ze vangen niet de volledige context van een document op, waardoor ze minder effectief zijn in het omgaan met ongestructureerde gegevens.
Bij tekstinsluitingen wordt daarentegen gebruik gemaakt van machine learning (ML) mogelijkheden om de betekenis van ongestructureerde gegevens vast te leggen. Inbedding wordt gegenereerd door representatieve taalmodellen die tekst in numerieke vectoren vertalen en contextuele informatie in een document coderen. Dit maakt toepassingen mogelijk zoals semantisch zoeken, Ophalen Augmented Generation (RAG), onderwerpmodellering en tekstclassificatie.
In de financiële dienstverleningssector omvatten toepassingen bijvoorbeeld het extraheren van inzichten uit winstrapporten, het zoeken naar informatie uit financiële overzichten en het analyseren van sentiment over aandelen en markten in financieel nieuws. Dankzij tekstinsluitingen kunnen professionals uit de sector inzichten uit documenten halen, fouten minimaliseren en hun prestaties verbeteren.
In dit bericht presenteren we een applicatie die financieel nieuws in verschillende talen kan doorzoeken en doorzoeken met behulp van Cohere's embed en Herrangschikken modellen met Amazonebodem.
Het meertalige inbeddingsmodel van Cohere
Cohere is een toonaangevend AI-platform voor ondernemingen dat grote taalmodellen (LLM's) en door LLM aangedreven oplossingen van wereldklasse bouwt waarmee computers kunnen zoeken, betekenis kunnen vastleggen en in tekst kunnen communiceren. Ze bieden gebruiksgemak en krachtige beveiligings- en privacycontroles.
Het meertalige inbeddingsmodel van Cohere genereert vectorrepresentaties van documenten voor meer dan 100 talen en is beschikbaar op Amazon Bedrock. Hierdoor hebben AWS-klanten er toegang toe als een API, wat de noodzaak elimineert om de onderliggende infrastructuur te beheren en ervoor zorgt dat gevoelige informatie veilig beheerd en beschermd blijft.
Het meertalige model groepeert tekst met vergelijkbare betekenissen door deze posities toe te wijzen die dicht bij elkaar liggen in een semantische vectorruimte. Met een meertalig insluitingsmodel kunnen ontwikkelaars tekst in meerdere talen verwerken zonder dat ze tussen verschillende modellen hoeven te schakelen, zoals geïllustreerd in de volgende afbeelding. Dit maakt de verwerking efficiënter en verbetert de prestaties voor meertalige applicaties.
Hieronder volgen enkele hoogtepunten van het inbeddingsmodel van Cohere:
- Focus op documentkwaliteit – Typische inbeddingsmodellen zijn getraind om de gelijkenis tussen documenten te meten, maar het model van Cohere meet ook de documentkwaliteit
- Betere vindbaarheid voor RAG-toepassingen – RAG-applicaties vereisen een goed zoeksysteem, waar het inbeddingsmodel van Cohere in uitblinkt
- Kostenefficiënte datacompressie – Cohere maakt gebruik van een speciale, compressiebewuste trainingsmethode, wat resulteert in een aanzienlijke kostenbesparing voor uw vectordatabase
Gebruik cases voor het insluiten van tekst
Tekstinsluitingen zetten ongestructureerde gegevens om in een gestructureerde vorm. Hierdoor kunt u al deze documenten objectief vergelijken, ontleden en er inzichten uit afleiden. Hieronder volgen voorbeelden van gebruiksscenario’s die het inbeddingsmodel van Cohere mogelijk maakt:
- Semantisch zoeken – Maakt krachtige zoektoepassingen mogelijk in combinatie met een vectordatabase, met uitstekende relevantie op basis van de betekenis van zoektermen
- Zoekmachine voor een groter systeem – Vindt en haalt de meest relevante informatie op uit verbonden bedrijfsgegevensbronnen voor RAG-systemen
- Tekstclassificatie – Ondersteunt intentieherkenning, sentimentanalyse en geavanceerde documentanalyse
- Modellering van onderwerpen – Verandert een verzameling documenten in afzonderlijke clusters om opkomende onderwerpen en thema’s bloot te leggen
Verbeterde zoeksystemen met Rerank
Hoe introduceer je moderne semantische zoekmogelijkheden in bedrijven waar conventionele zoeksystemen voor trefwoorden al aanwezig zijn? Voor dergelijke systemen die al lange tijd deel uitmaken van de informatiearchitectuur van een bedrijf, is een volledige migratie naar een op embeddings gebaseerde aanpak in veel gevallen gewoon niet haalbaar.
Cohere's Rerank-eindpunt is ontworpen om deze kloof te overbruggen. Het fungeert als de tweede fase van een zoekstroom en biedt een rangschikking van relevante documenten op basis van de zoekopdracht van een gebruiker. Bedrijven kunnen een bestaand sleutelwoordsysteem (of zelfs een semantisch) systeem behouden voor het ophalen in de eerste fase en de kwaliteit van de zoekresultaten verbeteren met het Rerank-eindpunt in de herrangschikking in de tweede fase.
Rerank biedt een snelle en eenvoudige optie voor het verbeteren van zoekresultaten door semantische zoektechnologie met één regel code in de stapel van een gebruiker te introduceren. Het eindpunt wordt ook geleverd met meertalige ondersteuning. De volgende afbeelding illustreert de workflow voor het ophalen en opnieuw rangschikken.
Overzicht oplossingen
Financiële analisten moeten veel inhoud verwerken, zoals financiële publicaties en nieuwsmedia, om op de hoogte te blijven. Volgens de Vereniging voor Financiële Professionals (AFP), besteden financiële analisten 75% van hun tijd aan het verzamelen van gegevens of het beheren van het proces in plaats van aan het analyseren van de toegevoegde waarde. Het vinden van het antwoord op een vraag in verschillende bronnen en documenten is tijdrovend en vervelend werk. Het Cohere-inbeddingsmodel helpt analisten snel te zoeken in talloze artikeltitels in meerdere talen om de artikelen te vinden en te rangschikken die het meest relevant zijn voor een bepaalde zoekopdracht, waardoor een enorme hoeveelheid tijd en moeite wordt bespaard.
In het volgende gebruiksvoorbeeld laten we zien hoe het Embed-model van Cohere financieel nieuws in verschillende talen zoekt en doorzoekt in één unieke pijplijn. Vervolgens laten we zien hoe het toevoegen van Rerank aan het ophalen van uw insluitingen (of het toevoegen ervan aan een oudere lexicale zoekopdracht) de resultaten verder kan verbeteren.
Het ondersteunende notebook is beschikbaar op GitHub.
Het volgende diagram illustreert de workflow van de applicatie.
Schakel modeltoegang in via Amazon Bedrock
Amazon Bedrock-gebruikers moeten toegang tot modellen aanvragen om deze beschikbaar te maken voor gebruik. Om toegang tot aanvullende modellen aan te vragen, kiest u Toegang tot modellen het navigatievenster op de Amazon Bedrock console. Voor meer informatie, zie Toegang tot modellen. Voor deze walkthrough moet u toegang aanvragen tot het Cohere Embed Multilingual-model.
Installeer pakketten en importeer modules
Eerst installeren we de benodigde pakketten en importeren we de modules die we in dit voorbeeld zullen gebruiken:
Documenten importeren
We gebruiken een dataset (MultiFIN) met een lijst met echte artikelkoppen in 15 talen (Engels, Turks, Deens, Spaans, Pools, Grieks, Fins, Hebreeuws, Japans, Hongaars, Noors, Russisch, Italiaans, IJslands en Zweeds ). Dit is een open source dataset samengesteld voor financiële natuurlijke taalverwerking (NLP) en is beschikbaar op a GitHub-repository.
In ons geval hebben we een CSV-bestand met de gegevens van MultiFIN aangemaakt, evenals een kolom met vertalingen. We gebruiken deze kolom niet om het model te voeden; we gebruiken het om ons te helpen bij het afdrukken van de resultaten voor degenen die geen Deens of Spaans spreken. We verwijzen naar dat CSV om ons dataframe te maken:
Selecteer een lijst met documenten die u wilt opvragen
MultiFIN beschikt over ruim 6,000 records in 15 verschillende talen. Voor ons voorbeeldgebruik richten we ons op drie talen: Engels, Spaans en Deens. We sorteren de headers ook op lengte en kiezen de langste.
Omdat we de langste artikelen kiezen, zorgen we ervoor dat de lengte niet te wijten is aan herhaalde reeksen. De volgende code toont een voorbeeld waarin dat het geval is. Wij zullen dat opruimen.
df['text'].iloc[2215]
Onze lijst met documenten is mooi verdeeld over de drie talen:
Het volgende is de langste artikelkop in onze dataset:
Documenten insluiten en indexeren
Nu willen we onze documenten insluiten en de insluitingen opslaan. De insluitingen zijn zeer grote vectoren die de semantische betekenis van ons document samenvatten. In het bijzonder gebruiken we het embed-multilingual-v3.0-model van Cohere, dat inbedding met 1,024 dimensies creëert.
Wanneer een query wordt doorgegeven, sluiten we de query ook in en gebruiken we de hnswlib-bibliotheek om de dichtstbijzijnde buren te vinden.
Er zijn slechts een paar regels code nodig om een Cohere-client op te zetten, de documenten in te sluiten en de zoekindex te maken. We houden ook de taal en vertaling van het document bij om de weergave van de resultaten te verrijken.
Bouw een ophaalsysteem
Vervolgens bouwen we een functie die een query als invoer neemt, deze insluit en de vier headers vindt die er nauwer aan verwant zijn:
Voer een query uit op het ophaalsysteem
Laten we eens kijken wat ons systeem doet met een aantal verschillende zoekopdrachten. We beginnen met Engels:
De resultaten zijn als volgt:
Let op het volgende:
- We stellen gerelateerde, maar enigszins verschillende vragen, en het model is genuanceerd genoeg om de meest relevante resultaten bovenaan te presenteren.
- Ons model voert geen op trefwoorden gebaseerde zoekopdrachten uit, maar semantische zoekopdrachten. Zelfs als we een term als ‘data science’ gebruiken in plaats van ‘AI’, kan ons model begrijpen wat er wordt gevraagd en het meest relevante resultaat bovenaan weergeven.
Wat dacht je van een vraag in het Deens? Laten we eens kijken naar de volgende vraag:
In het voorgaande voorbeeld staat het Engelse acroniem ‘PP&E’ voor ‘property, plant, and Equipment’, en ons model kon dit aan onze vraag koppelen.
In dit geval zijn alle geretourneerde resultaten in het Deens, maar het model kan een document in een andere taal dan de query retourneren als de semantische betekenis ervan dichterbij ligt. We hebben volledige flexibiliteit en met een paar regels code kunnen we specificeren of het model alleen naar documenten in de taal van de query moet kijken, of naar alle documenten.
Verbeter de resultaten met Cohere Rerank
Inbedding is zeer krachtig. We gaan nu echter kijken hoe we onze resultaten nog verder kunnen verfijnen met het Rerank-eindpunt van Cohere, dat is getraind om de relevantie van documenten te beoordelen aan de hand van een zoekopdracht.
Een ander voordeel van Rerank is dat het bovenop een oudere trefwoordzoekmachine kan werken. U hoeft niet over te stappen op een vectordatabase of drastische wijzigingen aan te brengen in uw infrastructuur, en het kost slechts een paar regels code. Herrang is beschikbaar in Amazon Sage Maker.
Laten we een nieuwe zoekopdracht proberen. We gebruiken deze keer SageMaker:
In dit geval kon een semantische zoekopdracht ons antwoord ophalen en in de resultaten weergeven, maar het staat niet bovenaan. Wanneer we de query echter opnieuw doorgeven aan ons Rerank-eindpunt met de lijst met opgehaalde documenten, kan Rerank het meest relevante document bovenaan weergeven.
Eerst maken we de client en het Rerank-eindpunt:
Wanneer we de documenten doorgeven aan Rerank, kan het model nauwkeurig de meest relevante selecteren:
Conclusie
Dit bericht presenteerde een walkthrough van het gebruik van het meertalige inbeddingsmodel van Cohere in Amazon Bedrock in het domein van de financiële dienstverlening. In het bijzonder hebben we een voorbeeld gedemonstreerd van een meertalige zoekapplicatie voor financiële artikelen. We zagen hoe het inbeddingsmodel efficiënte en nauwkeurige ontdekking van informatie mogelijk maakt, waardoor de productiviteit en outputkwaliteit van een analist wordt vergroot.
Het meertalige inbeddingsmodel van Cohere ondersteunt meer dan 100 talen. Het neemt de complexiteit weg van het bouwen van applicaties waarbij met een corpus aan documenten in verschillende talen moet worden gewerkt. De Cohere Embed-model is getraind om resultaten te leveren in real-world toepassingen. Het verwerkt gegevens met veel ruis als invoer, past zich aan complexe RAG-systemen aan en levert kostenefficiëntie dankzij de compressiebewuste trainingsmethode.
Begin vandaag nog met het bouwen met het meertalige inbeddingsmodel van Cohere in Amazon Bedrock.
Over de auteurs
James Yi is een Senior AI/ML Partner Solutions Architect in het Technology Partners COE Tech-team bij Amazon Web Services. Hij heeft een passie voor het samenwerken met zakelijke klanten en partners bij het ontwerpen, implementeren en schalen van AI/ML-applicaties om bedrijfswaarde te creëren. Buiten zijn werk houdt hij van voetballen, reizen en tijd doorbrengen met zijn gezin.
Gonzalo Betegon is een Solutions Architect bij Cohere, een leverancier van geavanceerde technologie voor natuurlijke taalverwerking. Hij helpt organisaties in hun zakelijke behoeften te voorzien door de inzet van grote taalmodellen.
Meor Amer is een Developer Advocate bij Cohere, een leverancier van geavanceerde natuurlijke taalverwerkingstechnologie (NLP). Hij helpt ontwikkelaars bij het bouwen van geavanceerde applicaties met Cohere’s Large Language Models (LLM’s).
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/build-financial-search-applications-using-the-amazon-bedrock-cohere-multilingual-embedding-model/