Ещё стоило бы отметить, что дистрибутивная семантика является одним из краегольных камней алгоритмов глубокого обучения (и вообще NN и многих вероятностных моделей), поэтому очень полезно и важно с ней разобраться :-)
Подробнее можно посмотреть в видео-лекциях школы по глубокому обучению вот тут и ещё можно глянуть крутой курс от Udacity вот тут.
Ну ок, это ответ на один чай из двух, потому что всегда можно было бы сказать: это неправильная схема, дадим разные имена колонкам в разных таблицах и проблема решена. Но оказывается, даже это не спасает в определенных случаях (достаточно приглядеться к первой таблице внимательно, чтобы понять в каких)
В случае, если мы добавили специальный элемент ω, то можно эмулировать left outer join. Например вот так, пусть P(x,z) и Q(z,y) предикаты тогда запрос выражает left outer join (возможно, можно проще)
{ p.X p.Z, q.Y | P(p) and ( (Q(q) and q.Z = p.Z) or (not Q(q) and q.Y = ω and ~∃s: Q(s) and s.Z = p.Z) ) }
Либо, всё хорошо и мы добавили p.X, p.Z., q.Y (существует соответствующие p.Z и q.Z), либо положи вместо q.Y null (такого Z для Q не существует).
Про обещание помню. Heroku окончательно добил мой мини-проект, но я уже прикупил мини-сервер — осталось только развернуть на нём всё (ну и переписать часть кода) :-)
У меня нет доступа Хабр API — всё парсилось ручками (python requests). API мне обещали с 13го года, но воз ныне там.
Были данные по Хабру — вроде бы просели на 20-25% по среднему числу просмотров, но это могла быть сезонность. Heroku надавил на моё приложение и его пришлось фактически прикрыть, так что совсем свежих данных нет.
Видел какие-то пробные задания 2015го года — сотку реально выбить, но нужно ОЧЕНЬ аккуратно всё решить. Геометрия довольно зубодробительная, как мне показалось.
Подробнее можно посмотреть в видео-лекциях школы по глубокому обучению вот тут и ещё можно глянуть крутой курс от Udacity вот тут.
В реляционной алгебре, например вот так:
en.wikipedia.org/wiki/Relational_algebra#Outer_joins
В случае, если мы добавили специальный элемент ω, то можно эмулировать left outer join. Например вот так, пусть P(x,z) и Q(z,y) предикаты тогда запрос выражает left outer join (возможно, можно проще)
{ p.X p.Z, q.Y | P(p) and ( (Q(q) and q.Z = p.Z) or (not Q(q) and q.Y = ω and ~∃s: Q(s) and s.Z = p.Z) ) }
Либо, всё хорошо и мы добавили p.X, p.Z., q.Y (существует соответствующие p.Z и q.Z), либо положи вместо q.Y null (такого Z для Q не существует).
Были данные по Хабру — вроде бы просели на 20-25% по среднему числу просмотров, но это могла быть сезонность. Heroku надавил на моё приложение и его пришлось фактически прикрыть, так что совсем свежих данных нет.
Синдром ступеньки и срез посещаемости Хабра
Пульс Хабра
Когда никто не читает Хабр
Часть первая, а вторую часть всё равно никто не читает
Портрет Хабра-tutorial
Так что если кому-то нужны статьи за paywall'ом можно попробовать написать мне, например — есть большой шанс, что получится.
Вот тут про это подробнее написано.