lingo 1.8.4.2 → 1.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +413 -325
  3. data/README +380 -131
  4. data/Rakefile +19 -21
  5. data/de/lingo-abk.txt +15 -17
  6. data/de/lingo-dic.txt +20210 -20659
  7. data/de/lingo-mul.txt +5 -13
  8. data/de/lingo-syn.txt +5 -8
  9. data/de/test_dic.txt +2 -0
  10. data/de/test_gen.txt +8 -0
  11. data/de/{test_mul2.txt → test_mu2.txt} +0 -0
  12. data/de/{test_singleword.txt → test_sgw.txt} +0 -0
  13. data/de/user-dic.txt +5 -7
  14. data/de.lang +64 -49
  15. data/en/lingo-dic.txt +6398 -6404
  16. data/en/lingo-irr.txt +2 -3
  17. data/en/lingo-mul.txt +6 -7
  18. data/en/lingo-wdn.txt +881 -1762
  19. data/en/user-dic.txt +2 -5
  20. data/en.lang +39 -39
  21. data/lib/lingo/app.rb +10 -6
  22. data/lib/lingo/attendee/abbreviator.rb +1 -0
  23. data/lib/lingo/attendee/decomposer.rb +2 -1
  24. data/lib/lingo/attendee/multi_worder.rb +5 -6
  25. data/lib/lingo/attendee/stemmer.rb +1 -1
  26. data/lib/lingo/attendee/synonymer.rb +4 -2
  27. data/lib/lingo/attendee/text_reader.rb +77 -57
  28. data/lib/lingo/attendee/text_writer.rb +1 -1
  29. data/lib/lingo/attendee/tokenizer.rb +101 -50
  30. data/lib/lingo/attendee/variator.rb +2 -1
  31. data/lib/lingo/attendee/vector_filter.rb +28 -6
  32. data/lib/lingo/attendee/word_searcher.rb +2 -1
  33. data/lib/lingo/attendee.rb +8 -4
  34. data/lib/lingo/call.rb +7 -3
  35. data/lib/lingo/cli.rb +8 -16
  36. data/lib/lingo/config.rb +11 -6
  37. data/lib/lingo/ctl.rb +54 -3
  38. data/lib/lingo/database/crypter.rb +8 -14
  39. data/lib/lingo/database/hash_store.rb +1 -1
  40. data/lib/lingo/database/{show_progress.rb → progress.rb} +7 -8
  41. data/lib/lingo/database/source/key_value.rb +6 -5
  42. data/lib/lingo/database/source/multi_key.rb +5 -2
  43. data/lib/lingo/database/source/multi_value.rb +6 -4
  44. data/lib/lingo/database/source/single_word.rb +2 -3
  45. data/lib/lingo/database/source/word_class.rb +24 -5
  46. data/lib/lingo/database/source.rb +5 -3
  47. data/lib/lingo/database.rb +102 -41
  48. data/lib/lingo/error.rb +24 -2
  49. data/lib/lingo/language/dictionary.rb +26 -54
  50. data/lib/lingo/language/grammar.rb +19 -23
  51. data/lib/lingo/language/lexical.rb +5 -1
  52. data/lib/lingo/language/lexical_hash.rb +7 -12
  53. data/lib/lingo/language/token.rb +10 -1
  54. data/lib/lingo/language/word.rb +35 -23
  55. data/lib/lingo/language/word_form.rb +5 -4
  56. data/lib/lingo/{show_progress.rb → progress.rb} +43 -30
  57. data/lib/lingo/srv/lingosrv.cfg +1 -1
  58. data/lib/lingo/srv/public/.gitkeep +0 -0
  59. data/lib/lingo/srv.rb +11 -6
  60. data/lib/lingo/version.rb +2 -2
  61. data/lib/lingo/web/lingoweb.cfg +1 -1
  62. data/lib/lingo/web/views/index.erb +4 -4
  63. data/lib/lingo/web.rb +4 -6
  64. data/lib/lingo.rb +4 -12
  65. data/lingo.cfg +1 -1
  66. data/lir.cfg +1 -1
  67. data/ru/lingo-dic.txt +33473 -2113
  68. data/ru/lingo-mul.txt +8430 -1913
  69. data/ru/lingo-syn.txt +1634 -0
  70. data/ru/user-dic.txt +6 -0
  71. data/ru.lang +49 -47
  72. data/spec/spec_helper.rb +4 -0
  73. data/test/attendee/ts_decomposer.rb +2 -2
  74. data/test/attendee/ts_synonymer.rb +3 -3
  75. data/test/attendee/ts_tokenizer.rb +215 -2
  76. data/test/attendee/ts_variator.rb +2 -2
  77. data/test/attendee/ts_word_searcher.rb +10 -6
  78. data/test/ref/artikel.seq +2 -2
  79. data/test/ref/artikel.vec +5 -5
  80. data/test/ref/artikel.ven +11 -11
  81. data/test/ref/artikel.ver +11 -11
  82. data/test/ref/lir.seq +13 -13
  83. data/test/ref/lir.vec +31 -31
  84. data/test/test_helper.rb +19 -5
  85. data/test/ts_database.rb +206 -77
  86. data/test/ts_language.rb +86 -26
  87. metadata +93 -49
  88. data/.rspec +0 -1
  89. data/de/test_syn2.txt +0 -1
