Сервис для поиска похожих людей

в 20:49, , рубрики: Инфосфера - мысли вслух

Представьте себе ситуацию. Вы увидели где-то в Интернете некую барышню, и она вам очень понравилась. Если говорить точнее — вообще-то, вам понравилась её внешность: как минимум, вы не знаете её запах, поэтому ничего не знаете об её MHC — а с биологической точки зрения это ох как важно (вот ещё видео). Да и, скажем прямо, помимо внешности и MHC будут и другие критерии, которые в итоге определят, насколько вам она действительно нужна. И тем не менее, внешность показалась вам не просто хорошей, а идеальной — возможно, вы даже когда-то уже видели какую-то барышню, похожую на эту, и уже испытали тогда примерно те же чувства.

Фотография

В общем, как бы то ни было, внешность вам очень понравилась, но конкретно эта девушка вам почему-то не подходит. Может, она суперзвезда, и вы ей не слишком интересны, может быть, она замужем, а может быть вы просто не хотите пока переезжать туда, где она живёт (мало ли). И вы задаётесь вопросом — а единственная ли она из тех, кто сочетает все те 512 критериев внешности, которые вы рассматриваете как идеальные. Вообще-то, наверно, нет — вы ведь уже видели такую девушку раньше, помните? Но стоп, а с ней-то вы вообще не знакомы (может быть, вы видели её в метро или на улице, но почему-то так и не познакомились с ней).

А что, если бы существовал такой сайт? Вы находите там человека (это ведь необязательно должна быть девушка), и смотрите, каких ещё людей этот сайт считает похожими на него. Как он это решает? Мне кажется, тут стоит делать два слоя — один автоматический, а второй пользовательский. С автоматическим всё понятно — тут включаются технологии распознавания лиц. Мы, в принципе, можем с некоторой точностью выделить людей, черты лица которых имеют определённое сходство (похожие брови, похожие губы, похожий цвет глаз). В каком-то виде это уже реализовано, например, есть сайт PicTriev (ищет фотографии, на которых есть люди с похожими лицами), и ещё есть сайт для поиска знаменитостей, похожих на человека. И всё же у такого подхода есть очевидные недостатки — этот метод довольно неточный, и он будет (по крайней мере пока что) давать большое количество как false positives, так и false negatives (ошибки первого и второго рода — то есть, даже при наличии правильных результатов, лица всё равно часто будут ложно определяться как похожие, и ложно определяться как непохожие). Кроме того, у человека есть не только черты лица. У него есть волосы (у них есть цвет, они у некоторых вьются, и так далее), есть причёска, которую он чаще всего носит (во многих случаях), есть фигура (это очень важный критерий, на самом-то деле), и ещё много чего. Именно поэтому я думаю, что, помимо автоматического подбора похожих людей для каждого имеющегося в базе данных человека, должен быть и подбор на основе данных, получаемых от пользователей.

Например, у вас есть подруга. Вы знакомы с ней уже много лет, и прекрасно помните её внешность. И тут вдруг вы видите где-то в социальной сети девушку, которая внешне — один в один с ней. И тогда вы можете зайти на этот сайт и добавить связь. Если ваша подруга уже есть на сайте, то вы заходите на её страницу, и добавляете её там. Если её на сайте нет, то вы можете добавить на сайт её страницу, просто загрузив её фотографию. Вы также можете указать имя, адреса в социальных сетях и прочее — если хотите. А можете указать потом. Или это может сделать кто-то другой (в том числе сама девушка).

Вероятно, доступ к редактированию страниц людей стоит делать для всех, потому что далеко не все станут сами регистрироваться на сайте, загружать фотографию и указывать о себе данные. Но, конечно, тут нужно поступать аккуратно с точки зрения соблюдения чужого права на частную жизнь — разумеется, если кто-то видит на сайте свою страницу, и хочет не отредактировать (потому что предыдущие версии всё равно останутся в истории правок), а вообще удалить её с сайта, то такая возможность тоже должна быть, иначе это получается неуважительно по отношению к людям.

После того, как вы создали связь (возможно, загрузив фотографии и заполнив данные — в случае, если кого-то из людей ранее не было на сайте), эта девушка появится в списке похожих людей для вашей подруги. И наоборот — ваша подруга появится в списке похожих людей этой девушки. Причём если другие люди подтвердят, что они действительно похожи, то связь становится крепче (то есть они будут отображаться выше в списке похожих людей друг у друга). Можно сделать на сайте отдельный раздел, где можно просматривать установленные на сайте связи, и либо подтверждать, что они похожи, либо наоборот отрицать это. Таким образом могут «корректироваться» как связи, добавленные пользователями, так и связи, добавленные автоматически. Причём можно предусмотреть ещё много чего — например, если какой-то пользователь всё время добавляет разные связи, и они в среднем имеют очень хороший рейтинг (то есть много пользователей подтвердило, что люди, которых этот человек отметил как похожих, действительно имеют значительные сходства внешности), то можно первоначально устанавливать хороший рейтинг для новых связей этого пользователя.

В общем, мы получаем довольно интересный сервис. Ведь кто знает, как много может быть таких случаев, когда мы хотим найти людей, которые похожи на какого-то известного нам человека? А может быть, мы хотим найти людей, похожих на нас самих? Или, если мы ищем актёров для фильма, то попробовать найти человека, похожего на какую-то знаменитость, которая по сюжету должна будет фигурировать в фильме?

Если кому интересно присоединиться к команде — пишите, можно личными сообщениями, можно по электронной почте. Ещё конечно неизвестно, что в итоге получится, но почему бы не попробовать? Может ведь получиться что-то интересное. :)

Автор фотографии — Shane Barbie. Лицензия CC-BY-SA-3.0, взято из Wikimedia Commons.

Автор: MaGIc2laNTern

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js