Точность тестового набора около 70% не так уж плоха, если у вас есть сотни категорий. Возможно, вы захотите измерить общую точность и отзыв, а не точность.
Что вы предлагаете, звучит хорошо, что является дополнительным дополнением к дополнительным функциям. Вот несколько советов:
Сохраняйте свои оригинальные функции. То есть не заменяйте love
на love_noun
или love_verb
. Вместо этого, у вас есть две функции, приходящие из love
:
love, love_noun (or)
love, love_verb
Если вам нужен какой-то пример кода, вы можете начать с nltk
пакета питона.
>>> from nltk import pos_tag, word_tokenize
>>> pos_tag(word_tokenize("Love is a lovely thing"))
[('Love', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('lovely', 'JJ'), ('thing', 'NN')]
Рассмотрим с использованием н-грамм, может быть, начиная с добавлением 2-грамм. Например, у вас могут быть «in» и «stock», и вы можете просто удалить «in», потому что это стоп-слово. Если вы рассмотрите 2 грамма, вы получите новую функцию:
in-stock
, который имеет иное значение для «запаса». В некоторых случаях это может сильно помочь, например, отличить от «финансов» от «шоппинга».