89 lines
3.4 KiB
Python
89 lines
3.4 KiB
Python
#!/usr/bin/env python
|
|
# coding: utf-8
|
|
|
|
# In[1]:
|
|
|
|
|
|
# potrzebne importy
|
|
import random
|
|
from sklearn.metrics import accuracy_score
|
|
|
|
|
|
# In[2]:
|
|
|
|
|
|
# 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))
|
|
|
|
|
|
# In[3]:
|
|
|
|
|
|
#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']
|
|
|
|
|
|
# In[4]:
|
|
|
|
|
|
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")
|
|
|
|
|
|
# In[5]:
|
|
|
|
|
|
# check("dev-0\out.tsv", "dev-0\expected.tsv")
|
|
# check("dev-1\out.tsv", "dev-1\expected.tsv")
|
|
|