Как сопоставить особенности в новых рекордах для NLP BOW - PullRequest
0 голосов
/ 08 июля 2020
• 1000 1005 *

Это нормально, мне удалось с ними поработать

Моя проблема возникла после построения модели и развертывания.

сейчас, если новый текст пришел с новыми словами, тогда модель не будет работать так, как он работает в той же структуре функций

Пример «Это тест, тест важен», красный «Адам прошел тест», зеленый

, поэтому мой окончательный набор данных

This is a test important Adam pass class
 1    2 1 2    1          0    0   Red
 0    0 1 1    0          1    1   Green

после создания модели и получения этого текста

«тест и экзамен похожи», желтый

в этом случае набор функций имеет новые функции, которые:

и экзамен похожи

модель не работает, потому что эти функции никогда не включались в обучающую модель

Интересно, как решить эту проблему?

1 Ответ

1 голос
/ 08 июля 2020

Для решения этой проблемы используется фиксированный словарь для преобразования текста в набор слов. Токены, которые являются OOV (вне словаря), представлены специальным токеном <UNK>.

Например, давайте определим словарь V

V = ['this', 'is', 'a', 'test', 'pass', 'and', 'are', '<UNK>']

Тогда ваши предложения будут будут представлены следующими векторами:

s1 = "This is a test, test is important"  #important is OOV
v1 = [1, 2, 1, 2, 0, 0, 0, 1]

s2 = "Adam pass a test" # Adam is OOV
v2 = [0, 0, 1, 1, 1, 0, 0, 1]

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

s3 = "test and exam are similar"
v3 = [0, 0, 0, 1, 0, 1, 1, 2]
...