Let's drink
This commit is contained in:
commit
48b4b9ab47
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Python
|
||||||
|
__pycache__
|
||||||
|
build
|
||||||
|
dist
|
||||||
|
prosecco.egg-info
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
*.iml
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Michal Szczepanski (michal@vane.pl)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
48
README.md
Normal file
48
README.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
nlp_engine
|
||||||
|
====
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Short, flexible and extendable NLP engine that can produce list of features
|
||||||
|
from text based on provided condtions.
|
||||||
|
I use it for
|
||||||
|
- word categorisation
|
||||||
|
- feature extraction
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone prosecco
|
||||||
|
python example.py
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
text = """Chrząszcz brzmi w trzcinie w Szczebrzeszynie.
|
||||||
|
Ząb zupa zębowa, dąb zupa dębowa.
|
||||||
|
Gdzie Rzym, gdzie Krym. W Pacanowie kozy kują.
|
||||||
|
Tak, jeśli mam szczęśliwy być, to w Gdańsku muszę żyć!
|
||||||
|
"""
|
||||||
|
|
||||||
|
cities = ["szczebrzeszyn", "pacanow", "gdansk", "rzym", "krym"]
|
||||||
|
conditions = []
|
||||||
|
# accept all
|
||||||
|
for city in cities:
|
||||||
|
conditions.append(Condition(lemma_type="city",
|
||||||
|
compare=city,
|
||||||
|
normalizer=CharsetNormalizer(Charset.PL_EN),
|
||||||
|
stemmer=WordStemmer(language="pl"),
|
||||||
|
lower=True))
|
||||||
|
# accept all
|
||||||
|
conditions.append(Condition(compare=r".*"))
|
||||||
|
|
||||||
|
tokenizer = LanguageTokenizer(Charset.PL)
|
||||||
|
tokens = tokenizer.tokenize(text)
|
||||||
|
visitor = Visitor(conditions=conditions)
|
||||||
|
lexer = Lexer(tokens=tokens, visitor=visitor)
|
||||||
|
lemmas = lexer.lex()
|
||||||
|
found_cities = filter(lambda l: l.type == 'city', lemmas)
|
||||||
|
print(" ".join(map(str, found_cities)))
|
||||||
|
```
|
||||||
|
|
||||||
|
## Output
|
||||||
|
`Szczebrzeszynie[city] Rzym[city] Krym[city] Pacanowie[city] Gdańsku[city]`
|
23
data/pl/bye.txt
Normal file
23
data/pl/bye.txt
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Do widzenia
|
||||||
|
dowidzenia
|
||||||
|
Dobranoc
|
||||||
|
Dobrej nocy
|
||||||
|
Do usłyszenia
|
||||||
|
Narka
|
||||||
|
Narta
|
||||||
|
Na razie
|
||||||
|
Narazie
|
||||||
|
Pa pa
|
||||||
|
papa
|
||||||
|
papapa
|
||||||
|
pa
|
||||||
|
Do zobaczenia
|
||||||
|
Dozo
|
||||||
|
Do jutra
|
||||||
|
Trzymaj się
|
||||||
|
3m sie
|
||||||
|
3maj sie
|
||||||
|
trzym sie
|
||||||
|
Z Bogiem
|
||||||
|
żegnaj
|
||||||
|
zegnaj
|
53
data/pl/hi.txt
Normal file
53
data/pl/hi.txt
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Cześć
|
||||||
|
Czesc
|
||||||
|
Cesc
|
||||||
|
Czołem
|
||||||
|
Czolem
|
||||||
|
Dzień dobry
|
||||||
|
Dzien dobry
|
||||||
|
Dobry wieczór
|
||||||
|
Dobry wieczor
|
||||||
|
Witam
|
||||||
|
Witamy
|
||||||
|
Witaj
|
||||||
|
powitac
|
||||||
|
powitać
|
||||||
|
Piątka
|
||||||
|
Piąteczka
|
||||||
|
Przybij piątkę
|
||||||
|
Żółwik
|
||||||
|
Kopę lat
|
||||||
|
Graba
|
||||||
|
Grabula
|
||||||
|
Witka
|
||||||
|
Strzała
|
||||||
|
Strzala
|
||||||
|
Joł
|
||||||
|
Jol
|
||||||
|
Sie masz
|
||||||
|
Siema
|
||||||
|
Sie ma
|
||||||
|
Siemka
|
||||||
|
Siemano
|
||||||
|
Siemandero
|
||||||
|
Szczęść Boże
|
||||||
|
Wszelki duch Pana Boga chwali
|
||||||
|
Niech będzie pochwalony
|
||||||
|
Elo
|
||||||
|
Hej
|
||||||
|
Serwus
|
||||||
|
dobry
|
||||||
|
pochwalony
|
||||||
|
ściema
|
||||||
|
jema
|
||||||
|
hejo
|
||||||
|
hejka
|
||||||
|
hejolek
|
||||||
|
Dziń dybry
|
||||||
|
Cze
|
||||||
|
heej
|
||||||
|
awe
|
||||||
|
ave
|
||||||
|
puk puk
|
||||||
|
kuku
|
||||||
|
heloł
|
47
data/pl/prefix.txt
Normal file
47
data/pl/prefix.txt
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
a
|
||||||
|
amfi
|
||||||
|
an
|
||||||
|
arcy
|
||||||
|
bez
|
||||||
|
chloro
|
||||||
|
choreo
|
||||||
|
co
|
||||||
|
daleko
|
||||||
|
de
|
||||||
|
do
|
||||||
|
dwu
|
||||||
|
e
|
||||||
|
hipo
|
||||||
|
hura
|
||||||
|
hurra
|
||||||
|
hydroksy
|
||||||
|
inter
|
||||||
|
ko
|
||||||
|
mega
|
||||||
|
meta
|
||||||
|
na
|
||||||
|
nad
|
||||||
|
naj
|
||||||
|
neo
|
||||||
|
nie
|
||||||
|
o
|
||||||
|
ob
|
||||||
|
od
|
||||||
|
około
|
||||||
|
per
|
||||||
|
post
|
||||||
|
prawo
|
||||||
|
prze
|
||||||
|
przeciw
|
||||||
|
przy
|
||||||
|
radio
|
||||||
|
re
|
||||||
|
równo
|
||||||
|
roz
|
||||||
|
samo
|
||||||
|
u
|
||||||
|
wiki
|
||||||
|
wpół
|
||||||
|
wy
|
||||||
|
wz
|
||||||
|
ze
|
45
data/pl/preposition.txt
Normal file
45
data/pl/preposition.txt
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
albo
|
||||||
|
bądź
|
||||||
|
bez
|
||||||
|
co
|
||||||
|
czy
|
||||||
|
dla
|
||||||
|
do
|
||||||
|
jako
|
||||||
|
k
|
||||||
|
ku
|
||||||
|
lub
|
||||||
|
między
|
||||||
|
mimo
|
||||||
|
na
|
||||||
|
nad
|
||||||
|
nade
|
||||||
|
o
|
||||||
|
obok
|
||||||
|
od
|
||||||
|
per
|
||||||
|
po
|
||||||
|
pod
|
||||||
|
pode
|
||||||
|
poza
|
||||||
|
prze
|
||||||
|
przed
|
||||||
|
przede
|
||||||
|
przez
|
||||||
|
przy
|
||||||
|
s
|
||||||
|
ś
|
||||||
|
spoza
|
||||||
|
spod
|
||||||
|
śród
|
||||||
|
u
|
||||||
|
w
|
||||||
|
we
|
||||||
|
wraz
|
||||||
|
wśród
|
||||||
|
z
|
||||||
|
za
|
||||||
|
ze
|
||||||
|
zez
|
||||||
|
znad
|
||||||
|
zza
|
298
data/pl/pronoun.txt
Normal file
298
data/pl/pronoun.txt
Normal file
@ -0,0 +1,298 @@
|
|||||||
|
ja
|
||||||
|
ty
|
||||||
|
on
|
||||||
|
ona
|
||||||
|
ono
|
||||||
|
my
|
||||||
|
wy
|
||||||
|
oni
|
||||||
|
one
|
||||||
|
mnie
|
||||||
|
mię
|
||||||
|
mi
|
||||||
|
mną
|
||||||
|
mnie
|
||||||
|
ciebie
|
||||||
|
cię
|
||||||
|
tobie
|
||||||
|
ci
|
||||||
|
tobą
|
||||||
|
jego
|
||||||
|
go
|
||||||
|
niego
|
||||||
|
jemu
|
||||||
|
mu
|
||||||
|
niemu
|
||||||
|
nim
|
||||||
|
jej
|
||||||
|
niej
|
||||||
|
ją
|
||||||
|
nią
|
||||||
|
nas
|
||||||
|
was
|
||||||
|
ich
|
||||||
|
nich
|
||||||
|
nimi
|
||||||
|
doń
|
||||||
|
zeń
|
||||||
|
nań
|
||||||
|
mój
|
||||||
|
twój
|
||||||
|
swój
|
||||||
|
mojego
|
||||||
|
mego
|
||||||
|
twojego
|
||||||
|
twego
|
||||||
|
swojego
|
||||||
|
swego
|
||||||
|
mojemu
|
||||||
|
memu
|
||||||
|
twojemu
|
||||||
|
twemu
|
||||||
|
swojemu
|
||||||
|
swemu
|
||||||
|
moim
|
||||||
|
mym
|
||||||
|
twoim
|
||||||
|
twym
|
||||||
|
swoim
|
||||||
|
swym
|
||||||
|
moja
|
||||||
|
ma
|
||||||
|
twoja
|
||||||
|
twa
|
||||||
|
swoja
|
||||||
|
swa
|
||||||
|
mojej
|
||||||
|
mej
|
||||||
|
twojej
|
||||||
|
twej
|
||||||
|
swojej
|
||||||
|
swej
|
||||||
|
moją
|
||||||
|
mą
|
||||||
|
twoją
|
||||||
|
twą
|
||||||
|
swoją
|
||||||
|
swą
|
||||||
|
moi
|
||||||
|
twoi
|
||||||
|
swoi
|
||||||
|
moje
|
||||||
|
me
|
||||||
|
twoje
|
||||||
|
twe
|
||||||
|
swoje
|
||||||
|
swe
|
||||||
|
moich
|
||||||
|
mych
|
||||||
|
twoich
|
||||||
|
twych
|
||||||
|
swoich
|
||||||
|
swych
|
||||||
|
moimi
|
||||||
|
mymi
|
||||||
|
twoimi
|
||||||
|
twymi
|
||||||
|
swoimi
|
||||||
|
swymi
|
||||||
|
nasz
|
||||||
|
wasz
|
||||||
|
naszego
|
||||||
|
waszego
|
||||||
|
naszemu
|
||||||
|
waszemu
|
||||||
|
naszym
|
||||||
|
waszym
|
||||||
|
nasza
|
||||||
|
wasza
|
||||||
|
naszej
|
||||||
|
waszej
|
||||||
|
naszą
|
||||||
|
waszą
|
||||||
|
nasze
|
||||||
|
wasze
|
||||||
|
naszego
|
||||||
|
waszego
|
||||||
|
nasi
|
||||||
|
wasi
|
||||||
|
naszymi
|
||||||
|
waszymi
|
||||||
|
naszych
|
||||||
|
waszych
|
||||||
|
czyj
|
||||||
|
niczyj
|
||||||
|
czyjego
|
||||||
|
niczyjego
|
||||||
|
czyjemu
|
||||||
|
niczyjemu
|
||||||
|
czyjego
|
||||||
|
niczyjego
|
||||||
|
czyim
|
||||||
|
niczyim
|
||||||
|
czyja
|
||||||
|
niczyja
|
||||||
|
czyjej
|
||||||
|
niczyjej
|
||||||
|
czyją
|
||||||
|
niczyją
|
||||||
|
czyje
|
||||||
|
niczyje
|
||||||
|
czyi
|
||||||
|
niczyi
|
||||||
|
czyich
|
||||||
|
niczyich
|
||||||
|
czyimi
|
||||||
|
niczyimi
|
||||||
|
czyjś
|
||||||
|
czyjemuś
|
||||||
|
czyjejś
|
||||||
|
czyjegoś
|
||||||
|
czyjkolwiek
|
||||||
|
czyjkomukolwiek
|
||||||
|
się
|
||||||
|
siebie
|
||||||
|
sobie
|
||||||
|
sobą
|
||||||
|
ten
|
||||||
|
tego
|
||||||
|
temu
|
||||||
|
tym
|
||||||
|
ta
|
||||||
|
tej
|
||||||
|
tą
|
||||||
|
tę
|
||||||
|
to
|
||||||
|
ci
|
||||||
|
te
|
||||||
|
tych
|
||||||
|
te
|
||||||
|
tymi
|
||||||
|
tamten
|
||||||
|
tamtego
|
||||||
|
tamtemu
|
||||||
|
tamtego
|
||||||
|
tamtym
|
||||||
|
tamta
|
||||||
|
tamtej
|
||||||
|
tamtą
|
||||||
|
tamto
|
||||||
|
tamtego
|
||||||
|
tamtemu
|
||||||
|
tamto
|
||||||
|
tamtym
|
||||||
|
tamci
|
||||||
|
tamte
|
||||||
|
tamtych
|
||||||
|
tamtym
|
||||||
|
tamtymi
|
||||||
|
tamtych
|
||||||
|
ów
|
||||||
|
owego
|
||||||
|
owemu
|
||||||
|
owym
|
||||||
|
owa
|
||||||
|
owej
|
||||||
|
ową
|
||||||
|
owo
|
||||||
|
owi
|
||||||
|
owe
|
||||||
|
owych
|
||||||
|
owymi
|
||||||
|
taki
|
||||||
|
takiego
|
||||||
|
takiemu
|
||||||
|
takim
|
||||||
|
taka
|
||||||
|
takiej
|
||||||
|
taką
|
||||||
|
takiej
|
||||||
|
takie
|
||||||
|
tacy
|
||||||
|
takich
|
||||||
|
takimi
|
||||||
|
tak
|
||||||
|
tu
|
||||||
|
tam
|
||||||
|
stąd
|
||||||
|
stamtąd
|
||||||
|
tędy
|
||||||
|
wtędy
|
||||||
|
kto
|
||||||
|
komu
|
||||||
|
kogo
|
||||||
|
kim
|
||||||
|
co
|
||||||
|
czego
|
||||||
|
czemu
|
||||||
|
czym
|
||||||
|
który
|
||||||
|
którego
|
||||||
|
któremu
|
||||||
|
którym
|
||||||
|
która
|
||||||
|
której
|
||||||
|
którą
|
||||||
|
które
|
||||||
|
którzy
|
||||||
|
których
|
||||||
|
którymi
|
||||||
|
jaki
|
||||||
|
jakiego
|
||||||
|
jakiemu
|
||||||
|
jakim
|
||||||
|
jakiej
|
||||||
|
jaką
|
||||||
|
jaka
|
||||||
|
jakie
|
||||||
|
jacy
|
||||||
|
jakich
|
||||||
|
jakimi
|
||||||
|
kiedy
|
||||||
|
gdzie
|
||||||
|
jak
|
||||||
|
którędy
|
||||||
|
skąd
|
||||||
|
dokąd
|
||||||
|
ile
|
||||||
|
każdy
|
||||||
|
każdego
|
||||||
|
każdemu
|
||||||
|
każdym
|
||||||
|
każda
|
||||||
|
każdej
|
||||||
|
każdą
|
||||||
|
każde
|
||||||
|
wszyscy
|
||||||
|
wszystkie
|
||||||
|
wszystkich
|
||||||
|
wszystkimi
|
||||||
|
wszystko
|
||||||
|
wszystkiego
|
||||||
|
wszystkiemu
|
||||||
|
wszystkim
|
||||||
|
nikt
|
||||||
|
nikogo
|
||||||
|
nikomu
|
||||||
|
nikim
|
||||||
|
nic
|
||||||
|
niczego
|
||||||
|
niczemu
|
||||||
|
niczym
|
||||||
|
żaden
|
||||||
|
żadna
|
||||||
|
żadne
|
||||||
|
żadni
|
||||||
|
żadnego
|
||||||
|
żadnej
|
||||||
|
żadnych
|
||||||
|
żadnemu
|
||||||
|
żadnym
|
||||||
|
żadną
|
||||||
|
żadną
|
||||||
|
żadnymi
|
||||||
|
nigdzie
|
||||||
|
nigdy
|
||||||
|
znikąd
|
||||||
|
donikąd
|
||||||
|
nijak
|
344
data/pl/stopwords.txt
Normal file
344
data/pl/stopwords.txt
Normal file
@ -0,0 +1,344 @@
|
|||||||
|
i
|
||||||
|
a
|
||||||
|
albo
|
||||||
|
bądź
|
||||||
|
bez
|
||||||
|
co
|
||||||
|
czy
|
||||||
|
dla
|
||||||
|
do
|
||||||
|
jako
|
||||||
|
ku
|
||||||
|
lub
|
||||||
|
między
|
||||||
|
mimo
|
||||||
|
na
|
||||||
|
nad
|
||||||
|
nade
|
||||||
|
o
|
||||||
|
obok
|
||||||
|
od
|
||||||
|
per
|
||||||
|
po
|
||||||
|
pod
|
||||||
|
pode
|
||||||
|
poza
|
||||||
|
prze
|
||||||
|
przed
|
||||||
|
przede
|
||||||
|
przez
|
||||||
|
przy
|
||||||
|
s
|
||||||
|
ś
|
||||||
|
spoza
|
||||||
|
spod
|
||||||
|
śród
|
||||||
|
u
|
||||||
|
w
|
||||||
|
we
|
||||||
|
wraz
|
||||||
|
wśród
|
||||||
|
z
|
||||||
|
za
|
||||||
|
ze
|
||||||
|
zez
|
||||||
|
znad
|
||||||
|
zza
|
||||||
|
ja
|
||||||
|
ty
|
||||||
|
on
|
||||||
|
ona
|
||||||
|
ono
|
||||||
|
my
|
||||||
|
wy
|
||||||
|
oni
|
||||||
|
one
|
||||||
|
mnie
|
||||||
|
mię
|
||||||
|
mi
|
||||||
|
mną
|
||||||
|
mnie
|
||||||
|
ciebie
|
||||||
|
cię
|
||||||
|
tobie
|
||||||
|
ci
|
||||||
|
tobą
|
||||||
|
jego
|
||||||
|
go
|
||||||
|
niego
|
||||||
|
jemu
|
||||||
|
mu
|
||||||
|
niemu
|
||||||
|
nim
|
||||||
|
jej
|
||||||
|
niej
|
||||||
|
ją
|
||||||
|
nią
|
||||||
|
nas
|
||||||
|
was
|
||||||
|
ich
|
||||||
|
nich
|
||||||
|
nimi
|
||||||
|
doń
|
||||||
|
zeń
|
||||||
|
nań
|
||||||
|
mój
|
||||||
|
twój
|
||||||
|
swój
|
||||||
|
mojego
|
||||||
|
mego
|
||||||
|
twojego
|
||||||
|
twego
|
||||||
|
swojego
|
||||||
|
swego
|
||||||
|
mojemu
|
||||||
|
memu
|
||||||
|
twojemu
|
||||||
|
twemu
|
||||||
|
swojemu
|
||||||
|
swemu
|
||||||
|
moim
|
||||||
|
mym
|
||||||
|
twoim
|
||||||
|
twym
|
||||||
|
swoim
|
||||||
|
swym
|
||||||
|
moja
|
||||||
|
ma
|
||||||
|
twoja
|
||||||
|
twa
|
||||||
|
swoja
|
||||||
|
swa
|
||||||
|
mojej
|
||||||
|
mej
|
||||||
|
twojej
|
||||||
|
twej
|
||||||
|
swojej
|
||||||
|
swej
|
||||||
|
moją
|
||||||
|
mą
|
||||||
|
twoją
|
||||||
|
twą
|
||||||
|
swoją
|
||||||
|
swą
|
||||||
|
moi
|
||||||
|
twoi
|
||||||
|
swoi
|
||||||
|
moje
|
||||||
|
me
|
||||||
|
twoje
|
||||||
|
twe
|
||||||
|
swoje
|
||||||
|
swe
|
||||||
|
moich
|
||||||
|
mych
|
||||||
|
twoich
|
||||||
|
twych
|
||||||
|
swoich
|
||||||
|
swych
|
||||||
|
moimi
|
||||||
|
mymi
|
||||||
|
twoimi
|
||||||
|
twymi
|
||||||
|
swoimi
|
||||||
|
swymi
|
||||||
|
nasz
|
||||||
|
wasz
|
||||||
|
naszego
|
||||||
|
waszego
|
||||||
|
naszemu
|
||||||
|
waszemu
|
||||||
|
naszym
|
||||||
|
waszym
|
||||||
|
nasza
|
||||||
|
wasza
|
||||||
|
naszej
|
||||||
|
waszej
|
||||||
|
naszą
|
||||||
|
waszą
|
||||||
|
nasze
|
||||||
|
wasze
|
||||||
|
naszego
|
||||||
|
waszego
|
||||||
|
nasi
|
||||||
|
wasi
|
||||||
|
naszymi
|
||||||
|
waszymi
|
||||||
|
naszych
|
||||||
|
waszych
|
||||||
|
czyj
|
||||||
|
niczyj
|
||||||
|
czyjego
|
||||||
|
niczyjego
|
||||||
|
czyjemu
|
||||||
|
niczyjemu
|
||||||
|
czyjego
|
||||||
|
niczyjego
|
||||||
|
czyim
|
||||||
|
niczyim
|
||||||
|
czyja
|
||||||
|
niczyja
|
||||||
|
czyjej
|
||||||
|
niczyjej
|
||||||
|
czyją
|
||||||
|
niczyją
|
||||||
|
czyje
|
||||||
|
niczyje
|
||||||
|
czyi
|
||||||
|
niczyi
|
||||||
|
czyich
|
||||||
|
niczyich
|
||||||
|
czyimi
|
||||||
|
niczyimi
|
||||||
|
czyjś
|
||||||
|
czyjemuś
|
||||||
|
czyjejś
|
||||||
|
czyjegoś
|
||||||
|
czyjkolwiek
|
||||||
|
czyjkomukolwiek
|
||||||
|
się
|
||||||
|
siebie
|
||||||
|
sobie
|
||||||
|
sobą
|
||||||
|
ten
|
||||||
|
tego
|
||||||
|
temu
|
||||||
|
tym
|
||||||
|
ta
|
||||||
|
tej
|
||||||
|
tą
|
||||||
|
tę
|
||||||
|
to
|
||||||
|
ci
|
||||||
|
te
|
||||||
|
tych
|
||||||
|
te
|
||||||
|
tymi
|
||||||
|
tamten
|
||||||
|
tamtego
|
||||||
|
tamtemu
|
||||||
|
tamtego
|
||||||
|
tamtym
|
||||||
|
tamta
|
||||||
|
tamtej
|
||||||
|
tamtą
|
||||||
|
tamto
|
||||||
|
tamtego
|
||||||
|
tamtemu
|
||||||
|
tamto
|
||||||
|
tamtym
|
||||||
|
tamci
|
||||||
|
tamte
|
||||||
|
tamtych
|
||||||
|
tamtym
|
||||||
|
tamtymi
|
||||||
|
tamtych
|
||||||
|
ów
|
||||||
|
owego
|
||||||
|
owemu
|
||||||
|
owym
|
||||||
|
owa
|
||||||
|
owej
|
||||||
|
ową
|
||||||
|
owo
|
||||||
|
owi
|
||||||
|
owe
|
||||||
|
owych
|
||||||
|
owymi
|
||||||
|
taki
|
||||||
|
takiego
|
||||||
|
takiemu
|
||||||
|
takim
|
||||||
|
taka
|
||||||
|
takiej
|
||||||
|
taką
|
||||||
|
takiej
|
||||||
|
takie
|
||||||
|
tacy
|
||||||
|
takich
|
||||||
|
takimi
|
||||||
|
tak
|
||||||
|
tu
|
||||||
|
tam
|
||||||
|
stąd
|
||||||
|
stamtąd
|
||||||
|
tędy
|
||||||
|
wtędy
|
||||||
|
kto
|
||||||
|
komu
|
||||||
|
kogo
|
||||||
|
kim
|
||||||
|
co
|
||||||
|
czego
|
||||||
|
czemu
|
||||||
|
czym
|
||||||
|
który
|
||||||
|
którego
|
||||||
|
któremu
|
||||||
|
którym
|
||||||
|
która
|
||||||
|
której
|
||||||
|
którą
|
||||||
|
które
|
||||||
|
którzy
|
||||||
|
których
|
||||||
|
którymi
|
||||||
|
jaki
|
||||||
|
jakiego
|
||||||
|
jakiemu
|
||||||
|
jakim
|
||||||
|
jakiej
|
||||||
|
jaką
|
||||||
|
jaka
|
||||||
|
jakie
|
||||||
|
jacy
|
||||||
|
jakich
|
||||||
|
jakimi
|
||||||
|
kiedy
|
||||||
|
gdzie
|
||||||
|
jak
|
||||||
|
którędy
|
||||||
|
skąd
|
||||||
|
dokąd
|
||||||
|
ile
|
||||||
|
każdy
|
||||||
|
każdego
|
||||||
|
każdemu
|
||||||
|
każdym
|
||||||
|
każda
|
||||||
|
każdej
|
||||||
|
każdą
|
||||||
|
każde
|
||||||
|
wszyscy
|
||||||
|
wszystkie
|
||||||
|
wszystkich
|
||||||
|
wszystkimi
|
||||||
|
wszystko
|
||||||
|
wszystkiego
|
||||||
|
wszystkiemu
|
||||||
|
wszystkim
|
||||||
|
nikt
|
||||||
|
nikogo
|
||||||
|
nikomu
|
||||||
|
nikim
|
||||||
|
nic
|
||||||
|
niczego
|
||||||
|
niczemu
|
||||||
|
niczym
|
||||||
|
żaden
|
||||||
|
żadna
|
||||||
|
żadne
|
||||||
|
żadni
|
||||||
|
żadnego
|
||||||
|
żadnej
|
||||||
|
żadnych
|
||||||
|
żadnemu
|
||||||
|
żadnym
|
||||||
|
żadną
|
||||||
|
żadną
|
||||||
|
żadnymi
|
||||||
|
nigdzie
|
||||||
|
nigdy
|
||||||
|
znikąd
|
||||||
|
donikąd
|
||||||
|
nijak
|
117
data/pl/suffix.txt
Normal file
117
data/pl/suffix.txt
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
a
|
||||||
|
ą
|
||||||
|
ać
|
||||||
|
acz
|
||||||
|
ak
|
||||||
|
anie
|
||||||
|
anin
|
||||||
|
anka
|
||||||
|
ant
|
||||||
|
arka
|
||||||
|
arz
|
||||||
|
aszek
|
||||||
|
ątko
|
||||||
|
aty
|
||||||
|
awo
|
||||||
|
awy
|
||||||
|
ba
|
||||||
|
by
|
||||||
|
centryzm
|
||||||
|
cept
|
||||||
|
czyk
|
||||||
|
czyńca
|
||||||
|
e
|
||||||
|
ę
|
||||||
|
eć
|
||||||
|
ęcie
|
||||||
|
eczek
|
||||||
|
eczka
|
||||||
|
eczko
|
||||||
|
ek
|
||||||
|
el
|
||||||
|
enie
|
||||||
|
eńka
|
||||||
|
gnozja
|
||||||
|
graf
|
||||||
|
holizm
|
||||||
|
i
|
||||||
|
ik
|
||||||
|
in
|
||||||
|
ina
|
||||||
|
iny
|
||||||
|
isia
|
||||||
|
isko
|
||||||
|
iszek
|
||||||
|
iwo
|
||||||
|
izacja
|
||||||
|
izm
|
||||||
|
jad
|
||||||
|
ka
|
||||||
|
ko
|
||||||
|
kradztwo
|
||||||
|
letni
|
||||||
|
lit
|
||||||
|
liwy
|
||||||
|
lnia
|
||||||
|
lubny
|
||||||
|
mab
|
||||||
|
ń
|
||||||
|
naście
|
||||||
|
nauta
|
||||||
|
nia
|
||||||
|
nica
|
||||||
|
nik
|
||||||
|
ny
|
||||||
|
o
|
||||||
|
ość
|
||||||
|
ota
|
||||||
|
ów
|
||||||
|
owa
|
||||||
|
ówa
|
||||||
|
ować
|
||||||
|
owate
|
||||||
|
owce
|
||||||
|
owczyni
|
||||||
|
owicz
|
||||||
|
owiczka
|
||||||
|
owiec
|
||||||
|
ówka
|
||||||
|
ówna
|
||||||
|
owski
|
||||||
|
owy
|
||||||
|
pol
|
||||||
|
ś
|
||||||
|
ski
|
||||||
|
sko
|
||||||
|
stwo
|
||||||
|
twórczy
|
||||||
|
uchna
|
||||||
|
unia
|
||||||
|
unio
|
||||||
|
uś
|
||||||
|
usia
|
||||||
|
uszek
|
||||||
|
uszko
|
||||||
|
u
|
||||||
|
wieczny
|
||||||
|
wóz
|
||||||
|
yć
|
||||||
|
yk
|
||||||
|
yni
|
||||||
|
ysko
|
||||||
|
ysty
|
||||||
|
ystyczny
|
||||||
|
yzm
|
||||||
|
yzna
|
||||||
|
y
|
||||||
|
ż
|
||||||
|
że
|
||||||
|
żer
|
||||||
|
żerca
|
||||||
|
żerny
|
||||||
|
złotowy
|
||||||
|
ego
|
||||||
|
emu
|
||||||
|
ule
|
||||||
|
ół
|
||||||
|
ie
|
624
data/pl/swear.txt
Normal file
624
data/pl/swear.txt
Normal file
@ -0,0 +1,624 @@
|
|||||||
|
chuj
|
||||||
|
chuja
|
||||||
|
chujek
|
||||||
|
chuju
|
||||||
|
chujem
|
||||||
|
chujnia
|
||||||
|
chujowy
|
||||||
|
chujowa
|
||||||
|
chujowe
|
||||||
|
cipa
|
||||||
|
cipą
|
||||||
|
cipe
|
||||||
|
cipę
|
||||||
|
cipie
|
||||||
|
dojebać
|
||||||
|
dojebac
|
||||||
|
dojebie
|
||||||
|
dojebał
|
||||||
|
dojebal
|
||||||
|
dojebała
|
||||||
|
dojebala
|
||||||
|
dojebałem
|
||||||
|
dojebalem
|
||||||
|
dojebałam
|
||||||
|
dojebalam
|
||||||
|
dojebię
|
||||||
|
dojebie
|
||||||
|
dopieprzać
|
||||||
|
dopieprzac
|
||||||
|
dopierdalać
|
||||||
|
dopierdalac
|
||||||
|
dopierdala
|
||||||
|
dopierdalał
|
||||||
|
dopierdalal
|
||||||
|
dopierdalała
|
||||||
|
dopierdalala
|
||||||
|
dopierdoli
|
||||||
|
dopierdolił
|
||||||
|
dopierdolil
|
||||||
|
dopierdolę
|
||||||
|
dopierdole
|
||||||
|
dopierdoli
|
||||||
|
dopierdalający
|
||||||
|
dopierdalajacy
|
||||||
|
dopierdolić
|
||||||
|
dopierdolic
|
||||||
|
dupa
|
||||||
|
dupie
|
||||||
|
dupą
|
||||||
|
dupcia
|
||||||
|
dupeczka
|
||||||
|
dupy
|
||||||
|
dupe
|
||||||
|
huj
|
||||||
|
hujek
|
||||||
|
hujnia
|
||||||
|
huja
|
||||||
|
huje
|
||||||
|
hujem
|
||||||
|
huju
|
||||||
|
jebać
|
||||||
|
jebac
|
||||||
|
jebał
|
||||||
|
jebal
|
||||||
|
jebie
|
||||||
|
jebią
|
||||||
|
jebia
|
||||||
|
jebak
|
||||||
|
jebaka
|
||||||
|
jebal
|
||||||
|
jebał
|
||||||
|
jebany
|
||||||
|
jebane
|
||||||
|
jebanka
|
||||||
|
jebanko
|
||||||
|
jebankiem
|
||||||
|
jebanymi
|
||||||
|
jebana
|
||||||
|
jebanym
|
||||||
|
jebanej
|
||||||
|
jebaną
|
||||||
|
jebana
|
||||||
|
jebani
|
||||||
|
jebanych
|
||||||
|
jebanymi
|
||||||
|
jebcie
|
||||||
|
jebiący
|
||||||
|
jebiacy
|
||||||
|
jebiąca
|
||||||
|
jebiaca
|
||||||
|
jebiącego
|
||||||
|
jebiacego
|
||||||
|
jebiącej
|
||||||
|
jebiacej
|
||||||
|
jebia
|
||||||
|
jebią
|
||||||
|
jebie
|
||||||
|
jebię
|
||||||
|
jebliwy
|
||||||
|
jebnąć
|
||||||
|
jebnac
|
||||||
|
jebnąc
|
||||||
|
jebnać
|
||||||
|
jebnął
|
||||||
|
jebnal
|
||||||
|
jebną
|
||||||
|
jebna
|
||||||
|
jebnęła
|
||||||
|
jebnela
|
||||||
|
jebnie
|
||||||
|
jebnij
|
||||||
|
jebut
|
||||||
|
koorwa
|
||||||
|
kórwa
|
||||||
|
kurestwo
|
||||||
|
kurew
|
||||||
|
kurewski
|
||||||
|
kurewska
|
||||||
|
kurewskiej
|
||||||
|
kurewską
|
||||||
|
kurewska
|
||||||
|
kurewsko
|
||||||
|
kurewstwo
|
||||||
|
kurwa
|
||||||
|
kurwaa
|
||||||
|
kurwami
|
||||||
|
kurwą
|
||||||
|
kurwe
|
||||||
|
kurwę
|
||||||
|
kurwie
|
||||||
|
kurwiska
|
||||||
|
kurwo
|
||||||
|
kurwy
|
||||||
|
kurwach
|
||||||
|
kurwami
|
||||||
|
kurewski
|
||||||
|
kurwiarz
|
||||||
|
kurwiący
|
||||||
|
kurwica
|
||||||
|
kurwić
|
||||||
|
kurwic
|
||||||
|
kurwidołek
|
||||||
|
kurwik
|
||||||
|
kurwiki
|
||||||
|
kurwiszcze
|
||||||
|
kurwiszon
|
||||||
|
kurwiszona
|
||||||
|
kurwiszonem
|
||||||
|
kurwiszony
|
||||||
|
kutas
|
||||||
|
kutasa
|
||||||
|
kutasie
|
||||||
|
kutasem
|
||||||
|
kutasy
|
||||||
|
kutasów
|
||||||
|
kutasow
|
||||||
|
kutasach
|
||||||
|
kutasami
|
||||||
|
matkojebca
|
||||||
|
matkojebcy
|
||||||
|
matkojebcą
|
||||||
|
matkojebca
|
||||||
|
matkojebcami
|
||||||
|
matkojebcach
|
||||||
|
nabarłożyć
|
||||||
|
najebać
|
||||||
|
najebac
|
||||||
|
najebał
|
||||||
|
najebal
|
||||||
|
najebała
|
||||||
|
najebala
|
||||||
|
najebane
|
||||||
|
najebany
|
||||||
|
najebanł
|
||||||
|
najebana
|
||||||
|
najebie
|
||||||
|
najebię
|
||||||
|
najebia
|
||||||
|
naopierdalać
|
||||||
|
naopierdalac
|
||||||
|
naopierdalał
|
||||||
|
naopierdalal
|
||||||
|
naopierdalała
|
||||||
|
naopierdalala
|
||||||
|
naopierdalała
|
||||||
|
napierdalać
|
||||||
|
napierdalac
|
||||||
|
napierdalający
|
||||||
|
napierdalajacy
|
||||||
|
napierdolić
|
||||||
|
napierdolic
|
||||||
|
nawpierdalać
|
||||||
|
nawpierdalac
|
||||||
|
nawpierdalał
|
||||||
|
nawpierdalal
|
||||||
|
nawpierdalała
|
||||||
|
nawpierdalala
|
||||||
|
obsrywać
|
||||||
|
obsrywac
|
||||||
|
obsrywający
|
||||||
|
obsrywajacy
|
||||||
|
odpieprzać
|
||||||
|
odpieprzac
|
||||||
|
odpieprzy
|
||||||
|
odpieprzył
|
||||||
|
odpieprzyl
|
||||||
|
odpieprzyła
|
||||||
|
odpieprzyla
|
||||||
|
odpierdalać
|
||||||
|
odpierdalac
|
||||||
|
odpierdol
|
||||||
|
odpierdolił
|
||||||
|
odpierdolil
|
||||||
|
odpierdoliła
|
||||||
|
odpierdolila
|
||||||
|
odpierdoli
|
||||||
|
odpierdalający
|
||||||
|
odpierdalajacy
|
||||||
|
odpierdalająca
|
||||||
|
odpierdalajaca
|
||||||
|
odpierdolić
|
||||||
|
odpierdolic
|
||||||
|
odpierdoli
|
||||||
|
odpierdolił
|
||||||
|
opieprzający
|
||||||
|
opierdalać
|
||||||
|
opierdalac
|
||||||
|
opierdala
|
||||||
|
opierdalający
|
||||||
|
opierdalajacy
|
||||||
|
opierdol
|
||||||
|
opierdolić
|
||||||
|
opierdolic
|
||||||
|
opierdoli
|
||||||
|
opierdolą
|
||||||
|
opierdola
|
||||||
|
piczka
|
||||||
|
pieprznięty
|
||||||
|
pieprzniety
|
||||||
|
pieprzony
|
||||||
|
pierdel
|
||||||
|
pierdlu
|
||||||
|
pierdolą
|
||||||
|
pierdola
|
||||||
|
pierdolący
|
||||||
|
pierdolacy
|
||||||
|
pierdoląca
|
||||||
|
pierdolaca
|
||||||
|
pierdol
|
||||||
|
pierdole
|
||||||
|
pierdolenie
|
||||||
|
pierdoleniem
|
||||||
|
pierdoleniu
|
||||||
|
pierdolę
|
||||||
|
pierdolec
|
||||||
|
pierdola
|
||||||
|
pierdolą
|
||||||
|
pierdolić
|
||||||
|
pierdolicie
|
||||||
|
pierdolic
|
||||||
|
pierdolił
|
||||||
|
pierdolil
|
||||||
|
pierdoliła
|
||||||
|
pierdolila
|
||||||
|
pierdoli
|
||||||
|
pierdolnięty
|
||||||
|
pierdolniety
|
||||||
|
pierdolisz
|
||||||
|
pierdolnąć
|
||||||
|
pierdolnac
|
||||||
|
pierdolnął
|
||||||
|
pierdolnal
|
||||||
|
pierdolnęła
|
||||||
|
pierdolnela
|
||||||
|
pierdolnie
|
||||||
|
pierdolnięty
|
||||||
|
pierdolnij
|
||||||
|
pierdolnik
|
||||||
|
pierdolona
|
||||||
|
pierdolone
|
||||||
|
pierdolony
|
||||||
|
pierdołki
|
||||||
|
pierdzący
|
||||||
|
pierdzieć
|
||||||
|
pierdziec
|
||||||
|
pizda
|
||||||
|
pizdą
|
||||||
|
pizde
|
||||||
|
pizdę
|
||||||
|
piździe
|
||||||
|
pizdzie
|
||||||
|
pizdnąć
|
||||||
|
pizdnac
|
||||||
|
pizdu
|
||||||
|
podpierdalać
|
||||||
|
podpierdalac
|
||||||
|
podpierdala
|
||||||
|
podpierdalający
|
||||||
|
podpierdalajacy
|
||||||
|
podpierdolić
|
||||||
|
podpierdolic
|
||||||
|
podpierdoli
|
||||||
|
pojeb
|
||||||
|
pojeba
|
||||||
|
pojebami
|
||||||
|
pojebani
|
||||||
|
pojebanego
|
||||||
|
pojebanemu
|
||||||
|
pojebani
|
||||||
|
pojebany
|
||||||
|
pojebanych
|
||||||
|
pojebanym
|
||||||
|
pojebanymi
|
||||||
|
pojebem
|
||||||
|
pojebać
|
||||||
|
pojebac
|
||||||
|
pojebalo
|
||||||
|
popierdala
|
||||||
|
popierdalac
|
||||||
|
popierdalać
|
||||||
|
popierdolić
|
||||||
|
popierdolic
|
||||||
|
popierdoli
|
||||||
|
popierdolonego
|
||||||
|
popierdolonemu
|
||||||
|
popierdolonym
|
||||||
|
popierdolone
|
||||||
|
popierdoleni
|
||||||
|
popierdolony
|
||||||
|
porozpierdalać
|
||||||
|
porozpierdala
|
||||||
|
porozpierdalac
|
||||||
|
poruchac
|
||||||
|
poruchać
|
||||||
|
przejebać
|
||||||
|
przejebane
|
||||||
|
przejebac
|
||||||
|
przyjebali
|
||||||
|
przepierdalać
|
||||||
|
przepierdalac
|
||||||
|
przepierdala
|
||||||
|
przepierdalający
|
||||||
|
przepierdalajacy
|
||||||
|
przepierdalająca
|
||||||
|
przepierdalajaca
|
||||||
|
przepierdolić
|
||||||
|
przepierdolic
|
||||||
|
przyjebać
|
||||||
|
przyjebac
|
||||||
|
przyjebie
|
||||||
|
przyjebała
|
||||||
|
przyjebala
|
||||||
|
przyjebał
|
||||||
|
przyjebal
|
||||||
|
przypieprzać
|
||||||
|
przypieprzac
|
||||||
|
przypieprzający
|
||||||
|
przypieprzajacy
|
||||||
|
przypieprzająca
|
||||||
|
przypieprzajaca
|
||||||
|
przypierdalać
|
||||||
|
przypierdalac
|
||||||
|
przypierdala
|
||||||
|
przypierdoli
|
||||||
|
przypierdalający
|
||||||
|
przypierdalajacy
|
||||||
|
przypierdolić
|
||||||
|
przypierdolic
|
||||||
|
qrwa
|
||||||
|
rozjebać
|
||||||
|
rozjebac
|
||||||
|
rozjebie
|
||||||
|
rozjebała
|
||||||
|
rozjebią
|
||||||
|
rozpierdalać
|
||||||
|
rozpierdalac
|
||||||
|
rozpierdala
|
||||||
|
rozpierdolić
|
||||||
|
rozpierdolic
|
||||||
|
rozpierdole
|
||||||
|
rozpierdoli
|
||||||
|
rozpierducha
|
||||||
|
skurwić
|
||||||
|
skurwiel
|
||||||
|
skurwiela
|
||||||
|
skurwielem
|
||||||
|
skurwielu
|
||||||
|
skurwysyn
|
||||||
|
skurwysynów
|
||||||
|
skurwysynow
|
||||||
|
skurwysyna
|
||||||
|
skurwysynem
|
||||||
|
skurwysynu
|
||||||
|
skurwysyny
|
||||||
|
skurwysyński
|
||||||
|
skurwysynski
|
||||||
|
skurwysyństwo
|
||||||
|
skurwysynstwo
|
||||||
|
spieprzać
|
||||||
|
spieprzac
|
||||||
|
spieprza
|
||||||
|
spieprzaj
|
||||||
|
spieprzajcie
|
||||||
|
spieprzają
|
||||||
|
spieprzaja
|
||||||
|
spieprzający
|
||||||
|
spieprzajacy
|
||||||
|
spieprzająca
|
||||||
|
spieprzajaca
|
||||||
|
spierdalać
|
||||||
|
spierdalac
|
||||||
|
spierdala
|
||||||
|
spierdalał
|
||||||
|
spierdalała
|
||||||
|
spierdalal
|
||||||
|
spierdalalcie
|
||||||
|
spierdalala
|
||||||
|
spierdalający
|
||||||
|
spierdalajacy
|
||||||
|
spierdolić
|
||||||
|
spierdolic
|
||||||
|
spierdoli
|
||||||
|
spierdoliła
|
||||||
|
spierdoliło
|
||||||
|
spierdolą
|
||||||
|
spierdola
|
||||||
|
srać
|
||||||
|
srac
|
||||||
|
srający
|
||||||
|
srajacy
|
||||||
|
srając
|
||||||
|
srajac
|
||||||
|
sraj
|
||||||
|
sukinsyn
|
||||||
|
sukinsyny
|
||||||
|
sukinsynom
|
||||||
|
sukinsynowi
|
||||||
|
sukinsynów
|
||||||
|
sukinsynow
|
||||||
|
śmierdziel
|
||||||
|
udupić
|
||||||
|
ujebać
|
||||||
|
ujebac
|
||||||
|
ujebał
|
||||||
|
ujebal
|
||||||
|
ujebana
|
||||||
|
ujebany
|
||||||
|
ujebie
|
||||||
|
ujebała
|
||||||
|
ujebala
|
||||||
|
upierdalać
|
||||||
|
upierdalac
|
||||||
|
upierdala
|
||||||
|
upierdoli
|
||||||
|
upierdolić
|
||||||
|
upierdolic
|
||||||
|
upierdoli
|
||||||
|
upierdolą
|
||||||
|
upierdola
|
||||||
|
upierdoleni
|
||||||
|
wjebać
|
||||||
|
wjebac
|
||||||
|
wjebie
|
||||||
|
wjebią
|
||||||
|
wjebia
|
||||||
|
wjebiemy
|
||||||
|
wjebiecie
|
||||||
|
wkurwiać
|
||||||
|
wkurwiac
|
||||||
|
wkurwi
|
||||||
|
wkurwia
|
||||||
|
wkurwiał
|
||||||
|
wkurwial
|
||||||
|
wkurwiający
|
||||||
|
wkurwiajacy
|
||||||
|
wkurwiająca
|
||||||
|
wkurwiajaca
|
||||||
|
wkurwić
|
||||||
|
wkurwic
|
||||||
|
wkurwi
|
||||||
|
wkurwiacie
|
||||||
|
wkurwiają
|
||||||
|
wkurwiali
|
||||||
|
wkurwią
|
||||||
|
wkurwia
|
||||||
|
wkurwimy
|
||||||
|
wkurwicie
|
||||||
|
wkurwiacie
|
||||||
|
wkurwić
|
||||||
|
wkurwic
|
||||||
|
wkurwia
|
||||||
|
wpierdalać
|
||||||
|
wpierdalac
|
||||||
|
wpierdalający
|
||||||
|
wpierdalajacy
|
||||||
|
wpierdol
|
||||||
|
wpierdolić
|
||||||
|
wpierdolic
|
||||||
|
wpizdu
|
||||||
|
wyjebać
|
||||||
|
wyjebac
|
||||||
|
wyjebali
|
||||||
|
wyjebał
|
||||||
|
wyjebac
|
||||||
|
wyjebała
|
||||||
|
wyjebały
|
||||||
|
wyjebie
|
||||||
|
wyjebią
|
||||||
|
wyjebia
|
||||||
|
wyjebiesz
|
||||||
|
wyjebie
|
||||||
|
wyjebiecie
|
||||||
|
wyjebiemy
|
||||||
|
wypieprzać
|
||||||
|
wypieprzac
|
||||||
|
wypieprza
|
||||||
|
wypieprzał
|
||||||
|
wypieprzal
|
||||||
|
wypieprzała
|
||||||
|
wypieprzala
|
||||||
|
wypieprzy
|
||||||
|
wypieprzyła
|
||||||
|
wypieprzyla
|
||||||
|
wypieprzył
|
||||||
|
wypieprzyl
|
||||||
|
wypierdal
|
||||||
|
wypierdalać
|
||||||
|
wypierdalac
|
||||||
|
wypierdala
|
||||||
|
wypierdalaj
|
||||||
|
wypierdalał
|
||||||
|
wypierdalal
|
||||||
|
wypierdalała
|
||||||
|
wypierdalala
|
||||||
|
wypierdalać
|
||||||
|
wypierdolić
|
||||||
|
wypierdolic
|
||||||
|
wypierdoli
|
||||||
|
wypierdolimy
|
||||||
|
wypierdolicie
|
||||||
|
wypierdolą
|
||||||
|
wypierdola
|
||||||
|
wypierdolili
|
||||||
|
wypierdolił
|
||||||
|
wypierdolil
|
||||||
|
wypierdoliła
|
||||||
|
wypierdolila
|
||||||
|
zajebać
|
||||||
|
zajebac
|
||||||
|
zajebie
|
||||||
|
zajebią
|
||||||
|
zajebia
|
||||||
|
zajebiał
|
||||||
|
zajebial
|
||||||
|
zajebała
|
||||||
|
zajebiala
|
||||||
|
zajebali
|
||||||
|
zajebana
|
||||||
|
zajebani
|
||||||
|
zajebane
|
||||||
|
zajebany
|
||||||
|
zajebanych
|
||||||
|
zajebanym
|
||||||
|
zajebanymi
|
||||||
|
zajebiste
|
||||||
|
zajebisty
|
||||||
|
zajebistych
|
||||||
|
zajebista
|
||||||
|
zajebistym
|
||||||
|
zajebistymi
|
||||||
|
zajebiście
|
||||||
|
zajebiscie
|
||||||
|
zapieprzyć
|
||||||
|
zapieprzyc
|
||||||
|
zapieprzy
|
||||||
|
zapieprzył
|
||||||
|
zapieprzyl
|
||||||
|
zapieprzyła
|
||||||
|
zapieprzyla
|
||||||
|
zapieprzą
|
||||||
|
zapieprza
|
||||||
|
zapieprzy
|
||||||
|
zapieprzymy
|
||||||
|
zapieprzycie
|
||||||
|
zapieprzysz
|
||||||
|
zapierdala
|
||||||
|
zapierdalać
|
||||||
|
zapierdalac
|
||||||
|
zapierdalaja
|
||||||
|
zapierdalał
|
||||||
|
zapierdalaj
|
||||||
|
zapierdalajcie
|
||||||
|
zapierdalała
|
||||||
|
zapierdalala
|
||||||
|
zapierdalali
|
||||||
|
zapierdalający
|
||||||
|
zapierdalajacy
|
||||||
|
zapierdolić
|
||||||
|
zapierdolic
|
||||||
|
zapierdoli
|
||||||
|
zapierdolił
|
||||||
|
zapierdolil
|
||||||
|
zapierdoliła
|
||||||
|
zapierdolila
|
||||||
|
zapierdolą
|
||||||
|
zapierdola
|
||||||
|
zapierniczać
|
||||||
|
zapierniczający
|
||||||
|
zasrać
|
||||||
|
zasranym
|
||||||
|
zasrywać
|
||||||
|
zasrywający
|
||||||
|
zesrywać
|
||||||
|
zesrywający
|
||||||
|
zjebać
|
||||||
|
zjebac
|
||||||
|
zjebał
|
||||||
|
zjebal
|
||||||
|
zjebała
|
||||||
|
zjebala
|
||||||
|
zjebana
|
||||||
|
zjebią
|
||||||
|
zjebali
|
||||||
|
zjeby
|
5
data/pl/thx.txt
Normal file
5
data/pl/thx.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
dziękuję
|
||||||
|
dzięki
|
||||||
|
dzienks
|
||||||
|
dzieki
|
||||||
|
dziekuje
|
29
example.py
Normal file
29
example.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from prosecco import *
|
||||||
|
|
||||||
|
text = """Chrząszcz brzmi w trzcinie w Szczebrzeszynie.
|
||||||
|
Ząb zupa zębowa, dąb zupa dębowa.
|
||||||
|
Gdzie Rzym, gdzie Krym. W Pacanowie kozy kują.
|
||||||
|
Tak, jeśli mam szczęśliwy być, to w Gdańsku muszę żyć!
|
||||||
|
"""
|
||||||
|
|
||||||
|
cities = ["szczebrzeszyn", "pacanow", "gdansk", "rzym", "krym"]
|
||||||
|
conditions = []
|
||||||
|
# accept all
|
||||||
|
for city in cities:
|
||||||
|
conditions.append(Condition(lemma_type="city",
|
||||||
|
compare=city,
|
||||||
|
normalizer=CharsetNormalizer(Charset.PL_EN),
|
||||||
|
stemmer=WordStemmer(language="pl"),
|
||||||
|
lower=True))
|
||||||
|
# accept all
|
||||||
|
conditions.append(Condition(compare=r".*"))
|
||||||
|
|
||||||
|
tokenizer = LanguageTokenizer(Charset.PL)
|
||||||
|
tokens = tokenizer.tokenize(text)
|
||||||
|
visitor = Visitor(conditions=conditions)
|
||||||
|
lexer = Lexer(tokens=tokens, visitor=visitor)
|
||||||
|
lemmas = lexer.lex()
|
||||||
|
found_cities = filter(lambda l: l.type == 'city', lemmas)
|
||||||
|
print(" ".join(map(str, found_cities)))
|
183
prosecco.py
Normal file
183
prosecco.py
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Short, flexible and extendable NLP engine that can produce list of features from text based on provided condtions.
|
||||||
|
I use it for :
|
||||||
|
- word categorisation
|
||||||
|
- feature extraction
|
||||||
|
"""
|
||||||
|
__version__ = '0.0.1'
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
# -------------
|
||||||
|
# Charset
|
||||||
|
# -------------
|
||||||
|
class Charset:
|
||||||
|
"""
|
||||||
|
Provides information about character set for LanguageTokenizer
|
||||||
|
All other characters will be treet as single tokens
|
||||||
|
"""
|
||||||
|
EN = "qwertyuiopasdfghjklzxcvbnm1234567890"
|
||||||
|
PL = EN+'ęóąśłżźćń'
|
||||||
|
PL_EN = { "ę": "e", "ó": "o", "ą": "a", "ś": "s", "ł": "l", "ż": "z", "ź": "z", "ć": "c", "ń": "n", }
|
||||||
|
|
||||||
|
|
||||||
|
class CharsetNormalizer:
|
||||||
|
def __init__(self, charset):
|
||||||
|
self.charset = charset
|
||||||
|
|
||||||
|
def normalize(self, word):
|
||||||
|
out = ""
|
||||||
|
for c in word:
|
||||||
|
if c in self.charset:
|
||||||
|
if c.istitle():
|
||||||
|
c = self.charset[c].upper()
|
||||||
|
else:
|
||||||
|
c = self.charset[c]
|
||||||
|
out += c
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
# -------------
|
||||||
|
# Stemmer
|
||||||
|
# -------------
|
||||||
|
class WordStemmer:
|
||||||
|
"""
|
||||||
|
Base class for stemming words
|
||||||
|
Return tuple of stemmed outputs
|
||||||
|
"""
|
||||||
|
def __init__(self, language, path=None):
|
||||||
|
self.language = language
|
||||||
|
self.stemwords = ()
|
||||||
|
if path is None:
|
||||||
|
path = "data/{}/suffix.txt".format(language)
|
||||||
|
with open(path) as f:
|
||||||
|
# read file strip \n sort by length and save as tuple
|
||||||
|
w = [w.strip() for w in f.readlines()]
|
||||||
|
w.sort(key=len)
|
||||||
|
self.stemwords = tuple(w)
|
||||||
|
|
||||||
|
def stem(self, word):
|
||||||
|
stem_list = []
|
||||||
|
for s in self.stemwords:
|
||||||
|
if word.endswith(s):
|
||||||
|
stem_list.append(word[:-len(s)])
|
||||||
|
return tuple(stem_list)
|
||||||
|
|
||||||
|
|
||||||
|
# -------------
|
||||||
|
# Tokenzier
|
||||||
|
# -------------
|
||||||
|
class LanguageTokenizer:
|
||||||
|
"""Tokenize string of data to array of tokens"""
|
||||||
|
def __init__(self, charset):
|
||||||
|
self.charset = charset
|
||||||
|
|
||||||
|
def tokenize(self, text):
|
||||||
|
tokens = []
|
||||||
|
partial = ""
|
||||||
|
for c in text:
|
||||||
|
# pick
|
||||||
|
if c.lower() in self.charset:
|
||||||
|
partial += c
|
||||||
|
else:
|
||||||
|
if len(partial) > 0:
|
||||||
|
tokens.append(partial)
|
||||||
|
partial = ""
|
||||||
|
tokens.append(c)
|
||||||
|
return tokens
|
||||||
|
|
||||||
|
|
||||||
|
# -------------
|
||||||
|
# Lexer / Visitor
|
||||||
|
# -------------
|
||||||
|
class Visitor:
|
||||||
|
"""
|
||||||
|
Utility class for Lexer that use Condition class to check wheather
|
||||||
|
we add Lemma to Lexer output or process list of tokens further
|
||||||
|
"""
|
||||||
|
def __init__(self, conditions, empty=True, auto_space=True):
|
||||||
|
self.conditions = conditions
|
||||||
|
# empty lexer token list
|
||||||
|
self.empty = empty
|
||||||
|
self.auto_space = auto_space
|
||||||
|
self.lemma = None
|
||||||
|
|
||||||
|
def filter_space(self, data):
|
||||||
|
return list(filter(lambda x: x != " ", data))
|
||||||
|
|
||||||
|
def __contains__(self, item):
|
||||||
|
if self.auto_space:
|
||||||
|
data = self.filter_space(item)
|
||||||
|
sentence = " ".join(data)
|
||||||
|
else:
|
||||||
|
sentence = " ".join(item)
|
||||||
|
for condition in self.conditions:
|
||||||
|
if condition == sentence:
|
||||||
|
self.lemma = Lemma(type=condition.lemma_type, data=sentence)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
class Lexer:
|
||||||
|
"""
|
||||||
|
Converts list of tokens based on conditions in LexVisitor
|
||||||
|
"""
|
||||||
|
def __init__(self, tokens, visitor):
|
||||||
|
self.tokens = tokens
|
||||||
|
self.visitor = visitor
|
||||||
|
|
||||||
|
def lex(self):
|
||||||
|
lemma_list = []
|
||||||
|
token_list = []
|
||||||
|
for token in self.tokens:
|
||||||
|
token_list.append(token)
|
||||||
|
if token_list in self.visitor:
|
||||||
|
lemma_list.append(self.visitor.lemma)
|
||||||
|
if self.visitor.empty:
|
||||||
|
token_list = []
|
||||||
|
return lemma_list
|
||||||
|
|
||||||
|
|
||||||
|
# -------------
|
||||||
|
# Lemma
|
||||||
|
# -------------
|
||||||
|
|
||||||
|
class LemmaType:
|
||||||
|
SKIP = "skip"
|
||||||
|
KEY = "key"
|
||||||
|
|
||||||
|
class Lemma:
|
||||||
|
"""Base lemma class output for lexer"""
|
||||||
|
def __init__(self, type, data):
|
||||||
|
self.type = type
|
||||||
|
self.data = data
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "{}[{}]".format(self.data, self.type)
|
||||||
|
|
||||||
|
|
||||||
|
class Condition:
|
||||||
|
"""Base condition class contain compare statement"""
|
||||||
|
def __init__(self, lemma_type=LemmaType.SKIP, compare=None, normalizer=None, stemmer=None, lower=False):
|
||||||
|
self.lemma_type = lemma_type
|
||||||
|
self.lower = lower
|
||||||
|
self.compare = compare
|
||||||
|
self.normalizer = normalizer
|
||||||
|
self.stemmer = stemmer
|
||||||
|
|
||||||
|
def __eq__(self, data):
|
||||||
|
if self.lower:
|
||||||
|
data = data.lower()
|
||||||
|
if self.normalizer:
|
||||||
|
data = self.normalizer.normalize(data)
|
||||||
|
if self.stemmer:
|
||||||
|
words = self.stemmer.stem(data)
|
||||||
|
# we got list of words so compare if we found one
|
||||||
|
for word in words:
|
||||||
|
if word == self.compare:
|
||||||
|
return True
|
||||||
|
# regex comparasion
|
||||||
|
return re.match(self.compare, data)
|
28
setup.py
Normal file
28
setup.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
import prosecco
|
||||||
|
|
||||||
|
with open("README.md", "r") as fh:
|
||||||
|
long_description = fh.read()
|
||||||
|
|
||||||
|
setuptools.setup(
|
||||||
|
name="prosecco",
|
||||||
|
version=prosecco.__version__,
|
||||||
|
author="Michal Szczepanski",
|
||||||
|
author_email="michal@vane.pl",
|
||||||
|
description="Short, flexible and extendable NLP engine that can produce list of features from text based on provided condtions.",
|
||||||
|
long_description=long_description,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
license='MIT',
|
||||||
|
url="https://github.com/vane/prosecco",
|
||||||
|
packages=setuptools.find_packages(),
|
||||||
|
classifiers=[
|
||||||
|
"Programming Language :: Python :: 2",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
'License :: OSI Approved :: MIT License',
|
||||||
|
],
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user