Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder

* Ntshiab rau kev kawm Machine Learning, tau kawg. Nyob rau hauv qhov tsis txaus siab me ntsis ntsia ntawm nws tus poj niam uas nws hlub.

Tej zaum tsis muaj daim ntawv thov yooj yim rau qib ntawm tus txha caj qaum reflexes li Tinder. Txhawm rau siv nws, koj tsuas yog xav tau ib tus ntiv tes los so thiab ob peb lub paj hlwb xaiv cov ntxhais lossis cov txiv neej uas koj nyiam tshaj plaws. Qhov zoo tshaj plaws kev siv ntawm brute force hauv kev xaiv khub.

Kuv txiav txim siab tias qhov no yuav yog txoj hauv kev zoo kom tau txais kev xav me ntsis rau kev kawm tshuab ntawm daim npav tshiab. Txhua yam uas tseem tshuav yog piav qhia rau kuv tus poj niam tias kuv tsis xav tau tus poj niam rog tshiab, thiab kuv tsuas yog kev cob qhia neural networks.

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder

В чем проблема сетей для знакомств

Muaj ib qho kev pab - Ashley Madison. Tshwj xeeb, nrog cov lus hais tias "Lub neej luv luv. Muaj kev sib raug zoo. " Cov neeg tuaj saib tseem ceeb yog cov txiv neej sib yuav tab tom nrhiav kev nyiam ntawm sab. Monetization kuj muaj kev lom zem - ntxiv rau tus qauv "siv cov ntsiab lus nyiam thiab sau," lawv nug txog $ 19 kom tshem tawm tus neeg siv tus account yam tsis muaj kab.

Nyob rau hauv 2015, lub site ib txwm leaked thiab 60 GB ntawm tus kheej cov ntaub ntawv leaked rau hauv pej xeem sau. Ntxiv rau ntau tsev neeg puas tsuaj, qhov xau no tau muab ntau cov ntaub ntawv nthuav dav rau cov kws tshuaj ntsuam. Kuv ib txwm xav tias muaj ntau tus txiv neej nyob rau ntawm qhov chaw sib tham, tab sis qhov no nws tau ua kom nthuav dav heev. Tus kws sau xov xwm Annalee Newitz tsom xam cov ntaub ntawv leaked pom tias tawm ntawm 5 lab cov neeg siv, tsuas yog 12 tau zoo ib yam li cov ntxhais tiag tiag thiab tau siv tsis tu ncua. Tus so tsuas yog bots uas tham nrog cov txiv neej tuaj xyuas.

Xws li ib tug preponderance rau txiv neej cov nyiaj yog ib txwm tsis tau tsuas yog rau cov kev pab no, tab sis kuj rau feem ntau lwm qhov chaw sib tam. Kuv paub tseeb tias ntau tus tau ntsib qhov xwm txheej tsis ncaj ncees, thaum koj yuav tsum ua tib zoo npaj ib tus neeg paub, tab sis tus ntxhais tsuas yog xav tau sau npe. Cia peb tawm ntawm qhov zoo ntawm cov neeg coob coob ntawm cov kiv cua ib sab, tab sis qhov tseeb yog qhov tsis lees paub tias qhov sib npaug ntawm cov khoom siv thiab kev thov tau hloov pauv kom pom tseeb ntawm cov ntxhais.

Особенность Tinder

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder
Идеальный брутфорсер в гендерных отношениях

Lub ntsiab feature ntawm lub platform no yog tus nqi qis rau ib tus neeg paub. Ib qho kev sib tsoo ntawm ob lub swipes txaus thiab koj twb tau sib txuas lus nrog tus neeg muaj peev xwm nthuav. Qhov teeb meem yog qhov sib txawv ntawm poj niam txiv neej tsis sib haum ua rau qhov tseeb tias feem ntau cov ntxhais yuav muaj ntau qhov sib tw hauv ib hnub. Qhov no txhais tau tias lawv yuav tsis muaj sijhawm los saib xyuas koj ntawm lwm tus neeg sib tw.

Nws yog qhov tseeb heev tias lub platform cuam tshuam me ntsis lub sijhawm los ntsuas qhov sib sib zog nqus hauv ntiaj teb ntawm tus neeg los ntawm ib thiab ib nrab thib ob saib ntawm daim duab hauv ib lub cev khaub ncaws los yog tsav tsheb tinted fashionable. Yog li ntawd, yog tias koj tsis saib tsuas yog los saum ntuj los hauv koj cov duab, koj tsis muaj kev xaiv tab sis ua kom koj muaj feem ntau los ntawm kev siv r- tswv yim у некоторых видов. Проще говоря, будем брутфорсить и брать объемом, чтобы увеличить свои шансы на размножение успех. Так как вам надо иногда отвлекаться на еду и сон, а свайпы ограничены, то вы наверняка предпочтете, чтобы автоматизация выбирала наиболее подходящие под ваши вкусы девушек или мужчин. Рыжих маленького роста или высоких брюнеток — это уже на ваше усмотрение.