data/de/lingo-mul.txt CHANGED
@@ -1,11 +1,9 @@
1
+ # Mehrwort-Wörterbuch lingo-mul.txt
2
+ # enthält als Basis für eigene Erweiterungen
3
+ # exemplarisch Mehrwortbegriffe, die mit "a" beginnen
1
4
  #
2
- # Mehrwort-Wörterbuch lingo-mul.txt
3
- # enthält als Basis für eigene Erweiterungen
4
- # exemplarisch Mehrwortbegriffe, die mit "a" beginnen
5
- #
6
- # Stand: 18.10.05 / Klaus Lepsky
7
- #
8
- #
5
+ # Stand: 18.10.05 / Klaus Lepsky
6
+
9
7
  albert einstein
10
8
  albert ainshtain
11
9
  einstein, albert
@@ -13,12 +11,6 @@ a data query language
13
11
  a fresco
14
12
  a part
15
13
  a priori
16
- abelsche transformation
17
- abelsche umformung
18
- a data query language
19
- a fresco
20
- a part
21
- a priori
22
14
  a programming language
23
15
  a- 3-struktur
24
16
  a- 4-struktur
data/de/lingo-syn.txt CHANGED
@@ -1,11 +1,9 @@
1
+ # Synonym-Wörterbuch lingo-syn.txt
2
+ # enthält als Basis für eigene Erweiterungen
3
+ # exemplarisch Synonyme, die mit "a" beginnen
1
4
  #
2
- # Synonym-Wörterbuch lingo-syn.txt
3
- # enthält als Basis für eigene Erweiterungen
4
- # exemplarisch Synonyme, die mit "a" beginnen
5
- #
6
- # Stand: 16.03.05 / Klaus Lepsky
7
- #
8
- #
5
+ # Stand: 16.03.05 / Klaus Lepsky
6
+
9
7
  aachener kongress=aachen / kongress <1818>
10
8
  aal=flussaal
11
9
  aalartige fische=aalfische
@@ -5405,7 +5403,6 @@ alter=betagter
5405
5403
  alter <100 jahre>=hundertjähriger
5406
5404
  alter druck=altes buch
5407
5405
  alter ego=alter ego
5408
- alter ego=alter ego
5409
5406
  alter herr=philister <studentenverbindung>
5410
5407
  alter mensch=alter
5411
5408
  alter stil / klassisches chinesisch=guwen
data/de/test_dic.txt CHANGED
@@ -22,3 +22,5 @@ aargauer,aargauer #s
22
22
  aaron,aaron #e
23
23
  aas,aas #s
24
24
  lex-lingo,super indexierungssystem #m
25
+ wirkungsort,wirkungsort #s wirkung #s+ ort #s+
26
+ zettelkatalog,zettelkatalog #k zettel #s+ katalog #s+
data/de/test_gen.txt ADDED
@@ -0,0 +1,8 @@
1
+ substantiv,substantiv #a substantiv #s.n
2
+ mehr,mehr #w mehr #s.n mehren #v
3
+ wort,wort #s.n
4
+ gruppe,gruppe #s.f
5
+ modul,modul #s.m|n
6
+ nocken,nock #s.f|m|n nocke #s.f nocken #s.m
7
+ albern,albern #a|v
8
+ fortuna,fortuna #e|s.f
File without changes
File without changes
data/de/user-dic.txt CHANGED
@@ -1,10 +1,8 @@
1
- #
2
- # Musterwörterbuch user-dic.txt als Vorlage
3
- # für eigene Benutzerwörterbücher
4
- #
5
- #
1
+ # Musterwörterbuch user-dic.txt als Vorlage
2
+ # für eigene Benutzerwörterbücher
3
+
4
+ bibliografie=bibliografie #s
5
+ bibliographie=bibliografie #s
6
6
  klassifikation=klassifikation #s
7
7
  thesaurus=thesaurus #s
8
8
  verschlagwortung=verschlagwortung #s
9
- bibliografie=bibliografie #s
10
- bibliographie=bibliografie #s
data/de.lang CHANGED
@@ -40,71 +40,86 @@
40
40
  # definiert sein, da es sonst noch nicht existiert!
41
41
  #
42
42
 
43
- # lingo language definition
44
- ---
43
+ ---
45
44
  language:
46
45
  name: 'Deutsch'
47
46
 
48
47
  dictionary:
49
48
  databases:
50
- # Systemwörterbücher
49
+ # System dictionaries
51
50
  sys-dic: { name: de/lingo-dic.txt, txt-format: WordClass, separator: '=' }
52
51
  sys-abk: { name: de/lingo-abk.txt, txt-format: WordClass, separator: '=' }
53
- sys-syn: { name: de/lingo-syn.txt, txt-format: KeyValue, separator: '=', def-wc: y }
54
- sys-mul: { name: de/lingo-mul.txt, txt-format: SingleWord, use-lex: 'sys-dic', def-wc: m }
55
- # Benutzerwörterbücher
56
- usr-dic: { name: de/user-dic.txt, txt-format: WordClass, separator: '=' }
52
+ sys-syn: { name: de/lingo-syn.txt, txt-format: KeyValue, separator: '=', def-wc: y }
53
+ sys-mul: { name: de/lingo-mul.txt, txt-format: SingleWord, use-lex: sys-dic, def-wc: m }
57
54
 
58
- # Testwörterbücher
59
- tst-dic: { name: de/test_dic.txt, txt-format: WordClass } # TEST: Lesen von zwei Quellen
60
- tst-syn: { name: de/test_syn.txt, txt-format: MultiValue, def-wc: 'y' } # TEST: Mehrere Datenquellen
61
- tst-syn2: { name: de/test_syn2.txt, txt-format: MultiValue, def-wc: 'y', use-lex: 'sys-dic' } # TEST: Mehrere Datenquellen
62
- tst-mul: { name: de/test_mul.txt, use-lex: 'sys-dic', def-wc: m } # TEST: Mehrere Multiwörterbücher
63
- tst-mu2: { name: de/test_mul2.txt, use-lex: 'sys-dic', def-wc: m } # TEST: Mehrere Multiwörterbücher
64
- tst-sto: { name: de/test_store.txt, txt-format: WordClass } # TEST: korrespondierende Store-Datei nicht vorhanden
65
- tst-cry: { name: de/test_cry.txt, txt-format: WordClass, crypt } # TEST: Verschlüsselung
66
- tst-sgw: { name: de/test_singleword.txt, txt-format: SingleWord } # TEST: SingleWord-Format
55
+ # User dictionaries
56
+ usr-dic: { name: de/user-dic.txt, txt-format: WordClass, separator: '=' }
57
+
58
+ # Test dictionaries
59
+ tst-dic: { name: de/test_dic.txt, txt-format: WordClass } # TEST: Lesen von zwei Quellen
60
+ tst-syn: { name: de/test_syn.txt, txt-format: MultiValue, def-wc: y } # TEST: Mehrere Datenquellen
61
+ tst-mul: { name: de/test_mul.txt, use-lex: sys-dic, def-wc: m } # TEST: Mehrere Multiwörterbücher
62
+ tst-mu2: { name: de/test_mu2.txt, use-lex: sys-dic, def-wc: m } # TEST: Mehrere Multiwörterbücher
63
+ tst-sgw: { name: de/test_sgw.txt, txt-format: SingleWord } # TEST: SingleWord-Format
64
+ tst-gen: { name: de/test_gen.txt, txt-format: WordClass } # TEST: Genus
67
65
 
68
66
  compound:
69
- min-word-size: "7"
70
- min-part-size: "3"
71
- max-parts: "5"
72
- min-avg-part-size: "4"
73
- append-wordclass: "+"
67
+ min-word-size: '7'
68
+ min-part-size: '3'
69
+ max-parts: '5'
70
+ min-avg-part-size: '4'
71
+ append-wordclass: '+'
74
72
  skip-sequences: [ xx ]
