""" Модуль вычисления позиционного веса """ import math import numpy as np def compute_position_weight(N: int, delta: float = 0.1) -> np.ndarray: """ Вычисление позиционного веса π(i). Формула: π(i) = 1 + δ * sqrt(|i - N/2| / (N/2)) Args: N: количество предложений delta: сила позиционного эффекта (0-0.2) Returns: массив позиционных весов """ weights = np.zeros(N) for i in range(N): pos = i + 1 weights[i] = 1 + delta * math.sqrt(abs(pos - N / 2) / (N / 2)) return weights