Так что я использую библиотеку python textblob, но производительность отсутствует.Эффективность классификации текста
Я уже сериализую его и загружаю перед циклом (используя рассол).
В настоящее время он принимает ~ 0,1 (для небольших данных обучения) и ~ 0,3 на 33 000 тестовых данных. Мне нужно сделать это быстрее, возможно ли это?
Некоторый код:
# Pass trainings before loop, so we can make performance a lot better
trained_text_classifiers = load_serialized_classifier_trainings(config["ALL_CLASSIFICATORS"])
# Specify witch classifiers are used by witch classes
filter_classifiers = get_classifiers_by_resource_names(trained_text_classifiers, config["FILTER_CLASSIFICATORS"])
signal_classifiers = get_classifiers_by_resource_names(trained_text_classifiers, config["SIGNAL_CLASSIFICATORS"])
for (url, headers, body) in iter_warc_records(warc_file, **warc_filters):
start_time = time.time()
body_text = strip_html(body);
# Check if url body passess filters, if yes, index, if no, ignore
if Filter.is_valid(body_text, filter_classifiers):
print "Indexing", url.url
resp = indexer.index_document(body, body_text, signal_classifiers, url=url, headers=headers, links=bool(args.save_linkgraph_domains))
else:
print "\n"
print "Filtered out", url.url
print "\n"
resp = 0
Это ведьма цикл выполняет проверки на каждом из тела Warc файла и метаданных.
Здесь есть 2 проверки классификации текста.
1) В фильтр (очень небольшое обучение данных):
if trained_text_classifiers.classify(body_text) == "True":
return True
else:
return False
2) В index_document (33'000 подготовка данных):
prob_dist = trained_text_classifier.prob_classify(body)
prob_dist.max()
# Return the propability of spam
return round(prob_dist.prob("spam"), 2)
Классификация и prob_classify являются методы, которые принимают инструмент по производительности.
это за секунды? Действительно ли 0,3 секунды замедляется? Как быстро вам это нужно? – syntonym
Идеально было бы 0.02 (это была скорость перед реализацией textblob), но я реалистичен, все около 0,1 будет в порядке! Есть идеи, я могу получить щедрость или даже заплатить за консультацию, если бы вы могли помочь! – IvRRimUm
Можете ли вы показать код и некоторые примеры входных данных, которые воспроизводят вашу проблему? – syntonym