75
73
 
76
74
  suffix:
77
- # Suffixliste, Stand: 30-06-2005
78
- # Suffixklasse: s = Substantiv, a = Adjektiv, v = Verb, e = Eigenwort, f = Fugung
79
- # Suffixe je Klasse: "<suffix>['/'<ersetzung>][ <suffix>['/'<ersetzung>]]"
80
- - [s, "e en er ern es n s se sen ses"]
81
- - [a, "este ste ster sten stes ester estes esten e em en er ere eren erer eres es erem"]
82
- - [v, "e/en en/en est/en et/en st/en t/en te/en ten/en eten/en ete/en etest/en s"]
83
- - [e, "s"]
84
- - [f, "s n e en es er ch/che /en"]
75
+ # Suffixliste, Stand: 30-06-2005
76
+ # Suffixklasse: s = Substantiv, a = Adjektiv, v = Verb, e = Eigenwort, f = Fugung
77
+ # Suffixe je Klasse: "<suffix>['/'<ersetzung>][ <suffix>['/'<ersetzung>]]"
78
+ - [s, 'e en er ern es n s se sen ses']
79
+ - [a, 'este ste ster sten stes ester estes esten e em en er ere eren erer eres es erem']
80
+ - [v, 'e/en en/en est/en et/en st/en t/en te/en ten/en eten/en ete/en etest/en s']
81
+ - [e, 's']
82
+ - [f, 's n e en es er ch/che /en']
83
+
84
+ inflect:
85
+ a: # adjectives
86
+ f: e # feminine
87
+ m: er # masculine
88
+ n: es # neuter
89
+ p: e # plurale tantum
85
90
 
86
91
  attendees:
87
92
  variator:
88
93
  variations:
89
- - [ ieh, sch ]
90
- - [ fec, see ]
91
- - [ it, st ]
92
- - [ fch, sch ]
93
- - [ fp, sp ]
94
- - [ f, s ]
95
- - [ c, e ]
96
- - [ ffc, sse ]
97
- - [ ff, ss ]
98
- - [ e, c ]
99
- - [ ni, m ]
100
- - [ feh, sch ]
101
- - [ lt, st ]
102
- - [ il, st ]
103
- - [ ftc, ste ]
104
- - [ ft, st ]
105
- - [ fl, st ]
106
- - [ li, h ]
107
- - [ i, s ]
94
+ - [ieh, sch]
95
+ - [fec, see]
96
+ - [it, st ]
97
+ - [fch, sch]
98
+ - [fp, sp ]
99
+ - [f, s ]
100
+ - [c, e ]
101
+ - [ffc, sse]
102
+ - [ff, ss ]
103
+ - [e, c ]
104
+ - [ni, m ]
105
+ - [feh, sch]
106
+ - [lt, st ]
107
+ - [il, st ]
108
+ - [ftc, ste]
109
+ - [ft, st ]
110
+ - [fl, st ]
111
+ - [li, h ]
112
+ - [i, s ]
108
113
 
109
114
  sequencer:
110
- sequences: [ [AS, "2, 1"], [AK, "2, 1"], [AAK, "3, 1 2"], [AAS, "3, 1 2"] ]
115
+ sequences: [ [AS, '2, 1'], [AK, '2, 1'], [AAK, '3, 1 2'], [AAS, '3, 1 2'] ]
116
+
117
+ # tokenizer rules:
118
+ # SPAC = \s+
119
+ # NUMS = [+-]?(?:\d{4,}|\d{1,3}(?:\.\d{3,3})*)(?:\.|(?:,\d+)?%?)
120
+ # URLS = (?:www\.|mailto:|(?:news|https?|ftps?)://|\S+?[._]\S+?@\S+?\.)\S+
121
+ # ABRV = (?:(?:(?:#{CHAR})+\.)+)(?:#{CHAR})+
122
+ # WORD = (?:#{CHAR}|#{DIGIT}|-)+
123
+ # PUNC = [!,.:;?¡¿]
124
+ # OTHR = ["$#%&'()*+\-/<=>@\[\\\]^_{|}~¢£¤¥¦§¨©«¬®¯°±²³´¶·¸¹»¼½¾×÷]
125
+ # HELP = \S*