arekit 0.24.0__py3-none-any.whl → 0.25.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. arekit/common/docs/entities_grouping.py +2 -1
  2. arekit/common/docs/parser.py +52 -20
  3. arekit/common/pipeline/base.py +12 -16
  4. arekit/common/pipeline/batching.py +28 -0
  5. arekit/common/pipeline/context.py +5 -1
  6. arekit/common/pipeline/items/base.py +38 -1
  7. arekit/common/pipeline/items/flatten.py +5 -1
  8. arekit/common/pipeline/items/handle.py +2 -1
  9. arekit/common/pipeline/items/iter.py +2 -1
  10. arekit/common/pipeline/items/map.py +2 -1
  11. arekit/common/pipeline/items/map_nested.py +4 -0
  12. arekit/common/pipeline/utils.py +32 -0
  13. arekit/common/service/sqlite.py +36 -0
  14. arekit/common/text/{partitioning/str.py → partitioning.py} +14 -9
  15. arekit/common/utils.py +0 -44
  16. arekit/contrib/utils/data/contents/opinions.py +13 -3
  17. arekit/contrib/utils/data/readers/sqlite.py +14 -0
  18. arekit/contrib/utils/data/storages/row_cache.py +6 -1
  19. arekit/contrib/utils/data/storages/sqlite_based.py +17 -0
  20. arekit/contrib/utils/data/writers/sqlite_native.py +4 -0
  21. arekit/contrib/utils/io_utils/utils.py +1 -18
  22. arekit/contrib/utils/pipelines/items/sampling/base.py +7 -12
  23. arekit/contrib/utils/pipelines/items/sampling/networks.py +3 -2
  24. arekit/contrib/utils/pipelines/items/text/entities_default.py +2 -2
  25. arekit/contrib/utils/pipelines/items/text/frames.py +2 -3
  26. arekit/contrib/utils/pipelines/items/text/frames_lemmatized.py +2 -2
  27. arekit/contrib/utils/pipelines/items/text/frames_negation.py +2 -1
  28. arekit/contrib/utils/pipelines/items/text/tokenizer.py +2 -4
  29. arekit/contrib/utils/pipelines/items/text/translator.py +2 -1
  30. arekit/contrib/utils/pipelines/text_opinion/extraction.py +6 -9
  31. arekit/contrib/utils/serializer.py +1 -2
  32. arekit-0.25.0.data/data/logo.png +0 -0
  33. arekit-0.25.0.dist-info/METADATA +82 -0
  34. {arekit-0.24.0.dist-info → arekit-0.25.0.dist-info}/RECORD +38 -153
  35. {arekit-0.24.0.dist-info → arekit-0.25.0.dist-info}/WHEEL +1 -1
  36. arekit/common/docs/objects_parser.py +0 -37
  37. arekit/common/text/parser.py +0 -12
  38. arekit/common/text/partitioning/base.py +0 -4
  39. arekit/common/text/partitioning/terms.py +0 -35
  40. arekit/contrib/source/__init__.py +0 -0
  41. arekit/contrib/source/brat/__init__.py +0 -0
  42. arekit/contrib/source/brat/annot.py +0 -84
  43. arekit/contrib/source/brat/doc.py +0 -28
  44. arekit/contrib/source/brat/entities/__init__.py +0 -0
  45. arekit/contrib/source/brat/entities/compound.py +0 -13
  46. arekit/contrib/source/brat/entities/entity.py +0 -42
  47. arekit/contrib/source/brat/entities/parser.py +0 -53
  48. arekit/contrib/source/brat/opinions/__init__.py +0 -0
  49. arekit/contrib/source/brat/opinions/converter.py +0 -19
  50. arekit/contrib/source/brat/relation.py +0 -32
  51. arekit/contrib/source/brat/sentence.py +0 -69
  52. arekit/contrib/source/brat/sentences_reader.py +0 -128
  53. arekit/contrib/source/download.py +0 -41
  54. arekit/contrib/source/nerel/__init__.py +0 -0
  55. arekit/contrib/source/nerel/entities.py +0 -55
  56. arekit/contrib/source/nerel/folding/__init__.py +0 -0
  57. arekit/contrib/source/nerel/folding/fixed.py +0 -74
  58. arekit/contrib/source/nerel/io_utils.py +0 -62
  59. arekit/contrib/source/nerel/labels.py +0 -241
  60. arekit/contrib/source/nerel/reader.py +0 -46
  61. arekit/contrib/source/nerel/utils.py +0 -24
  62. arekit/contrib/source/nerel/versions.py +0 -12
  63. arekit/contrib/source/nerelbio/__init__.py +0 -0
  64. arekit/contrib/source/nerelbio/io_utils.py +0 -62
  65. arekit/contrib/source/nerelbio/labels.py +0 -265
  66. arekit/contrib/source/nerelbio/reader.py +0 -8
  67. arekit/contrib/source/nerelbio/versions.py +0 -8
  68. arekit/contrib/source/ruattitudes/__init__.py +0 -0
  69. arekit/contrib/source/ruattitudes/collection.py +0 -36
  70. arekit/contrib/source/ruattitudes/doc.py +0 -51
  71. arekit/contrib/source/ruattitudes/doc_brat.py +0 -44
  72. arekit/contrib/source/ruattitudes/entity/__init__.py +0 -0
  73. arekit/contrib/source/ruattitudes/entity/parser.py +0 -7
  74. arekit/contrib/source/ruattitudes/io_utils.py +0 -56
  75. arekit/contrib/source/ruattitudes/labels_fmt.py +0 -12
  76. arekit/contrib/source/ruattitudes/opinions/__init__.py +0 -0
  77. arekit/contrib/source/ruattitudes/opinions/base.py +0 -28
  78. arekit/contrib/source/ruattitudes/opinions/converter.py +0 -37
  79. arekit/contrib/source/ruattitudes/reader.py +0 -268
  80. arekit/contrib/source/ruattitudes/sentence.py +0 -73
  81. arekit/contrib/source/ruattitudes/synonyms.py +0 -17
  82. arekit/contrib/source/ruattitudes/text_object.py +0 -59
  83. arekit/contrib/source/rusentiframes/__init__.py +0 -0
  84. arekit/contrib/source/rusentiframes/collection.py +0 -157
  85. arekit/contrib/source/rusentiframes/effect.py +0 -24
  86. arekit/contrib/source/rusentiframes/io_utils.py +0 -19
  87. arekit/contrib/source/rusentiframes/labels_fmt.py +0 -22
  88. arekit/contrib/source/rusentiframes/polarity.py +0 -35
  89. arekit/contrib/source/rusentiframes/role.py +0 -15
  90. arekit/contrib/source/rusentiframes/state.py +0 -24
  91. arekit/contrib/source/rusentiframes/types.py +0 -42
  92. arekit/contrib/source/rusentiframes/value.py +0 -2
  93. arekit/contrib/source/rusentrel/__init__.py +0 -0
  94. arekit/contrib/source/rusentrel/const.py +0 -3
  95. arekit/contrib/source/rusentrel/docs_reader.py +0 -51
  96. arekit/contrib/source/rusentrel/entities.py +0 -26
  97. arekit/contrib/source/rusentrel/io_utils.py +0 -125
  98. arekit/contrib/source/rusentrel/labels_fmt.py +0 -12
  99. arekit/contrib/source/rusentrel/opinions/__init__.py +0 -0
  100. arekit/contrib/source/rusentrel/opinions/collection.py +0 -30
  101. arekit/contrib/source/rusentrel/opinions/converter.py +0 -40
  102. arekit/contrib/source/rusentrel/opinions/provider.py +0 -54
  103. arekit/contrib/source/rusentrel/opinions/writer.py +0 -42
  104. arekit/contrib/source/rusentrel/synonyms.py +0 -17
  105. arekit/contrib/source/sentinerel/__init__.py +0 -0
  106. arekit/contrib/source/sentinerel/entities.py +0 -52
  107. arekit/contrib/source/sentinerel/folding/__init__.py +0 -0
  108. arekit/contrib/source/sentinerel/folding/factory.py +0 -31
  109. arekit/contrib/source/sentinerel/folding/fixed.py +0 -70
  110. arekit/contrib/source/sentinerel/io_utils.py +0 -87
  111. arekit/contrib/source/sentinerel/labels.py +0 -53
  112. arekit/contrib/source/sentinerel/labels_scaler.py +0 -30
  113. arekit/contrib/source/sentinerel/reader.py +0 -42
  114. arekit/contrib/source/synonyms/__init__.py +0 -0
  115. arekit/contrib/source/synonyms/utils.py +0 -19
  116. arekit/contrib/source/zip_utils.py +0 -47
  117. arekit/contrib/utils/connotations/__init__.py +0 -0
  118. arekit/contrib/utils/connotations/rusentiframes_sentiment.py +0 -23
  119. arekit/contrib/utils/download.py +0 -77
  120. arekit/contrib/utils/io_utils/opinions.py +0 -37
  121. arekit/contrib/utils/io_utils/samples.py +0 -79
  122. arekit/contrib/utils/lexicons/__init__.py +0 -0
  123. arekit/contrib/utils/lexicons/lexicon.py +0 -41
  124. arekit/contrib/utils/lexicons/relation.py +0 -42
  125. arekit/contrib/utils/lexicons/rusentilex.py +0 -37
  126. arekit/contrib/utils/nn/__init__.py +0 -0
  127. arekit/contrib/utils/nn/rows.py +0 -83
  128. arekit/contrib/utils/pipelines/items/text/terms_splitter.py +0 -10
  129. arekit/contrib/utils/pipelines/sources/__init__.py +0 -0
  130. arekit/contrib/utils/pipelines/sources/nerel/__init__.py +0 -0
  131. arekit/contrib/utils/pipelines/sources/nerel/doc_provider.py +0 -27
  132. arekit/contrib/utils/pipelines/sources/nerel/extract_text_relations.py +0 -65
  133. arekit/contrib/utils/pipelines/sources/nerel/labels_fmt.py +0 -60
  134. arekit/contrib/utils/pipelines/sources/nerel_bio/__init__.py +0 -0
  135. arekit/contrib/utils/pipelines/sources/nerel_bio/doc_provider.py +0 -29
  136. arekit/contrib/utils/pipelines/sources/nerel_bio/extrat_text_relations.py +0 -64
  137. arekit/contrib/utils/pipelines/sources/nerel_bio/labels_fmt.py +0 -79
  138. arekit/contrib/utils/pipelines/sources/ruattitudes/__init__.py +0 -0
  139. arekit/contrib/utils/pipelines/sources/ruattitudes/doc_provider.py +0 -56
  140. arekit/contrib/utils/pipelines/sources/ruattitudes/entity_filter.py +0 -20
  141. arekit/contrib/utils/pipelines/sources/ruattitudes/extract_text_opinions.py +0 -65
  142. arekit/contrib/utils/pipelines/sources/rusentrel/__init__.py +0 -0
  143. arekit/contrib/utils/pipelines/sources/rusentrel/doc_provider.py +0 -21
  144. arekit/contrib/utils/pipelines/sources/rusentrel/extract_text_opinions.py +0 -107
  145. arekit/contrib/utils/pipelines/sources/sentinerel/__init__.py +0 -0
  146. arekit/contrib/utils/pipelines/sources/sentinerel/doc_provider.py +0 -29
  147. arekit/contrib/utils/pipelines/sources/sentinerel/entity_filter.py +0 -62
  148. arekit/contrib/utils/pipelines/sources/sentinerel/extract_text_opinions.py +0 -180
  149. arekit/contrib/utils/pipelines/sources/sentinerel/labels_fmt.py +0 -50
  150. arekit/contrib/utils/pipelines/text_opinion/annot/predefined.py +0 -88
  151. arekit/contrib/utils/resources.py +0 -25
  152. arekit/contrib/utils/sources/__init__.py +0 -0
  153. arekit/contrib/utils/sources/sentinerel/__init__.py +0 -0
  154. arekit/contrib/utils/sources/sentinerel/text_opinion/__init__.py +0 -0
  155. arekit/contrib/utils/sources/sentinerel/text_opinion/prof_per_org_filter.py +0 -63
  156. arekit/download_data.py +0 -11
  157. arekit-0.24.0.dist-info/METADATA +0 -23
  158. /arekit/common/{text/partitioning → service}/__init__.py +0 -0
  159. {arekit-0.24.0.dist-info → arekit-0.25.0.dist-info}/LICENSE +0 -0
  160. {arekit-0.24.0.dist-info → arekit-0.25.0.dist-info}/top_level.txt +0 -0
