Я следую учебному пособию по нейронному машинному переводу здесь и замечаю, что наборы данных, которые они используют, предоставляют чистый вокаб файл .Но когда я сталкиваюсь с набором данных (например, Europarl v8 ), который не предоставляет файл вокаба, мне нужно самому создать словарь, используя следующую функцию.
def construct_vocab_from_file(file, vocab_file):
# Read file, tokenize it and then sort it
with open(file, 'r') as f:
raw_data = f.read()
tokens = nltk.wordpunct_tokenize(raw_data)
words = [w.lower() for w in tokens]
vocab = sorted(set(words))
# Write vocab to file
with open(vocab_file, 'w') as f:
for w in vocab:
f.write(w + "\n")
Однакословарь, построенный таким образом, выглядит немного грязно.![enter image description here](https://i.stack.imgur.com/KfvzJ.png)
Левый - из чистого файла Vocab, а правый с черным фоном (числа - номер строки) - из словаря, составленного мной.Это не заставляет меня чувствовать себя комфортно, особенно более половины словарного запаса состоит из таких специальных символов или цифр (например, 0, 00, 000, 0000, 0000003).
Итак, мои вопросы:
1) Это проблематично?
2) Должен ли я обработать это дальше и как?