Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder

* Piman pou dedomajman pou aprann Machine Learning, nan kou. Anba gade yon ti kras satisfè nan madanm li renmen anpil.

Pwobableman pa gen okenn aplikasyon ki senp nan nivo reflèks epinyè tankou Tinder. Pou w ka sèvi ak li, ou sèlman bezwen yon dwèt pou glise ak kèk newòn pou chwazi ti fi oswa gason ou renmen pi byen. Yon aplikasyon ideyal nan fòs brital nan seleksyon pè.

Mwen deside ke sa a ta dwe yon bon fason yo jwenn yon ti kras santi pou aprantisaj machin sou yon nouvo kat grafik. Tout sa ki rete se eksplike madanm mwen ke mwen pa bezwen yon nouvo fanm pi gra, epi mwen jis fòmasyon rezo neral.

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder

Ki pwoblèm ki genyen ak rezo date?

Te gen tankou yon resous - Ashley Madison. Espesifik, ak eslogan "Lavi a kout. Gen yon zafè." Odyans prensipal la se gason marye kap chèche yon zafè sou bò. Monetizasyon se plezi tou - anplis estanda "depanse pwen pou renmen ak ekri," yo te mande $19 pou efase kont itilizatè a san okenn tras.

Nan 2015, sit la natirèlman fwit ak 60 GB nan done pèsonèl fwit nan domèn piblik la. Anplis anpil fanmi ki te detwi, fwit sa a te bay analis yo anpil enfòmasyon enteresan. Mwen toujou sispèk ke te gen yon anpil plis gason sou sit date, men nan ka sa a li te tounen soti yo dwe byen enteresan. Jounalis Annalee Newitz analize done koule te jwenn ke sou 5 milyon itilizatè yo, sèlman 12 te sanble ak kont ti fi reyèl epi yo te itilize regilyèman. Rès yo te jis bots ki te koze ak vizitè gason yo.

Tankou yon preponderans nan direksyon pou kont gason se tipik pa sèlman pou resous sa a, men tou pou pifò lòt sit date. Mwen sèten ke anpil moun te rankontre sitiyasyon sa a san dout enjis, lè ou gen ak anpil atansyon planifye yon zanmi, men ti fi a jis bezwen enskri. Ann kite bon jan kalite a nan foul moun sa a nan fanatik sou kote, men reyalite a se nye ke balans lan nan rezèv ak demann se klèman deplase an favè ti fi yo.

Tinder Karakteristik

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder
Forcer ideyal la brital nan relasyon sèks yo

Karakteristik prensipal la nan platfòm sa a se pri ki ba pou chak zanmi. Yon konyensidans de glise se ase epi ou deja kominike ak yon moun ki kapab enteresan. Pwoblèm lan se ke dezekilib nan menm sèks mennen nan lefèt ke pifò ti fi yo pral gen plizyè douzèn alimèt chak jou. Sa vle di ke yo pral gen plis chans pa gen tan yo peye atansyon sou ou nan mitan lòt kandida.

Li byen klè ke platfòm la implique ti opòtinite pou evalye mond enteryè gwo twou san fon an nan yon moun nan yon gade yon sèl ak yon dezyèm mwatye nan yon foto nan yon chòtdeben oswa kondwi yon machin tente alamòd. Se poutèt sa, si ou pa gade tou senpleman divin nan foto ou, ou pa gen okenn chwa men ogmante chans ou pa adopte. r-estrateji nan kèk espès. Senpleman mete, nou pral fòs brital ak pran nan volim ogmante chans nou yo nan siksè elvaj. Depi ou pafwa bezwen distrè pa manje ak dòmi, ak glise yo limite, ou pral pwobableman prefere ke automatisation chwazi ti fi yo oswa gason ki pi byen kostim gou ou. Kout wouj oswa femèl wo - se ou menm.

Kolekte done

Premye a tout, ou bezwen yon anpil nan done pou presizyon nòmal. Nenpòt moun ki te rankontre aprantisaj machin konnen ki jan difisil li kapab pou pwodwi yon seri done kòrèkteman kolekte epi make. Teyorikman, nenpòt resous ki sanble yo pral apwopriye kòm yon sous done, kit se Instagram oswa lòt rezo sosyal. Men, li pi bon pou fòme sou echantiyon sa yo sou ki rezo a pral travay nan tan kap vini an.

Ann pran depo a kòm yon baz Tinder Automatisation. Foto Tinder yo toujou disponib piblikman, men fonksyon "tankou" la deja limite. Se poutèt sa, li nesesè ekstrè tout bèt vivan nan reyon an epi ak anpil atansyon make yo. Premyèman, ou bezwen sèvi ak yon script jistis senp:

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)

Li pral pèmèt ou make dataset la pi vit posib ak jis de bouton. Pyèj kle a se nan lefèt ke bibliyotèk la werkzeug te kraze konpatibilite bak epi yo pral oblije fòse yo desann li. Sinon li voye erè sa a.

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'

Se poutèt sa, nan requirements.txt ou bezwen ekri Werkzeug==0.16.1. Lè sa a, li pral dekole.
Dezyèm pwoblèm nan se jwenn sa a trè siy. Metòd estanda ki soti nan depo a pa t 'travay pou mwen, men mwen jere jwenn li nan konsole pwomotè a. Pou fè sa, ale nan lyen epi ekstrè repons pou demann POST la nan www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Anndan nou chèche 'access_token'. Pou kèk rezon li pa t 'travay premye fwa a, men Lè sa a, mwen te jwenn li ak hardcoded li nan script la.

Kondisyon pou Dataset

Gen plizyè kondisyon kle pou seri done aprantisaj machin yo:

  1. Adekwat
  2. Inifòmite
  3. Varyete

Sifizans nan ka sa a mande pou pi piti 10000 foto pou konstwi yon bon modèl. Wi, sa anpil. Sa a se aktyèlman poukisa sèvis tankou Amazon Mechanical Turk, kote pou yon frè ou ka delege makè a nan seri done ou a bay lòt moun. Nan lòt men an, èske ou reyèlman vle bot ou a renmen bèl ti fi Azyatik lalin-fè fas oswa ti fi egalman bèl ak rasin Endyen? Toujou, modèl la ta dwe reflete gou ou.

Pa gen okenn pwoblèm patikilye ak varyete; tout foto yo prezante nan divès ang ak ekleraj. Nan linèt, abiye, chòtdeben ak kostim ski. Yon pwoblèm ka parèt ak inifòmite nan dataset la. Idealman, lè nou make echantiyon nou an, li ta dwe konpoze de pati apeprè egal. Si ou fini ak yon seri done "skewed", w ap oblije delye li ak foto ki soti nan lòt sous. Ou pral bezwen ajoute plis atire, oswa vis vèrsa, ou pral detèmine yo ki baze sou rezilta a make. Mwen te resevwa yon bagay alantou 60% bèl. Swa mwen pa twò serye, oswa mwen jis gen chans epi gen yon anpil nan bèl ti fi alantou.

Mwen menm mwen pa rabè ipotèz la ke gen anpil bot nan mitan yo. Nou fòme yon bot ki pral renmen lòt bot. Gen kèk iwoni nan sa a.

Done pwosesis

Nou gen yon pakèt foto tag, men yo trè melanje. Lajounen, lannwit, nan dèyè ak lòt moun. Avèk regrèt, mwen konprann ke ansèyman nan foto ki soti nan yon ang ranvèse pa pral patikilyèman efikas, paske echantiyon an pral trè inegal. Se poutèt sa, opsyon ki pi bon ta dwe sèvi ak figi kòm yon siy referans nan "bonite." Toujou, pou nou menm, menm jan pou lòt primat, sa a se yon paramèt kle.

Se poutèt sa, ann itilize Haar kaskad. Sa a se yon algorithm ekselan ki pèmèt ou jwenn figi nan imaj ak yon pousantaj ki ba nan erè fo pozitif.

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder
Sa a se dekri an plis detay nan manyèl la OpenCV

Nan pwochen etap la, apre sèlman figi yo nan echantiyon an, li fè sans yo retire koulè. An reyalite, ou pral diman gen yo chwazi ant bèl abitan ble Pandora a oswa bote nan po vèt.

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder
Sous

Nan moun Hue, koulè po pa fè yon kontribisyon enpòtan nan evalyasyon nan plus.
Se poutèt sa, li vo senplifye travay la nan rezo neral la epi kite sèlman gri.

Modèl bilding

Mwen vle di touswit ke san yon bon kat videyo ak CUDA, ou gen plis chans tou senpleman pa pral jwenn yon modèl ki resevwa fòmasyon nan bon jan tan. Se poutèt sa, imedyatman vize pou kalkil nan nwaj espesyalize oswa lè l sèvi avèk python-CUDA.

Mwen te pran yon egzanp debaz twa-kouch nan men otè a nan depo a, epi, etonan, li te montre yon presizyon nan alantou 72%, ki se byen yon bon rezilta.

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

Si gen yon echantiyon bon, Lè sa a, li ka byen ase pou jwenn yon modèl ki ka travay.

Ann lanse bot la

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder

Mèsi a otè a nan depo a pou yon opsyon pare-fè pou byen vit teste lide a. An reyalite, li travay byen byen nan vèsyon debaz la epi yo ka, nan prensip, dwe lanse sou nou an sèvè ki pare lwe. Li pa pral posib pou antrene ankò; nan moman sa a nou pa bay machin vityèl ak sipò CUDA pou kalkil, men ou ka kouri yon bagay 24/7 san okenn pwoblèm. Bot la se byen lejè, kidonk li ta pi pwofitab yo pran yon tarif ki peye pou resous yo itilize.

Jwenn

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder
Mwen devine mwen trè bèl. Apre sa, mwen gen yon mond rich enteryè. Mwen te resevwa yon bagay tankou 13 alimèt nan yon èdtan. Anplis, plizyè fwa ti fi yo te ekri an premye.
Kòm yon rezilta, nou te fini ak dyalòg trè bèl, kote mwen te di ke mwen te antre sèlman nan jwe ak aprantisaj machin ak etikèt done. Youn nan ti fi yo te trè enterese, depi li menm se yon pwomotè. Gen yon santiman fò ke li pral evantyèlman li pòs sa a sou Habré. Mwen vrèman espere ke Oksana ap kenbe anonimite mwen. 🙂
*vag paw epi li di bonjou

Yon ti kras sou bò etik nan pwoblèm nan

Yo dwe onèt, mwen pa renmen lide an antye nan robotize relasyon ant gason ak tifi. Gen yon bagay ki trè dwat sou voye jakèt ou sou zepòl yon etranje frèt ki kanpe pou kont li. Oswa apwoche yon bèl ti fi nan yon kafe ete epi bwè kafe ansanm. Soti nan dèyè monitè yo deja.

Ete se tout alantou. Li lè pou fè konesans.

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder

Ki jan yo ranmase 13 ti fi pou chak èdtan lè l sèvi avèk aprantisaj machin ak Tinder

Sous: www.habr.com

Add nouvo kòmantè