Обработка естественного языка с использованием полиглота - Введение

Опубликовано: 15 Февраля, 2022

В этой статье рассказывается о пакете Python NLP, известном как Polyglot, который поддерживает различные многоязычные приложения и предлагает широкий спектр анализа и широкий охват языков. Он разработан Рами Аль-Рфу. Он состоит из множества функций, таких как

  1. Определение языка (196 языков)
  2. Токенизация (165 языков)
  3. Распознавание именованных сущностей (40 языков)
  4. Часть речевых тегов (16 языков)
  5. Анализ настроений (136 языков) и многое другое

Для начала установим несколько необходимых пакетов:

Используйте Google Colab для простой и беспроблемной установки.

 pip install polyglot        
# установка пакетов зависимостей
pip install pyicu           
# установка пакетов зависимостей
pip install Morfessor       
# установка пакетов зависимостей
pip install pycld2          

Скачайте необходимые модели

Используйте Google colab для удобной установки моделей

%%bash
polyglot download ner2.en    # downloading model ner
%%bash
polyglot download pos2.en    # downloading model pos
%%bash
polyglot download sentiment2.en  # downloading model sentiment

Code: Language Detection

from polyglot.detect import Detector
spanish_text = u"""¡Hola ! Mi nombre es Ana. Tengo veinticinco años. Vivo en Miami, Florida"""
detector = Detector(spanish_text)
print(detector.language)

Выход ::

Он обнаружил текст на испанском с уверенностью 98.

Код: токенизация

Tokenization is the process of splitting the sentences into words and even paragraphs into sentences. 

# importing Text from polyglot library
from polyglot.text import Text 
sentences = u"""Suggest a platform for placement preparation?. GFG is a very good platform for placement 
preparation."""  
# passing sentences through imported Text                              
text = Text(sentences)
# dividing sentences into words                    
print(text.words)                
print(" "
# separating sentences
print(text.sentences)                

Выход :

Он разделил предложения на слова и даже разделил два разных предложения.

Код: Распознавание именованных сущностей:

Polyglot recognizes three categories of entities:

  • Location
  • Organization
  • Persons
from polyglot.text import Text
sentence = """Google is an American multinational technology company and Sundar Pichai is the CEO of Google"""
  
text = Text(sentence, hint_language_code ="en")
print(text.entities)

Выход:

I-ORG относится к организации
I-LOC относится к местоположению
I-PER относится к человеку

Code: Part of Speech Tagging

from polyglot.text import Text
sentence = """GeeksforGeeks is the best place for learning things in simple manner."""
text = Text(sentence)
print(text.pos_tags)

Выход:

Здесь ADP означает прилагательное, ADJ - прилагательное, а DET - определитель.

Code – Sentiment Analysis

from polyglot.text import Text
sentence1 = """ABC is one of the best university in the world."""
sentence2 = """ABC is one of the worst university in the world."""
text1 = Text(sentence1)
text2 = Text(sentence2)
print(text1.polarity)
print(text2.polarity)

Выход:

1 указывает на то, что предложение находится в положительном контексте
-1 означает, что предложение находится в отрицательном контексте

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.