Dela via


Teknik för bearbetning av naturligt språk

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.

Diagram som visar områden med funktioner för bearbetning av naturligt språk, till exempel entitetsigenkänning. Olika rutor visar en lista över språk som bearbetar anteckningar, modeller och språk som stöds.

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.

Diagram som visar stegen i en pipeline för bearbetning av naturligt språk, till exempel dokumentsammansättning, meningsidentifiering, tokenisering, normalisering och ordinbäddning.

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 en Array[String] och kan förbearbeta texten med hjälp av setCleanupMode, 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är explodeSentences 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 indatakonfigurationen RuleFactory 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 setStoragePathav , 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:

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg