баг в punctuate.py
The tagger was trained on the model's alphabet; Sakha spelling comes back after
TO_BASE = str.maketrans({"ҕ": "ғ", "ҥ": "ң"})
вот тут наверное планировался преобразование но в коде он вообще не юзается
вот s = o["word"] тот же слово без преобразования
еше d = abs(w - len(chunk) / 2) это наверное растояние до центра по номеру слова но модель то токенный одно слово может быть 1 субтокен а другое 5 (критично для трансформеров)
еше votes = [dict() for _ in words]
это не голосование а выбор из окна предиктора где слово ближе к центру
биб if "d" not in votes[i] or d < votes[i]["d"]:
votes[i] = ...
я бы назвал это best prediction а не голосом
еше надо подправить страйд хардкод
window = 120
stride = 80
а если пользователь захочет изменить окно и страйд скрипт упадет в фелбек none и lower
надо сделать чекер
if args.window <= 0:
p.error("--window must be > 0")
if args.stride <= 0:
p.error("--stride must be > 0")
if args.stride > args.window:
p.error("--stride must be <= --window")
код классный просто я так поддерживаю 2 глаза круче как 2lm_head