petite-difference-challenge2/run.ipynb

5.6 KiB

# potrzebne importy
import random
from sklearn.metrics import accuracy_score
# funkcja wyszukiwarki
def search_engine(data_in, data_out):
    result = []
    with open (data_in, "r", encoding="UTF-8") as f:
        lines = f.readlines()
        
        for line in lines:
            man = 0
            woman = 0
            
            for word in man_dictionary:
                if word in line:
                    man += 1

            for word in woman_dictionary:
                if word in line:
                    woman += 1

            maximum = max(man, woman)

            if maximum == 0 or man == woman:
                rand = random.randint(0, 1)
                result.append(f"{rand}\n")
            elif maximum == man:
                result.append("1\n")
            elif maximum == woman:
                result.append("0\n")

    with open (data_out, "w", encoding="UTF-8") as output:
        output.writelines(result)

#funkcja sprawdzająca rezultaty
def check(result_path, expected_path):
    result = []
    expected = []
    with open(expected_path, "r", encoding='utf-8') as file:
        for line in file.readlines():
            expected.append(line.strip())
    with open(result_path, "r", encoding='utf-8') as file:
        for line in file.readlines():
            result.append(line.strip())
    print(accuracy_score(expected,result))
#słowniki
man_dictionary = ['samochód', 'auto', 'paliwo', 'paliwa', 'silnik', 'komputer', 'windows', 'pc', 'pad', 'gamepad', 'kierownica', 'opon', 'apple', 'samsung', 'system', 'sfd', 'kfd', 'elektroda', 'autocentrum',
                 'dobreprogramy', 'youtube', 'audi', 'bmw', 'mercedes', 'porsche', 'lamborghini', 'poszedłem', 'zrobiłem', 'byłem', 'pojechałem', 'zjadłem', 'widziałem', 'grałem', 'zagrałem', 'mecz', 'piłka', 'nożna',
                 'piłki', 'koszykówka', 'tenis', 'siłownia', 'biceps', 'triceps', 'hamulec', 'boisko', 'lech', 'legia', 'real', 'barcelona', 'borussia', 'bayern', 'stadion', 'piwo',
                 'wódka', 'whisky', 'whiskey', 'kieliszek', 'wóda', 'kac', 'piwko']

woman_dictionary = ['okres', 'miesiączka', 'miesiaczka', 'miesiączki', 'krwawienie', 'podpaska', 'podpaski', 'tampony', 'tampon', 'związek', 'związku', 'chłopak', 'mąż', 'miłość', 'ciąża', 'ciąży', 'ciążę', 'tabletki',
                   'antykoncepcyjne', 'antykoncepcja', 'hormony', 'dziecko', 'poród', 'rodzić', 'kuchnia', 'kuchnii', 'ciasto', 'przepis', 'rodzic', 'rodzice', 'ubranka', 'poszłam', 'zrobiłam', 'byłam', 'pojechałam', 'ugotowałam', 'zjadłam', 'szafa'
                   'fryzura', 'pomadka', 'błyszczyk', 'tusz', 'rzęsy', 'brwi', 'brązer', 'opalenizna', 'rozstępy', 'zerwanie', 'przeszłość', 'prostownica', 'suszarka', 'buty', 'sandałki', 'ginekolog'
                   'biustonosz', 'depilacja', 'bikini', 'włosy', 'pielęgnacja', 'samotność', 'kolczyki', 'lakier', 'lokówka', 'peeling', 'outfit', 'świece', 'podkład', 'makijaż', 'perfumy', 'kompleks', 'odżywka',
                   'sukienka', 'spódniczka', 'bielizna', 'rajstopy', 'wino']
search_engine("dev-0\in.tsv", "dev-0\out.tsv")
search_engine("dev-1\in.tsv", "dev-1\out.tsv")
search_engine("test-A\in.tsv", "test-A\out.tsv")
# check("dev-0\out.tsv", "dev-0\expected.tsv")
# check("dev-1\out.tsv", "dev-1\expected.tsv")
0.519051225657981
0.5157912212814324
!jupyter nbconvert --to script run.ipynb
[NbConvertApp] Converting notebook run.ipynb to script
[NbConvertApp] Writing 3371 bytes to run.py