Sau cov ntaub ntawv

Прежде всего вам нужно очень много данных для нормальной точности. Любой, кто сталкивался с машинным обучением знает, как сложно бывает набрать корректно собранный и размеченный датасет. Теоретически, в качестве источника данных подойдет любой подобный ресурс, будь то Instagram или другие социальные сети. Но лучше всего обучать именно на тех образцах, на которых сеть будет работать в дальнейшем.

Wb coj lub chaw khaws cia ua lub hauv paus Tinder Automation. Фотографии у Tinder всегда общедоступны, но функция «лайков» уже лимитирована. Поэтому надо извлечь все живое в радиусе и тщательно промаркировать. Для начала надо воспользоваться довольно простым скриптом:

from skimage.io import imread, imsave, imshow, show
import matplotlib.pyplot as plt
import pynder
from helpers import get_access_token, get_login_credentials
from io_helper import save_image

email, password, FBID = get_login_credentials()
FBTOKEN = get_access_token(email, password)
session = pynder.Session(facebook_token=FBTOKEN)

while True:
    users = session.nearby_users()
    for user in users:
        photos = user.get_photos()
        print("Fetched user photos..")
        for photo in photos:
            print(photo)
            image = imread(photo)
            imshow(image)
            show()

            input_string = "Write 1 to like. Write 2 to dislike."
            ans = str(input(input_string)).lower()

            if ans == "1":
                save_image(image, photo, True)
            else:
                save_image(image, photo, False)

Nws yuav tso cai rau koj kos cov ntaub ntawv kom sai li sai tau nrog tsuas yog ob lub nyees khawm. Qhov teeb meem tseem ceeb nyob hauv qhov tseeb tias lub tsev qiv ntawv werkzeug tau tawg rov qab sib raug zoo thiab yuav tsum raug yuam kom txo qis nws. Txwv tsis pub nws cuam qhov yuam kev no.

Traceback (most recent call last):
  File "img_scrape.py", line 4, in <module>
    from helpers import get_access_token, get_login_credentials
  File "/home/someone/tmp/TinderAutomation/helpers.py", line 1, in <module>
    import robobrowser
  File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/__init__.py", line 3, in <module>
    from .browser import RoboBrowser
  File "/home/someone/tmp/TinderAutomation/venv/lib/python3.6/site-packages/robobrowser/browser.py", line 8, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property'

Поэтому, в requirements.txt надо прописать Werkzeug==0.16.1. Тогда взлетит.
Qhov teeb meem thib ob yog kom tau txais qhov token heev. Tus qauv txheej txheem los ntawm qhov chaw cia khoom tsis ua haujlwm rau kuv, tab sis kuv tau tswj kom tau txais los ntawm tus tsim tawm console. Txhawm rau ua qhov no, mus rau txuas thiab rho tawm cov lus teb rau POST thov hauv www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Внутри ищем ‘access_token’. С первого раза почему-то не получилось, но потом я его нашел и захардкодил в скрипт.

Cov ntaub ntawv xav tau

Muaj ob peb yam tseem ceeb rau cov ntaub ntawv kawm tshuab:

  1. Достаточность
  2. Kev tsis sib xws
  3. Ntau ntau

Kev txaus siab hauv qhov no yuav tsum muaj tsawg kawg yog 10000 daim duab los tsim kom muaj tus qauv tsim nyog. Yog, ntau heev. Qhov no yog qhov tseeb yog vim li cas cov kev pabcuam nyiam Amazon Mechanical Turk, qhov twg rau tus nqi koj tuaj yeem delegate lub cim ntawm koj cov ntaub ntawv rau lwm tus neeg. Ntawm qhov tod tes, koj puas xav kom koj tus bot nyiam cov ntxhais Asian zoo nkauj lub hli lossis cov ntxhais zoo nkauj sib npaug nrog cov hauv paus hniav Indian? Tseem, tus qauv yuav tsum muaj kev cuam tshuam koj saj.

Tsis muaj teeb meem tshwj xeeb nrog ntau yam; tag nrho cov duab tau nthuav tawm los ntawm ntau lub ces kaum thiab teeb pom kev zoo. Nyob rau hauv cov tsom iav, dresses, swimsuits thiab ski suits. Ib qho teeb meem yuav tshwm sim nrog qhov sib xws ntawm cov ntaub ntawv. Qhov zoo tshaj plaws, thaum peb sau peb cov qauv, nws yuav tsum muaj kwv yees li qhov sib npaug. Yog tias koj xaus nrog "skewed" dataset, koj yuav tau dilute nws nrog cov duab los ntawm lwm qhov chaw. Koj yuav tsum tau ntxiv qhov ntxim nyiam tshaj plaws, lossis rov ua dua, koj yuav txiav txim siab lawv raws li qhov txiaj ntsig tau. Kuv tau txais qee yam nyob ib puag ncig 60% zoo nkauj. Los yog kuv tsis yog neeg xaiv, lossis kuv tsuas yog muaj hmoo thiab muaj ntau tus ntxhais zoo nkauj nyob ib puag ncig.

