Классификация описаний по категориям
У меня проблема с определением, к какой категории относится текстовое описание. Эти текстовые описания вводятся пользователями и могут содержать ключевые слова, которые можно сопоставить с определенной категорией. Каждая категория имеет набор ключевых слов и фраз, которым можно соответствовать. Есть около 100 категорий. Например, текстовое описание может выглядеть так: «Бегун прохода мешковины с границами», а категория «Ткань» содержит ключевое слово «Мешковина», поэтому текстовое описание может попадать в категорию
текст. описание / категория
бегун с оранжевой мешковиной с бордюрами / тканью
Однако есть несколько исключений, которые усложняют процесс классификации.
Во-первых, естьтекстовые описания, содержащие ключевые слова, которые соответствуют нескольким категориям. Например, текстовое описание может относиться к 20 различным категориям (из 100) из-за наличия ключевых слов, которые совпадают в категориях. Это не позволяет правильно классифицировать текстовое описание.
Например, текстовое описание «Бегущий по оранжевому мешковине с границами» будет иметь ключевое слово «Orang», которое подпадает под категорию «Fruit»», Но также попадает в поле« Ткань »из-за ключевого слова« Мешковина ».
текстовое описание / категория
Оранжевый бегун из мешковины с бордюрами / Ткань, фрукты
Во-вторых, в текстовом описании есть ключевые слова, которые не соответствуют ни одной из категорий. Опять же, это не позволяет правильно классифицировать текстовое описание.
Например, текстовое описание, содержащее ключевое слово «мышь», не соответствует непосредственно категории «Компьютерные аксессуары».
Может ли кто-нибудь предложить алгоритм или библиотеку python, которые могут классифицировать текстовые описания без прямой классификации и исключить мультиклассификацию?
Я разбил ключевые слова для текстовых описаний и категорий, а затем сопоставил их.
Это был код, который я использовал, чтобы сопоставить текстовое описание с категориями.
%LivyPy3.pyspark
entries['category']=list(map(lambda i:list(map(categories_list.get,i)),entries['text_description']))
Однако из этого скрипта можно выполнить либо множественную категоризацию, либо вообще никакой классификации.