Когда я ступил в неизведанные залы НЛП, мне выпала честь изучить несколько инструментов. Я начал с инструмента IBM Watson, который обладает очень уникальными функциями. Я научился тестировать URL-адреса с помощью Curl. Мне пришлось работать с эмоциями, текстовыми категориями и многими другими аспектами. Он также имеет уникальную функцию понимания естественного языка, которую можно использовать для целей НЛП.

(REF:https://cloud.ibm.com/apidocs/natural-language-understanding#analyze-text)

Я также наткнулся на действительно классную исследовательскую работу GOOGLE LIT, которая представляет собой набор инструментов, написанный на машинописном языке и предположительно являющийся будущим НЛП.

Однако мне больше всего понравился TEXTBLOB.

ВВЕДЕНИЕ

Я считаю, что с огромным ростом потребности в чат-ботах с крупномасштабной онлайн-коммерциализацией (еще больше вызванной добавленной ситуацией с COVID) я нахожу свое сердце более склонным к более надежному инструменту, который может очень пригодиться, особенно для целей анализа настроений и полярности. суждение, помимо бесчисленных функций, таких как распознавание словосочетаний, маркировка частей речи, исправление неправильно написанных слов и т. д.

Почему мне это действительно понравилось?

Некоторые функции TEXTBLOB действительно крутые. Я думаю, что больше всего на свете для меня имеет первостепенное значение легкость, с которой я могу выполнять все задачи, которых хочу достичь в своем уме.

TEXTBLOB помогает мне в этом.

Он содержит несколько утилит от перевода файлов до тегов POS, использования в алгоритмах классификации, n-грамм. Он также использует методы синтаксического анализа и может пригодиться для синтаксического и семантического анализа. С помощью этого инструмента мы можем легко токенизировать слова и предложения.

Основываясь на границах слов и предложений, он может разбивать слова на одинаковые. У него есть действительно классные функции, такие как множественное число, которое может преобразовать список Python во множественное число, а также средства проверки орфографии, чтобы превратить его в надежный интерфейс.

Инструмент для перевода и распознавания языка текста просто огромен.

Я попытался реализовать несколько задач в уме уникальным и крутым способом. Я не особо выделял проект, а сосредоточился на том, чтобы выделить некоторые функции, которые я нашел действительно потрясающими в этом инструменте.

Я попытался реализовать то, что действительно привлекло мое внимание

  1. Импорт TextBlob

Первым шагом к любой задаче является импорт инструмента.

КОД:-

из textblob импортировать TextBlob

импортировать matplotlib.pyplot как plt

2)Оценка тональности разных слов

Часто в документации мы видим необходимость работать с эмоциями, передаваемыми документом. В этом сценарии вполне возможно использовать инструмент настроений.

КОД:-

импортировать matplotlib.pyplot как plt

l1=[«счастливый», «плохой», «ненавижу», «конкретный», «злой», «глупый»]

l2=[]

для i в диапазоне (len (l1)):

печать (TextBlob (l1 [i]). настроение)

l2.append(TextBlob(l1[i]).настроение.полярность)

число_ячеек = 5

-Чтобы установить количество баров, которые могут иметь значение

plt.figure(figsize=(10,8))

n, bins, patches = plt.hist(l2, num_bins, facecolor='pink')

plt.xlabel('Полярность слов')

plt.ylabel('Количество слов соответствующей полярности')

plt.title('Гистограмма полярности')

plt.show();

ВЫВОД:

Настроение (полярность = 0,8, субъективность = 1,0)

Отношение(полярность=-0,69999999999999998, субъективность=0,6666666666666666)

Отношение(полярность=0,0, субъективность=0,0)

Настроение (полярность = 0,0, субъективность = 0,125)

Отношение(полярность=-0,5, субъективность=1,0)

Отношение(полярность=-0,79999999999999999, субъективность=1,0)

3)ТЕГИНГ POS

Тегирование частей речи является наиболее важной частью любого инструмента НЛП, поскольку именно оно фактически привязывает наш инструмент к разным частям речи.

Код:

text1= «Изучение таблиц — это такая важная задача, и в то же время такая приятная с таким количеством комплексных чисел. Кого волнует время, когда время течет так легко?»

блоб = TextBlob (текст1)

печать (blob.noun_phrases)

печать (blob.теги)

Вывод:

[‘обучение’, ‘важная задача’, ‘комплексные числа’, ‘кто’]

[('Обучение', 'VBG'), ('таблицы', 'NNS'), ('есть', 'VBZ'), ('такой', 'JJ'), ('an', ' DT'), ('важно', 'JJ'), ('задача', 'NN'), ('и', 'CC'), ('пока', 'RB'), ('так', ' RB'), ('приятный', 'JJ'), ('с', 'IN'), ('так', 'RB'), ('много', 'JJ'), ('сложный', ' JJ'), ('числа', 'NNS'), ('Кто', 'WP'), ('заботы', 'ВБЗ'), ('о', 'ВО'), ('время', ' NN'), ('когда', 'WRB'), ('время', 'NN'), ('течет', 'ВБЗ'), ('так', 'РБ'), ('легко', ' РБ')]

