KWT-2024/lab/lab_09-10.ipynb
2024-05-30 16:26:42 +02:00

46 KiB
Raw Permalink Blame History

Logo 1

Komputerowe wspomaganie tłumaczenia

9,10. Web scraping [laboratoria]

Rafał Jaworski (2021)

Logo 2

Jak dobrze wiemy, w procesie wspomagania tłumaczenia oraz w zagadnieniach przetwarzania języka naturalnego ogromną rolę pełnią zasoby lingwistyczne. Należą do nich korpusy równoległe (pamięci tłumaczeń), korpusy jednojęzyczne oraz słowniki. Bywa, że zasoby te nie są dostępne dla języka, nad którym chcemy pracować.

W tej sytuacji jest jeszcze dla nas ratunek - możemy skorzystać z zasobów dostępnych publicznie w Internecie. Na dzisiejszych zajęciach przećwiczymy techniki pobierania tekstu ze stron internetowych.

Poniższy kod służy do ściągnięcia zawartości strony (w formacie HTML do zmiennej) oraz do wyszukania na tej stronie konkretnych elementów. Przed jego uruchomieniem należy zainstalować moduł BeautifulSoup: pip3 install beautifulsoup4

pip install playwright
/bin/bash: line 1: playwright: command not found
import requests
from bs4 import BeautifulSoup

url='https://epoznan.pl'

page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')

headers = soup.find_all('h3', {'class':'postItem__title'})

print('\n'.join([header.get_text() for header in headers]))
Lech przegrał Koroną. Na trybunach marsz żałobny i 'mamy k**** dość'
Warta Poznań po przegranej z Jagielonią Białystok spada do I ligi
Mieszkańcy skarżą się na właściciela samochodu, w którym notorycznie włącza się alarm. "Uprzykrza nam to życie!"
Śmiertelny wypadek w Wielkopolsce. Nie żyje młoda kobieta
Leśne Placówki Montessori
Na autostradzie samochód wpadł w poślizg i stanął w poprzek. Są spore utrudnienia
Wróciła plaga kradzieży katalizatorów. Zmora dla kierowców, którzy nie mogą garażować auta
Nowy basen w Kiekrzu? W tunelu wody przybyło po same kolana
Pierożki Dim Sum z Para Bar Rataje ze specjalną zniżką!
Fałszywy pożar w centrum Poznania. Kłęby dymu w kamienicy?
Uwaga. Utrudnienia na drodze i ograniczenie prędkości. Potrwa to około 5 godzin
Chcą pobić rekord w kręceniu lodów. Tona lodów w ciągu doby
Nowe Centrum Medyczne Bizpark już w sprzedaży. Znajdź idealny lokal pod swoją działalność medyczną
Rondo Obornickie: zderzenie samochodu z motocyklem. Poszkodowany został odwieziony do szpitala. Chwilowe utrudnienia
Policjanci publikują wizerunek i szukają tego mężczyzny
Grupa Stonewall będzie miała program na antenie TVP3 Poznań. "To będzie odtrutka na lata dezinformacji"
Ruszył remont ważnego mostu. Co z kłódkami zakochanych?
Mieszkaniec spotkał wilka w Poznaniu?
Włamanie do... lokomotywy
W nadwarciański krajobraz wpisały się... żurawie. "Jeden jest największy na świecie"
Robisz remont? Za to możesz słono zapłacić!
Agresywny mężczyzna zaatakował strażaków. Miał "dwa noże oraz gaz łzawiący"
Rower dla nastolatka - wyzwanie dla rodzica. MTB, Dirt czy BMX?
Wypadek z udziałem dziecka w Poznaniu
Ulewa nie przeszkadza studentom. Zabawa trwa!
Mąka musi zniknąć ze sklepowych półek. Masz ją w domu?
Wiatr zrywa dachy w Wielkopolsce. Strażacy odebrali już ponad 140 zgłoszeń
MPK Poznań testuje kolejny "wodorowiec". Wiadomo, na jakich liniach go spotkamy
Najnowsze trendy edukacyjne - żłobek, przedszkole i szkoła w OGRODZIE
Uszkodzona sieć trakcyjna. Pociągi notują duże opóźnienia!

Ćwiczenie 1: Napisz funkcję do pobierania nazw towarów z serwisu Ceneo.pl. Typ towaru, np. telewizor, pralka, laptop jest parametrem funkcji. Wystarczy pobierać dane z pierwszej strony wyników wyszukiwania.

!playwright install
/bin/bash: line 1: playwright: command not found
import requests
from bs4 import BeautifulSoup

def get_names(article_type):
    url=f'https://www.ceneo.pl/;szukaj-{article_type}'
    page = requests.get(url)
    soup = BeautifulSoup(page.content, 'html.parser')
    
    products = soup.find_all('strong', {'class':'cat-prod-row__name'})
    products = [products.get_text().strip() for products in products]
    #print(''.join([products.get_text() for products in products])) 
    return products
    
get_names("lodowka")
['Lodówka Bosch Serie 6 KGN39LBCF z zamrażalnikiem dolnym 203 cm Czarna',
 'Lodówka Bosch Serie 4 KGN392LCF z zamrażalnikiem dolnym 203 cm Srebrna',
 'Lodówka MPM 81-CJH-23/E jednodrzwiowa 122 cm Biała',
 'Lodówka Amica FK244.4X z zamrażalnikiem dolnym 144 cm Srebrna',
 'Lodówka MPM 182-KB-33/AA z zamrażalnikiem dolnym 142,2 cm Szara',
 'Lodówka Samsung Bespoke RB38C7B6AB1 z zamrażalnikiem dolnym 203 cm Czarna',
 'Lodówka Candy CCG1S 518EW z zamrażalnikiem dolnym 179,3 cm Biała',
 'Lodówka Samsung RB33B612FBN z zamrażalnikiem dolnym 185,3 cm Czarna',
 'Lodówka Bosch KGN36VI20 z zamrażalnikiem dolnym Srebrna',
 'Lodówka Beko RCSA300K40WN z zamrażalnikiem dolnym 181,3 cm Biała',
 'Lodówka Candy CCT3L517FW z zamrażalnikiem dolnym 176 cm Biała',
 'Lodówka LG GBB62SWGGN z zamrażalnikiem dolnym 203 cm Biała',
 'Lodówka LG GBP31DSLZN DoorCooling+ z zamrażalnikiem dolnym 186 cm Szara',
 'Lodówka Gorenje RF414EPS4 z zamrażalnikiem górnym 143,6 cm Szara',
 'Lodówka Vivax DD-207S z zamrażalnikiem górnym 143 cm Szara',
 'Lodówka MPM 324-KB-35/AA z zamrażalnikiem dolnym 185 cm Srebrna',
 'Lodówka Bosch Serie 4 KGN362WDF z zamrażalnikiem dolnym 186 cm Biała',
 'Lodówka Amica FD2015.4 z zamrażalnikiem górnym 122 cm Biała',
 'Lodówka Gorenje RK4182PS4 z zamrażalnikiem dolnym 180 cm Srebrna',
 'Lodówka Amica FM126.4(E) jednodrzwiowa 85 cm Biała',
 'Lodówka Hisense RB390N4BFC z zamrażalnikiem dolnym 186 cm Czarna',
 'Lodówka Gorenje R619EEW5 jednodrzwiowa 185 cm Biała',
 'Lodówka Bosch Seria 2 KGN33NLEB z zamrażalnikiem dolnym 176 cm',
 'Lodówka Beko TS190340N jednodrzwiowa 81,8 cm Biała',
 'Lodówka Beko RCSA270K40SN z zamrażalnikiem dolnym 170,8 cm Szara',
 'Lodówka Samsung RB33B612ESA z zamrażalnikiem dolnym 185,3 cm Srebrna',
 'Lodówka Polar POB601EW z zamrażalnikiem dolnym 159 cm Biała',
 'Lodówka Gorenje RK4181PW4 z zamrażalnikiem dolnym 180 cm Biała',
 'Lodówka MPM 108-KB-45 z zamrażalnikiem dolnym 114 cm Czarna',
 'Lodówka Sigma  BC-45 Czarny jednodrzwiowa 85 cm Czarna',
 'Lodówka MPM 215-KB-38/E z zamrażalnikiem dolnym 150 cm Biała']

W ten sposób pobieramy dane z jednej strony. Nic jednak nie stoi nam na przeszkodzie, aby zasymulować przełączanie stron.

Ćwiczenie 2: Zaobserwuj, jak zmienia się url strony podczas przechodzenia do kolejnych stron wyników wyszukiwania na Ceneo.pl. Wykorzystaj tę informację i uruchom funkcję get_names() na więcej niż jednej stronie wyników.

import requests
from bs4 import BeautifulSoup

def scrape_names(numer_of_categories):
    
    url=f'https://www.ceneo.pl'
    page = requests.get(url)
    soup = BeautifulSoup(page.content, 'html.parser')
    
    categories = soup.find_all('a', {'class':'cat-menu-item__link'})
    categories = [categories.get_text().strip() for categories in categories]
    products = []
    i = 0
    for category in categories:
        if i >= numer_of_categories:
            break
        products.append(get_names(category))
        i += 1
        
    return products

