Spaces:
Sleeping
Sleeping
| """ | |
| Модуль вычисления позиционного веса | |
| """ | |
| 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 |