Technologie zpracování přirozeného jazyka
Zpracování přirozeného jazyka má mnoho aplikací, jako je analýza mínění, detekce témat, rozpoznávání jazyka, extrakce klíčových frází a kategorizace dokumentů.
Konkrétně můžete použít zpracování přirozeného jazyka k:
- Klasifikovat dokumenty Můžete je například označit jako citlivé nebo spamové.
- Provádění následných zpracování nebo hledání pomocí výstupů zpracování přirozeného jazyka.
- Shrňte text tím, že identifikujete entity v dokumentu.
- Označte dokumenty klíčovými slovy pomocí identifikovaných entit.
- Provádění vyhledávání a načítání na základě obsahu pomocí značek
- Shrnutí klíčových témat dokumentu pomocí identifikovaných entit
- Kategorizovat dokumenty pro navigaci pomocí zjištěných témat.
- Vytvořte výčet souvisejících dokumentů na základě vybraného tématu.
- Vyhodnoťte mínění v textu, abyste porozuměli jeho pozitivnímu nebo negativnímu tónu.
S tím, jak technologie pokročila, můžete pomocí zpracování přirozeného jazyka kategorizovat a analyzovat textová data. Můžete ho také použít k vylepšení interpretovatelných funkcí umělé inteligence napříč různými doménami. Integrace jazykových modelů výrazně zvyšuje možnosti zpracování přirozeného jazyka. Jazykové modely, jako je GPT a BERT, můžou generovat text podobný lidskému a vnímavý k souvislostem. Díky této funkci jsou vysoce efektivní pro úlohy komplexního zpracování jazyka. Doplňují stávající techniky zpracování přirozeného jazyka tím, že zpracovávají širší kognitivní úlohy, které zlepšují konverzační systémy a zapojení zákazníků, zejména s modely, jako je Databricks' Dolly 2.0.
Vztah a rozdíly mezi jazykovými modely a zpracováním přirozeného jazyka
Zpracování přirozeného jazyka je komplexní pole, které zahrnuje různé techniky zpracování lidského jazyka. Jazykové modely jsou naopak specifickou podmnožinou zpracování přirozeného jazyka. Zaměřují se na hluboké učení, aby prováděly úlohy jazyka vysoké úrovně. Jazykové modely vylepšují zpracování přirozeného jazyka tím, že poskytují pokročilé generování textu a porozumění funkcím, ale nejsou synonymem pro zpracování přirozeného jazyka. Místo toho slouží jako výkonné nástroje v rámci širší domény zpracování přirozeného jazyka tím, že umožňují sofistikovanější zpracování jazyka.
Poznámka
Tento článek se zaměřuje na zpracování přirozeného jazyka. Vztah mezi zpracováním přirozeného jazyka a jazykovými modely ukazuje, že jazykové modely vylepšují procesy zpracování přirozeného jazyka prostřednictvím špičkových funkcí porozumění jazyku a generování.
Potenciální případy použití
Mezi obchodní scénáře, které můžou těžit z vlastního zpracování přirozeného jazyka, patří:
Dokumentová inteligence pro ručně psané a strojově vytvořené dokumenty v oblasti financí, zdravotnictví, maloobchodu, státní správy a dalších sektorů.
Úlohy zpracování přirozeného jazyka nezávislé na odvětví pro zpracování textu, jako je rozpoznávání pojmenovaných entit (NER), klasifikace, sumarizace a extrakce relací.
Tyto úlohy vám pomůžou automaticky načítat, identifikovat a analyzovat informace o dokumentu, jako je text a nestrukturovaná data. Mezi příklady těchto úloh patří modely stratifikace rizik, klasifikace ontologie a souhrny maloobchodního prodeje.
Vyhledávání informací a vytváření znalostních grafů pro sémantické vyhledávání. Tato funkce umožňuje vytvářet grafy lékařských znalostí, které podporují zjišťování léků a klinické studie.
Překlad textu pro konverzační systémy AI v zákaznických aplikacích napříč maloobchodem, financemi, cestováními a dalšími odvětvími
Mínění a vylepšená emocionální inteligence v analýzách, zejména pro monitorování vnímání značky a analýzy zpětné vazby zákazníků.
Automatizované generování sestav. Syntetizuje a generuje komplexní textové sestavy ze strukturovaných datových vstupů. Tyto úlohy pomáhají odvětvím, jako jsou finance a dodržování předpisů, pokud je nutná důkladná dokumentace.
Hlasově aktivovaná rozhraní, která integrují zpracování přirozeného jazyka pro rozpoznávání hlasu a možnosti přirozené konverzace. Tato integrace vylepšuje interakce uživatelů v aplikacích Internetu věcí a aplikacích inteligentních zařízení.
Adaptivní jazykové modely, které můžou dynamicky upravovat výstup jazyka tak, aby vyhovovaly různým úrovním porozumění cílové skupině. Tato funkce je zásadní pro vylepšení vzdělávacího obsahu a přístupnosti.
Analýza textu kyberbezpečnosti za účelem analýzy komunikačních vzorů a používání jazyka v reálném čase Tato analýza vám pomůže identifikovat potenciální bezpečnostní hrozby v digitální komunikaci a zlepšit detekci pokusů o útok phishing nebo minformace.
Apache Spark jako přizpůsobená architektura pro zpracování přirozeného jazyka
Apache Spark je výkonná architektura paralelního zpracování, která vylepšuje výkon analytických aplikací pro velké objemy dat pomocí zpracování v paměti. azure Synapse Analytics, azure HDInsighta Azure Databricks poskytují robustní přístup ke schopnostem zpracování Sparku. Tento přístup vám pomůže bez problémů spouštět rozsáhlé datové operace.
Spark NLP je efektivní architektura, která dokáže zpracovávat velké objemy textu pro přizpůsobené úlohy zpracování přirozeného jazyka. Tato opensourcová knihovna poskytuje rozsáhlé funkce pomocí knihoven Python, Java a Scala. Tyto knihovny poskytují sofistikovanost, kterou najdete v významných knihovnách zpracování přirozeného jazyka, jako jsou spaCy a Natural Language Toolkit. Spark NLP obsahuje pokročilé funkce, jako je kontrola pravopisu, analýza mínění a klasifikace dokumentů. Tyto funkce pomáhají konzistentně zajistit optimální přesnost a škálovatelnost.
Apache®, Apache Sparka logo plamene jsou registrované ochranné známky nebo ochranné známky Apache Software Foundation ve Spojených státech a/nebo v jiných zemích. Použití těchto značek neznamená žádné schválení ze strany Apache Software Foundation.
Nedávné veřejné srovnávací testy zvýrazňují výkon SparkU NLP. Tyto srovnávací testy ukazují významná vylepšení rychlosti u jiných knihoven. Spark NLP také udržuje srovnatelnou přesnost pro trénování vlastních modelů. Zejména integrace modelů Llama 2 a OpenAI Whisper vylepšuje konverzační rozhraní a vícejazyčné rozpoznávání řeči. Tyto možnosti označují významné kroky v optimalizovaných možnostech zpracování.
Spark NLP efektivně využívá distribuovaný cluster Spark, který funguje jako nativní rozšíření Spark ML a pracuje přímo na datových rámcích. Tato integrace podporuje zvýšení výkonu u clusterů, což usnadňuje vytváření sjednocených kanálů zpracování přirozeného jazyka a kanálů strojového učení pro úlohy, jako je klasifikace dokumentů a predikce rizik. Vkládání MPNet a rozsáhlá podpora ONNX dále rozšiřuje tyto možnosti a umožňuje přesné zpracování a zpracování s podporou kontextu.
Spark NLP poskytuje vysoce přesné výsledky napříč rozšiřujícím se polem úloh zpracování přirozeného jazyka. Knihovna obsahuje předem připravené modely hlubokého učení pro rozpoznávání pojmenovaných entit, klasifikaci dokumentů a detekci mínění. Jeho návrh s bohatými funkcemi zahrnuje předem natrénované jazykové modely, které podporují vkládání slov, bloků dat, vět a dokumentů.
Infrastruktura Spark NLP se škáluje pomocí optimalizovaných buildů pro procesory, GPU a nejnovější čipy Intel Xeon, které umožňují procesy trénování a odvozování, aby plně využívaly clustery Spark. Tato funkce pomáhá zajistit efektivní zpracování úloh zpracování přirozeného jazyka v různých prostředích a aplikacích.
Výzvy
zpracování prostředků: Zpracování kolekce neformátovaných textových dokumentů vyžaduje značné množství výpočetních prostředků. Zpracování je také časově náročné. Tento druh zpracování často zahrnuje nasazení výpočetních prostředků GPU. Nedávné pokroky, které podporují kvantování, jako jsou optimalizace v architekturách NLP Sparku, jako je Llama 2, pomáhají zjednodušit tyto náročné úlohy efektivnějším přidělováním prostředků.
Standardizace: Bez standardizovaného formátu dokumentu může být obtížné dosáhnout konzistentně přesných výsledků při použití bezplatného zpracování textu k extrahování konkrétních faktů z dokumentu. Například extrakce čísla a data faktury z různých faktur představuje výzvy. Integrace přizpůsobitelných modelů zpracování přirozeného jazyka, jako je M2M100, zlepšuje přesnost zpracování v různých jazycích a formátech. Tato vylepšená přesnost vede k konzistentnějším výsledkům.
Rozmanitost a složitost dat: Řešení různých struktur dokumentů a lingvistických nuancí zůstává složité. Inovace, jako jsou vkládání MPNet, poskytují rozšířené kontextové porozumění, což vede k intuitivnějšímu zpracování různých textových formátů a spolehlivějšího zpracování dat.
Klíčová kritéria výběru
V Azure poskytují služby Sparku, jako jsou Azure Databricks, Microsoft Fabric a HDInsight, funkce zpracování přirozeného jazyka, když je používáte se Spark NLP. Služby Azure AI jsou další možností pro funkce zpracování přirozeného jazyka. Abyste se mohli rozhodnout, kterou službu použít, zvažte následující aspekty:
Pokud chcete použít předem připravené nebo předem natrénované modely, zvažte použití rozhraní API, která poskytují služby AI. Nebo si můžete model podle výběru stáhnout prostřednictvím NLP Sparku, který obsahuje pokročilé modely, jako je Llama 2 a MPNet, a získat tak vylepšené možnosti.
Pokud potřebujete trénovat vlastní modely s velkou kolekcí textových dat, zvažte použití Azure Databricks, Fabric nebo HDInsight se Spark NLP. Tyto platformy poskytují výpočetní výkon a flexibilitu, které potřebujete pro rozsáhlé trénování modelů.
Pokud potřebujete funkce zpracování přirozeného jazyka nízké úrovně, jako je tokenizace, stemming, lemmatizace a frekvence termínů /inverzní frekvence dokumentů (TF/IDF), zvažte použití Azure Databricks, Fabric nebo HDInsight se Spark NLP. Alternativně můžete použít opensourcovou softwarovou knihovnu ve zvoleném nástroji pro zpracování.
Pokud potřebujete jednoduché možnosti zpracování přirozeného jazyka vysoké úrovně, jako je identifikace entit a záměrů, detekce témat, kontrola pravopisu nebo analýza mínění, zvažte použití rozhraní API, která poskytuje služby AI. Nebo si stáhněte model podle výběru prostřednictvím Spark NLP, abyste pro tyto úlohy používali předem připravené funkce.
Matice schopností
Následující tabulky shrnují klíčové rozdíly ve schopnostech služeb zpracování přirozeného jazyka.
Obecné možnosti
Schopnost | Služba Spark (Azure Databricks, Fabric, HDInsight) spolu se Spark NLP | Služby AI |
---|---|---|
Poskytuje předem natrénované modely jako službu. | Ano | Ano |
REST API | Ano | Ano |
Programovatelnost | Python, Scala | Viz podporované programovací jazyky |
Podporuje zpracování velkých datových sad a velkých dokumentů. | Ano | Ne |
Možnosti annotátoru
Schopnost | Služba Spark (Azure Databricks, Fabric, HDInsight) s Spark NLP | Služby AI |
---|---|---|
Detektor vět | Ano | Ne |
Detektor komplexních vět | Ano | Ano |
Tokenizátor | Ano | Ano |
Generátor N-gramů | Ano | Ne |
Segmentace slov | Ano | Ano |
Stemmer | Ano | Ne |
Lemmatizátor | Ano | Ne |
Označování částí řeči | Ano | Ne |
Analyzátor závislostí | Ano | Ne |
Překlad | Ano | Ne |
Odstranovač stopslov | Ano | Ne |
Oprava pravopisu | Ano | Ne |
Normalizátor | Ano | Ano |
Porovnávač textu | Ano | Ne |
TF/IDF | Ano | Ne |
Porovnávání regulárních výrazů | Ano | Vložené do funkce CLU (Conversational Language Understanding) |
Přiřazovač dat | Ano | Možné v CLU prostřednictvím rozpoznávačů datumů a časů |
Chunker | Ano | Ne |
Poznámka
Služba Language Understanding (LUIS) bude vyřazena 1. října 2025. Stávající aplikace LUIS byste měli migrovat do funkce CLU (Conversational Language Understanding) jazyka Azure AI, která vylepšuje možnosti porozumění jazyku a poskytuje nové funkce.
Možnosti zpracování přirozeného jazyka vysoké úrovně
Schopnost | Služba Spark (Azure Databricks, Fabric, HDInsight) se službou Spark NLP | Služby AI |
---|---|---|
Kontrola pravopisu | Ano | Ne |
Sumarizace | Ano | Ano |
Odpověď na otázky | Ano | Ano |
Detekce sentimentu | Ano | Ano |
Detekce emocí | Ano | Podporuje dolování názorů |
Klasifikace tokenů | Ano | Ano, prostřednictvím vlastních modelů |
Klasifikace textu | Ano | Ano, prostřednictvím vlastních modelů |
Reprezentace textu | Ano | Ne |
NER | Ano | Ano, analýza textu poskytuje sadu hodnot NER. |
Rozpoznávání entit | Ano | Ano, prostřednictvím vlastních modelů |
Rozpoznávání jazyka | Ano | Ano |
Podporuje jazyky kromě angličtiny. | Ano, podporuje více než 200 jazyků. | Ano, podporuje více než 97 jazyků. |
Nastavení Spark NLP v Azure
Pokud chcete nainstalovat Spark NLP, použijte následující kód, ale nahraďte <version>
číslem nejnovější verze. Další informace najdete v dokumentaci Spark NLP.
# 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
Vývoj kanálů pro zpracování přirozeného jazyka
Spark NLP se řídí stejným konceptem vývoje jako tradiční modely strojového učení Spark ML, když spouští kanál zpracování přirozeného jazyka. Používá také specializované techniky zpracování přirozeného jazyka.
Potrubí Spark NLP obsahuje následující základní komponenty:
DocumentAssembler je transformátor, který připraví data jejich převodem do formátu, který může Spark NLP zpracovat. Tato fáze je vstupním bodem pro každý kanál Spark NLP. DocumentAssembler přečte sloupec
String
neboArray[String]
a může předzpracovat text pomocísetCleanupMode
, který je ve výchozím nastavení vypnutý.SentenceDetector je anotátor, který identifikuje hranice vět pomocí předdefinovaných přístupů. Když je
explodeSentences
nastavena na hodnotu true, může vrátit každou rozpoznanou větu vArray
nebo v samostatných řádcích.Tokenizer je anotátor, který rozděluje nezpracovaný text na diskrétní tokeny, jako jsou slova, čísla a symboly, a výstupem je
TokenizedSentence
. Tokenizátor není fitovaný a používá vstupní konfiguraci v rámciRuleFactory
k vytvoření pravidel tokenizace. Pokud výchozí pravidla nejsou dostatečná, můžete přidat vlastní pravidla.Normalizer je anotátorem, který má za úkol zpřesnit tokeny. Normalizer používá regulární výrazy a transformace slovníku k vyčištění textu a odebrání nadbytečných znaků.
WordEmbeddings jsou vyhledávací anotátory, které mapují tokeny na vektory a usnadňují sémantické zpracování. Vlastní vložený slovník můžete zadat pomocí
setStoragePath
, kde každý řádek obsahuje token a jeho vektor oddělený mezerami. Nevyřešené tokeny jsou ve výchozím nastavení nulové vektory.
Spark NLP používá kanály Spark MLlib, které mají nativní podporu z MLflow, opensourcovou platformu, která spravuje životní cyklus strojového učení. MLflow má následující klíčové komponenty:
MLflow Tracking zaznamenává experimentální spuštění a poskytuje robustní možnosti dotazování pro analýzu výsledků.
MLflow Projects umožňuje spouštět kód datových věd na různých platformách. Tato funkce zlepšuje přenositelnost a reprodukovatelnost.
modely MLflow podporují univerzální nasazení modelů v různých prostředích prostřednictvím konzistentní architektury.
registr modelů poskytuje komplexní správu modelů tím, že ukládá verze centrálně pro zjednodušený přístup a nasazení. Tento krok usnadňuje připravenost do produkčního prostředí.
MLflow je integrovaný s platformami, jako je Azure Databricks, ale můžete ho také nainstalovat do jiných prostředí založených na Sparku a spravovat a sledovat experimenty. Tato integrace umožňuje používat registr modelů MLflow k zpřístupnění modelů pro produkční účely. Proces nasazení můžete zjednodušit a udržovat zásady správného řízení modelu.
Pomocí MLflow společně se Spark NLP můžete zajistit efektivnější správu a nasazení kanálů zpracování přirozeného jazyka. Můžete také řešit moderní požadavky na škálovatelnost a integraci a zároveň podporovat pokročilé techniky, jako jsou vkládání slov a přizpůsobení jazykového modelu.
Přispěvatelé
Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.
Hlavní autoři:
- Freddy Ayala | Architekt cloudového řešení
- Moritz Steller | Vedoucí architekt cloudových řešení
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
Dokumentace ke Spark NLP:
- Spark NLP
- Obecná dokumentace Spark NLP
- Spark NLP na GitHubu
- Ukázka Spark NLP
- kanály NLP Sparku
- Anotátoři Spark NLP
- transformátory Spark NLP
Komponenty Azure:
Zdroje informací: