Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin

* Albatta, Mashinani o'rganishni o'rganish uchun. Sevimli xotinining biroz norozi nigohi ostida.

Tinder kabi orqa miya reflekslari darajasiga oddiy dastur yo'q. Uni ishlatish uchun faqat bir barmoq bilan surish va bir nechta neyronlar kerak bo'ladi va sizga eng yoqadigan qizlar yoki erkaklarni tanlash mumkin. Juftlikni tanlashda qo'pol kuchning ideal tarzda amalga oshirilishi.

Men bu yangi grafik kartada mashinani o'rganishni biroz his qilishning yaxshi usuli bo'lishiga qaror qildim. Faqat xotinimga menga yangi semiz ayol kerak emasligini tushuntirish qoladi va men shunchaki neyron tarmoqlarni o'rgatyapman.

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin

Tanishuv tarmoqlarida qanday muammo bor?

Bunday manba bor edi - Eshli Medison. Aniqrog‘i, “Umr qisqa. Oshiq bo'ling." Asosiy tomoshabin - bu yon tomonda ish qidirayotgan turmush qurgan erkaklar. Monetizatsiya ham qiziqarli - standart "yoqtirish va yozish uchun ballarni sarflash" dan tashqari, ular foydalanuvchi hisobini izsiz o'chirish uchun 19 dollar so'rashdi.

2015 yilda sayt tabiiy ravishda sizib chiqdi va 60 Gb shaxsiy ma'lumotlar jamoat mulkiga sizib chiqdi. Ko'plab vayron qilingan oilalardan tashqari, bu oqish tahlilchilarga juda ko'p qiziqarli ma'lumotlarni taqdim etdi. Men har doim tanishuv saytlarida ko'proq erkaklar borligiga shubha qilardim, ammo bu holda bu juda qiziq bo'lib chiqdi. Jurnalist Annali Nyuitz sizib chiqqan ma'lumotlarni tahlil qilish 5 million foydalanuvchidan atigi 12 000 nafari haqiqiy qiz akkauntlariga o'xshashligini va muntazam ravishda foydalanilganini aniqladi. Qolganlari shunchaki erkak tashrif buyuruvchilar bilan suhbatlashadigan botlar edi.

Erkak hisoblariga nisbatan bunday ustunlik nafaqat ushbu manba uchun, balki boshqa ko'plab tanishuv saytlari uchun ham xosdir. Ishonchim komilki, ko'pchilik bu shubhasiz adolatsiz vaziyatga duch keldi, qachonki siz tanishishni diqqat bilan rejalashtirishingiz kerak, lekin qiz faqat ro'yxatdan o'tishi kerak. Keling, ushbu muxlislar olomonining sifatini bir chetga surib qo'yaylik, lekin talab va taklif muvozanati qizlar foydasiga aniq siljishini inkor etib bo'lmaydi.

Tinder xususiyati

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin
Gender munosabatlaridagi ideal qo'pol kuch

Ushbu platformaning asosiy xususiyati - har bir tanish uchun arzon narx. Ikki marta surishning tasodifiyligi etarli va siz allaqachon potentsial qiziqarli odam bilan muloqot qilyapsiz. Muammo shundaki, bir xil gender nomutanosibligi qizlarning ko'pchiligi kuniga o'nlab o'yinlarga ega bo'lishiga olib keladi. Bu shuni anglatadiki, ular boshqa nomzodlar orasida sizga e'tibor berishga vaqtlari bo'lmaydi.

Ko'rinib turibdiki, platforma suzish kiyimidagi fotosuratga yoki zamonaviy rangli mashinani haydashga bir yarim soniya qarashda odamning chuqur ichki dunyosini baholash uchun kam imkoniyatni nazarda tutadi. Shuning uchun, agar siz fotosuratlaringizda shunchaki ilohiy ko'rinmasangiz, sizning imkoniyatingizni oshirishdan boshqa ilojingiz yo'q. r-strategiya ba'zi turlarda. Oddiy qilib aytganda, biz naslchilikda muvaffaqiyat qozonish imkoniyatini oshirish uchun qo'pol kuch ishlatamiz va hajmni olamiz. Siz ba'zan ovqat va uyqu bilan chalg'itishingiz kerakligi va surish cheklanganligi sababli, siz avtomatlashtirish sizning didingizga mos keladigan qizlar yoki erkaklarni tanlashni afzal ko'rasiz. Qisqa qizil sochlar yoki baland qoramag'izlar - bu sizga bog'liq.

Ma'lumotlarni yig'ish

Avvalo, normal aniqlik uchun sizga juda ko'p ma'lumotlar kerak. Mashinani o'rganishga duch kelgan har bir kishi to'g'ri to'plangan va etiketlangan ma'lumotlar to'plamini yaratish qanchalik qiyinligini biladi. Nazariy jihatdan, har qanday shunga o'xshash manba ma'lumotlar manbai sifatida mos keladi, xoh u Instagram yoki boshqa ijtimoiy tarmoqlar. Ammo kelajakda tarmoq ishlaydigan namunalar bo'yicha mashq qilish yaxshidir.

Keling, omborni asos qilib olaylik Tinder avtomatlashtirish. Tinder fotosuratlari har doim hamma uchun ochiq, ammo "yoqdi" funksiyasi allaqachon cheklangan. Shuning uchun radiusdagi barcha tirik mavjudotlarni ajratib olish va ularni diqqat bilan belgilash kerak. Avval siz juda oddiy skriptdan foydalanishingiz kerak:

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)

Bu sizga ikkita tugma yordamida ma'lumotlar to'plamini imkon qadar tezroq belgilash imkonini beradi. Asosiy muammo shundaki, werkzeug kutubxonasi orqaga qarab muvofiqlikni buzgan va uni pasaytirishga majbur bo'ladi. Aks holda, bu xatoni chiqaradi.

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'

Shuning uchun talablar.txt da Werkzeug==0.16.1 yozish kerak. Keyin u uchib ketadi.
Ikkinchi muammo - bu tokenni olish. Repozitariydan standart usul men uchun ishlamadi, lekin men uni ishlab chiquvchi konsolidan olishga muvaffaq bo'ldim. Buning uchun quyidagi manzilga o'ting aloqa va POST so'roviga javobni chiqarib oling www.facebook.com/v2.6/dialog/oauth/confirm?dpr=1. Ichkarida biz "access_token" ni qidiramiz. Negadir u birinchi marta ishlamadi, lekin keyin men uni topdim va uni skriptga qattiq kodladim.

Ma'lumotlar to'plamiga qo'yiladigan talablar

Mashinani o'rganish ma'lumotlar to'plami uchun bir nechta asosiy talablar mavjud:

  1. Adekvatlik
  2. Bir xillik
  3. Varete

Bunday holda, etarli modelni yaratish uchun kamida 10000 XNUMX ta fotosurat kerak bo'ladi. Ha, bu juda ko'p. Aynan shuning uchun xizmatlar yoqadi Amazon mexanik turk, bu erda haq evaziga ma'lumotlar to'plamini belgilashni boshqa odamlarga topshirishingiz mumkin. Boshqa tomondan, sizning botingiz ajoyib oy yuzli osiyolik qizlarni yoki hind ildizlari bilan teng darajada chiroyli qizlarni yoqtirishini xohlaysizmi? Shunga qaramay, model sizning ta'mingizni aks ettirishi kerak.

Xilma-xillik bilan bog'liq hech qanday muammo yo'q, barcha fotosuratlar turli burchak va yorug'lik bilan taqdim etiladi. Ko'zoynak, liboslar, mayo va chang'i kostyumlarida. Ma'lumotlar to'plamining bir xilligi bilan bog'liq muammo paydo bo'lishi mumkin. Ideal holda, namunamizni belgilaganimizda, u taxminan teng qismlardan iborat bo'lishi kerak. Agar siz "qiyshiq" ma'lumotlar to'plamiga ega bo'lsangiz, uni boshqa manbalardan olingan fotosuratlar bilan suyultirishingiz kerak bo'ladi. Siz yanada jozibali narsalarni qo'shishingiz kerak bo'ladi yoki aksincha, siz ularni belgilash natijasiga qarab aniqlaysiz. Menda 60% atrofida chiroyli narsa bor. Yo men unchalik tanlab olmayman, yoki men shunchaki omadliman va atrofda juda chiroyli qizlar bor.

Ular orasida juda ko'p botlar bor degan gipotezani ham rad etmayman. Biz boshqa botlarni yoqtiradigan botni tayyorlaymiz. Bunda qandaydir ironiya bor.

Ma'lumotni qayta ishlash

Bizda bir nechta teglangan fotosuratlar bor, lekin ular juda aralash. Kunduzgi, tungi, orqadan va boshqalar. Afsuski, fotosuratlardan teskari burchakdan o'rgatish unchalik samarali bo'lmasligini tushunaman, chunki namuna juda notekis bo'ladi. Shuning uchun, eng yaxshi variant yuzlarni "yoqimlilik" belgisi sifatida ishlatishdir. Shunga qaramay, biz uchun, boshqa primatlar kabi, bu asosiy parametrdir.

Shuning uchun, keling, foydalanaylik Haar kaskadlari. Bu noto'g'ri ijobiy xatolarning past foiziga ega bo'lgan suratlarda yuzlarni topishga imkon beruvchi ajoyib algoritm.

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin
Bu qo'llanmada batafsil tavsiflangan OpenCV

Keyingi bosqichda, namunada faqat yuzlar bo'lgandan so'ng, rangni olib tashlash mantiqan. Aslida, siz Pandoraning go'zal ko'k dengizi yoki yashil terili go'zalligi o'rtasida tanlov qilishingiz shart emas.

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin
manba

Hue odamlarida terining rangi jozibadorlik reytingiga sezilarli hissa qo'shmaydi.
Shuning uchun, neyron tarmog'ining ishini soddalashtirish va faqat kulrang rangni qoldirishga arziydi.

Model qurish

Darhol aytmoqchimanki, yaxshi video karta va CUDA bo'lmasa, siz etarli vaqt ichida o'qitilgan modelni olmaysiz. Shuning uchun, darhol ixtisoslashgan bulutlarda yoki python-CUDA-dan foydalanib hisob-kitoblarni maqsad qiling.

Men ombor muallifidan asosiy uch qatlamli misolni oldim va ajablanarlisi shundaki, u taxminan 72% aniqlikni ko'rsatdi, bu juda yaxshi natija.

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

Agar yaxshi namuna bo'lsa, unda ishlaydigan modelni olish etarli bo'lishi mumkin.

Keling, botni ishga tushiramiz

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin

G'oyani tezda sinab ko'rish uchun tayyor variant uchun ombor muallifiga rahmat. Aslida, u asosiy versiyada juda yaxshi ishlaydi va, qoida tariqasida, bizda ishga tushirilishi mumkin tayyor ijaraga olingan server. Hozircha mashq qilishning imkoni yo'q; hozirda biz hisob-kitoblar uchun CUDA-ni qo'llab-quvvatlaydigan virtual mashinalarni ta'minlamaymiz, ammo siz biron bir narsani 24/7 muammosiz ishlatishingiz mumkin. Bot juda engil, shuning uchun foydalanilgan resurslar uchun to'lanadigan tarifni olish foydaliroq bo'ladi.

Natijalar

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin
Men juda yoqimliman deb o'ylayman. Men esa boy ichki dunyoga egaman. Men bir soat ichida 13 ta gugurt oldim. Bundan tashqari, bir necha marta qizlar birinchi bo'lib yozishgan.
Natijada, biz juda yaxshi suhbatlar bilan yakunlandik, men u erda men faqat mashinani o'rganish va ma'lumotlarni etiketlash bilan o'ynash uchun kelganimni aytdim. Qizlardan biri juda qiziqdi, chunki u o'zi ishlab chiqaruvchi. U oxir-oqibat Habré-da ushbu postni o'qiydi degan kuchli tuyg'u bor. Men umid qilamanki, Oksana mening anonimligimni saqlab qoladi. 🙂
*panjasini silkitib, salom deydi

Masalaning axloqiy tomoni haqida bir oz

Rostini aytsam, men erkaklar va qizlar o'rtasidagi munosabatlarni robotlashtirish g'oyasini yoqtirmayman. Ko'ylagini yolg'iz turgan sovuq notanish odamning yelkasiga tashlashda juda to'g'ri narsa bor. Yoki yozgi kafeda go'zal qizga yaqinlashing va birga qahva iching. Allaqachon monitorlar ortidan chiqing.

Yoz hamma yoqda. Tanishish vaqti keldi.

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin

Mashinani o'rganish va Tinder yordamida soatiga 13 qizni qanday olish mumkin

Manba: www.habr.com

a Izoh qo'shish