#python #machine-learning #scikit-learn #nlp #text-classification
Вопрос:
Возможно ли / целесообразно теоретически использовать более одного TfidfVectorizer
в одной и той же задаче?
Итак, у меня есть этот конвейер, в котором я использую метаданные для задачи классификации, такой как длина текста, отсутствие токенов и т. Д.
def get_numeric_data(df): return [record[:-2].astype(float) for record in df] def get_text_data(df): return [record[-1] for record in df] transfomer_numeric = FunctionTransformer(get_numeric_data) transformer_text = FunctionTransformer(get_text_data) # Create a pipeline to concatenate Tfidf Vector and Numeric data # Use RandomForestClassifier as an example pipeline = Pipeline([ ('features', FeatureUnion([ ('numeric_features', Pipeline([ ('selector', transfomer_numeric) ])), ('text_features', Pipeline([ ('selector', transformer_text), ('vec', TfidfVectorizer(analyzer='word')) ])) ])), ('clf', RandomForestClassifier()) ])
У меня есть уникальная проблема, когда в одном конвейере у меня есть только текст, а в другом-латекс, где я использую специальные символы и специальные символы.
Я хочу знать, могу ли я использовать 2 разных TfidfVectorizer
в этой задаче? И если да, то как я могу это сделать?
Комментарии:
1. Чтобы надежно ответить на этот вопрос, нам может потребоваться дополнительная информация о приложении/наборе данных, для которых вы используете токенизатор. Вы собираетесь анализировать документы со смешанным содержанием Латекса и юникода? Или вы собираетесь анализировать документы на их содержимое в юникоде и Латексе отдельно и анализировать их независимо? Какова конечная цель?
2. Я тестирую возможность передачи текста и латекса отдельно. Я пробовал вместе, но токенизатор должен отличаться для текста и латекса.