mirror of
https://github.com/ada-dmitry/CourseWork_IRFM.git
synced 2026-09-24 01:10:18 +00:00
Refactor loader and processor documentation; enhance index module with README
This commit is contained in:
+2
-1
@@ -14,7 +14,8 @@ def prepared_terms(text: str):
|
||||
|
||||
|
||||
def build_subject_index(text: str, top_n: int = 100) -> list[dict]:
|
||||
"""Строит предметный указатель: топ-N лемм по частоте с позицией первого вхождения.
|
||||
"""
|
||||
Строит предметный указатель: топ-N лемм по частоте с позицией первого вхождения.
|
||||
|
||||
first_place.setdefault гарантирует, что запоминается именно первое вхождение —
|
||||
prepared_terms обходит текст сверху вниз, поэтому первый же setdefault выигрывает.
|
||||
|
||||
+2
-1
@@ -54,7 +54,8 @@ def download_with_urllib(url: str, timeout: float) -> str:
|
||||
|
||||
|
||||
def download_html(url: str, retries: int = 3, timeout: float = 30.0) -> str:
|
||||
"""Загружает HTML-страницу с retry-логикой.
|
||||
"""
|
||||
Загружает HTML-страницу с retry-логикой.
|
||||
|
||||
Порядок загрузчиков: curl → urllib (curl обходит часть защит consultant.ru).
|
||||
На каждой итерации retry пробует оба; пауза 0.5 с между попытками.
|
||||
|
||||
@@ -83,7 +83,8 @@ else:
|
||||
|
||||
@lru_cache(maxsize=100_000)
|
||||
def parse_word(word: str):
|
||||
"""Возвращает (лемма, тег) для слова. Кешируем, чтобы не прогонять одно и то же через модуль постоянно.
|
||||
"""
|
||||
Возвращает (лемма, тег) для слова. Кешируем, чтобы не прогонять одно и то же через модуль постоянно.
|
||||
|
||||
«ё» → «е» для единообразия леммы в словаре и при сравнении.
|
||||
Если pymorphy3 не установлен, тег пустой, лемма = lower().
|
||||
@@ -103,7 +104,9 @@ def parse_word(word: str):
|
||||
|
||||
@lru_cache(maxsize=10_000)
|
||||
def _tag_parts(tag: str) -> frozenset[str]:
|
||||
"""Разбивает строку тега pymorphy3 на множество граммем для быстрого поиска."""
|
||||
"""
|
||||
Разбивает строку тега pymorphy3 на множество граммем для быстрого поиска.
|
||||
"""
|
||||
return frozenset(re.split(r"[, ]+", tag))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user