nlp 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/dict/rid +63 -99
- data/lib/analyzer.rb +18 -7
- data/lib/lemmatizer.rb +108 -0
- data/lib/liwc_analyzer.rb +11 -0
- data/lib/rid_analyzer.rb +52 -0
- data/lib/stdlib/ext/string.rb +1 -1
- data/lib/takipi_web_service +0 -0
- data/lib/takipi_web_service.rb +51 -0
- data/lib/token_scanner.rb +6 -77
- metadata +9 -4
data/dict/rid
CHANGED
@@ -159,7 +159,7 @@ PIERWOTNE
|
|
159
159
|
sherry
|
160
160
|
skubać
|
161
161
|
ślina
|
162
|
-
ślinić
|
162
|
+
ślinić
|
163
163
|
Smacznego
|
164
164
|
smoczek
|
165
165
|
śniadanie
|
@@ -168,7 +168,7 @@ PIERWOTNE
|
|
168
168
|
sos
|
169
169
|
spożywać
|
170
170
|
spragniony
|
171
|
-
|
171
|
+
spożywczy
|
172
172
|
ssać
|
173
173
|
strawić
|
174
174
|
surowo
|
@@ -231,10 +231,11 @@ PIERWOTNE
|
|
231
231
|
bźdić
|
232
232
|
bździna
|
233
233
|
cuchnący
|
234
|
-
cztery litery
|
235
234
|
defakacja
|
236
235
|
dupa
|
237
|
-
dupek
|
236
|
+
dupek
|
237
|
+
dupsko
|
238
|
+
enema
|
238
239
|
fetor
|
239
240
|
gazy
|
240
241
|
gnić
|
@@ -246,7 +247,6 @@ PIERWOTNE
|
|
246
247
|
gówno
|
247
248
|
jelito
|
248
249
|
kał
|
249
|
-
kał
|
250
250
|
kanalizacja
|
251
251
|
kloaka
|
252
252
|
kupa
|
@@ -262,7 +262,6 @@ PIERWOTNE
|
|
262
262
|
nieczystość
|
263
263
|
nieczystości
|
264
264
|
nieczysty
|
265
|
-
nieczysty
|
266
265
|
nieumyty
|
267
266
|
niporządek
|
268
267
|
obleśny
|
@@ -270,7 +269,6 @@ PIERWOTNE
|
|
270
269
|
obrzydzenie
|
271
270
|
obstrukcja
|
272
271
|
odbyt
|
273
|
-
odbyt
|
274
272
|
odbytnica
|
275
273
|
odchody
|
276
274
|
odraza
|
@@ -283,7 +281,7 @@ PIERWOTNE
|
|
283
281
|
pośladek
|
284
282
|
pot
|
285
283
|
przeczyszczenie
|
286
|
-
psuć
|
284
|
+
psuć
|
287
285
|
pupa
|
288
286
|
robaczywy
|
289
287
|
rozkładający się
|
@@ -333,7 +331,6 @@ PIERWOTNE
|
|
333
331
|
amant
|
334
332
|
amorek
|
335
333
|
bezwstydny
|
336
|
-
bezwstydny
|
337
334
|
burdel
|
338
335
|
chuć
|
339
336
|
ciąża
|
@@ -342,8 +339,7 @@ PIERWOTNE
|
|
342
339
|
cudzołóstwo
|
343
340
|
cudzołożnik
|
344
341
|
cudzołożyć
|
345
|
-
czulić
|
346
|
-
dom publiczny
|
342
|
+
czulić
|
347
343
|
dziwka
|
348
344
|
ejakulat
|
349
345
|
erotyczny
|
@@ -385,7 +381,7 @@ PIERWOTNE
|
|
385
381
|
menstruacja
|
386
382
|
menstruacyjny
|
387
383
|
nagi
|
388
|
-
|
384
|
+
golas
|
389
385
|
namiętność
|
390
386
|
nędzić
|
391
387
|
niedyskretny
|
@@ -540,7 +536,7 @@ PIERWOTNE
|
|
540
536
|
stęchły
|
541
537
|
wąchać
|
542
538
|
wdychać
|
543
|
-
|
539
|
+
kolońska
|
544
540
|
woń
|
545
541
|
wonność
|
546
542
|
zapach
|
@@ -606,13 +602,11 @@ PIERWOTNE
|
|
606
602
|
głuchy
|
607
603
|
grzechotać
|
608
604
|
grzmot
|
609
|
-
grzmot
|
610
605
|
gwizd
|
611
606
|
hałas
|
612
607
|
hałaśliwy
|
613
608
|
harmier
|
614
609
|
huk
|
615
|
-
huk
|
616
610
|
jazgot
|
617
611
|
klekot
|
618
612
|
klekotać
|
@@ -671,7 +665,7 @@ PIERWOTNE
|
|
671
665
|
wrzawa
|
672
666
|
wrzeszczeć
|
673
667
|
wycie
|
674
|
-
wydzierać
|
668
|
+
wydzierać
|
675
669
|
zgrzyt
|
676
670
|
WZROK
|
677
671
|
aureola
|
@@ -697,7 +691,7 @@ PIERWOTNE
|
|
697
691
|
fluorescencyjny
|
698
692
|
gwiazda
|
699
693
|
jasny
|
700
|
-
jawić
|
694
|
+
jawić
|
701
695
|
jednooczny
|
702
696
|
jutrzenka
|
703
697
|
kamerować
|
@@ -732,7 +726,7 @@ PIERWOTNE
|
|
732
726
|
oświetlić
|
733
727
|
patrzyć
|
734
728
|
pogląd
|
735
|
-
pojawić
|
729
|
+
pojawić
|
736
730
|
półprzejrzysty
|
737
731
|
połysk
|
738
732
|
połyskliwy
|
@@ -752,7 +746,6 @@ PIERWOTNE
|
|
752
746
|
rozpromieniony
|
753
747
|
rubinowy
|
754
748
|
rumiany
|
755
|
-
rzucić okiem
|
756
749
|
scena
|
757
750
|
sceniczny
|
758
751
|
skanować
|
@@ -782,11 +775,10 @@ PIERWOTNE
|
|
782
775
|
zabarwienie
|
783
776
|
zdjęcie
|
784
777
|
zerknąć
|
785
|
-
zerknąć
|
786
778
|
zielony
|
787
779
|
zobaczyć
|
788
780
|
żółty
|
789
|
-
zorza
|
781
|
+
zorza
|
790
782
|
ZIMNO
|
791
783
|
Alaska
|
792
784
|
arktyczny
|
@@ -810,7 +802,6 @@ PIERWOTNE
|
|
810
802
|
północ
|
811
803
|
północny
|
812
804
|
schładzać
|
813
|
-
skuwać lodem
|
814
805
|
śnieg
|
815
806
|
śnieżny
|
816
807
|
studzić
|
@@ -946,7 +937,6 @@ PIERWOTNE
|
|
946
937
|
schnąć
|
947
938
|
śmierć
|
948
939
|
spokój
|
949
|
-
spokojny
|
950
940
|
spokojny
|
951
941
|
stagnacja
|
952
942
|
statyczny
|
@@ -958,7 +948,7 @@ PIERWOTNE
|
|
958
948
|
uspokoić
|
959
949
|
uspokojenie
|
960
950
|
usypiać
|
961
|
-
wałkonić
|
951
|
+
wałkonić
|
962
952
|
wypoczynek
|
963
953
|
zadowolenie
|
964
954
|
zadowolony
|
@@ -977,10 +967,10 @@ PIERWOTNE
|
|
977
967
|
aktywności
|
978
968
|
badać
|
979
969
|
badacz
|
980
|
-
błąkać
|
970
|
+
błąkać
|
981
971
|
brnąć
|
982
972
|
chwiać
|
983
|
-
chwiać
|
973
|
+
chwiać
|
984
974
|
chybotać
|
985
975
|
czynności
|
986
976
|
drżeć
|
@@ -1011,7 +1001,7 @@ PIERWOTNE
|
|
1011
1001
|
migrować
|
1012
1002
|
nawigować
|
1013
1003
|
obracać
|
1014
|
-
obracać
|
1004
|
+
obracać
|
1015
1005
|
odległy
|
1016
1006
|
odludzie
|
1017
1007
|
okrążać
|
@@ -1054,7 +1044,7 @@ PIERWOTNE
|
|
1054
1044
|
wiercić
|
1055
1045
|
wirować
|
1056
1046
|
włóczęga
|
1057
|
-
włóczyć
|
1047
|
+
włóczyć
|
1058
1048
|
wrzeć
|
1059
1049
|
wstrząsać
|
1060
1050
|
wycieczka
|
@@ -1066,7 +1056,7 @@ PIERWOTNE
|
|
1066
1056
|
zachwiać
|
1067
1057
|
zakręcać
|
1068
1058
|
zamieszać
|
1069
|
-
zaokrętować
|
1059
|
+
zaokrętować
|
1070
1060
|
zataczać
|
1071
1061
|
zatrząść
|
1072
1062
|
żeglarz
|
@@ -1192,7 +1182,6 @@ PIERWOTNE
|
|
1192
1182
|
bezustanny
|
1193
1183
|
ciągły
|
1194
1184
|
eon
|
1195
|
-
na zawsze
|
1196
1185
|
nieskończony
|
1197
1186
|
nieśmiertelny
|
1198
1187
|
nieustanny
|
@@ -1234,7 +1223,6 @@ PIERWOTNE
|
|
1234
1223
|
gorączka
|
1235
1224
|
gorączkowy
|
1236
1225
|
granica
|
1237
|
-
hall
|
1238
1226
|
halucynacje
|
1239
1227
|
haszysz
|
1240
1228
|
hibernacja
|
@@ -1348,11 +1336,10 @@ PIERWOTNE
|
|
1348
1336
|
wariactwo
|
1349
1337
|
wariat
|
1350
1338
|
wejście
|
1351
|
-
we śnie
|
1352
1339
|
wiadukt
|
1353
1340
|
wizjoner
|
1354
1341
|
wybrzeże
|
1355
|
-
wyobrażać
|
1342
|
+
wyobrażać
|
1356
1343
|
wyobraźnia
|
1357
1344
|
wyrocznia
|
1358
1345
|
zaczarować
|
@@ -1360,7 +1347,6 @@ PIERWOTNE
|
|
1360
1347
|
zahipnotyzowany
|
1361
1348
|
zamyślenie
|
1362
1349
|
zauroczony
|
1363
|
-
zawrót głowy
|
1364
1350
|
zwariowany
|
1365
1351
|
NARCYZM
|
1366
1352
|
bark
|
@@ -1419,13 +1405,11 @@ PIERWOTNE
|
|
1419
1405
|
gdzieś
|
1420
1406
|
koniuszek
|
1421
1407
|
krzywa
|
1422
|
-
ku
|
1423
1408
|
kwadrat
|
1424
1409
|
kwadratowy
|
1425
1410
|
łuk
|
1426
1411
|
między
|
1427
1412
|
miejsce
|
1428
|
-
na bok
|
1429
1413
|
naprzeciw
|
1430
1414
|
naprzód
|
1431
1415
|
obok
|
@@ -1488,12 +1472,11 @@ PIERWOTNE
|
|
1488
1472
|
wzdłuż
|
1489
1473
|
za
|
1490
1474
|
zachód
|
1491
|
-
z dala
|
1492
1475
|
zewnątrz
|
1493
1476
|
zewnętrzny
|
1494
1477
|
IKARIAN
|
1495
1478
|
WSPINANIE
|
1496
|
-
bujać
|
1479
|
+
bujać
|
1497
1480
|
dyndać
|
1498
1481
|
góra
|
1499
1482
|
ikaryjski
|
@@ -1504,10 +1487,9 @@ PIERWOTNE
|
|
1504
1487
|
lot
|
1505
1488
|
lotnik
|
1506
1489
|
lotu
|
1507
|
-
odbijać
|
1490
|
+
odbijać
|
1508
1491
|
pływak
|
1509
1492
|
podnosić
|
1510
|
-
podnosić się
|
1511
1493
|
podrzucać
|
1512
1494
|
podskakiwać
|
1513
1495
|
powiesić
|
@@ -1523,12 +1505,9 @@ PIERWOTNE
|
|
1523
1505
|
świt
|
1524
1506
|
trzepotać
|
1525
1507
|
trzepotanie
|
1526
|
-
unosić się w powietrzu
|
1527
|
-
w górę
|
1528
|
-
w górze
|
1529
1508
|
wschodzić
|
1530
|
-
wspiąć
|
1531
|
-
wznieść
|
1509
|
+
wspiąć
|
1510
|
+
wznieść
|
1532
1511
|
wzrastać
|
1533
1512
|
wzrost
|
1534
1513
|
zbocze
|
@@ -1550,8 +1529,7 @@ PIERWOTNE
|
|
1550
1529
|
kopiec
|
1551
1530
|
krokiew
|
1552
1531
|
mur
|
1553
|
-
nad
|
1554
|
-
na górze
|
1532
|
+
nad
|
1555
1533
|
niebo
|
1556
1534
|
obelisk
|
1557
1535
|
piramida
|
@@ -1588,12 +1566,12 @@ PIERWOTNE
|
|
1588
1566
|
zenit
|
1589
1567
|
POCHODZENIE
|
1590
1568
|
baza
|
1591
|
-
chylić
|
1569
|
+
chylić
|
1592
1570
|
kopać
|
1593
1571
|
nora
|
1594
1572
|
nurkować
|
1595
1573
|
obalać
|
1596
|
-
obniżyć
|
1574
|
+
obniżyć
|
1597
1575
|
opadać
|
1598
1576
|
pikować
|
1599
1577
|
pochodzenie
|
@@ -1618,11 +1596,10 @@ PIERWOTNE
|
|
1618
1596
|
upadły
|
1619
1597
|
ustępować
|
1620
1598
|
więdnąć
|
1621
|
-
zachód słońca
|
1622
1599
|
zatapiać
|
1623
1600
|
zawalić
|
1624
1601
|
zjazd
|
1625
|
-
zniżać
|
1602
|
+
zniżać
|
1626
1603
|
GŁĘBOKOŚĆ
|
1627
1604
|
dno
|
1628
1605
|
dół
|
@@ -1647,7 +1624,6 @@ PIERWOTNE
|
|
1647
1624
|
spadzisty
|
1648
1625
|
szczelina
|
1649
1626
|
tunel
|
1650
|
-
w dół
|
1651
1627
|
żleb
|
1652
1628
|
OGIEŃ
|
1653
1629
|
ciepło
|
@@ -1684,12 +1660,11 @@ PIERWOTNE
|
|
1684
1660
|
stopić
|
1685
1661
|
świeca
|
1686
1662
|
świeczka
|
1687
|
-
tlić
|
1663
|
+
tlić
|
1688
1664
|
tropikalny
|
1689
1665
|
tropiki
|
1690
1666
|
udar
|
1691
1667
|
węgiel
|
1692
|
-
w ogniu
|
1693
1668
|
wybuch
|
1694
1669
|
wybuchnąć
|
1695
1670
|
wzniecać
|
@@ -1712,7 +1687,7 @@ PIERWOTNE
|
|
1712
1687
|
jezioro
|
1713
1688
|
kapać
|
1714
1689
|
kąpiel
|
1715
|
-
lać
|
1690
|
+
lać
|
1716
1691
|
mech
|
1717
1692
|
moczyć
|
1718
1693
|
mokro
|
@@ -1795,7 +1770,7 @@ WTORNE
|
|
1795
1770
|
determiować
|
1796
1771
|
dlaczego
|
1797
1772
|
doktryna
|
1798
|
-
domyślać
|
1773
|
+
domyślać
|
1799
1774
|
dowieść
|
1800
1775
|
dowód
|
1801
1776
|
dowodzić
|
@@ -1863,7 +1838,6 @@ WTORNE
|
|
1863
1838
|
powodować
|
1864
1839
|
poza tym
|
1865
1840
|
prawda
|
1866
|
-
prawdobodobne
|
1867
1841
|
prawdobodobny
|
1868
1842
|
prawdziwy
|
1869
1843
|
prawie
|
@@ -1897,7 +1871,7 @@ WTORNE
|
|
1897
1871
|
sądzić
|
1898
1872
|
schemat
|
1899
1873
|
selekcjonować
|
1900
|
-
skłaniać
|
1874
|
+
skłaniać
|
1901
1875
|
skupiać
|
1902
1876
|
sprawdzać
|
1903
1877
|
stwierdzać
|
@@ -1905,7 +1879,7 @@ WTORNE
|
|
1905
1879
|
temat
|
1906
1880
|
teoretycznie
|
1907
1881
|
teoria
|
1908
|
-
uczyć
|
1882
|
+
uczyć
|
1909
1883
|
udowadniać
|
1910
1884
|
uogólniać
|
1911
1885
|
urozmaicenie
|
@@ -1921,16 +1895,15 @@ WTORNE
|
|
1921
1895
|
właściwość
|
1922
1896
|
wnioskować
|
1923
1897
|
wszechstronny
|
1924
|
-
wyballać
|
1925
1898
|
wybierać
|
1926
1899
|
wybór
|
1927
1900
|
wyrazisty
|
1928
1901
|
wyraźny
|
1929
1902
|
wywoływać
|
1930
1903
|
wyznaczać
|
1931
|
-
zaliczać
|
1904
|
+
zaliczać
|
1932
1905
|
zamiar
|
1933
|
-
zastanawiać
|
1906
|
+
zastanawiać
|
1934
1907
|
zdecydować
|
1935
1908
|
zgadywać
|
1936
1909
|
zmierzać
|
@@ -2068,8 +2041,8 @@ WTORNE
|
|
2068
2041
|
świadczyć
|
2069
2042
|
sygnał
|
2070
2043
|
szczodry
|
2071
|
-
targować
|
2072
|
-
tłumaczyć
|
2044
|
+
targować
|
2045
|
+
tłumaczyć
|
2073
2046
|
towarzyski
|
2074
2047
|
towarzyszyć
|
2075
2048
|
traktować
|
@@ -2081,7 +2054,7 @@ WTORNE
|
|
2081
2054
|
ułaskawiać
|
2082
2055
|
umowa
|
2083
2056
|
umożliwić
|
2084
|
-
upewniać
|
2057
|
+
upewniać
|
2085
2058
|
uratować
|
2086
2059
|
uwaga
|
2087
2060
|
uzgodnić
|
@@ -2117,10 +2090,10 @@ WTORNE
|
|
2117
2090
|
zatwierdzić
|
2118
2091
|
zdolny
|
2119
2092
|
zezwolenie
|
2120
|
-
zgadzać
|
2093
|
+
zgadzać
|
2121
2094
|
zgoda
|
2122
2095
|
zobowiązanie
|
2123
|
-
zwierzać
|
2096
|
+
zwierzać
|
2124
2097
|
ZACHOWANIE_INSTRUMENTALNE
|
2125
2098
|
aplikacja
|
2126
2099
|
architekt
|
@@ -2195,7 +2168,7 @@ WTORNE
|
|
2195
2168
|
pochłaniać
|
2196
2169
|
poprawiać
|
2197
2170
|
posiadać
|
2198
|
-
pozbywać
|
2171
|
+
pozbywać
|
2199
2172
|
pożytek
|
2200
2173
|
praca
|
2201
2174
|
pracochłonny
|
@@ -2322,7 +2295,7 @@ WTORNE
|
|
2322
2295
|
odmówić
|
2323
2296
|
ogradzać
|
2324
2297
|
ograniczać
|
2325
|
-
opierać
|
2298
|
+
opierać
|
2326
2299
|
opór
|
2327
2300
|
oprócz
|
2328
2301
|
penitencjarny
|
@@ -2465,12 +2438,10 @@ WTORNE
|
|
2465
2438
|
długookresowy
|
2466
2439
|
długoterminowy
|
2467
2440
|
długowieczność
|
2468
|
-
do
|
2469
2441
|
dzisiaj
|
2470
2442
|
efemeryczny
|
2471
2443
|
godzina
|
2472
2444
|
ilekroć
|
2473
|
-
jeszcze raz
|
2474
2445
|
już
|
2475
2446
|
kiedy
|
2476
2447
|
kiedykolwiek
|
@@ -2482,7 +2453,6 @@ WTORNE
|
|
2482
2453
|
minuta
|
2483
2454
|
moment
|
2484
2455
|
nagły
|
2485
|
-
na pół etatu
|
2486
2456
|
następnie
|
2487
2457
|
natychmiast
|
2488
2458
|
natychmiastowy
|
@@ -2521,8 +2491,8 @@ WTORNE
|
|
2521
2491
|
cenić
|
2522
2492
|
cnota
|
2523
2493
|
dostosować
|
2494
|
+
godny
|
2524
2495
|
etyczny
|
2525
|
-
godny zaufania
|
2526
2496
|
honor
|
2527
2497
|
honorowy
|
2528
2498
|
klient
|
@@ -2569,13 +2539,11 @@ WTORNE
|
|
2569
2539
|
EMOCJE
|
2570
2540
|
POZYTYWNY_AFEKT
|
2571
2541
|
bawić
|
2572
|
-
bawić się
|
2573
2542
|
beztroski
|
2574
2543
|
beztrosko
|
2575
2544
|
celebracja
|
2576
2545
|
chichotać
|
2577
2546
|
cieszyć
|
2578
|
-
cieszyć się
|
2579
2547
|
dowcip
|
2580
2548
|
dreszczyk
|
2581
2549
|
ekscytować
|
@@ -2664,10 +2632,10 @@ EMOCJE
|
|
2664
2632
|
horror
|
2665
2633
|
kłopot
|
2666
2634
|
kryzys
|
2667
|
-
kulić
|
2635
|
+
kulić
|
2668
2636
|
lęk
|
2669
2637
|
lękliwy
|
2670
|
-
martwić
|
2638
|
+
martwić
|
2671
2639
|
męczarnia
|
2672
2640
|
męka
|
2673
2641
|
nerwowy
|
@@ -2681,7 +2649,7 @@ EMOCJE
|
|
2681
2649
|
poddenerwować
|
2682
2650
|
poruszony
|
2683
2651
|
przejęcie
|
2684
|
-
przejmować
|
2652
|
+
przejmować
|
2685
2653
|
przerażać
|
2686
2654
|
przerażający
|
2687
2655
|
przerażenie
|
@@ -2705,7 +2673,7 @@ EMOCJE
|
|
2705
2673
|
uraz
|
2706
2674
|
wrzask
|
2707
2675
|
zaczerwienić
|
2708
|
-
zarumienić
|
2676
|
+
zarumienić
|
2709
2677
|
zdenerwowanie
|
2710
2678
|
zdenerwowany
|
2711
2679
|
zgroza
|
@@ -2754,7 +2722,7 @@ EMOCJE
|
|
2754
2722
|
samotność
|
2755
2723
|
samotny
|
2756
2724
|
sierota
|
2757
|
-
skarżyć
|
2725
|
+
skarżyć
|
2758
2726
|
skruszony
|
2759
2727
|
smutek
|
2760
2728
|
szloch
|
@@ -2789,7 +2757,6 @@ EMOCJE
|
|
2789
2757
|
czułość
|
2790
2758
|
czuły
|
2791
2759
|
doceniać
|
2792
|
-
do widzenia
|
2793
2760
|
drogi
|
2794
2761
|
flirt
|
2795
2762
|
hołubić
|
@@ -2811,7 +2778,6 @@ EMOCJE
|
|
2811
2778
|
obejmować
|
2812
2779
|
objęcie
|
2813
2780
|
ożenić
|
2814
|
-
panna młoda
|
2815
2781
|
pogłaskać
|
2816
2782
|
poklepywać
|
2817
2783
|
poświęcać
|
@@ -2822,7 +2788,7 @@ EMOCJE
|
|
2822
2788
|
przyjaciel
|
2823
2789
|
przyjaźń
|
2824
2790
|
przyjaźnić
|
2825
|
-
przymilać
|
2791
|
+
przymilać
|
2826
2792
|
romans
|
2827
2793
|
rozkochać
|
2828
2794
|
serdeczny
|
@@ -2841,13 +2807,12 @@ EMOCJE
|
|
2841
2807
|
wdzięczny
|
2842
2808
|
weselny
|
2843
2809
|
witać
|
2844
|
-
wyjśc za mąż
|
2845
2810
|
zakochać
|
2846
|
-
zalecać
|
2811
|
+
zalecać
|
2847
2812
|
zaloty
|
2848
2813
|
zamężna
|
2849
2814
|
zamiłowanie
|
2850
|
-
zaprzyjaźnić
|
2815
|
+
zaprzyjaźnić
|
2851
2816
|
zażyłość
|
2852
2817
|
znajomy
|
2853
2818
|
żonaty
|
@@ -2899,7 +2864,7 @@ EMOCJE
|
|
2899
2864
|
irytować
|
2900
2865
|
karcić
|
2901
2866
|
klaps
|
2902
|
-
kłócić
|
2867
|
+
kłócić
|
2903
2868
|
kłótnia
|
2904
2869
|
konflikt
|
2905
2870
|
kontrowersja
|
@@ -2917,7 +2882,7 @@ EMOCJE
|
|
2917
2882
|
maltretowanie
|
2918
2883
|
męka
|
2919
2884
|
miecz
|
2920
|
-
mocować
|
2885
|
+
mocować
|
2921
2886
|
morderstwo
|
2922
2887
|
mścić
|
2923
2888
|
mściwy
|
@@ -2937,9 +2902,7 @@ EMOCJE
|
|
2937
2902
|
nieugięty
|
2938
2903
|
niewdzięczność
|
2939
2904
|
niezadowolenie
|
2940
|
-
nie zgadzać się
|
2941
2905
|
niezgoda
|
2942
|
-
nie znosić
|
2943
2906
|
niszczyć
|
2944
2907
|
nóż
|
2945
2908
|
obelżywy
|
@@ -2950,7 +2913,8 @@ EMOCJE
|
|
2950
2913
|
odwet
|
2951
2914
|
okaleczyć
|
2952
2915
|
okłamać
|
2953
|
-
okraść
|
2916
|
+
okraść
|
2917
|
+
okrutny
|
2954
2918
|
oporny
|
2955
2919
|
oskarżać
|
2956
2920
|
oszczerstwo
|
@@ -2989,14 +2953,14 @@ EMOCJE
|
|
2989
2953
|
sarkastyczny
|
2990
2954
|
sarkazm
|
2991
2955
|
skalp
|
2992
|
-
skarżyć
|
2956
|
+
skarżyć
|
2993
2957
|
skradziony
|
2994
2958
|
skrzyczeć
|
2995
2959
|
spór
|
2996
2960
|
sprofanować
|
2997
|
-
sprzeciwiać
|
2961
|
+
sprzeciwiać
|
2962
|
+
sprzeczać
|
2998
2963
|
sprzeczać
|
2999
|
-
sprzeczać się
|
3000
2964
|
srogi
|
3001
2965
|
strzał
|
3002
2966
|
strzała
|
@@ -3042,7 +3006,7 @@ EMOCJE
|
|
3042
3006
|
wrogość
|
3043
3007
|
wściekły
|
3044
3008
|
wykorzystać
|
3045
|
-
wyśmiewanie
|
3009
|
+
wyśmiewanie
|
3046
3010
|
zabić
|
3047
3011
|
zabijać
|
3048
3012
|
zabity
|
@@ -3074,7 +3038,7 @@ EMOCJE
|
|
3074
3038
|
zmagać
|
3075
3039
|
zmiażdżyć
|
3076
3040
|
zmora
|
3077
|
-
znęcać
|
3041
|
+
znęcać
|
3078
3042
|
znęcanie
|
3079
3043
|
zniecierpliwienie
|
3080
3044
|
znieważać
|
@@ -3142,7 +3106,7 @@ EMOCJE
|
|
3142
3106
|
chełpliwy
|
3143
3107
|
chwała
|
3144
3108
|
chwalić
|
3145
|
-
chwalić
|
3109
|
+
chwalić
|
3146
3110
|
cudowny
|
3147
3111
|
duma
|
3148
3112
|
dumny
|
@@ -3172,7 +3136,7 @@ EMOCJE
|
|
3172
3136
|
podziwiać
|
3173
3137
|
pogarda
|
3174
3138
|
prestiż
|
3175
|
-
przechwalać
|
3139
|
+
przechwalać
|
3176
3140
|
przepych
|
3177
3141
|
przyklaskiwać
|
3178
3142
|
pycha
|
@@ -3184,7 +3148,7 @@ EMOCJE
|
|
3184
3148
|
śmietanka
|
3185
3149
|
splendor
|
3186
3150
|
świetny
|
3187
|
-
szczycić
|
3151
|
+
szczycić
|
3188
3152
|
szlachetny
|
3189
3153
|
triumf
|
3190
3154
|
tron
|
data/lib/analyzer.rb
CHANGED
@@ -5,6 +5,7 @@ require 'word'
|
|
5
5
|
require 'emoticon'
|
6
6
|
require 'sentence'
|
7
7
|
require "token_scanner.rb"
|
8
|
+
require "lemmatizer"
|
8
9
|
|
9
10
|
$KODE = "UTF8"
|
10
11
|
|
@@ -12,7 +13,6 @@ module NLP
|
|
12
13
|
|
13
14
|
class Analyzer
|
14
15
|
|
15
|
-
include REXML
|
16
16
|
|
17
17
|
def initialize( category_file, restore = true )
|
18
18
|
state_file = File.expand_path(Dictionary::CACHE_DIR)
|
@@ -36,18 +36,21 @@ module NLP
|
|
36
36
|
:words => []
|
37
37
|
}
|
38
38
|
|
39
|
+
|
40
|
+
|
39
41
|
while token = scanner.current
|
40
42
|
word = token.lemat
|
41
43
|
|
42
44
|
categories = @dictionary.find( word.gsub( /[^\w-]/, "" ) )
|
43
45
|
unless categories.nil?
|
44
46
|
categories.each do |category|
|
45
|
-
|
47
|
+
puts "Znalazłem słowo #{word} : #{category}"
|
46
48
|
results[:scores][category] = results[:scores][category] + 1
|
49
|
+
results[:word_count] += 1
|
50
|
+
results[:words].push word
|
47
51
|
end
|
48
52
|
|
49
|
-
|
50
|
-
results[:words].push word
|
53
|
+
|
51
54
|
end
|
52
55
|
|
53
56
|
results[:word_total] += 1
|
@@ -55,10 +58,15 @@ module NLP
|
|
55
58
|
end
|
56
59
|
|
57
60
|
results[:sorted_scores] = results[:scores].to_a.sort_by { |result| -result[1] }
|
61
|
+
primary_sum = results[:sorted_scores].select { |result| result[0].primary? }.inject( 0 ) { |count,result| count + result[1] }
|
62
|
+
secondary_sum = results[:sorted_scores].select { |result| result[0].secondary? }.inject( 0 ) { |count,result| count + result[1] }
|
63
|
+
emotion_sum = results[:sorted_scores].select { |result| result[0].emotions? }.inject( 0 ) { |count,result| count + result[1] }
|
64
|
+
|
65
|
+
|
58
66
|
results[:classes] = {
|
59
|
-
:primary => Float(
|
60
|
-
:secondary => Float(
|
61
|
-
:emotions => Float(
|
67
|
+
:primary => Float(primary_sum) / results[:word_count],
|
68
|
+
:secondary => Float(secondary_sum) / results[:word_count],
|
69
|
+
:emotions => Float(emotion_sum) / results[:word_count]
|
62
70
|
}
|
63
71
|
|
64
72
|
results
|
@@ -66,3 +74,6 @@ module NLP
|
|
66
74
|
|
67
75
|
end
|
68
76
|
end
|
77
|
+
|
78
|
+
require "rid_analyzer.rb"
|
79
|
+
require "liwc_analyzer.rb"
|
data/lib/lemmatizer.rb
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'takipi_web_service'
|
2
|
+
require 'rexml/document'
|
3
|
+
require 'morfeusz'
|
4
|
+
|
5
|
+
module NLP
|
6
|
+
class Lemmatizer
|
7
|
+
include REXML
|
8
|
+
|
9
|
+
def self.lematize(text,method,input_type)
|
10
|
+
if text.is_a? File
|
11
|
+
str = text.read
|
12
|
+
text.close
|
13
|
+
elsif text.is_a? String
|
14
|
+
str = text
|
15
|
+
else
|
16
|
+
raise ArgumentError, "Argument is not String or File"
|
17
|
+
end
|
18
|
+
|
19
|
+
if method === :takipi
|
20
|
+
takipi_lematize(str,input_type)
|
21
|
+
#Default lematization method is Morfeusz
|
22
|
+
else
|
23
|
+
morfeusz_lematize(str)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
def self.takipi_lematize(text,method)
|
31
|
+
|
32
|
+
if method === :local
|
33
|
+
|
34
|
+
t1 = Thread.new do
|
35
|
+
`takipi -i text.txt -o output.xml -it TXT`
|
36
|
+
end
|
37
|
+
|
38
|
+
t1.join
|
39
|
+
|
40
|
+
f = File.open("output.xml","r")
|
41
|
+
doc = Document.new f
|
42
|
+
elsif method === :remote
|
43
|
+
xml = TakipiWebService.request(text)
|
44
|
+
doc = Document.new xml
|
45
|
+
else
|
46
|
+
raise ArgumentError, 'Argument is not :local or :remote'
|
47
|
+
end
|
48
|
+
|
49
|
+
parse_lematized_xml(doc)
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
def self.morfeusz_lematize(text)
|
54
|
+
temp_text = []
|
55
|
+
|
56
|
+
#simple tagger
|
57
|
+
#TODO lematizer should take block or object Tagger that defines
|
58
|
+
#how split string
|
59
|
+
text.split(/\.|!|\?/).each do |s|
|
60
|
+
sentence = Sentence.new
|
61
|
+
sentence << s.split(" ").collect{ |t|
|
62
|
+
if word = Morfeusz::Lexeme.find(t)
|
63
|
+
if word[0]
|
64
|
+
Word.new(t,word[0].base_form,"")
|
65
|
+
else
|
66
|
+
Word.new(t,"","")
|
67
|
+
end
|
68
|
+
else
|
69
|
+
Word.new(t,"","")
|
70
|
+
end
|
71
|
+
}
|
72
|
+
temp_text.push sentence
|
73
|
+
end
|
74
|
+
temp_text
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
def self.parse_lematized_xml(doc)
|
79
|
+
|
80
|
+
text = []
|
81
|
+
|
82
|
+
doc.elements.each("*/chunkList/chunk") do |chunk|
|
83
|
+
sentence = Sentence.new
|
84
|
+
tokens = []
|
85
|
+
|
86
|
+
chunk.elements.each("tok") do |tok|
|
87
|
+
word = tok.elements[1].text
|
88
|
+
lemat, inflect = ""
|
89
|
+
|
90
|
+
tok.elements.each("lex") do |lex|
|
91
|
+
if lex.has_attributes?
|
92
|
+
lemat = lex.elements[1].text
|
93
|
+
inflect = lex.elements[2].text
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
tokens << Word.new(word,lemat,inflect)
|
98
|
+
end
|
99
|
+
|
100
|
+
sentence << tokens
|
101
|
+
text << sentence
|
102
|
+
end
|
103
|
+
text
|
104
|
+
end
|
105
|
+
|
106
|
+
|
107
|
+
end
|
108
|
+
end
|
data/lib/rid_analyzer.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
module NLP
|
2
|
+
class RIDAnalyzer < NLP::Analyzer
|
3
|
+
|
4
|
+
def analyze(scanner)
|
5
|
+
results = {
|
6
|
+
:word_count => 0,
|
7
|
+
:word_total => 0,
|
8
|
+
:scores => Hash.new { 0 },
|
9
|
+
:words => []
|
10
|
+
}
|
11
|
+
|
12
|
+
while token = scanner.current
|
13
|
+
word = token.lemat
|
14
|
+
|
15
|
+
categories = @dictionary.find( word.gsub( /[^\w-]/, "" ) )
|
16
|
+
unless categories.nil?
|
17
|
+
categories.each do |category|
|
18
|
+
puts "Znalazłem słowo #{word} : #{category}"
|
19
|
+
results[:scores][category] = results[:scores][category] + 1
|
20
|
+
results[:word_count] += 1
|
21
|
+
results[:words].push word
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
results[:word_total] += 1
|
28
|
+
scanner.next(:word)
|
29
|
+
end
|
30
|
+
|
31
|
+
results[:sorted_scores] = results[:scores].to_a.sort_by { |result| -result[1] }
|
32
|
+
p primary_sum = results[:sorted_scores].select { |result| result[0].primary? }.inject( 0 ) { |count,result| count + result[1] }
|
33
|
+
p secondary_sum = results[:sorted_scores].select { |result| result[0].secondary? }.inject( 0 ) { |count,result| count + result[1] }
|
34
|
+
p emotion_sum = results[:sorted_scores].select { |result| result[0].emotions? }.inject( 0 ) { |count,result| count + result[1] }
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
results[:classes] = {
|
39
|
+
:primary => Float(primary_sum) / results[:word_count],
|
40
|
+
:secondary => Float(secondary_sum) / results[:word_count],
|
41
|
+
:emotions => Float(emotion_sum) / results[:word_count]
|
42
|
+
}
|
43
|
+
|
44
|
+
results
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
end
|
data/lib/stdlib/ext/string.rb
CHANGED
File without changes
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'savon'
|
3
|
+
|
4
|
+
class TakipiWebService
|
5
|
+
URL = 'http://nlp.pwr.wroc.pl/clarin/ws/takipi/'
|
6
|
+
WSDL_URL = URL + 'takipi.wsdl'
|
7
|
+
|
8
|
+
def self.request(text)
|
9
|
+
client = Savon::Client.new WSDL_URL, :soap_endpoint => URL
|
10
|
+
|
11
|
+
# Call remote service methods
|
12
|
+
response = client.tag do |soap|
|
13
|
+
soap.body = "<text>#{text}</text><format>TXT</format><useGuesser>true</useGuesser>"
|
14
|
+
end
|
15
|
+
|
16
|
+
response = response.to_hash
|
17
|
+
token = response[:tag_response][:tag_response][:msg]
|
18
|
+
status = (response[:tag_response][:tag_response][:status]).to_i
|
19
|
+
|
20
|
+
#checking status
|
21
|
+
timeout = 60
|
22
|
+
step = 5
|
23
|
+
count = 0
|
24
|
+
loop do
|
25
|
+
break if count > timeout
|
26
|
+
if status == 1
|
27
|
+
break
|
28
|
+
elsif status == 2 or status == 3
|
29
|
+
count += 5
|
30
|
+
sleep(1)
|
31
|
+
r = client.get_status do |soap|
|
32
|
+
soap.body = "<token>#{token}</token>"
|
33
|
+
end.to_hash
|
34
|
+
status = (r[:get_status_response][:status]).to_i
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
#geting result
|
40
|
+
|
41
|
+
result = client.get_result do |soap|
|
42
|
+
soap.body="<token>#{token}</token>"
|
43
|
+
end
|
44
|
+
|
45
|
+
response_document = result.to_hash[:get_result_response][:tag_response][:msg]
|
46
|
+
|
47
|
+
#transforming response to well formed xml string
|
48
|
+
return "<xml><chunkList>#{response_document}</chunkList></xml>"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
data/lib/token_scanner.rb
CHANGED
@@ -1,23 +1,11 @@
|
|
1
1
|
|
2
|
-
require 'rexml/document'
|
3
|
-
require 'soap/rpc/driver'
|
4
|
-
|
5
2
|
module NLP
|
6
3
|
class TokenScanner
|
7
|
-
include REXML
|
8
4
|
|
9
5
|
attr_reader :text, :tokens
|
10
6
|
|
11
|
-
def initialize(text
|
12
|
-
|
13
|
-
if method === :takipi
|
14
|
-
@text = load_lemated_text(text)
|
15
|
-
elsif method === :morfeusz
|
16
|
-
@text = lematize_text(text)
|
17
|
-
else
|
18
|
-
@text = text
|
19
|
-
end
|
20
|
-
|
7
|
+
def initialize(text)
|
8
|
+
@text = text
|
21
9
|
@pos = 0
|
22
10
|
@tokens = flatten_text(@text)
|
23
11
|
end
|
@@ -43,6 +31,7 @@ module NLP
|
|
43
31
|
end
|
44
32
|
end
|
45
33
|
|
34
|
+
|
46
35
|
def current
|
47
36
|
|
48
37
|
if @pos == @tokens.size
|
@@ -53,10 +42,12 @@ module NLP
|
|
53
42
|
|
54
43
|
end
|
55
44
|
|
45
|
+
|
56
46
|
def index
|
57
47
|
@pos
|
58
48
|
end
|
59
49
|
|
50
|
+
|
60
51
|
def end?
|
61
52
|
@pos == tokens.size
|
62
53
|
end
|
@@ -70,67 +61,5 @@ module NLP
|
|
70
61
|
flattened
|
71
62
|
end
|
72
63
|
|
73
|
-
|
74
|
-
|
75
|
-
def load_lemated_text(text)
|
76
|
-
|
77
|
-
t1 = Thread.new do
|
78
|
-
`echo #{text} | takipi -i -o output.xml -it TXT`
|
79
|
-
end
|
80
|
-
t1.join
|
81
|
-
|
82
|
-
text = []
|
83
|
-
File.open("output.xml") do |f|
|
84
|
-
doc = Document.new(f)
|
85
|
-
|
86
|
-
doc.elements.each("*/chunkList/chunk") do |chunk|
|
87
|
-
sentence = Sentence.new
|
88
|
-
tokens = []
|
89
|
-
|
90
|
-
chunk.elements.each("tok") do |tok|
|
91
|
-
word = tok.elements[1].text
|
92
|
-
lemat, inflect = ""
|
93
|
-
|
94
|
-
tok.elements.each("lex") do |lex|
|
95
|
-
if lex.has_attributes?
|
96
|
-
lemat = lex.elements[1].text
|
97
|
-
inflect = lex.elements[2].text
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
tokens << Word.new(word,lemat,inflect)
|
102
|
-
end
|
103
|
-
|
104
|
-
sentence << tokens
|
105
|
-
text << sentence
|
106
|
-
end
|
107
|
-
end
|
108
|
-
text
|
109
|
-
end
|
110
|
-
|
111
|
-
def lematize_text(text)
|
112
|
-
temp_text = []
|
113
|
-
text.split(/\.|!|\?/).each do |s|
|
114
|
-
sentence = Sentence.new
|
115
|
-
sentence << s.split(" ").collect{ |t|
|
116
|
-
if word = Morfeusz::Lexeme.find(t)
|
117
|
-
if word[0]
|
118
|
-
Word.new(t,word[0].base_form,"")
|
119
|
-
else
|
120
|
-
Word.new(t,"","")
|
121
|
-
end
|
122
|
-
else
|
123
|
-
Word.new(t,"","")
|
124
|
-
end
|
125
|
-
}
|
126
|
-
temp_text.push sentence
|
127
|
-
end
|
128
|
-
temp_text
|
129
|
-
end
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
end
|
135
|
-
|
64
|
+
end
|
136
65
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nlp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- knife
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-09-
|
18
|
+
date: 2010-09-18 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|
@@ -35,15 +35,20 @@ files:
|
|
35
35
|
- lib/dictionary.rb
|
36
36
|
- lib/emoticon.rb
|
37
37
|
- lib/inflectable.rb
|
38
|
+
- lib/lemmatizer.rb
|
39
|
+
- lib/liwc_analyzer.rb
|
38
40
|
- lib/liwc_category.rb
|
39
41
|
- lib/meaningable.rb
|
40
42
|
- lib/morfeusz.rb
|
41
43
|
- lib/nlp.rb
|
44
|
+
- lib/rid_analyzer.rb
|
42
45
|
- lib/rid_category.rb
|
43
46
|
- lib/sentence.rb
|
44
47
|
- lib/stdlib/ext/array.rb
|
45
48
|
- lib/stdlib/ext/string.rb
|
46
49
|
- lib/stree.rb
|
50
|
+
- lib/takipi_web_service
|
51
|
+
- lib/takipi_web_service.rb
|
47
52
|
- lib/token.rb
|
48
53
|
- lib/token_scanner.rb
|
49
54
|
- lib/word.rb
|