Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Bearbetning av naturligt språk har många program, till exempel attitydanalys, ämnesidentifiering, språkidentifiering, extrahering av nyckelfraser och dokumentkategorisering.
Mer specifikt kan du använda bearbetning av naturligt språk för att:
- Klassificera dokument. Du kan till exempel märka dem som känsliga eller skräppost.
- Utför efterföljande bearbetning eller sökningar med hjälp av utdata från bearbetning av naturligt språk.
- Sammanfatta text genom att identifiera entiteter i dokumentet.
- Tagga dokument med nyckelord med hjälp av identifierade entiteter.
- Utföra innehållsbaserad sökning och hämtning med hjälp av taggar.
- Sammanfatta ett dokuments viktigaste ämnen med hjälp av identifierade entiteter.
- Kategorisera dokument för navigering med hjälp av identifierade ämnen.
- Räkna upp relaterade dokument baserat på ett valt ämne.
- Utvärdera textsentiment för att förstå dess positiva eller negativa ton.
När tekniken utvecklas kan du använda bearbetning av naturligt språk för att kategorisera och analysera textdata. Du kan också använda den för att förbättra tolkningsbara AI-funktioner i olika domäner. Integreringen av språkmodeller förbättrar avsevärt funktionerna i bearbetning av naturligt språk. Språkmodeller som GPT och BERT kan generera mänsklig, kontextmedveten text. Den här funktionen gör dem mycket effektiva för komplexa språkbearbetningsuppgifter. De kompletterar befintliga tekniker för bearbetning av naturligt språk genom att hantera bredare kognitiva uppgifter, vilket förbättrar konversationssystem och kundengagemang, särskilt med modeller som Databricks Dolly 2.0.
Relation och skillnader mellan språkmodeller och bearbetning av naturligt språk
Bearbetning av naturligt språk är ett omfattande område som omfattar olika tekniker för bearbetning av mänskligt språk. Språkmodeller är däremot en specifik delmängd av bearbetning av naturligt språk. De fokuserar på djupinlärning för att utföra språkuppgifter på hög nivå. Språkmodeller förbättrar bearbetningen av naturligt språk genom att tillhandahålla avancerade funktioner för textgenerering och förståelse, men de är inte synonyma med bearbetning av naturligt språk. I stället fungerar de som kraftfulla verktyg inom den bredare domänen för bearbetning av naturligt språk genom att möjliggöra mer avancerad språkbearbetning.
Anmärkning
Den här artikeln fokuserar på bearbetning av naturligt språk. Relationen mellan bearbetning av naturligt språk och språkmodeller visar att språkmodeller förbättrar processerna för bearbetning av naturligt språk genom överlägsen språktolkning och generationsfunktioner.
Potentiella användningsfall
Affärsscenarier som kan dra nytta av anpassad bearbetning av naturligt språk är:
Dokumentinformation för handskrivna eller maskinskapade dokument inom ekonomi, sjukvård, detaljhandel, myndigheter och andra sektorer.
Branschoberoende bearbetningsuppgifter för naturligt språk för textbearbetning, till exempel igenkänning av namngivna entiteter (NER), klassificering, sammanfattning och relationsextrahering.
De här uppgifterna hjälper dig att automatiskt hämta, identifiera och analysera dokumentinformation som text och ostrukturerade data. Exempel på dessa uppgifter är riskstratifieringsmodeller, ontologiklassificering och detaljhandelssammanfattningar.
Informationshämtning och skapande av kunskapsdiagram för semantisk sökning. Den här funktionen gör det möjligt att skapa medicinska kunskapsdiagram som stöder läkemedelsidentifiering och kliniska prövningar.
Textöversättning för konversations-AI-system i kundinriktade program inom detaljhandel, ekonomi, resor och andra branscher.
Sentiment och förbättrad känslomässig intelligens i analys, särskilt för övervakning av varumärkesuppfattning och kundfeedbackanalys.
Automatiserad rapportgenerering. Syntetisera och generera omfattande textrapporter från strukturerade dataindata. Dessa uppgifter hjälper sektorer som ekonomi och efterlevnad där noggrann dokumentation krävs.
Röstaktiverade gränssnitt som integrerar bearbetning av naturligt språk för röstigenkänning och naturliga konversationsfunktioner. Den här integreringen förbättrar användarinteraktioner i Sakernas Internet-program och program för smarta enheter.
Anpassningsbara språkmodeller som dynamiskt kan justera språkutdata så att de passar olika målgruppsförståelsenivåer. Den här funktionen är avgörande för utbildningsinnehåll och tillgänglighetsförbättringar.
Textanalys för cybersäkerhet för att analysera kommunikationsmönster och språkanvändning i realtid. Den här analysen hjälper dig att identifiera potentiella säkerhetshot i digital kommunikation och förbättra identifieringen av nätfiskeförsök eller felaktig information.
Apache Spark som ett anpassat ramverk för bearbetning av naturligt språk
Apache Spark är ett kraftfullt ramverk för parallell bearbetning som förbättrar prestandan för analysprogram med stordata med hjälp av minnesintern bearbetning. Azure Synapse Analytics, Azure HDInsight och Azure Databricks ger robust åtkomst till Sparks bearbetningsfunktioner. Den här åtkomsten hjälper dig att köra storskaliga dataåtgärder sömlöst.
Spark NLP är ett effektivt ramverk som kan bearbeta stora mängder text för anpassade arbetsbelastningar för bearbetning av naturligt språk. Det här biblioteket med öppen källkod innehåller omfattande funktioner med hjälp av Python-, Java- och Scala-bibliotek. Dessa bibliotek ger den sofistikering som du kan hitta i framstående bibliotek för bearbetning av naturligt språk som spaCy och Natural Language Toolkit. Spark NLP innehåller avancerade funktioner som stavningskontroll, attitydanalys och dokumentklassificering. De här funktionerna hjälper dig att konsekvent säkerställa optimal noggrannhet och skalbarhet.
Apache®, Apache Spark och flamlogotypen är antingen registrerade varumärken eller varumärken som tillhör Apache Software Foundation i USA och/eller andra länder. Inget godkännande från Apache Software Foundation underförstås av användningen av dessa märken.
De senaste offentliga riktmärkena belyser Spark NLP:s prestanda. Dessa riktmärken visar betydande hastighetsförbättringar jämfört med andra bibliotek. Spark NLP upprätthåller också jämförbar noggrannhet för träning av anpassade modeller. I synnerhet förbättrar integreringen av Llama 2-modellerna och OpenAI Whisper konversationsgränssnitt och flerspråkig taligenkänning. Dessa funktioner markerar betydande framsteg i optimerade bearbetningsfunktioner.
Spark NLP använder effektivt ett distribuerat Spark-kluster som fungerar som ett internt tillägg för Spark ML och fungerar direkt på dataramar. Den här integreringen stöder förbättrade prestandavinster för kluster, vilket underlättar skapandet av enhetlig bearbetning av naturligt språk och maskininlärningspipelines för uppgifter som dokumentklassificering och riskförutsägelse. MPNet-inbäddningar och omfattande ONNX-stöd utökar dessa funktioner ytterligare och möjliggör exakt och kontextmedveten bearbetning.
Spark NLP ger mycket exakta resultat i ett växande utbud av uppgifter för naturlig språkbehandling. Biblioteket levereras med fördefinierade djupinlärningsmodeller för namngiven entitetsigenkänning, dokumentklassificering och attitydidentifiering. Dess funktionsrika design innehåller förtränade språkmodeller som stöder inbäddningar av ord, segment, mening och dokument.
Spark NLP:s infrastruktur skalas med hjälp av optimerade versioner för processorer, GPU:er och de senaste Intel Xeon-chipsen, vilket gör det möjligt för träning och slutsatsdragningsprocesser att fullt ut använda Spark-kluster. Den här funktionen hjälper till att säkerställa effektiv hantering av uppgifter för bearbetning av naturligt språk i olika miljöer och program.
Utmaningar
Resursbearbetning: Bearbetning av en samling textdokument i fritt format kräver en betydande mängd beräkningsresurser. Bearbetningen är också tidsintensiv. Den här typen av bearbetning omfattar ofta GPU-beräkningsdistribution. De senaste framstegen som stöder kvantisering, till exempel optimeringar i Spark NLP-arkitekturer som Llama 2, hjälper till att effektivisera dessa intensiva uppgifter genom att allokera resurser mer effektivt.
Standardisering: Utan ett standardiserat dokumentformat kan det vara svårt att uppnå konsekvent korrekta resultat när du använder textbearbetning i fritt format för att extrahera specifika fakta från ett dokument. Att till exempel extrahera fakturanumret och datumet från olika fakturor innebär utmaningar. Integreringen av anpassningsbara modeller för bearbetning av naturligt språk, till exempel M2M100, förbättrar bearbetningens noggrannhet i flera språk och format. Den här förbättrade noggrannheten leder till mer konsekventa resultat.
Datavarialitet och komplexitet: Det är fortfarande komplext att hantera olika dokumentstrukturer och språkliga nyanser. Innovationer som MPNet-inbäddningar ger bättre sammanhangsberoende förståelse, vilket leder till mer intuitiv hantering av olika textformat och mer tillförlitlig databehandling.
Kriterier för nyckelval
I Azure tillhandahåller Spark-tjänster som Azure Databricks, Microsoft Fabric och HDInsight bearbetningsfunktioner för naturligt språk när du använder dem med Spark NLP. Azure AI-tjänster är ett annat alternativ för bearbetning av naturligt språk. Tänk på följande för att hjälpa dig att avgöra vilken tjänst du ska använda:
Om du vill använda fördefinierade eller förtränad modeller kan du överväga att använda de API:er som AI-tjänster tillhandahåller. Eller så kan du ladda ned valfri modell via Spark NLP, som innehåller avancerade modeller som Llama 2 och MPNet för förbättrade funktioner.
Om du behöver träna anpassade modeller mot en stor samling textdata kan du använda Azure Databricks, Fabric eller HDInsight med Spark NLP. Dessa plattformar ger den beräkningskraft och flexibilitet som du behöver för omfattande modellträning.
Om du behöver funktioner för bearbetning av naturligt språk på låg nivå som tokenisering, härdning, lemmatisering och termfrekvens/inverterad dokumentfrekvens (TF/IDF) bör du överväga att använda Azure Databricks, Fabric eller HDInsight med Spark NLP. Du kan också använda ett programbibliotek med öppen källkod i ditt bearbetningsverktyg.
Om du behöver enkla funktioner för bearbetning av naturligt språk på hög nivå som entitets- och avsiktsidentifiering, ämnesidentifiering, stavningskontroll eller attitydanalys kan du överväga att använda DE API:er som AI-tjänster tillhandahåller. Eller ladda ned valfri modell via Spark NLP för att använda fördefinierade funktioner för dessa uppgifter.
Kapacitetsmatris
I följande tabeller sammanfattas de viktigaste skillnaderna i funktionerna i bearbetningstjänster för naturligt språk.
Allmänna funktioner
Kapacitet | Spark-tjänsten (Azure Databricks, Fabric, HDInsight) med Spark NLP | AI-tjänster |
---|---|---|
Tillhandahåller förtränade modeller som en tjänst | Ja | Ja |
REST-API | Ja | Ja |
Programmerbarhet | Python, Scala | Se programmeringsspråk som stöds |
Stöder bearbetning av stora datamängder och stora dokument | Ja | Nej |
Anteckningsfunktioner
Kapacitet | Spark-tjänsten (Azure Databricks, Fabric, HDInsight) med Spark NLP | AI-tjänster |
---|---|---|
Meningsdetektor | Ja | Nej |
Djup meningsdetektor | Ja | Ja |
Tokenizer | Ja | Ja |
N-gramgenerator | Ja | Nej |
Ordsegmentering | Ja | Ja |
Röster | Ja | Nej |
Lemmatizer | Ja | Nej |
Del av tal-märkning | Ja | Nej |
Beroendeparser | Ja | Nej |
Översättning | Ja | Nej |
Stoppordsrengöringsmedel | Ja | Nej |
Stavningskorrigering | Ja | Nej |
Normalisator | Ja | Ja |
Textmatchning | Ja | Nej |
TF/IDF | Ja | Nej |
Matchning av reguljära uttryck | Ja | Inbäddad i funktionen för förståelse av konversationsspråk (CLU) |
Datumjämförare | Ja | Möjligt i CLU via DateTime-identifierare |
Chunker | Ja | Nej |
Anmärkning
Language Understanding (LUIS) dras tillbaka den 1 oktober 2025. Du bör migrera befintliga LUIS-program till funktionen för att förstå konversationsspråk (CLU) i Azure AI Language, vilket förbättrar funktionerna för språkförståelse och ger nya funktioner.
Bearbetningsfunktioner för naturligt språk på hög nivå
Kapacitet | Spark-tjänsten (Azure Databricks, Fabric, HDInsight) med Spark NLP | AI-tjänster |
---|---|---|
Stavningskontroll | Ja | Nej |
Sammanfattning | Ja | Ja |
Frågor och svar | Ja | Ja |
Känsloanalys | Ja | Ja |
Känsloavkänning | Ja | Stöder åsiktsutvinning |
Tokenklassificering | Ja | Ja, via anpassade modeller |
Textklassificering | Ja | Ja, via anpassade modeller |
Text representation | Ja | Nej |
NER | Ja | Ja, textanalys ger en uppsättning NER |
Igenkänning av enhet | Ja | Ja, via anpassade modeller |
Språkidentifiering | Ja | Ja |
Stöder språk förutom engelska | Ja, stöder över 200 språk | Ja, stöder över 97 språk |
Konfigurera Spark NLP i Azure
Om du vill installera Spark NLP använder du följande kod, men ersätter <version>
med det senaste versionsnumret. Mer information finns i Spark NLP-dokumentationen.
# Install Spark NLP from PyPI.
pip install spark-natural language processing==<version>
# Install Spark NLP from Anaconda or Conda.
conda install -c johnsnowlabs spark-natural language processing
# Load Spark NLP with Spark Shell.
spark-shell --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP with PySpark.
pyspark --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP with Spark Submit.
spark-submit --packages com.johnsnowlabs.natural language processing:spark-natural language processing_<version>
# Load Spark NLP as an external JAR after compiling and building Spark NLP by using SBT assembly.
spark-shell --jars spark-natural language processing-assembly-3 <version>.jar
Utveckla processer för naturligt språkbehandling
Spark NLP följer samma utvecklingskoncept som traditionella Spark ML-maskininlärningsmodeller när det kör en pipeline för bearbetning av naturligt språk. Det tillämpar också specialiserade tekniker för bearbetning av naturligt språk.
En Spark NLP-pipeline innehåller följande kärnkomponenter:
DocumentAssembler är en transformerare som förbereder data genom att konvertera dem till ett format som Spark NLP kan bearbeta. Det här steget är startpunkten för varje Spark NLP-pipeline. DocumentAssembler läser antingen en
String
kolumn eller enArray[String]
och kan förbearbeta texten med hjälp avsetCleanupMode
, vilket är avaktiverat som standard.SentenceDetector är en kommenterare som identifierar meningsgränser med hjälp av fördefinierade metoder. Den kan returnera varje identifierad mening i en
Array
eller flera separata rader närexplodeSentences
den är inställd på true.Tokenizer är en anteckning som delar upp rå text i diskreta token, till exempel ord, siffror och symboler, och matar ut dem som en
TokenizedSentence
. Tokenizern är inte anpassad och använder indatakonfigurationenRuleFactory
i för att skapa tokeniseringsregler. Du kan lägga till anpassade regler om standardreglerna inte är tillräckliga.Normalizer är en annotatör som har uppgiften att förfina token. Normalizer använder reguljära uttryck och ordlistetransformeringar för att rensa text och ta bort överflödiga tecken.
WordEmbeddings är uppslagsanteckningar som mappar token till vektorer och underlättar semantisk bearbetning. Du kan ange en anpassad inbäddningsordlista med hjälp
setStoragePath
av , där varje rad innehåller en token och dess vektor, avgränsade med blanksteg. Olösta token är som standard nollvektorer.
Spark NLP använder Spark MLlib-pipelines som har inbyggt stöd från MLflow, en plattform med öppen källkod som hanterar maskininlärningslivscykeln. MLflow har följande nyckelkomponenter:
MLflow Tracking registrerar experimentella körningar och ger robusta frågefunktioner för att analysera resultat.
Med MLflow Projects kan du köra datavetenskapskod på olika plattformar. Den här funktionen förbättrar portabiliteten och reproducerbarheten.
MLflow-modeller stöder mångsidig modelldistribution i olika miljöer via ett konsekvent ramverk.
Model Registry tillhandahåller omfattande modellhantering genom att lagra versioner centralt för effektiv åtkomst och distribution. Det här steget underlättar produktionsberedskap.
MLflow är integrerat med plattformar som Azure Databricks, men du kan också installera det i andra Spark-baserade miljöer för att hantera och spåra dina experiment. Med den här integreringen kan du använda MLflow Model Registry för att göra modeller tillgängliga i produktionssyfte. Du kan effektivisera distributionsprocessen och upprätthålla modellstyrning.
Genom att använda MLflow tillsammans med Spark NLP kan du säkerställa effektivare hantering och distribution av pipelines för bearbetning av naturligt språk. Du kan också hantera moderna krav för skalbarhet och integrering samtidigt som du stöder avancerade tekniker som ordinbäddningar och anpassningar av språkmodeller.
Bidragsgivare
Microsoft ansvarar för denna artikel. Följande deltagare skrev den här artikeln.
Huvudsakliga författare:
- Freddy Ayala | Molnlösningsarkitekt
- Moritz Steller | Senior Cloud Solution Architect
Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.
Nästa steg
Spark NLP-dokumentation:
Azure-komponenter:
Lär dig resurser: