Сомнение - 1
Я тренирую Doc2Vec с 150000 документами. Поскольку эти документы относятся к юридической сфере, их действительно сложно очистить и подготовить для дальнейшего обучения. Поэтому я решил удалить все точки из документа. Сказав это, я не понимаю, как параметр Window_size
в doc2vec теперь распознает предложения. В вопросе представлены два представления: Doc2Vec: Differentiate Sentence and Document
- Алгоритм просто работает с кусками текста, не имея представления о том, что может быть предложением / абзацем / документом и т. Д.
- Для токенизации даже характерно сохранение знаков препинания, таких как точки между предложениями, в качестве отдельных токенов.
Поэтому я не понимаю, верен ли мой принятый подход по устранению знаков препинания (точек). Пожалуйста, дайте мне несколько подтверждающих ответов.
Сомнение-2
Список документов, которые я отбраковал, варьируется от 500 до 5500 токенов, поэтому мой подход к тому, чтобы иметь документы довольно одинакового размера для обучения doc2vec и даже для сокращения словарного запаса: Рассмотрим документ размером более 1500 токенов, в этом случае я использую First 50 до 400 жетонов + от 600 до 1000 жетонов + последние 250 жетонов. Мотивация для такого подхода взята из статьи, связанной с классификацией документов с использованием BERT, где последовательность из 512 токенов была сгенерирована следующим образом.
Итак, я хочу знать, хороша ли эта идея для продолжения или ее не рекомендуется делать?
Обновление - я только что видел корпус common_text, используемый gensim, в ссылке на руководство https://radimrehurek.com/gensim/models/doc2vec.html и обнаружил, что документы в этом корпусе являются просто символами слов и не содержат знаков препинания. например:
from gensim.test.utils import common_texts, common_dictionary, common_corpus
print(common_texts[0:10])
Выход:
[['human', 'interface', 'computer'], ['survey', 'user', 'computer', 'system', 'response', 'time'], ['eps', 'user', 'interface', 'system'], ['system', 'human', 'system', 'eps'], ['user', 'response', 'time'], ['trees'], ['graph', 'trees'], ['graph', 'minors', 'trees'], ['graph', 'minors', 'survey']]
То же самое было сделано в учебнике https://radimrehurek.com/gensim/auto_examples/tutorials/run_doc2vec_lee.html. Так что мой подход к удалению точек в документе действителен, если да, то как будет работать параметр окна, потому что в документации он определен следующим образом: window (int, optional) - Максимальное расстояние между текущим и прогнозируемым словом в предложении .