Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder

* Puramente per l'amparera di Machine Learning, di sicuru. Sottu à u sguardu un pocu insatisfattu di a so moglia amata.

Probabilmente ùn ci hè micca una applicazione cusì simplice à u livellu di riflessi spinali cum'è Tinder. Per usà, avete solu bisognu di un dito per scaccià è uni pochi di neuroni per sceglie e ragazze o l'omi chì ti piace più. Una implementazione ideale di forza bruta in a selezzione di coppia.

Aghju decisu chì questu seria un bonu modu per piglià un pocu di sensazione per l'apprendimentu automaticu nantu à una nova carta grafica. Tuttu ciò chì resta hè di spiegà à a mo moglia chì ùn aghju micca bisognu di una nova donna grassa, è sò solu furmà e rete neurale.

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder

Chì ci hè u prublema cù e rete di appuntamentu?

Ci era una tale risorsa - Ashley Madison. Specific, cù u slogan "A vita hè corta. Avè un affare ". L'audienza principale hè l'omi maritati chì cercanu un affare à u latu. A monetizazione hè ancu divertente - in più di u standard "spend points to like and write", anu dumandatu $ 19 per sguassà u contu di l'utilizatore senza traccia.

In u 2015, u situ hà filtratu naturalmente è 60 GB di dati persunali in u duminiu publicu. In più di parechje famiglie distrutte, sta fuga furnisce assai infurmazioni interessanti à l'analista. Aghju sempre suspettatu chì ci era assai più omi nantu à i siti di appuntamentu, ma in questu casu hè stata assai interessante. A ghjurnalista Annalee Newitz analizà i dati filtrati truvò chì fora di 5 milioni d'utilizatori, solu 12 000 eranu simili à cunti veri di ragazza è sò stati usati regularmente. U restu era solu bots chì parlavanu cù i visitori maschili.

Una tale preponderanza versu i cunti maschili hè tipica micca solu per questa risorsa, ma ancu per a maiò parte di l'altri siti di appuntamentu. Sò sicuru chì parechji anu scontru in questa situazione senza dubbitu inghjustu, quandu avete a pianificà currettamente una cunniscenza, ma a zitella solu deve esse registratu. Lascemu a qualità di questa folla di fanatichi da parte, ma u fattu hè innegabile chì l'equilibriu di l'offerta è a dumanda hè chjaramente spustatu in favore di e ragazze.

Funzione di Tinder

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder
U brute forcer ideale in relazioni di genere

A funzione principale di sta piattaforma hè u prezzu bassu per cunniscenza. Una cuincidenza di dui colpi hè abbastanza è avete digià cumunicatu cù una persona potenzialmente interessante. U prublema hè chì u stessu sbilanciamentu di u sessu porta à u fattu chì a maiò parte di e ragazze anu decine di partite per ghjornu. Questu significa chì probabilmente ùn anu micca tempu per attentu à voi trà altri candidati.

Hè abbastanza chjaru chì a piattaforma implica poca opportunità per valutà u mondu internu prufondu di una persona da un sguardu d'un sicondu è mezu à una foto in un swimsuit o cunducendu una vittura tinta di moda. Dunque, s'ellu ùn pare micca solu divinu in i vostri ritratti, ùn avete micca altra scelta ma di aumentà e vostre probabilità aduttendu r-strategia in certi spezie. Simply put, avemu a forza bruta è piglià in u voluminu per aumentà e nostre chance di successu di ripruduzzione. Siccomu qualchì volta avete bisognu à esse distractatu da l'alimentariu è u sonnu, è i swipes sò limitati, probabilmente preferite chì l'automatizazione selezziunate e ragazze o l'omi chì si adattanu megliu à i vostri gusti. Redheads curtite o brune alte - tocca à voi.

Raccolta di dati

Prima di tuttu, avete bisognu di assai dati per a precisione normale. Qualchidunu chì hà scontru à l'apprendimentu automaticu sapi quantu pò esse difficiule di pruduce un set di dati raccolti è etichettati currettamente. In teoria, ogni risorsa simile serà adattata cum'è fonte di dati, sia Instagram o altre rete suciale. Ma hè megliu furmà nantu à quelli campioni nantu à quale a reta di travaglià in u futuru.

Pigliemu u repositariu cum'è una basa Tinder Automation. I ritratti di Tinder sò sempre dispunibuli publicamente, ma a funzione "mi piace" hè digià limitata. Per quessa, hè necessariu di caccià tutte e cose viventi in u raghju è marcate cù cura. Prima avete bisognu di utilizà un script abbastanza simplice:

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)

Vi permetterà di marcà u dataset u più prestu pussibule cù solu dui buttoni. A trappula chjave si trova in u fattu chì a biblioteca werkzeug hà rottu a cumpatibilità retrocede è duverà esse furzata à downgrade. Altrimenti tira stu errore.

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'

Dunque, in requirements.txt avete bisognu di scrive Werkzeug==0.16.1. Allora s'incarcerà.
U sicondu prublema hè di ottene questu token. U metudu standard da u repository ùn hà micca travagliatu per mè, ma aghju sappiutu ottene da a cunsola di sviluppatore. Per fà questu, andate à a lea è estrae a risposta à a dumanda POST in www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Dentru cerchemu 'access_token'. Per una certa ragione ùn hà micca travagliatu a prima volta, ma dopu l'aghju trovu è codificatu in u script.

Requisiti di dataset

Ci hè parechje esigenze chjave per i datasets di l'apprendimentu automaticu:

  1. Adeguenza
  2. Uniformità
  3. Variété

A sufficienza in questu casu richiede almenu 10000 XNUMX ritratti per custruisce un mudellu adattatu. Iè, hè assai. Hè per quessa chì i servizii cum'è Amazon Mechanical Turk, induve per una tarifa pudete delegate u marcatu di u vostru dataset à altre persone. Per d 'altra banda, vulete veramente chì u vostru bot piace à maravigliose ragazze asiatiche di luna o altre belle ragazze cù radiche indiane? Eppuru, u mudellu deve riflette u vostru gustu.

Ùn ci hè micca prublemi particulari cù a varietà; tutte e ritratti sò presentati da diversi anguli è illuminazione. In vetri, vestiti, swimsuits è ski suits. Un prublema pò esse cun l'uniformità di u dataset. Ideale, quandu etichettamu a nostra mostra, deve esse custituita di parti apprussimatamente uguali. Se finisci cù un set di dati "inclinatu", vi tuccherà à dilute cù ritratti da altre fonti. Avete bisognu di aghjunghje più attrattivi, o vice versa, vi determinà nantu à u risultatu di marcatura. Aghju avutu qualcosa di circa 60% bella. O ùn sò micca troppu esigenti, o sò solu furtunatu è ci sò assai belle ragazze intornu.

Ùn aghju micca scuntatu ancu l'ipotesi chì ci sò assai bots trà elli. Formemu un bot chì piacerà altri bots. Ci hè una certa ironia in questu.

Trattamentu di dati

Avemu una mansa di foto taggate, ma sò assai mischiate. Di ghjornu, di notte, da daretu è altri. Cun disgrazia, aghju capitu chì l'insignamentu da e fotografie da un angulu inversu ùn serà micca particularmente efficace, postu chì a mostra serà assai irregulare. Dunque, a megliu opzione seria d'utilizà facce cum'è un signu di riferimentu di "cuteness". Eppuru, per noi, cum'è per altri primati, questu hè un paràmetru chjave.

Dunque, usemu Haar cascate. Questu hè un algoritmu eccellente chì permette di truvà facci in l'imaghjini cù un percentinu bassu di falsi falsi pusitivi.

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder
Questu hè descrittu in più detail in u manuale OpenCV

À u prossimu stadiu, dopu chì solu facci sò in a mostra, hè sensu per sguassà u culore. In fatti, ùn vi tuccherà à sceglie trà a bella denizen blu di Pandora o a bellezza di a pelle verde.

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder
Source

In a ghjente di Hue, u culore di a pelle ùn face micca una cuntribuzione significativa à e valutazioni di l'attrazione.
Dunque, vale a pena simplificà u travagliu di a rete neurale è lascià solu in scala di grisgiu.

Edificiu mudellu

Vogliu dì subitu chì senza una bona carta video è CUDA, assai prubabilmente ùn uttene micca un mudellu furmatu in tempu adattatu. Dunque, mira immediatamente à calculi in nuvuli specializati o cù python-CUDA.

Aghju pigliatu un esempiu basicu di trè strati da l'autore di u repository è, sorprendentemente, hà dimustratu una precisione di circa 72%, chì hè un bellu risultatu.

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'])

Se ci hè una bona mostra, pò esse abbastanza per ottene un mudellu funzionale.

Lanciamu u bot

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder

Grazie à l'autore di u repositoriu per una opzione pronta per pruvà rapidamente l'idea. In fatti, si travaglia abbastanza bè in a versione basica è pò, in principiu, esse lanciata nant'à u nostru servitore affittu prontu. Ùn serà micca pussibule di furmà ancu; à u mumentu ùn furnimu micca macchine virtuali cù supportu CUDA per i calculi, ma pudete eseguisce qualcosa 24/7 senza prublemi. U bot hè abbastanza ligeru, cusì saria più prufittuosa per piglià una tarifa chì paga per i risorse utilizati.

Risultati

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder
Pensu chì sò assai simpaticu. È aghju un mondu internu riccu. Aghju avutu qualcosa cum'è 13 partite in una ora. Inoltre, parechje volte e ragazze anu scrittu prima.
In u risultatu, avemu finitu cù dialoghi assai belli, induve aghju dettu chì sò ghjuntu solu per ghjucà cù l'apprendimentu di macchina è l'etichettatura di dati. Una di e ragazze hè stata assai interessata, postu chì ella stessu hè un sviluppatore. Ci hè una forte sensazione chì ella eventualmente leghje stu post in Habré. Spergu veramente chì Oksana mantene u mo anonimatu. 🙂
* agite una zampa è saluta

Un pocu nantu à u latu eticu di u prublema

Per esse onesto, ùn mi piace micca tutta l'idea di robotizà e relazioni trà l'omi è e donne. Ci hè qualcosa di assai ghjustu à scaccià a vostra giacca nantu à e spalle di un stranieru friddu chì si trova solu. O avvicinà una bella ragazza in un caffè d'estate è beie caffè inseme. Esce da daretu à i monitori digià.

L'estiu hè in tuttu. Hè u tempu di cunnosce.

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder

Cumu coglie 13 ragazze à l'ora cù l'apprendimentu automaticu è Tinder

Source: www.habr.com

Add a comment