Объяснимость и нормативные параметры
Автор: Дмитрий Малыхин (i@dmalyhin.ru).
Объяснимость как требование
Каждая аналитическая связь должна по возможности показывать собственное основание: общие концепты и дескрипторы, вклад классификации и профиля, содержательные каналы текстовой семантики, параметры графа или частотную характерность.
МАП намеренно сохраняет несколько аналитических отношений раздельно. Это позволяет объяснить не только насколько объекты близки, но и в каком пространстве возникла эта близость.
Нормативные параметры
Структурная модель
concept weight = 3.00
descriptor weight = 1.20
classification weight = 0.55
profile weight = 0.35
author weight = 0.80
series author weight = 0.20
Структурно связанных произведений: до 6.
Структурно похожих серий: до 5.
Текстовая модель
main_idea outer weight = 0.65
description outer weight = 0.35
cross thesis share = 0.30
minimum text length = 40
role minimum length = 12
Профиль описания:
subject/characterization = 0.45
full description = 0.30
structure/organization = 0.10
mechanism = 0.15
Слой текстово похожих произведений:
limit = 6
minimum_score = 0.78
content_gate_minimum_score = 0.72
Авторский семантический слой:
limit = 5
minimum_score = 0.80
minimum_exclusive_books = 1
author gate = content_gate_minimum_score = 0.72
Семантический поиск
limit = 24
minimum_score = 0.55
query_gate_minimum_score = 0.55
Формула запроса использует веса 0.40 / 0.25 / 0.20 / 0.15 для main_idea / thesis / subject / description.
Концептуальный граф
concept min books = 3
pair min common = 3
pair min Jaccard = 0.12
background threshold = 40
community min size = 3
Louvain resolution = 1.2
seed = 42
bridge min books = 3
bridge min areas = 2
central top = 20
frequency top = 20
bridge top = 30
Методологическая версия
Изменение этих параметров меняет аналитическую модель и должно фиксироваться в версии документации. Исполняемые библиотеки и способ упаковки модели не относятся к математической спецификации МАП.
Ассоциации дескрипторов
устойчивая пара: common >= 3 и Jaccard >= 0.12
кандидат на почти-дубликат: common >= 3, Jaccard >= 0.80, Overlap >= 0.90
Устойчивость графа произведений
Jaccard-сценарии = 0.10 и 0.20
фоновый признак = присутствует не менее чем в 10% произведений
Эти пороги относятся к аналитической модели текущей методологической версии и не меняют прямые отношения ЛОГОС.
Проверка и ограничения
Объяснимость
Структурная рекомендация обязана иметь наблюдаемое основание: общие концепты, дескрипторы или авторство. Вклад координат может быть разложен по координатам итоговой оценки.
Текстовая рекомендация должна отдельно раскрывать итоговую оценку и прохождение содержательного шлюза. Сходство структуры изложения не должно выдавать себя за сходство содержания.
Проверки графа
Для каждого ребра сохраняются или воспроизводятся:
ni, nj, mij
Jaccard
Overlap
Cosine association
произведения-основания
Для тематической области проверяются состав концептов, произведений, внутренние и внешние рёбра и параметры алгоритма.
Псевдокод структурного слоя
idf = BUILD_IDF(concepts, descriptors)
for work in works:
raw = WEIGHTED_FEATURES(work, idf)
vector[work] = L2(raw)
for work in works:
candidates = DIRECTLY_GROUNDED_CANDIDATES(work)
candidates -= SAME_SERIES(work)
score = DOT(vector[work], vector[candidate])
RANK(candidates, key=(-score, normalized_title, stable_id))
Псевдокод текстового слоя
for work in works:
roles = EXTRACT_D1_D4_OR_FALLBACK(work.description)
embeddings = EMBED_EACH_CHANNEL(main_idea, roles, description)
for pair in candidates:
central = CENTRAL_SEMANTIC_SCORE(pair)
profile = DESCRIPTION_PROFILE_SCORE(pair)
score = 0.65*central + 0.35*profile
gate = CONTENT_GATE(pair)
ACCEPT_IF(score >= threshold AND gate >= gate_threshold)
Псевдокод графа
concept_books = INVERT(work_concepts)
for concept_pair in CONCEPT_PAIRS(concept_books):
common, J, O, C = ASSOCIATION_METRICS(concept_pair)
ADD_EDGE_IF_THRESHOLDS_PASS(concept_pair, common, J, O, C)
communities = LOUVAIN(graph, resolution=1.2, seed=42)
pagerank = PAGERANK(graph)
betweenness = BETWEENNESS(graph, distance=INVERSE_ASSOCIATION)
roles = CLASSIFY_CONCEPT_ROLES(graph, communities, pagerank, betweenness)