@@ -1,265 +0,0 @@
1
- from arekit.common.labels.base import Label
2
-
3
-
4
- class ABBREVIATION(Label):
5
- pass
6
-
7
-
8
- class ALTERNATIVE_NAME(Label):
9
- pass
10
-
11
-
12
- class KNOWS(Label):
13
- pass
14
-
15
-
16
- class AGE_IS(Label):
17
- pass
18
-
19
-
20
- class AGE_DIED_AT(Label):
21
- pass
22
-
23
-
24
- class AWARDED_WITH(Label):
25
- pass
26
-
27
-
28
- class PLACE_OF_BIRTH(Label):
29
- pass
30
-
31
-
32
- class DATE_DEFUNCT_IN(Label):
33
- pass
34
-
35
-
36
- class DATE_FOUNDED_IN(Label):
37
- pass
38
-
39
-
40
- class DATE_OF_BIRTH(Label):
41
- pass
42
-
43
-
44
- class DATE_OF_CREATION(Label):
45
- pass
46
-
47
-
48
- class DATE_OF_DEATH(Label):
49
- pass
50
-
51
-
52
- class POINT_IN_TIME(Label):
53
- pass
54
-
55
-
56
- class PLACE_OF_DEATH(Label):
57
- pass
58
-
59
-
60
- class FOUNDED_BY(Label):
61
- pass
62
-
63
-
64
- class HEADQUARTERED_IN(Label):
65
- pass
66
-
67
-
68
- class IDEOLOGY_OF(Label):
69
- pass
70
-
71
-
72
- class SPOUSE(Label):
73
- pass
74
-
75
-
76
- class MEMBER_OF(Label):
77
- pass
78
-
79
-
80
- class ORGANIZES(Label):
81
- pass
82
-
83
-
84
- class OWNER_OF(Label):
85
- pass
86
-
87
-
88
- class PARENT_OF(Label):
89
- pass
90
-
91
-
92
- class PARTICIPANT_IN(Label):
93
- pass
94
-
95
-
96
- class PLACE_RESIDES_IN(Label):
97
- pass
98
-
99
-
100
- class PRICE_OF(Label):
101
- pass
102
-
103
-
104
- class PRODUCES(Label):
105
- pass
106
-
107
-
108
- class RELATIVE(Label):
109
- pass
110
-
111
-
112
- class RELIGION_OF(Label):
113
- pass
114
-
115
-
116
- class SCHOOLS_ATTENDED(Label):
117
- pass
118
-
119
-
120
- class SIBLING(Label):
121
- pass
122
-
123
-
124
- class SUBEVENT_OF(Label):
125
- pass
126
-
127
-
128
- class SUBORDINATE_OF(Label):
129
- pass
130
-
131
-
132
- class TAKES_PLACE_IN(Label):
133
- pass
134
-
135
-
136
- class WORKPLACE(Label):
137
- pass
138
-
139
-
140
- class WORKS_AS(Label):
141
- pass
142
-
143
-
144
- class CONVICTED_OF(Label):
145
- pass
146
-
147
-
148
- class PENALIZED_AS(Label):
149
- pass
150
-
151
-
152
- class START_TIME(Label):
153
- pass
154
-
155
-
156
- class END_TIME(Label):
157
- pass
158
-
159
-
160
- class EXPENDITURE(Label):
161
- pass
162
-
163
-
164
- class AGENT(Label):
165
- pass
166
-
167
-
168
- class INANIMATE_INVOLVED(Label):
169
- pass
170
-
171
-
172
- class INCOME(Label):
173
- pass
174
-
175
-
176
- class SUBCLASS_OF(Label):
177
- pass
178
-
179
-
180
- class PART_OF(Label):
181
- pass
182
-
183
-
184
- class LOCATED_IN(Label):
185
- pass
186
-
187
-
188
- class TREATED_USING(Label):
189
- pass
190
-
191
-
192
- class ORIGINS_FROM(Label):
193
- pass
194
-
195
-
196
- class TO_DETECT_OR_STUDY(Label):
197
- pass
198
-
199
-
200
- class AFFECTS(Label):
201
- pass
202
-
203
-
204
- class HAS_CAUSE(Label):
205
- pass
206
-
207
-
208
- class APPLIED_TO(Label):
209
- pass
210
-
211
-
212
- class USED_IN(Label):
213
- pass
214
-
215
-
216
- class ASSOCIATED_WITH(Label):
217
- pass
218
-
219
-
220
- class HAS_ADMINISTRATION_ROUTE(Label):
221
- pass
222
-
223
-
224
- class HAS_STRENGTH(Label):
225
- pass
226
-
227
-
228
- class DURATION_OF(Label):
229
- pass
230
-
231
-
232
- class VALUE_IS(Label):
233
- pass
234
-
235
-
236
- class PHYSIOLOGY_OF(Label):
237
- pass
238
-
239
-
240
- class PROCEDURE_PERFORMED(Label):
241
- pass
242
-
243
-
244
- class MENTAL_PROCESS_OF(Label):
245
- pass
246
-
247
-
248
- class MEDICAL_CONDITION(Label):
249
- pass
250
-
251
-
252
- class DOSE_IS(Label):
253
- pass
254
-
255
-
256
- class FINDING_OF(Label):
257
- pass
258
-
259
-
260
- class CAUSE_OF_DEATH(Label):
261
- pass
262
-
263
-
264
- class CONSUME(Label):
265
- pass
@@ -1,8 +0,0 @@
1
- from arekit.contrib.source.nerel.reader import NerelDocReader
2
- from arekit.contrib.source.nerelbio.io_utils import NerelBioIOUtils
3
-
4
-
5
- class NerelBioDocReader(NerelDocReader):
6
-
7
- def __init__(self, version):
8
- super(NerelBioDocReader, self).__init__(version=version, io_utils=NerelBioIOUtils())
@@ -1,8 +0,0 @@
1
- import enum
2
-
3
-
4
- class NerelBioVersions(enum.Enum):
5
- V1 = "v1_0"
6
-
7
-
8
- DEFAULT_VERSION = NerelBioVersions.V1
File without changes
@@ -1,36 +0,0 @@
1
- from arekit.contrib.source.ruattitudes.io_utils import RuAttitudesVersions, RuAttitudesIOUtils
2
- from arekit.contrib.source.ruattitudes.reader import RuAttitudesFormatReader
3
-
4
-
5
- class RuAttitudesCollection(object):
6
-
7
- @staticmethod
8
- def __get_reading_handler(input_file, read_inds_only, get_doc_inds_func):
9
- assert(isinstance(read_inds_only, bool))
10
-
11
- if read_inds_only:
12
- return RuAttitudesFormatReader.iter_docs_inds(input_file=input_file,
13
- get_doc_index_func=get_doc_inds_func)
14
- else:
15
- return RuAttitudesFormatReader.iter_docs(input_file=input_file,
16
- get_doc_index_func=get_doc_inds_func)
17
-
18
- @staticmethod
19
- def iter_docs(version, get_doc_index_func, return_inds_only):
20
- """
21
- RuAttitudes collection reader from zip archive
22
- """
23
- assert(isinstance(version, RuAttitudesVersions))
24
- assert(callable(get_doc_index_func))
25
- assert(isinstance(return_inds_only, bool))
26
-
27
- it = RuAttitudesIOUtils.iter_from_zip(
28
- inner_path=RuAttitudesIOUtils.get_collection_filepath(),
29
- process_func=lambda input_filepath: RuAttitudesCollection.__get_reading_handler(
30
- input_file=input_filepath,
31
- read_inds_only=return_inds_only,
32
- get_doc_inds_func=get_doc_index_func),
33
- version=version)
34
-
35
- for doc in it:
36
- yield doc
@@ -1,51 +0,0 @@
1
- from arekit.contrib.source.ruattitudes.sentence import RuAttitudesSentence
2
-
3
-
4
- class RuAttitudesDocument(object):
5
-
6
- def __init__(self, sentences, doc_index):
7
- assert(len(sentences) > 0)
8
-
9
- self.__sentences = sentences
10
- self.__objects_before_sentence = self.__cache_objects_declared_before()
11
- self.__doc_index = doc_index
12
-
13
- self.__set_owners()
14
-
15
- # region properties
16
-
17
- @property
18
- def ID(self):
19
- return self.__doc_index
20
-
21
- @property
22
- def Title(self):
23
- return self.__sentences[0]
24
-
25
- # endregion
26
-
27
- # region private methods
28
-
29
- def __set_owners(self):
30
- for sentence in self.__sentences:
31
- assert(isinstance(sentence, RuAttitudesSentence))
32
- sentence.set_owner(self)
33
-
34
- def __cache_objects_declared_before(self):
35
- d = {}
36
- before = 0
37
- for s in self.__sentences:
38
- assert(isinstance(s, RuAttitudesSentence))
39
- d[s.SentenceIndex] = before
40
- before += s.ObjectsCount
41
-
42
- return d
43
-
44
- # endregion
45
-
46
- def get_objects_declared_before(self, sentence_index):
47
- return self.__objects_before_sentence[sentence_index]
48
-
49
- def iter_sentences(self):
50
- for sentence in self.__sentences:
51
- yield sentence
@@ -1,44 +0,0 @@
1
- from arekit.contrib.source.brat.doc import BratDocument
2
- from arekit.contrib.source.brat.sentence import BratSentence
3
- from arekit.contrib.source.ruattitudes.doc import RuAttitudesDocument
4
- from arekit.contrib.source.ruattitudes.opinions.base import SentenceOpinion
5
- from arekit.contrib.source.ruattitudes.opinions.converter import RuAttitudesSentenceOpinionConverter
6
- from arekit.contrib.source.ruattitudes.sentence import RuAttitudesSentence
7
- from arekit.common.utils import split_by_whitespaces
8
-
9
-
10
- class RuAttitudesDocumentsConverter(object):
11
- """ Performs conversion to a brat-based representation.
12
- The latter allows then allows to adopt pipelines for TextOpnion extraction.
13
- """
14
-
15
- @staticmethod
16
- def to_brat_doc(doc):
17
- assert(isinstance(doc, RuAttitudesDocument))
18
- text_opinions = RuAttitudesDocumentsConverter.__iter_text_opinions(doc=doc)
19
- brat_sentences = RuAttitudesDocumentsConverter.__to_brat_sentences(doc.iter_sentences())
20
- return BratDocument(doc_id=doc.ID,
21
- sentences=brat_sentences,
22
- text_relations=list(text_opinions))
23
-
24
- @staticmethod
25
- def __to_brat_sentences(sentences_iter):
26
- sentences = []
27
- for s in sentences_iter:
28
- assert(isinstance(s, RuAttitudesSentence))
29
- assert(s.Owner is not None)
30
- brat_entities = [obj.to_entity(s.get_doc_level_text_object_id) for obj in s.iter_objects()]
31
- brat_sentence = BratSentence(text=split_by_whitespaces(s.Text), index_begin=0, entities=brat_entities)
32
- sentences.append(brat_sentence)
33
- return sentences
34
-
35
- @staticmethod
36
- def __iter_text_opinions(doc):
37
- assert(isinstance(doc, RuAttitudesDocument))
38
- for sentence in doc.iter_sentences():
39
- assert(isinstance(sentence, RuAttitudesSentence))
40
- for sentence_opinion in sentence.iter_sentence_opins():
41
- assert(isinstance(sentence_opinion, SentenceOpinion))
42
- yield RuAttitudesSentenceOpinionConverter.to_brat_relation(
43
- sentence_opinion=sentence_opinion,
44
- end_to_doc_id_func=sentence.get_doc_level_text_object_id)
File without changes
@@ -1,7 +0,0 @@
1
- from arekit.contrib.source.brat.entities.parser import BratTextEntitiesParser
2
-
3
-
4
- class RuAttitudesTextEntitiesParser(BratTextEntitiesParser):
5
-
6
- def __init__(self):
7
- super(RuAttitudesTextEntitiesParser, self).__init__(partitioning="terms")
@@ -1,56 +0,0 @@
1
- from os import path
2
-
3
- from enum import Enum
4
-
5
- from arekit.contrib.source.zip_utils import ZipArchiveUtils
6
-
7
-
8
- class RuAttitudesVersions(Enum):
9
- Debug = "dbg"
10
- V10 = "v1_0"
11
- V11 = "v1_1"
12
- V20Base = 'v2_0_base'
13
- V20Large = 'v2_0_large'
14
- V20BaseNeut = 'v2_0_base_neut'
15
- V20LargeNeut = 'v2_0_large_neut'
16
-
17
-
18
- class RuAttitudesVersionsService:
19
-
20
- @staticmethod
21
- def __iter_type_and_names():
22
- for version_type in RuAttitudesVersions:
23
- yield version_type, version_type.value
24
-
25
- @staticmethod
26
- def find_by_name(name):
27
- for version_type, related_name in RuAttitudesVersionsService.__iter_type_and_names():
28
- if name == related_name:
29
- return version_type
30
- raise Exception("Version `{}` does not supported".format(name))
31
-
32
- @staticmethod
33
- def iter_supported_names():
34
- for _, name in RuAttitudesVersionsService.__iter_type_and_names():
35
- yield name
36
-
37
-
38
- class RuAttitudesIOUtils(ZipArchiveUtils):
39
-
40
- # region internal methods
41
-
42
- @staticmethod
43
- def get_archive_filepath(version):
44
- assert(isinstance(version, str))
45
- return path.join(RuAttitudesIOUtils.get_data_root(),
46
- "ruattitudes-{version}.zip".format(version=version))
47
-
48
- @staticmethod
49
- def get_collection_filepath():
50
- return "collection.txt"
51
-
52
- @classmethod
53
- def get_synonyms_innerpath(cls):
54
- return "synonyms.txt"
55
-
56
- # endregion
@@ -1,12 +0,0 @@
1
- from arekit.common.labels.scaler.base import BaseLabelScaler
2
- from arekit.common.labels.str_fmt import StringLabelsFormatter
3
-
4
-
5
- class RuAttitudesLabelFormatter(StringLabelsFormatter):
6
-
7
- def __init__(self, label_scaler):
8
- assert(isinstance(label_scaler, BaseLabelScaler))
9
- stol = {}
10
- for int_label in [-1, 0, 1]:
11
- stol[str(int_label)] = type(label_scaler.int_to_label(int_label))
12
- super(RuAttitudesLabelFormatter, self).__init__(stol=stol)
File without changes
@@ -1,28 +0,0 @@
1
- class SentenceOpinion(object):
2
- """ Provides an opinion within a sentence.
3
- Specific for RuAttitudes collection, as the latter provides
4
- connections within a sentence.
5
- """
6
-
7
- def __init__(self, source_id, target_id, label_int, tag):
8
- assert(isinstance(label_int, int))
9
- self.__label_int = label_int
10
- self.__source_id = source_id
11
- self.__target_id = target_id
12
- self.__tag = tag
13
-
14
- @property
15
- def SourceID(self):
16
- return self.__source_id
17
-
18
- @property
19
- def TargetID(self):
20
- return self.__target_id
21
-
22
- @property
23
- def Label(self):
24
- return self.__label_int
25
-
26
- @property
27
- def Tag(self):
28
- return self.__tag
@@ -1,37 +0,0 @@
1
- from arekit.common.labels.scaler.base import BaseLabelScaler
2
- from arekit.common.opinions.base import Opinion
3
- from arekit.contrib.source.brat.relation import BratRelation
4
- from arekit.contrib.source.ruattitudes.opinions.base import SentenceOpinion
5
-
6
-
7
- class RuAttitudesSentenceOpinionConverter:
8
-
9
- @staticmethod
10
- def to_brat_relation(sentence_opinion, end_to_doc_id_func):
11
- """ Converts opinion into brat-related relation.
12
- NOTE: for rel_type we just call str() over int-based value.
13
- """
14
- assert(isinstance(sentence_opinion, SentenceOpinion))
15
- return BratRelation(id_in_doc="0",
16
- source_id=end_to_doc_id_func(sentence_opinion.SourceID),
17
- target_id=end_to_doc_id_func(sentence_opinion.TargetID),
18
- rel_type=str(sentence_opinion.Label))
19
-
20
- @staticmethod
21
- def to_opinion(sentence_opinion, source_value, target_value, label_scaler):
22
- """
23
- Converts onto document, non referenced opinion
24
- (non bounded to the text).
25
- """
26
- assert(isinstance(sentence_opinion, SentenceOpinion))
27
- assert(isinstance(label_scaler, BaseLabelScaler))
28
-
29
- opinion = Opinion(source_value=source_value,
30
- target_value=target_value,
31
- label=label_scaler.int_to_label(sentence_opinion.Label))
32
-
33
- # Using this tag allows to perform a revert operation,
34
- # i.e. to find opinion_ref by opinion.
35
- opinion.set_tag(sentence_opinion.Tag)
36
-
37
- return opinion