scrape_names(2)
[['Drukarka laserowa Brother HL-1222WE',
  'Drukarka laserowa Brother HL-1110E',
  'Brother DCP-1512E',
  'Brother MFC-L8690CDW',
  'Monitoring Domu 4 Kamery Ip DS-2DE2A204IW-DE3 PoE',
  'Vasco Translator V4 Stone Gray',
  'Imou - Zestaw Bezprzewodowego Monitoringu Wifi: 4 Kamery + Nvr Nvr1104Hs-W-S2/4-F22 (NVR1104HSWS24F22)',
  'Zestaw EasyCam Wi-Fi Kit/NVR4CH/4-3T3IR',
  'SJCAM A10 IP65 czarny',
  'Monitoring 8 Kamer 5 Mpx Zewnętrzne Dzień Noc Dysk',
  'Tapo Tp-Link C420S2 Kamera Do Monitoringu Zewnętrzna Wysoka Rozdzielczość 2K 180 Dni Pełnokolorowa Widoczność W Nocy Inteligentna Identyfikacja',
  'Samsung The Freestyle 2023 (SP-LFF3CLAXXXH)',
  'Ubiquiti Unifi Ai Dslr (UVCAIDSLR)',
  'Bosch UniversalBrush 06033E0000',
  'Karcher HD 5/15 C 1.520-930.0',
  'Tp Link Tapo C500',
  'Karcher SE 3-18 Compact Home 1.081-506.0',
  'Stihl Odkurzacz Na Sucho I Mokro Se 33',
  'Stanley Wet&Dry 1600W 30L SXVC30XTDE',
  'Optoma Uhd35X (E9PV7GL06EZ1)',
  'Karcher T 7/1 Classic 1.527-181.0',
  'Philips  Neopix 110 Czarny (NPX110INT)',
  'Karcher NT 22/1 Ap L 1.378-600.0',
  'Karcher HD 8/23 G Classic 1.187-012.0',
  'Karcher HD 5/15 C Plus 1.520-931.0',
  'Karcher WPD 50 Ws 1.024-405.0',
  'Karcher SE 3-18 Compact 1.081-500.0',
  'Texas Instruments Graficzny Ti-Nspire Cx',
  'Karcher Puzzi 10/1 1.100-130.0',
  'Bosch GAS 12-25 PL Professional 060197C100'],
 ['Casio DATABANK DBC-32D-1ADF',
  'Casio G-Shock GBD-200 -1ER',
  'Casio Edifice EFV-550P-1AVUEF',
  'G. GERLACH DYWIZJON 303',
  'Casio EFV-500D-1AVUEF',
  'ORIENT Mako Solar RA-TX0203S10B',
  'Zeppelin Ze-7640-1',
  'Tommy Hilfiger Watch Daniel 1710383',
  'Seiko 5 Snkd99K1',
  'Casio G-Shock GW-3000M-4AER',
  'Seiko 5 Automatic SNK357K1',
  'ZEGAREK SEIKO SPIRIT SBTQ045 CHRONO',
  'Orient Classic Automatic FAC00009N0',
  'Delbana  Retro Chronograph 426016726064',
  'Casio Sport AE-1200WHD-1A',
  'Michael Kors Ritz Mk6356',
  'Aviator AVW6975G354',
  'Casio Edifice EFV-C110D-1A4VEF',
  'Casio G-Shock GA-2100 -1A3ER',
  'Orient Mako III Automatic Raaa0004E19B',
  'Adriatica Super De Luxe A8331.1251Q',
  'Casio LTP-1215A',
  'G. GERLACH KOSMONAUTA 9823UNIW',
  'Casio VINTAGE A168WEGG-1BEF',
  'Seiko SSB385P1',
  'Zeppelin Atlantic 84623',
  'Casio MTP-M305M-1AVER',
  'Casio MTP-1302PD -3AVEF',
  'Casio MTP-1302PD -2A2VEF',
  'Guess GW0118L1']]

Technika pobierania treści z Internetu jest szczególnie efektywnym sposobem na pozyskiwanie dużych ilości tekstu. Poniższy fragment kodu służy do ściągnięcia całości tekstu ze strony.

import re

def get_text(url):

    page = requests.get(url)
    soup = BeautifulSoup(page.content, 'html.parser')

    # usunięcie elementów script i style
    for script in soup(["script", "style"]):
        script.extract()    # usuń element

    # pobierz tekst
    text = soup.get_text()

    # usuń wielokrotne białe znaki
    text = re.sub(r"\s+", " ", text)

    return(text)

Ćwiczenie 3: Napisz program do pobrania tekstu ze strony Wydziału Matematyki i Informatyki. Pobierz cały tekst ze strony głównej a następnie wyszukaj na tej stronie wszystkich linków wewnętrznych i pobierz tekst ze stron wskazywanych przez te linki. Nie zagłębiaj się już dalej.

