Существует ли сценарий анализа текста Python для классификации текста по нескольким классификациям? - PullRequest
0 голосов
/ 21 октября 2019

Классификация описаний по категориям

У меня проблема с определением, к какой категории относится текстовое описание. Эти текстовые описания вводятся пользователями и могут содержать ключевые слова, которые можно сопоставить с определенной категорией. Каждая категория имеет набор ключевых слов и фраз, которым можно соответствовать. Есть около 100 категорий. Например, текстовое описание может выглядеть так: «Бегун прохода мешковины с границами», а категория «Ткань» содержит ключевое слово «Мешковина», поэтому текстовое описание может попадать в категорию

текст. описание / категория

бегун с оранжевой мешковиной с бордюрами / тканью

Однако есть несколько исключений, которые усложняют процесс классификации.

Во-первых, естьтекстовые описания, содержащие ключевые слова, которые соответствуют нескольким категориям. Например, текстовое описание может относиться к 20 различным категориям (из 100) из-за наличия ключевых слов, которые совпадают в категориях. Это не позволяет правильно классифицировать текстовое описание.

Например, текстовое описание «Бегущий по оранжевому мешковине с границами» будет иметь ключевое слово «Orang», которое подпадает под категорию «Fruit»», Но также попадает в поле« Ткань »из-за ключевого слова« Мешковина ».

текстовое описание / категория

Оранжевый бегун из мешковины с бордюрами / Ткань, фрукты

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

Например, текстовое описание, содержащее ключевое слово «мышь», не соответствует непосредственно категории «Компьютерные аксессуары».

Может ли кто-нибудь предложить алгоритм или библиотеку python, которые могут классифицировать текстовые описания без прямой классификации и исключить мультиклассификацию?

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

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

%LivyPy3.pyspark

entries['category']=list(map(lambda i:list(map(categories_list.get,i)),entries['text_description']))

Однако из этого скрипта можно выполнить либо множественную категоризацию, либо вообще никакой классификации.

1 Ответ

0 голосов
/ 09 ноября 2019

Я предлагаю вам поискать https://skymind.ai/wiki/word2vec, слово для векторизации, позволяет векторизацию фраз и предложений, чтобы применить больше контекста к слову. Модели Word to VEC создают лучшие модели ассоциаций слов.

Я также хотел бы найти в Google ученом документы, в том числе NLP, word2vec, NIPS и категоризацию. В результате этого поиска было найдено более 3300 документов, которые помогут вам решить вашу проблему. Если вы хотите, чтобы из всех выбиралась только одна категория, это очень сложная задача. Я видел презентацию по модели #Mailchimps NLP для классификации клиентского контента по категориям, и иногда правильная категория была бы буквально четвертой. Модель, которую они создали, была очень хорошо сделана, но все еще не могла обнаружить некоторые крайние случаи и содержала некоторые классические отклонения в сторону более общих категорий по сравнению с менее распространенными.

https://scholar.google.com/scholar?hl=en&as_sdt=0%2C11&q=NLP+AND+word2vec+AND+categorization+AND+mailchimp&btnG= Документ с рекомендациями связан сВаша задача, потому что сложность прогнозирования контекста небольшого количества слов для создания поискового предложения является аналогичной проблемой.

...