Если вы хотите переобучиться (это называется обучение ), я понимаю, что вы просто хотите полностью игнорировать предыдущую изученную модель (словарь, вектор слов, ...).Для этого вам нужно создать еще один объект Word2Vec и дополнить его новыми данными.Вы должны использовать другой экземпляр для классов SentenceIterator и Tokenizer .Ваша проблема может заключаться в том, как вы меняете входные обучающие файлы.
Все будет в порядке, если вы просто измените SentenceIterator , то есть:
SentenceIterator iter = new CollectionSentenceIterator(DataFetcher.getFirstDataset());
Word2Vec vec = new Word2Vec.Builder()
.iterate(iter)
....
.build();
vec.fit();
vec.wordsNearest("clear", 10); // you will see results from first dataset
SentenceIterator iter2 = new CollectionSentenceIterator(DataFetcher.getSecondDataset());
vec = new Word2Vec.Builder()
.iterate(iter2)
....
.build();
vec.fit();
vec.wordsNearest("clear", 10); // you will see results from second dataset, without any first dataset implication
Если вы запустили код дважды и изменили свои входные данные между выполнениями (давайтескажи А, а затем Б) у тебя не должно быть таких же результатов.Если это так, значит, ваша модель выучила то же самое с помощью входных данных A и B.
Если вы хотите обновить обучение (это называется логический вывод ), я имею в виду использовать предыдущую изученную модель и новуюданные для обновления этой модели, тогда вы должны использовать этот пример из примеров dl4j.