Kuv kuj tsis txo cov kev xav tias muaj ntau bots ntawm lawv. Peb cob qhia bots uas yuav nyiam lwm tus bots. Muaj qee qhov irony hauv qhov no.

Cov ntaub ntawv ua

У нас есть куча размеченных фотографий, но они очень разношерстные. Дневные, ночные, со спины и прочие. С сожалением понимаю, что обучать на фотографиях с обратного ракурса особо не получится, так как выборка будет сильно неравномерная. Поэтому, оптимальным вариантом будет использование лиц, как опорного признака «симпатичности». Все-таки для нас, как и для других приматов, это ключевой параметр.

Yog li ntawd, cia peb siv Haar cascades. Qhov no yog ib qho zoo heev algorithm uas tso cai rau koj mus nrhiav lub ntsej muag nyob rau hauv cov duab nrog ib tug tsawg feem pua ​​​​ntawm cov tsis muaj tseeb zoo yuam kev.

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder
Qhov no tau piav qhia ntau ntxiv hauv phau ntawv qhia OpenCV

Nyob rau theem tom ntej, tom qab tsuas yog lub ntsej muag nyob hauv cov qauv, nws ua rau kev txiav txim siab tshem tawm xim. Qhov tseeb, koj yuav tsis yooj yim xaiv ntawm Pandora's zoo nkauj xiav denizen lossis ntsuab-skinned kev zoo nkauj.

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder
Tau qhov twg los

У людей Hue параметр в цвете кожи не привносит значимого вклада в оценку симпатичности.
Yog li ntawd, nws tsim nyog ua kom yooj yim rau kev ua haujlwm ntawm neural network thiab tawm tsuas yog greyscale.

Qauv tsim

Kuv xav hais tam sim ntawd tias tsis muaj daim npav video zoo thiab CUDA, koj feem ntau yuav tsis tau txais cov qauv kev cob qhia hauv lub sijhawm txaus. Yog li ntawd, tam sim ntawd tsom rau kev suav hauv huab tshwj xeeb lossis siv python-CUDA.

Kuv coj ib qho piv txwv peb-txheej txheem los ntawm tus sau ntawm qhov chaw cia khoom thiab, xav tsis thoob, nws pom qhov tseeb ntawm ib ncig ntawm 72%, uas yog qhov txiaj ntsig zoo heev.

model = Sequential()
model.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(img_size, img_size, 3)))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Convolution2D(32, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Convolution2D(64, 3, 3, activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
          
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))

adam = optimizers.SGD(lr=1e-4, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
              optimizer= adam,
              metrics=['accuracy'])

Yog tias muaj cov qauv zoo, ces nws yuav zoo txaus kom tau txais cov qauv ua haujlwm.

Cia peb pib lub bot

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder

Ua tsaug rau tus sau ntawm qhov chaw khaws cia rau qhov kev xaiv npaj tau sai sai rau kev sim lub tswv yim. Qhov tseeb, nws ua haujlwm zoo heev hauv cov qauv yooj yim thiab tuaj yeem, hauv paus ntsiab lus, raug tso tawm ntawm peb готовом арендованном сервере. Nws yuav tsis tuaj yeem cob qhia tau; tam sim no peb tsis muab cov tshuab virtual nrog CUDA kev txhawb nqa rau kev suav, tab sis koj tuaj yeem khiav qee yam 24/7 yam tsis muaj teeb meem. Lub bot yog qhov hnyav heev, yog li nws yuav muaj txiaj ntsig ntau dua los coj tus nqi se uas them rau cov peev txheej siv.

Результаты

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder
Kuv xav tias kuv ntxim hlub heev. Thiab kuv muaj lub ntiaj teb nplua nuj sab hauv. Kuv tau txais ib yam dab tsi zoo li 13 qhov sib tw hauv ib teev. Ntxiv mus, ob peb zaug cov ntxhais sau ua ntej.
Raws li qhov tshwm sim, peb tau xaus nrog kev sib tham zoo heev, qhov uas kuv tau hais tias kuv tuaj yeem ua si nrog kev kawm tshuab thiab sau cov ntaub ntawv. Ib tug ntawm cov ntxhais nyiam heev, vim nws tus kheej yog tus tsim tawm. Muaj kev xav tias nws yuav kawg nyeem cov ntawv no ntawm Habré. Kuv vam tias Oksana yuav tuav kuv lub npe tsis qhia npe. 🙂
* yoj paw thiab hais nyob zoo

Ib me ntsis txog kev ncaj ncees sab ntawm qhov teeb meem

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

Lub caij ntuj sov yog nyob ib ncig ntawm. Nws yog lub sij hawm kom paub.

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder

Yuav ua li cas khaws 13 tus ntxhais ib teev twg siv tshuab kev kawm thiab Tinder

Tau qhov twg los: www.hab.com

Ntxiv ib saib