Я совершенно новичок в классификации текстов НЛП и пытаюсь понять основы.Кажется, что Spacy больше подходит для моих задач и опыта.Я прочитал все документы и запустил пример кода из https://spacy.io/usage/training#example-textcat с параметрами по умолчанию в моей собственной выходной папке.Затем я написал тестовый файл:
import spacy
output_dir="train_output_orig"
test_text = [
"This movie sucked",
"It's a great one",
"I've watched a lot of films of this kind. A lot of them were more attractive for me",
"This is a great movie",
"This movie is terrible",
"I love this movie",
"This is a bad film",
"So fucking dung!",
"Very involving work with developed characters"
]
print("Loading from", output_dir)
nlp2 = spacy.load(output_dir)
for text in test_text:
print(text, nlp2(text).cats)
и получил результаты:
Loading from train_output_orig
This movie sucked {'POSITIVE': 0.6549780368804932}
It's a great one {'POSITIVE': 0.7863456606864929}
I've watched a lot of films of this kind. A lot of them were more attractive for me {'POSITIVE': 0.7664909958839417}
This is a great movie {'POSITIVE': 0.7897435426712036}
This movie is terrible {'POSITIVE': 0.4777064323425293}
I love this movie {'POSITIVE': 0.7530838847160339}
This is a bad film {'POSITIVE': 0.46895521879196167}
So fucking dung! {'POSITIVE': 0.6296740174293518}
Very involving work with developed characters {'POSITIVE': 0.8538092970848083}
Это нормально для модели Spacy или я сделал что-то не так?Я имею в виду, что есть довольно узкая граница между «положительными» и «отрицательными» ярлыками.Даже однозначный «Это плохой фильм» заработал 0,46 «положительного» рейтинга.«Я люблю этот фильм» получил только 0,75, а «Очень увлекательная работа с развитыми персонажами» - 0,83.В то же время предложенная в оригинальной документации на Spacy фраза «Этот фильм высосан» набрала 0,65 «положительного» балла!
Заранее спасибо за ответ