(ССЫЛКА:-https://textblob.readthedocs.io/en/dev/)

4)Базовый анализ тональности текста

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

КОД:

text2="Некоторые моменты дороже других"

blob2 = TextBlob(текст2)

печать (blob2.настроение)

ВЫВОД:

Настроение (полярность = 0,5, субъективность = 0,75)

5) Взаимодействие и оценка отзывов клиентов для ресторанной системы.

КОД и вывод:

#@title Введите входное предложение как отлично хорошо хорошо плохо ужасно

text_input1 = "Это плохой ресторан" #@param {type:"string"}

text_input2 = "Это лучший ресторан в городе" #@param {type:"string"}

#используя образец системы отзывов о ресторане

print(TextBlob(text_input1).sentiment», на основе обзора 1)

print(TextBlob(text_input2).sentiment», на основе обзора 2)

если TextBlob(text_input1).sentiment.polarity+TextBlob(text_input2).sentiment.polarity›0:

print("Людям нравится ваш ресторан")

если TextBlob(text_input1).sentiment.polarity+TextBlob(text_input2).sentiment.polarity‹0:

print("Люди ненавидят ваш ресторан")

ВЫВОД:-

Отношение(полярность=-0,69999999999999998, субъективность=0,6666666666666666)

Настроение (полярность = 0,75, субъективность = 0,75)

Ваш ресторан нравится людям

6) Приходим к определениям

Одна идея, которая действительно пришла мне в голову во время выполнения этой задачи, заключалась в том, чтобы на самом деле иметь систему подписей в реальном времени (возможно, с задержкой в ​​​​2–3 секунды для текущих вебинаров и основных слов или новых слов, появляющихся с их определениями рядом с подписью).

ВВОД:

из textblob импортировать Word

печать (Слово («счастливый»). Определения)

print(Слово("монах").определения)

print(Word("эмансипация").определения)

ВЫВОД: [‘наслаждающийся или демонстрирующий или отмеченный радостью или удовольствием’, ‘отмеченный удачей’, ‘горячо настроенный действовать или быть полезным’, ‘ярко выраженный и по существу’]

[‘религиозный мужчина, живущий в монастыре и посвятивший себя созерцанию, молитве и работе’, ‘американский джазовый пианист, один из основателей стиля бибоп (1917–1982)’]

[“освобождение кого-то от контроля другого; особенно отказ родителя от власти и контроля над несовершеннолетним ребенком»]

7) Без исправления контекста неправильно составленных слов

Хотя необходимо понимать, принимается ли во внимание прагматика, значительный прогресс достигается, когда речь идет о синтаксисе и семантических правилах, когда дело доходит до этого случая.

КОД:

b = TextBlob("Странно, что я не умею правильно писать по-английски")

печать (б. правильно ())

ВЫВОД:

Это так запрограммировано, что я могу правильно писать по-английски

8)Определение языка

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

ВВОД

b = TextBlob("Die Frau und das Mädchen")#немецкий

печать (b.detect_language())

b2 = TextBlob("Mi nombre es Shounak")#Испанский

печать (b2.detect_language())

b3 = TextBlob("mera naam shounak hai")#хинди

печать (b3.detect_language())

b4 = TextBlob("Aami bombay te thaaki")#бенгальский

печать (b4.detect_language())

b5 = TextBlob("Sehr Gut, Junge, bis Spater")#немецкий

печать (b5.detect_language())

ВЫВОД:

de

es

hi

bn

de

Здесь de обозначает немецкий, а es — испанский, hi — хинди, bn — бенгальский и снова de — немецкий.

МОДУЛИ И ПОДФУНКЦИИ

Выполнив dir с последующим вводом имени модуля, мы можем узнать обо всех функциях. Точно так же слева я показал каждую функцию, которую можно вызвать как часть текстового блоба. Большинство функций необходимы, такие как dic, dict, len, add, new, reduce, iter, sizeof, classify, endwith, index и т. д.

Он также имеет несколько различных нестандартных функций, таких как объединение, обнаружение_языка, создание_предложения_объектов, анализатор, исправление, setattr, cmpkey.

(ССЫЛКА:

https://textblob.readthedocs.io/en/dev/)

(ОБЗОР-ЗАДАЧИ,ЛИЦЕНЗИРОВАНИЕ)

В целом, он добавляет довольно много новых функций в НЛП и делает несколько задач, связанных с НЛП, довольно крутыми и простыми.

Когда дело доходит до работы с текстовым BLOB-объектом, лично мне было проще закодировать его, чем пытаться использовать графический интерфейс для имитации моих задач. Даже документация об ошибках была определена очень хорошо, и вам нужно убедиться, что необходимые корпуса выбраны правильно и перевод происходит гладко.

Он также может похвастаться лицензией Массачусетского технологического института и в значительной степени определяет текущее время в НЛП. Это для пользователей, которые находят свои ноги с помощью НЛП, и часто считается заклятым конкурентом инструмента NLTK.

ССЫЛКИ

https://textblob.readthedocs.io/en/dev/

https://towardsdatascience.com/having-fun-with-textblob-7e9eed783d3f

https://cloud.ibm.com/apidocs/natural-language-understanding#analyze-text