import re
def scrape_wmi(x):
    

    url = "https://wmi.amu.edu.pl"

    page = requests.get(url)
    soup = BeautifulSoup(page.content, 'html.parser')

    links = set()
    link = ""
    
    for a in soup.find_all('a', href=True):
        link = a['href']
        if link[0] == '#' or 'mailto:' in link or 'tel:' in link:
            continue
        else:
            links.add(link)
    
    websites_text = []
    
    for link in links:
        websites_text.append(get_text(link))
    
    
    return websites_text[x]

scrape_wmi(1)
' RSS WMiI  Rada Samorządu Studentów Wydziału Matematyki i Informatyki Strona główna O nas Kontakt Studenci 1. roku BIP Starości Koła Naukowe WMiI Szukaj: Szukaj: Szukaj: RSS WMiI Rada Samorządu Studentów Wydziału Matematyki i Informatyki Facebook RSS WMiIInstagram RSS WMiI Przejdź do treści Strona główna O nas Kontakt Studenci 1. roku BIP Starości Koła Naukowe WMiI Szukaj: Szukaj: Szukaj: RSS WMiIRada Samorządu Studentów Wydziału Matematyki i Informatyki Previous Slide Next Slide Poznajmy się bliżej Kontakt Sprawdź! "Kontakt" O nas Sprawdź! "O nas" Studenci 1. roku Sprawdź! "Studenci 1. roku" Odwiedź również: Samorząd Studentów UAM Wydział Matematyki i Informatyki UAM Szukaj: Szukaj: Szybki kontakt: samorzad@wmi.amu.edu.pl pok. B-2, WMiI UAM, Uniwersytetu Poznańskiego 4, 61-614 Poznań Powrót na górę Facebook RSS WMiIInstagram RSS WMiI©2020 Samorząd WMIOparte na Anima & WordPress. Skip to content Open toolbar Dostępność witryny Zwiększ tekst Zmniejsz tekst Wysoki kontrast Negatywny kontrast Jasne tło Links Underline Czytelna czcionka Reset '

Omówione wyżej techniki działają również bardzo dobrze dla zasobów słownikowych.

Ćwiczenie 4: Pobierz jak najwięcej słów w języku albańskim z serwisu glosbe.com.

NIEOPTYMALNA_WERSJA = 0
# import requests
# from bs4 import BeautifulSoup

# def scrape_shqip():
#     ranges = [
#         "0-1000",
#         # "1000-2000",
#         # "2000-3000",
#         # "3000-4000",
#         # "4000-5000",
#         # "5000-6000"
#     ]
    
#     sq_words = []
#     url_main = "https://glosbe.com/topwords/en/sq/"
#     url_word = "https://glosbe.com/en/sq/"
#     for r in ranges:
#         url_main += r
#         page = requests.get(url_main)
#         soup = BeautifulSoup(page.content, 'html.parser')
#         categories = soup.find_all('li', {'class':'mb-4'})
#         categories = [categories.get_text().strip().partition('\n')[-1] for categories in categories]
#         for category in categories:
#             url_word += category
#             page = requests.get(url_word)
#             soup = BeautifulSoup(page.content, 'html.parser')
#             words = soup.find_all('h3', {'lang':'sq'})
#             words = [words.get_text().strip() for words in words]
#             sq_words.append(words)
    
#     return sq_words

# scrape_shqip()
import requests
from bs4 import BeautifulSoup

def scrape_shqip():
    ranges = [
        "0-1000",
        "1000-2000",
        "2000-3000",
        "3000-4000"
    ]
    
    sq_words = []
    url = "https://glosbe.com/topwords/sq/en/"
    for r in ranges:
        url += r
        page = requests.get(url)
        soup = BeautifulSoup(page.content, 'html.parser')
        words = soup.find_all('li', {'class':'mb-4'})
        words = [words.get_text().strip().partition('\n')[-1] for words in words]
        sq_words.append(words)
    
    return sq_words

