Vectorization of data before splitting in to test and train with Neural Network? Is it better to split your dataset into train and test before vectorizing?
Or is it better to do it in reverse and vectorize inputs then perform train test split?
For example I'm trying to use some categorical inputs such as types of animals, should I vectorize them into one hot then split into train/test or split the data set randomly then vectorize into one hot?
 A: 
should I vectorize them into one hot then split into train/test or split the data set randomly then vectorize into one hot?

That makes no difference. If you split first, make sure your vectorize the same way.
A: actually the best way to classify the text classification, you need to split your data into training and test set and then vectorize
A: It's gonna work on both approach. But applying the fit method of the vectorizer in all dataset  might introduce some data leakage. As principle, your model shouldn't see the test data. So to guarantee that your model will not see test data on the training fase, you should split first, vectorizer after.
# Corpus Selection
corpus_sample = data_sample['processed_review']
# Target Selection
y_sample = data_sample['score']
#split
X_sample_train, X_sample_test, y_sample_train, y_sample_test = train_test_split(
    corpus_sample, y_sample,
    test_size=0.2,
    stratify=y_sample,
    random_state=42
)
# Apply vectorizer
tfidf = TfidfVectorizer()
tfidf.fit(X_sample_train)
X_sample_train =  tfidf.transform(X_sample_train)
X_sample_test= tfidf.transform(X_sample_test)

