Skip to content

Commit

Permalink
Replace source of knowledge
Browse files Browse the repository at this point in the history
More words per language.
  • Loading branch information
BenWiederhake committed Sep 19, 2018
1 parent 722d9f9 commit 0befd00
Show file tree
Hide file tree
Showing 10 changed files with 328 additions and 196 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Custom stuff
wortschatz-uni-leipzig-de/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
8 changes: 7 additions & 1 deletion LICENSE_PARTS
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
collected.json has been gathered from 1000mostcommonwords.com.
Text-corpora have been gathered from:
- Site: http://wortschatz.uni-leipzig.de/en/
- Paper:
D. Goldhahn, T. Eckart & U. Quasthoff: Building Large Monolingual Dictionaries at the Leipzig Corpora Collection: From 100 to 200 Languages.
In: Proceedings of the 8th International Language Ressources and Evaluation (LREC'12), 2012
- © 2018 Abteilung Automatische Sprachverarbeitung, Universität Leipzig.
- License: CC-BY 4.0

The Wikipedia texts are from Wikipedia, and are therefore licensed by various Creative Commons licenses.
66 changes: 66 additions & 0 deletions clean_wortschatz.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#!/usr/bin/env python3

from collections import defaultdict
import json
import os


WORTSCHATZ_DIR = 'wortschatz-uni-leipzig-de'


def read_words(filename):
with open(filename, 'r') as fp:
data = fp.read()
words = []
for (lineno, line) in enumerate(data.split('\n')):
if line == '':
continue
parts = line.split('\t')
assert len(parts) in {3, 4}, (filename, lineno, line)
words.extend(parts[1].split(' '))
return words


def clean_words(words):
cleaned_words = set()
for word in words:
word = ''.join(c for c in word.lower() if c.isalpha())
if 'http' in word or 'www' in word or word == '':
# Sigh.
continue
cleaned_words.add(word)
return list(cleaned_words)


def build_collected():
collected = dict()
for filename in os.listdir(WORTSCHATZ_DIR):
print(filename)
lang = filename.split('_')[0]
assert lang not in collected, lang
path = os.path.join(WORTSCHATZ_DIR, filename)
dirty_words = read_words(path)
cleaned_words = clean_words(dirty_words)
collected[lang] = cleaned_words
return collected


def digest_collected(collected):
digested = defaultdict(list)
for (lang, wordlist) in collected.items():
for word in wordlist:
digested[word].append(lang)
# When replacing, I would like to substitute a plain dict,
# and avoid constructing a defaultdict
return dict(digested)


def run():
collected = build_collected()
digested = digest_collected(collected)
with open('/tmp/digested.json', 'w') as fp:
json.dump(digested, fp, separators=(',', ':'), sort_keys=True)


if __name__ == '__main__':
run()
91 changes: 0 additions & 91 deletions collect.py

This file was deleted.

1 change: 0 additions & 1 deletion collected.json

This file was deleted.

28 changes: 5 additions & 23 deletions detect.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,15 @@

from collections import defaultdict
import json
import lzma


# == BEGIN REPLACE ==
# Do not touch the previous line.
# This part will be replaced by a constant. Essentially collected.json.
def load_data():
with lzma.open('digested.json.xz', 'rt') as fp:
return json.load(fp)

def digest_data():
"""
Load collected.json and parse it.
Only used when not auto-generated yet.
"""
with open('collected.json', 'r') as fp:
collected_raw = json.load(fp)
digested = defaultdict(list)
for (lang, wordlist) in collected_raw.items():
for word in wordlist:
digested[word].append(lang)
# When replacing, I would like to substitude a plain dict,
# and avoid constructing a defaultdict
return dict(digested)


COLLECTED_DIGESTED = digest_data()

# Do not touch the next line.
# == END REPLACE ==

COLLECTED_DIGESTED = load_data()
MIN_REQUIRED_CONFIDENCE = 0.01


Expand Down
Binary file added digested.json.xz
Binary file not shown.
124 changes: 66 additions & 58 deletions tests/nl.txt
Original file line number Diff line number Diff line change
@@ -1,58 +1,66 @@
Czy wiesz…

Z nowych i ostatnio rozbudowanych artykułów w Wikipedii:
Buyo Maru sinking.jpg
Diatrizoic acid.svg

…jak w 1943 roku zginęła część rozbitków z Buyō Maru (na zdjęciu)?

…dlaczego Duńczycy chcą zbudować najdłuższy tunel pod wodą?

…czego grenlandzkie chrząszcze szukają zimą w przeręblach?

…do czego medykom może posłużyć kwas diatrozowy (na grafice)?

…który włoski kardynał nakłaniał wiernych, by składali hojne dary żołnierzom walczącym przeciwko Turkom podczas odsieczy wiedeńskiej?
Propozycje do ekspozycji • Jak napisać nowy artykuł?
Wydarzenia

Mistrzostwa świata w piłce siatkowej mężczyzn • Rząd Marjana Šarca
Simon YatesSimon Yates

Brytyjczyk Simon Yates (na zdjęciu) (Mitchelton-Scott) zwyciężył w kolarskim wyścigu wieloetapowym Vuelta a España (16 września)
Podczas mityngu wielobojowego Decastar w Talence Francuz Kévin Mayer ustanowił wynikiem 9126 punktów rekord śwata w dziesięcioboju (16 września)
Kenijczyk Eliud Kipchoge zwyciężył w Maratonie Berlińskim, ustanawiając wynikiem 2:01:39 rekord śwata w biegu maratońskim (16 września)
Tomasz Ritter zdobył I nagrodę I Międzynarodowego Konkursu Chopinowskiego na Instrumentach Historycznych (13 września)
W rozgrywkach singlistów podczas wielkoszlemowego turnieju tenisowego US Open triumfowali: Japonka Naomi Ōsaka i Serb Novak Đoković (9 września)
Jocelyn Bell Burnell otrzymała nagrodę specjalną Special Breakthrough Prize in Fundamental Physics za odkrycie pulsarów (6 września)

Zmarli: Walter Mischel • Rachid Taha • István Géczi
Więcej…
Rocznice

17 września: imieniny obchodzą m.in.: Hildegarda, Robert i Zygmunta
Okrągłe, pięcioletnie rocznice:
Bruno JasieńskiBruno Jasieński
Nikołaj KondratiewNikołaj Kondratiew

1743 – urodził się markiz Nicolas de Condorcet, francuski filozof, ekonomista, matematyk i polityk; zajmując się teorią wyborów odkrył, nazwany jego imieniem, paradoks
1793 – Konwent Narodowy wydał dekret o podejrzanych, pieczę nad jego wykonaniem powierzając Komitetowi Bezpieczeństwa Powszechnego
1938 – w obiekcie specjalnym NKWD Kommunarka zostali rozstrzelani polski poeta Bruno Jasieński, autor głośnej powieści Palę Paryż, i rosyjski ekonomista Nikołaj Kondratiew, twórca teorii cykli koniunkturalnych (na fotografiach)
1943 – urodził się węgierski filozof, socjolog i politolog János Kis, współzałożyciel Związku Wolnych Demokratów
1973 – na emigracji zmarł historyk mediewista Oskar Halecki
1978 – w Camp David w obecności prezydenta Jimmy'ego Cartera premier Menachem Begin i prezydent Anwar as-Sadat podpisali porozumienie pokojowe pomiędzy Izraelem a Egiptem
16 września • Kalendarium dzień po dniu • 18 września

Artykuł na medal
Necropsittacus borbonicus.png
Papuga rodrigueska – gatunek wymarłego ptaka z rodziny papug wschodnich, endemicznego dla maskareńskiej wyspy Rodrigues. Nie jest jasne, z jakim gatunkiem była najbliżej spokrewniona, ale podobnie jak inne maskareńskie papugi umieszczana jest w plemieniu Psittaculini. Papuga rodrigueska miała zielone upierzenie, głowa i dziób były stosunkowo duże, zaś ogon długi. Dokładny jej rozmiar jest nieznany, możliwe, że osiągały około 50 cm długości. Była to największa papuga na wyspie Rodrigues, do tego miała największą głowę spośród wszystkich maskareńskich papug. Możliwe, że przypominały papugi wielkodziobe. Przed odkryciem odwiedzały również wysepki u południowych wybrzeży Rodrigues, które były wolne od szczurów; żywiły się nasionami krzewów Fernelia buxifolia. Gatunek znany jest z subfosylnych szczątków i doniesień z czasów historycznych. Po raz ostatni została wspomniana w 1761 roku i najprawdopodobniej wymarła niedługo potem, najpewniej wskutek drapieżnictwa ze strony szczurów, wycinki lasów i polowań. Czytaj więcej…
Inne artykuły na medal • Jak wybieramy najlepsze?
Dobry artykuł
Black stork (Ciconia nigra).jpg

Bocian czarny – gatunek dużego ptaka z rodziny bocianowatych. Szeroko rozprzestrzeniony, choć nieczęsty. Lęgnie się w rozproszonych lokacjach w Europie i Azji, na wschód po Ocean Spokojny. Bociany czarne podejmują długodystansowe migracje. Zimowiska populacji europejskiej ulokowane są w tropikalnych rejonach Afryki subsaharyjskiej, zaś populacji azjatyckiej na subkontynencie indyjskim. Podczas wędrówek z Europy do Afryki bociany omijają Morze Śródziemne i obierają trasę wiodącą przez kraje Lewantu (na wschodzie) lub Cieśninę Gibraltarską (na zachodzie). Izolowana osiadła populacja zamieszkuje Afrykę Południową. Po raz pierwszy bociana czarnego opisał Karol Linneusz w 10. edycji Systema Naturae. Przeciętna długość ciała tego ptaka wynosi 95–100 cm, rozpiętość skrzydeł natomiast 145–155 cm. Upierzenie w większości czarne z białym spodem ciała, wyróżniają się czerwone nogi i długi, ostro zakończony czerwony dziób. IUCN uznaje bociana czarnego za gatunek najmniejszej troski, choć jego status nie jest do końca pewny. Mimo szerokiego rozprzestrzenienia bocian czarny nigdzie nie jest liczny, a w części zasięgu jego liczebność zdaje się spadać. Czytaj więcej…
Inne dobre artykuły • Jak pisać w stylu encyklopedycznym?
Ilustracja na medal
2018 Duszniki-Zdrój, Rynek 8 3.jpg
Herb browaru w Dusznikach-Zdroju
Inne ilustracje na medal • Jak zilustrować artykuł?
Uitgelicht Etalage Over Wikipedia
Ötzi-gedenksteen op het Hauslabjoch

Ötzi
Ötzi is de naam die is gegeven aan de ijsmummie van een man uit de Kopertijd. Twee Duitse amateurbergbeklimmers vonden hem op 19 september 1991 in de Italiaanse Ötztaler Alpen. Hij is de oudste menselijke mummie die in Europa is gevonden. Bestudering van Ötzi, in het bijzonder zijn voeding, kleding, uitrusting en bewapening, heeft kennis opgeleverd over het leven in de nieuwe steentijd, 5300 jaar geleden. Vooral de koperen bijl die hij bij zich droeg is opmerkelijk. (Lees verder)

Nepenthes
Den Helder
Mount Pinatubo
Plesiosauria
Frederik Hendrik van Oranje
Adoptie
The Cats
Sedimentair gesteente


Wikipedia is een online encyclopedie die ernaar streeft inhoud te bieden die vrij herbruikbaar, objectief en verifieerbaar is. Het project is gebouwd op vijf zuilen. De Nederlandstalige versie startte op 19 juni 2001 en is, gemeten naar het aantal artikelen, met meer dan 1,9 miljoen artikelen de op vijf na grootste taalversie.

Iedereen kan direct online inhoud publiceren, met inachtneming van de basisregels zoals die met betrekking tot de neutraliteit van de inhoud. Er zijn veel hulppagina's beschikbaar. Er is ook een snelcursus voor nieuwe gebruikers, onder meer over het creëren of het bewerken van een artikel. Dingen uitproberen kan in de zandbak en zijn er toch nog vragen, dan kunnen die gesteld worden bij de helpdesk.
Wist je dat ... Afbeelding

Croissant

... korenmolen De Hoop in het Drentse Norg als enige molen in Nederland nog volledig is uitgerust met bilauwieken?
... de blauwe vinvis het hardste geluid maakt van alle dieren?
... de Belg Pierre Deligne als een van de weinigen drie van de meest prestigieuze wiskundeprijzen ter wereld heeft gewonnen, namelijk de Fieldsmedaille, de Abelprijs en de Wolfprijs?
... croissant in het Frans ook halve maan betekent, wat niet verwonderlijk is gezien de vorm van dit broodje?
... de elf spelers van het Boliviaans voetbalelftal op het eerste wereldkampioenschap elk een van de letters van de woorden "Viva Uruguay" ("leve Uruguay") op hun T-shirts droegen en daarmee in feite hun tegenstanders aanmoedigden?



Aron hakodesj en bima in de zogeheten Spaanse Synagoge in de Tsjechische hoofdstad Praag
Aron hakodesj en bima in de zogeheten Spaanse Synagoge in de Tsjechische hoofdstad Praag
Actueel Recent overleden

Afbeelding

Jemenitische burgeroorlog
De Jemenitische burgeroorlog is een conflict in Jemen dat begon op 19 maart 2015, voortkomend uit de onrust die volgde op de Jemenitische Revolutie in 2011–2012 die de regering van Saleh ten val bracht. Sindsdien kwamen de sjiitische Houthi's in opstand tegen de nieuwe, overwegend soennitische, regering van Al-Hadi en bezetten zij grote delen van Noord-Jemen, waaronder de hoofdstad Sanaa. De Houthi's kregen ook steeds openlijker steun van oud-president Saleh. Het kwam ten slotte tot een gewapend treffen tussen beide partijen, waarna een coalitie van soennitische Arabische landen onder leiding van Saoedi-Arabië intervenieerde ten gunste van Al-Hadi. (Lees verder)

18 sep Jean Piat (76), Frans acteur en schrijver
16 sep Big Jay McNeely (91), Amerikaans saxofonist
15 sep Dudley Sutton (85), Brits acteur
15 sep Clara Haesaert (95), Belgisch dichteres
14 sep Mels de Jong (86), Nederlands schrijver, psycholoog en vertaler
In het nieuws
18 sep Russisch militair vliegtuig neergeschoten
Een Russische militaire Iljoesjin Il-20 met aan boord 15 mensen wordt neergehaald voor de Syrische kust.

17 sep Orkaan Mangkhut trekt over Zuidoost-Azië
De orkaan Mangkhut trekt over de Filipijnen en de oostkust van China. Er vallen vele tientallen doden, vooral door aardverschuivingen.

14 sep Orkaan Florence bereikt VS
De orkaan Florence komt aan land in North Carolina. Er vallen zeker 35 doden.



19 september in de geschiedenis
1975 Fawlty Towers
Eerste uitzending van de televisieserie Fawlty Towers.

1982 :-)
Scott Fahlman introduceert het emoticon.

1985 Aardbeving Mexico
Mexico wordt getroffen door een aardbeving met een kracht van 8,1 op de schaal van Richter.
Loading

0 comments on commit 0befd00

Please sign in to comment.