scrape_shqip()
[['poezi',
  'ckemi',
  'gjuha angleze',
  'urime ditëlindjen',
  'shkruaj',
  'fjalë',
  'alfabeti',
  'si thuhet ... në anglisht',
  'lukthi i njeriut',
  'translate',
  'shqiptimi',
  'thana',
  'përralla',
  'ese',
  'histori e shkurtër',
  'rrofsh',
  'dallëndyshe',
  'dialog',
  'perkthe',
  'gjethe',
  'gëlqere',
  'pyetje',
  'ngjyra',
  'lexoj',
  'hurma',
  'lexim',
  'fjale të urta',
  'xixëllonjë',
  'ora',
  'fjali',
  'gramatika',
  'tregim',
  'iriqi',
  'tekst',
  'faleminderit',
  'kanella',
  'kartolinë',
  'përshkrim',
  'une te dua ty',
  'shprehje',
  'ftua',
  'kumbulla',
  'kalendari',
  'si je',
  'letër',
  'te dua',
  'shkrim',
  'kungull',
  'libri',
  'emër',
  'këmishë',
  'tema',
  'koha e tashme',
  'liber',
  'mënyra kushtore',
  'shega',
  'kafshë',
  'bisedë',
  'mëlçia',
  'niseshte',
  'borzilok',
  'bamje',
  'bajame',
  'lajthi',
  'vërtetim',
  'sa është ora?',
  'rrush',
  'kali',
  'shkronja',
  'miell',
  'histori',
  'urith',
  'Projekt',
  'lule',
  'uroj',
  'qershor',
  'majdanoz',
  'lidhëza',
  'teze',
  'Kurban Bajrami',
  'mjekësi',
  'Greqisht',
  'diagrami i Venit',
  'sharje',
  'kontratë',
  'gjel',
  'lepur',
  'gjizë',
  'ekonomik',
  'përshëndetje',
  'fjalëkalimi',
  'korrik',
  'presh',
  'struci',
  'panxhar',
  'kamarier',
  'syri',
  'veshje',
  'vjeshtë',
  'gështenjë',
  'grurë',
  'gaforre',
  'shkalla pohore',
  'byrek',
  'Hirushja',
  'mbiemër',
  'karkalec',
  'horoskopi',
  'ditar',
  'përshtatje',
  'shqiptim',
  'vizore',
  'midhje',
  'e bukur',
  'gjirafa',
  'kërmilli',
  'synet',
  'halla',
  'oxhak',
  'misri',
  'shkalla sipërore',
  'bletë',
  'intervistë',
  'dollap',
  'freskore',
  'ujk',
  'si jeni',
  'pershendetje',
  'Alfabeti Fonetik Ndërkombëtar',
  'hello',
  'molla',
  'tenxhere',
  'peshore',
  'ylberi',
  'kurve',
  'dreri',
  'ushqime',
  'fraza',
  'lakër',
  'detyra',
  'luaj',
  'balluke',
  'Bricjapi',
  'matematika',
  'skifter',
  'busull',
  'legjendë',
  'bollgur',
  'gramatikë',
  'breshkë',
  'dardhë',
  'Peshorja',
  'biçikleta',
  'lemza',
  '-a',
  'po',
  'Turqisht',
  'mësim',
  'lopa',
  'mikroprocesor',
  'shtepi',
  'zorrë',
  'lakuriq nate',
  'ketri',
  'dashuri',
  'komunikimi',
  'dua',
  'ju bëftë mirë',
  'karafil',
  'mushkonja',
  'akronim',
  'qofte',
  'shprehje e kushtëzuar',
  'skuth',
  'mami',
  'heteroseksual',
  'syze',
  'mut',
  'mënyra urdhërore',
  'une',
  'raki',
  'zemër',
  'qukapik',
  'qepë',
  'fjalëkryq',
  'folje',
  'diell',
  'status',
  'zanore',
  'me',
  'Prezantimi i imazhit',
  'macja',
  'vishnjë',
  'shkronjë',
  'peshqir',
  'zemer',
  'bukur',
  'dafina',
  'anglisht',
  'lejleku',
  'Borbardha',
  'hunda',
  'gomari',
  'shkalla krahasore',
  'shkolla',
  'mesazhimi me tekst',
  'zonjushë',
  'deti',
  'ëmbëlsirë',
  'shqip',
  'te lutem',
  'buzëqeshje',
  'luleradhiqe',
  'kar',
  'perëndim',
  'pëllumb',
  'paragraf',
  'qimnon',
  'tradhtar',
  'piçkë',
  'veshi',
  'polonisht',
  'babi',
  'gjuha norvegjeze',
  'gomar',
  'vajzë',
  'xhuxh',
  'lista e kafshëve të egra',
  'mërzitur',
  'Shigjetari',
  'lukth',
  'papagall',
  'mirupafshim',
  'shkallë',
  'data e lindjes',
  'nxënës',
  'fruth',
  'fletore',
  'a',
  'ku je',
  'shkronja e njësisë',
  'vepër',
  'xhamia',
  'gjuha latine',
  'kec',
  'bizele',
  'këmisha',
  'mirëmëngjes',
  'reputacion',
  'vajguri',
  'dhuna',
  'shegë',
  'kapele',
  'xinxife',
  'portofol',
  'ngjarje',
  'katror',
  'qeni',
  'pranverë',
  'spec',
  'dele',
  'pllakat',
  'ekzemplar',
  'fjalëkryqi',
  'dora',
  'fustan',
  'ckemi lalush',
  'mjellma',
  'fjalori',
  'numri personal i identifikimit',
  'zemra',
  'zorra',
  'mashtrues',
  'peshk',
  'volejboll',
  'folja',
  'thyesa',
  'shkronja të vogla',
  'përcjell',
  'bretkosë',
  'elbi',
  'fik',
  'xhup',
  'luledielli',
  'inxhinier',
  'manaferra',
  'ligji',
  'qershi',
  'nafta',
  'shall',
  'zog',
  'llokum',
  'uthull',
  'vetëm për lexim',
  'kopil',
  'gomë',
  'mirënjohje',
  'udhëtim',
  'qe',
  'te',
  'Dashi',
  'ftoi',
  'kur',
  'artikull',
  'mirdita',
  'fshati',
  'dogana',
  'urime',
  'pse',
  'krehër',
  'provim',
  'mandarinë',
  'love',
  'mënyra dëftore',
  'kulumbri',
  'zot',
  'breshër',
  'kërthizë',
  'shqiponjë',
  'makina',
  'rrugë të mbarë',
  'mbiemri',
  'anije me vela',
  'femër',
  'fejesa',
  'car',
  'pidhi',
  'latinisht',
  'anije',
  'ne',
  'sy',
  'gju',
  'Borëbardha',
  'roman',
  'flutur',
  'legjenda',
  'ylli',
  'mir',
  'kaprolli',
  'bashkëveprimi gravitacional',
  'përkëdhel',
  'e mërkurë',
  'noter',
  'vegla',
  'ngjyra e bardhë',
  'petull',
  'qirje',
  'dylbi',
  'dhelpra',
  'faqe',
  'ndikim',
  'Te kam xhan',
  'gjuha',
  'kërkesë',
  'mjaltë',
  'film',
  'gjuha bullgare',
  'shkruan',
  'pidh',
  'selino',
  'disa',
  'aeroplani',
  'përshesh',
  'antonimet',
  'mushkëri',
  'qëllim',
  'dyshek',
  'zogu',
  'mire',
  'mizë',
  'anglisht shqip',
  'vetulla',
  'mirmengjes',
  'blej',
  'bashkëpunim',
  'biznesi',
  'mashurka',
  'selam alejkum',
  'mbjell',
  'breshka',
  'hoxhë',
  'bajamet',
  'sorkadhe',
  'kastravec',
  'topi',
  'perde',
  'hudhër',
  'fasule',
  'fjalim',
  'buf',
  'neni',
  'ka',
  'shigjeta djathtas',
  'pasqyra',
  'mallkimi',
  'handikapat',
  'gjyshe',
  'shkronjë kapitale',
  'hekuri',
  'futboll',
  'vazo',
  'shpirti',
  'gjeli',
  'evidentim',
  'perralla',
  'perime',
  'krahasim',
  'lejlek',
  'uji',
  'mashtrim',
  'trëndafil',
  'ariu',
  'djali',
  'vullnet',
  'numër rendor',
  'gozhdë',
  'paqe',
  'abetare',
  'legen',
  'veta e tretë',
  'mësime',
  'dardha',
  'tavolinë',
  'amanet',
  'semiotika',
  'tavan',
  'ndaj',
  'kllapa gjarpërushe e majtë',
  'gjakmarrja',
  'rrip',
  'shumës',
  'hi',
  'Mesjeta',
  'ku',
  'emri',
  'ime',
  'shpirt',
  'jam',
  'kam',
  'Wikipedia',
  'Evropa e Mesme',
  'mish',
  'familja',
  'qen',
  'kamfuri',
  'qeparis',
  'elokuent',
  'gjatësia',
  'nuse',
  'doracak',
  'e enjte',
  'buke',
  'përdhunim',
  'kastraveci',
  'bredh',
  'çorape',
  'përrallë',
  'oborr',
  'vendim',
  'perimet',
  'edhe',
  'rrjetë',
  'ngrohtë',
  'troftë',
  'pjepër',
  'paragjykim',
  'atlete',
  'fruta',
  'shkollë',
  'bre',
  'feste',
  'rosa',
  'bashki',
  'autorizim',
  'aparat',
  'kufje',
  'shqiptarja',
  'rendur',
  'si',
  'Londra',
  'xhenxhefil',
  'skifteri i gjuetisë',
  'fjongo',
  'qukë',
  'mbretëreshë',
  'dhëndër',
  'ftesë',
  'çakmak',
  'shkumës',
  'komuna',
  'akullore',
  'ekonomist',
  'ylber',
  'puna mekanike',
  'pyll',
  'sot',
  'namazi',
  'vlerësoj',
  'hartim',
  'bukë',
  'tetor',
  'gëzuar ditëlindjen',
  'dorza',
  'përshkruaj',
  'agjërimi',
  'byth',
  'tavolina',
  'rroba',
  'fjalor',
  'pema',
  'famulltar',
  'buk',
  'byzylyk',
  'turp',
  'e',
  'alfabet',
  'makarona',
  'baba',
  'kuptimi',
  'jastëk',
  'grua',
  'nuk kuptoj',
  'ti',
  'pengesë',
  'Shenja e barazimit',
  'thonjëza të drejta',
  'budalla',
  'gjethe dafine',
  'cjap',
  'drita',
  'peshku',
  'shkurre',
  'afinitet',
  'pallat',
  'prandaj',
  'shiu acid',
  'mit',
  'me fal',
  'gjilpërë',
  'nga',
  "t'boftë mire",
  'muaji',
  'xhaxha',
  'pula',
  'dhimbje',
  'gjykatës',
  'qaj',
  'planet',
  'teknologji',
  'hajde',
  'delja',
  'vjeshta',
  'seks',
  'bufi',
  'avull',
  'qark',
  'ndajfolje',
  'Akrepi',
  'shembull',
  'hith',
  'degjoj',
  'odiseja',
  'litar',
  'ringjallja',
  'gjuha kroate',
  'koleg',
  'potassium',
  'pushtet',
  'karrige',
  'syri i keq',
  'xheloz',
  'Demi',
  'shkoj',
  'shkronjë e madhe',
  'sobë',
  'tigan',
  'jorgan',
  'ishte',
  'thënie',
  'tung',
  'i',
  'festa',
  'djathi',
  'shpif',
  'shoqe',
  'zjarrfikës',
  'fjala',
  'karrabisht',
  'mace',
  'truall',
  'dog',
  'Viti i Ri',
  'këpucë',
  'mbaj',
  'elb',
  'pordhë',
  'sporti',
  'tavëll duhani',
  'memec',
  'lekë',
  'gjeraqina',
  'lakra',
  'pantallona',
  'patate',
  'Ujori',
  'sjellje',
  'a flet anglisht',
  'sheqer',
  'moter',
  'per',
  'pus',
  'lapsi',
  'lakuriq',
  'entitet',
  'pershendetje si jeni',
  'unazë',
  'rreze dielli',
  'si quhesh',
  'kontabiliteti',
  'banakier',
  'bukuroshe',
  'nga jeni',
  'relievi',
  'raft',
  'buka',
  'Tekst i gatshëm',
  'dhuratë',
  'batanije',
  'gjobë',
  'kapela',
  'pendohem',
  'shqiponja',
  'integritet',
  'urim',
  'konkurs',
  'thyerja e fjalës',
  'shqip anglisht',
  'azot',
  'sëmundje',
  'pranvera',
  'thekra',
  'qiri',
  'bej',
  'i zgjuar',
  'Gaforrja',
  'dera',
  'mishi',
  'ngjer',
  'pije',
  'bark',
  'bilbil',
  'barometri',
  'xhezve',
  'shkrues letrash anonime',
  'do',
  'un',
  'timon',
  'shkurt',
  'krevat',
  'kryeqytet',
  'gjuha hebraike',
  'ide',
  'drejtkëndësh',
  'luleshtrydhe',
  'karrota',
  'Zvicra',
  'inati',
  'kafe',
  'shume',
  'kari',
  'lindje-jug-lindje',
  'zjarri',
  'mbylle gojën',
  'eshte',
  'ndryshk',
  'qanta',
  'gadishull',
  'lakmi',
  'ekskursion',
  'ethe',
  'fshesë me korent',
  'vera',
  'përemër vetor',
  'pune',
  'aplikoj',
  'pak',
  'gjuha e nënës',
  'varreza',
  'jeta',
  'fyerje',
  'sallam',
  'neser',
  'pranga',
  'kurvë',
  'gazetar',
  'gjuha serbe',
  'krokodili',
  'përveç',
  'raport',
  'motër',
  'mallkim',
  'lungë',
  'hallë',
  'Binjakët',
  'ishull',
  'psikologjik',
  'natyra',
  'serbishtja',
  'mjekër',
  'muaj',
  'gjuha e kompjuterit',
  'krushk',
  'i paditur',
  'mbështetje',
  'you',
  'tregoj',
  'përmbledhje',
  'qiqra',
  'papafingo',
  'lavaman',
  'profesioni',
  'kajsia',
  'fyell',
  'shtator',
  'nga je',
  'qese',
  'qesh',
  'abazhur',
  'gjak',
  'dajë',
  'fjalori i sinonimeve',
  'gjuha shqipe',
  'prodhim',
  'poezia',
  'trim',
  'iriq',
  'home',
  'fije',
  'shkak',
  'guxim',
  'durimi',
  'Prefektura',
  'gruaja',
  'zotëri',
  'A',
  'biznes',
  'gjuha turke',
  'dhe',
  'Kurani',
  'mama',
  'gjithashtu',
  'marr',
  'mare',
  'mjegull',
  'kërmill',
  'shpatë',
  'faturë',
  'cfar',
  'vajza',
  'gjymtyrë',
  'gabim',
  'drejt',
  'ngjyra vjollcë',
  'jo',
  'my',
  'un jam',
  'kukull',
  'kallëzuesi',
  'gjinekolog',
  'laps',
  'merimangë',
  'rrushi',
  'si zakonisht',
  'merimanga',
  'parashikim',
  'detyre shtepie',
  'nice',
  'alfabeti cirilik',
  'shishe',
  'telefon',
  'fshesë',
  'gjatë',
  'grifsha',
  'fjala kyçe',
  'ftoj',
  'kos',
  'leopardi',
  'gjithçka',
  'kryeartikull',
  'teknologjia',
  'e ardhmja',
  'miu',
  'betohem',
  'nip',
  'nje',
  'what',
  'Bukuroshja e Fjetur',
  'pallua',
  'nuk ka perse',
  'kokosh',
  'qelibar',
  'e premte',
  'idiot',
  'alergji',
  'mbrapa',
  'trupi',
  'për',
  'test',
  'majmun',
  'gjellë',
  'lopatë',
  'piktura',
  'portokalli',
  'ngjyrë',
  'mobilje',
  'këmba',
  'mund',
  'dashur',
  'arra',
  'buza',
  'yes',
  'qeliza',
  'peshkaqen',
  'veri-veri-lindje',
  'qafa',
  'perëndimi i diellit',
  'shesh',
  'gastare',
  'varëse',
  'abonohem',
  'i bukur',
  'temjan',
  'pjeshkë',
  'boronicë',
  'kokërr',
  'jetim',
  'suxhuk',
  'pata',
  'infermiere',
  'doreza e përmasimit',
  'dyqan',
  'qelb',
  'kush',
  'peshë',
  'kopësht',
  'kukuvajka',
  'jugu',
  'derri i egër',
  'shkop',
  'organo',
  'qift',
  'tigri',
  'tatim',
  'ari',
  'hendek',
  'shalqiri',
  'dielli',
  'stafidhe',
  'hakmarrje',
  'pica',
  'oktapod',
  'ë',
  'tradhti',
  'e hënë',
  'det',
  'maca',
  'shpesh',
  'kujtim',
  'zbokth',
  'jeta ime',
  'mali',
  'mall',
  'korbi',
  'dritare',
  'thekër',
  'karrocë',
  'spinaqi',
  'fat',
  'vjell',
  'rrufe',
  'mirëmbajtje',
  'ha',
  'vetëtima',
  'në',
  'qyqja',
  'shtog',
  'gri',
  'arkivol',
  'ushtrim',
  'lagje',
  'dëgjo',
  'dimri',
  'merr',
  'triko',
  'ngjyra e kuqe',
  'puthje',
  'nga e djathta në të majtë',
  'gjalp',
  'rafte',
  'injorant',
  'kapsolla',
  'nuselalë',
  'të dua',
  'leje',
  'detyrim',
  'drejtor',
  'shfrytëzoj',
  'flori',
  'shigjetë',
  'dashuria ime',
  'bimë',
  'punoi',
  'punoj',
  'maj',
  'qytet',
  'homogjen',
  'ndodhet',
  'presje',
  'pyetjet më të shpeshta',
  'Luani',
  'shmang',
  'nuk',
  'lakuriqi i natës',
  'vesh',
  'dreq',
  'sepse',
  'gjatësi',
  'kikirik',
  'lindje',
  'porosi',
  'libër',
  'qep',
  'kishte',
  'tavë',
  'sorra',
  'pranoj',
  'dush',
  'gatuaj',
  'bota',
  'forca elektromagnetike',
  'shi',
  'kuzhinë',
  'benzinë',
  'bumerang',
  'kuzhinier',
  'top',
  'si quheni',
  'dolli',
  'Sesa',
  'bujqësi',
  'loqe',
  'sytjena',
  'Microsoft PowerPoint Web App',
  'kuadër',
  'bibilush',
  'dafine',
  'kërshëria',
  'autobiografi',
  'qelbës',
  'kalendari gregorian',
  'hena',
  'nxit',
  'adresa e shtëpisë',
  'nishan',
  'avokat',
  'kocë',
  'mulli',
  'liqeni',
  'yll',
  'numrat',
  'rreth',
  'marramendje',
  'pengoj',
  'perëndimi',
  'shok',
  'takim',
  'ushtar',
  'lugë',
  'kopsht',
  'pendë',
  'hierarki',
  'bashkëjetesë',
  'tërmet',
  'mrekulli',
  'korrekt',
  'abrogim',
  'inat',
  'dosje',
  'vuaj',
  'qepa',
  'musht',
  'uriq',
  'pëllumbi',
  'menyja e kontekstit',
  'Britania e Madhe',
  'cfare',
  'mësimi',
  'subvencion',
  'analiza'],
 [],
 [],
 []]