Я создал сайт с удивительными фактами об арт искусстве artatlas.site Там около 2000 страниц на четырех разных языках, и делал я их вместе с нейросетью. Но сейчас я понял, что очень сильно пахнет ИИ от этого сайта и решил это исправить.

Я понял, что отсутствует душа и какая-то невербальная составляющая, когда увидел эти шаблонные фразы.

Признак

Сколько нашлось

Абзацы, повторяющиеся на 50+ страницах (RU / EN / ES / FR)

1019 / 773 / 773 / 773

Одинаковые казённые заголовки

722 страницы на каждом языке

Пустой слот «живописец» в панели художника

428 страниц

Конструкция «не X, а Y» (RU)

887 предложений

Длинное тире (RU)

15,2 на 1000 слов

# фрагменты, повторяющиеся на 50+ страницах одного языка
from collections import Counter
counts = Counter()
for page in pages_of_language:
    for para in set(extract_paragraphs(page)):
        counts[normalize(para)] += 1
boilerplate = {p for p, n in counts.items() if n >= 50}

CONTRAST = r"\b[Нн]е\s[^.,;:!?—<]{1,70},\s+а\s"   # «не X, а Y»
NOT_JUST = r"\bне просто\b|\bне столько\b"

Почему нельзя просто заменить регуляркой

Хотелось, чтобы сайт был человеческим, и мы говорим об искусстве. Значит, мы должны говорить от лица человека.

Было

Стало

Кипарис слева — не декорация, а символ смерти в средиземноморской культуре.

Кипарис слева в средиземноморской культуре считается символом смерти.

Такая идеализация не ошибка наблюдения, а ядро замысла.

Идеализирует его Давид сознательно, в этом и состоит замысел.

Не спокойная трапеза, а волна человеческих реакций (заголовок)

Волна человеческих реакций

Язык

«не X, а Y» и аналоги: до → после

RU

887 → 398 (549 правок на 218 страницах, остальное — факты и цитаты)

EN

83 → 36, «not just / merely» 54 → 15

ES

267 → 101

FR

285 → 149 (много ложных срабатываний)

Дизайн тоже выдаёт нейросеть

Ну и, конечно же, классический дизайн Ии, где читается тысячу похожих сайтов, и невозможно смотреть на это. И думаю, со временем будет еще сложнее.

И главное, Ии обязательно ошибется.

Инструмент

Что нашёл

Масштаб

html-validate

<noscript> Метрики с <div> внутри <head>: canonical, hreflang и robots уезжают в <body>

2030 страниц

html-validate

aria-label на <div> без роли

1265 страниц

linkinator

внешних ссылок / «битых» / из них 403 и 429 (защита от ботов)

1374 / 420 / 286

linkinator

ссылки, сломанные машинным переводом: American_Gothique, Titien, en.wikipedia.org/wiki/Марк_Шагал

87

npm install -g html-validate linkinator
html-validate index.html masterpieces/*/index.html
linkinator http://127.0.0.1:8772/links.html --concurrency 8 --retry

Что получилось

Что

До

После

Шаблонные абзацы (RU / EN / ES / FR)

1019 / 773 / 773 / 773

0

«не X, а Y» в RU

887

398

<noscript> в <head>

2030 страниц

0

Внешние 404

~100

исправлены

Сейчас я произвел эти изменения и позже выложу метрики до и после. Где-то через неделю я дополню эту статью.

[Одна ссылка как пример «после», например разбор «Менин»: https://www.artatlas.site/masterpieces/meniny/]

Комментарии (0)