Поиск по сайту:

Установка NLTK и его использование для обработки человеческого языка


На этой странице

  1. 2 Загрузите и установите NLTK
  2. 3 Установка данных NLTK
  3. 4 примера использования NLTK
    1. 4.1 Обнаружение EOS
    2. 4.2 Токенизация
    3. 4.3 Маркировка POS-терминалов
    4. 4.4 Фрагментирование и извлечение

    NLTK расшифровывается как «Набор инструментов для работы с естественным языком». Это модуль программирования Python, который используется для очистки и обработки данных человеческого языка. Его богатые встроенные инструменты помогают нам легко создавать приложения в области обработки естественного языка (также известной как NLP).

    Корпус — это набор слов, присутствующих в определенном языке, и NLTK предоставляет более 50 различных корпусов для работы и предоставляет основные библиотеки, такие как теги POS, теги конца речи, токенизация, семантическое рассуждение, классификация и т. д. Ниже приводится краткое описание 5 основных функций или шагов, используемых в НЛП, которые можно легко выполнить с помощью NLTK: var slotId=div-gpt-ad-howtoforge_com-medrectangle-3-0;var ffid=1;var alS=1021%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins =document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset .fullWidthResponsive=true;}

    • Тегирование окончания речи (тегирование EOS): это включает в себя разбиение текста на набор осмысленных предложений.
    • Токенизация: разделение предложений на слова. Он не только работает с пробелами, но также удаляет стоп-слова, такие как (.,?,!, и т. д.), и это набор, что означает удаление повторяющихся слов.
    • Речевая маркировка (маркировка POS): маркируйте слова, чтобы указать тип слова. Метки закодированы. для существительных, глаголов прошедшего времени и т. д., поэтому каждое слово получает тег.
    • Разбиение на части: процесс группировки слов с похожими тегами. Результатом разбиения будет древовидная структура.
    • Извлечение. После разделения данных мы можем извлечь только существительные или только глаголы и т. д. в соответствии с потребностями.

    Это может показаться очень крутым, но лучший ли это модуль, который можно было бы использовать? Что ж, ответ на этот вопрос зависит от поставленной задачи. В целом NLTK медленный, но очень точный. Существуют и другие модули, такие как PsyKit, который быстрее, но требует компромисса в отношении точности. Таким образом, для приложений, где точность опережает время, NLTK является правильным выбором. В этом посте показано, как можно установить и использовать NLTK на примере.

    2 Загрузите и установите NLTK

    NLTK можно очень легко установить с помощью установщика pip. Прежде чем мы установим NLTK, мы также должны установить numpy. Используйте следующие команды:

    sudo pip install -U numpy 
    sudo pip install -U nltk

    На изображении ниже показано выполнение nltk. Обратите внимание, что установка numpy аналогична, но установка может занять больше времени в зависимости от процессора вашей системы.

    После этого вы можете проверить, правильно ли он установлен, используя 2 команды на следующем рисунке и убедившись, что он работает без ошибок.

    3 Установка данных NLTK

    После того, как вы подтвердите, что nltk установлен, нам нужно будет загрузить и установить данные NLTK. Nltk Data состоит из корпусов и всех слов языка, а также различных синтаксисов грамматики, игрушечных грамматик, обученных моделей и т. д. Они помогают пользователям легко обрабатывать языки, применяя различные функции. Обратите внимание, что установка данных nltk — это длительный процесс, который включает в себя загрузку более 1 ГБ данных. Чтобы загрузить данные nltk, в терминале введите «python», чтобы открыть интерпретатор python, и введите следующие две команды:

    >>> import nltk >>> nltk.download()

    Должно открыться новое окно с загрузчиком nltk. установите его в папку «usr/share/nltk_data». После этого проверьте, был ли он загружен, введя команды и получив вывод, как показано на изображении ниже.

    4 Примеры использования NLTK

    Теперь мы можем попробовать несколько примеров задач NLP, выполняемых с использованием NLTK. Здесь демонстрируются 5 процессов обнаружения EOS, токенизации, тегирования POS, фрагментации и извлечения:

    4.1 Обнаружение EOS

    Пометка конца речи разбивает текст на набор осмысленных предложений. Мы делаем это, потому что дальнейшие шаги работают с отдельными предложениями. Ниже приведен пример и результат обнаружения EOS.

    >>> import nltk
    >>> text = "Mrs. Hudson made a cup of tea. She is a wonderful woman."
    >>> sentences = nltk.tokenize.sent_tokenize(text)
    >>> sentences
    ['Mrs. Hudson made a cup of tea.', 'She is a wonderful woman.']
    >>> 
    

    Использование корпуса nltks можно увидеть выше. Он знает, что «госпожа» — не предложение, а аббревиатура. Таким образом, оно включено как часть предложения, а не само по себе предложение.

    4.2 Токенизация

    Этот шаг работает с отдельными предложениями, разбивая их на токены. поэтому мы получаем список списков, содержащих токены. Пример ниже является продолжением предыдущего шага.

    >>> tokens = [nltk.tokenize.word_tokenize(s) for s in sentences]
    >>> tokens
    [['Mrs.', 'Hudson', 'made', 'a', 'cup', 'of', 'tea', '.'], ['She', 'is', 'a', 'wonderful', 'woman', '.']]
    >>> 
    

    Здесь мы видим, что токены состоят не только из слов, но и из концов предложений. Важно отметить, что токенизация не только разбивает предложения на слова, но также имеет возможность разбивать предложения на токены, где пробелы не являются символами для разделения слов.

    4.3 Маркировка POS

    POS означает словесную речь, и на этом этапе информация POS назначается каждому токену в списке токенов. Каждая из этих POS-информаций представляет собой тип речи. Например, тег VBD указывает на глагол в простом прошедшем времени, а JJ указывает на прилагательное. Этот шаг помогает нам упорядочить или упорядочить слова на следующем шаге. Пример приведен ниже.

    >>> PosTokens = [nltk.pos_tag(e) for e in tokens]
    >>> PosTokens
    [[('Mrs.', 'NNP'), ('Hudson', 'NNP'), ('made', 'VBD'), ('a', 'DT'), ('cup', 'NN'), ('of', 'IN'), ('tea', 'NN'), 
    ('.', '.')], [('She', 'PRP'), ('is', 'VBZ'), ('a', 'DT'), ('wonderful', 'JJ'), ('woman', 'NN'), ('.', '.')]]
    >>> 
    

    4.4 Фрагментирование и извлечение

    Фрагментирование относится к процессу сборки сложных токенов на основе тегов. Nltk также позволяет определять пользовательскую грамматику для фрагментации. С другой стороны, извлечение относится к процессу просмотра существующих фрагментов и пометки их как именованных объектов, таких как люди, организации, местоположения и т. д. пример:

    >>> chunks = nltk.ne_chunk_sents(PosTokens)
    >>> for each in chunks:
    ...   print each
    ... 
    (S
      Mrs./NNP
      (PERSON Hudson/NNP)
      made/VBD
      a/DT
      cup/NN
      of/IN
      tea/NN
      ./.)
    (S She/PRP is/VBZ a/DT wonderful/JJ woman/NN ./.)
    >>> 
    

    Выше мы видим, что миссис Хадсон была признана личностью. Вся эта информация хранится в виде дерева.

    5. Вывод

    Из примера, приведенного выше, мы видим, насколько легко мы можем обрабатывать данные. После того, как эти 5 шагов будут выполнены, мы можем продолжить и применить различные алгоритмы для обработки/ранжирования данных и извлечения из них полезной информации. Одним из примеров, где это можно использовать, является «Автоматическое суммирование текста». В заключение, Nltk — мощный, точный, но немного более медленный инструмент по сравнению с другими. Его можно использовать для приложений, в которых точность является приоритетом.

    6 Официальная ссылка

    Для получения подробной информации об использовании сотен задач и функций nltk, а также использования, посетите их официальный веб-сайт: http://www.nltk.org/genindex.html