]>
Commit | Line | Data |
---|---|---|
064997fb FG |
1 | use super::{ |
2 | common::{RustStemmer, StopWordFilter, RegexTrimmer}, | |
3 | Language, | |
4 | }; | |
5 | use crate::pipeline::Pipeline; | |
6 | use rust_stemmers::Algorithm; | |
3dfed10e | 7 | |
064997fb FG |
8 | #[derive(Clone)] |
9 | pub struct Portuguese {} | |
10 | ||
11 | impl Portuguese { | |
12 | pub fn new() -> Self { | |
13 | Self {} | |
3dfed10e XL |
14 | } |
15 | } | |
16 | ||
064997fb FG |
17 | impl Language for Portuguese { |
18 | fn name(&self) -> String { | |
19 | "Portuguese".into() | |
20 | } | |
21 | fn code(&self) -> String { | |
22 | "pt".into() | |
23 | } | |
24 | ||
25 | fn tokenize(&self, text: &str) -> Vec<String> { | |
26 | super::tokenize_whitespace(text) | |
27 | } | |
3dfed10e | 28 | |
064997fb FG |
29 | fn make_pipeline(&self) -> Pipeline { |
30 | Pipeline { | |
31 | queue: vec![ | |
32 | Box::new(RegexTrimmer::new("trimmer-pt", r"\p{Latin}")), | |
33 | Box::new(StopWordFilter::new("stopWordFilter-pt", STOP_WORDS)), | |
34 | Box::new(RustStemmer::new("stemmer-pt", Algorithm::Portuguese)), | |
35 | ], | |
36 | } | |
37 | } | |
38 | } | |
39 | ||
40 | const STOP_WORDS: &[&str] = &[ | |
3dfed10e XL |
41 | "", |
42 | "a", | |
43 | "ao", | |
44 | "aos", | |
45 | "aquela", | |
46 | "aquelas", | |
47 | "aquele", | |
48 | "aqueles", | |
49 | "aquilo", | |
50 | "as", | |
51 | "até", | |
52 | "com", | |
53 | "como", | |
54 | "da", | |
55 | "das", | |
56 | "de", | |
57 | "dela", | |
58 | "delas", | |
59 | "dele", | |
60 | "deles", | |
61 | "depois", | |
62 | "do", | |
63 | "dos", | |
64 | "e", | |
65 | "ela", | |
66 | "elas", | |
67 | "ele", | |
68 | "eles", | |
69 | "em", | |
70 | "entre", | |
71 | "era", | |
72 | "eram", | |
73 | "essa", | |
74 | "essas", | |
75 | "esse", | |
76 | "esses", | |
77 | "esta", | |
78 | "estamos", | |
79 | "estas", | |
80 | "estava", | |
81 | "estavam", | |
82 | "este", | |
83 | "esteja", | |
84 | "estejam", | |
85 | "estejamos", | |
86 | "estes", | |
87 | "esteve", | |
88 | "estive", | |
89 | "estivemos", | |
90 | "estiver", | |
91 | "estivera", | |
92 | "estiveram", | |
93 | "estiverem", | |
94 | "estivermos", | |
95 | "estivesse", | |
96 | "estivessem", | |
97 | "estivéramos", | |
98 | "estivéssemos", | |
99 | "estou", | |
100 | "está", | |
101 | "estávamos", | |
102 | "estão", | |
103 | "eu", | |
104 | "foi", | |
105 | "fomos", | |
106 | "for", | |
107 | "fora", | |
108 | "foram", | |
109 | "forem", | |
110 | "formos", | |
111 | "fosse", | |
112 | "fossem", | |
113 | "fui", | |
114 | "fôramos", | |
115 | "fôssemos", | |
116 | "haja", | |
117 | "hajam", | |
118 | "hajamos", | |
119 | "havemos", | |
120 | "hei", | |
121 | "houve", | |
122 | "houvemos", | |
123 | "houver", | |
124 | "houvera", | |
125 | "houveram", | |
126 | "houverei", | |
127 | "houverem", | |
128 | "houveremos", | |
129 | "houveria", | |
130 | "houveriam", | |
131 | "houvermos", | |
132 | "houverá", | |
133 | "houverão", | |
134 | "houveríamos", | |
135 | "houvesse", | |
136 | "houvessem", | |
137 | "houvéramos", | |
138 | "houvéssemos", | |
139 | "há", | |
140 | "hão", | |
141 | "isso", | |
142 | "isto", | |
143 | "já", | |
144 | "lhe", | |
145 | "lhes", | |
146 | "mais", | |
147 | "mas", | |
148 | "me", | |
149 | "mesmo", | |
150 | "meu", | |
151 | "meus", | |
152 | "minha", | |
153 | "minhas", | |
154 | "muito", | |
155 | "na", | |
156 | "nas", | |
157 | "nem", | |
158 | "no", | |
159 | "nos", | |
160 | "nossa", | |
161 | "nossas", | |
162 | "nosso", | |
163 | "nossos", | |
164 | "num", | |
165 | "numa", | |
166 | "não", | |
167 | "nós", | |
168 | "o", | |
169 | "os", | |
170 | "ou", | |
171 | "para", | |
172 | "pela", | |
173 | "pelas", | |
174 | "pelo", | |
175 | "pelos", | |
176 | "por", | |
177 | "qual", | |
178 | "quando", | |
179 | "que", | |
180 | "quem", | |
181 | "se", | |
182 | "seja", | |
183 | "sejam", | |
184 | "sejamos", | |
185 | "sem", | |
186 | "serei", | |
187 | "seremos", | |
188 | "seria", | |
189 | "seriam", | |
190 | "será", | |
191 | "serão", | |
192 | "seríamos", | |
193 | "seu", | |
194 | "seus", | |
195 | "somos", | |
196 | "sou", | |
197 | "sua", | |
198 | "suas", | |
199 | "são", | |
200 | "só", | |
201 | "também", | |
202 | "te", | |
203 | "tem", | |
204 | "temos", | |
205 | "tenha", | |
206 | "tenham", | |
207 | "tenhamos", | |
208 | "tenho", | |
209 | "terei", | |
210 | "teremos", | |
211 | "teria", | |
212 | "teriam", | |
213 | "terá", | |
214 | "terão", | |
215 | "teríamos", | |
216 | "teu", | |
217 | "teus", | |
218 | "teve", | |
219 | "tinha", | |
220 | "tinham", | |
221 | "tive", | |
222 | "tivemos", | |
223 | "tiver", | |
224 | "tivera", | |
225 | "tiveram", | |
226 | "tiverem", | |
227 | "tivermos", | |
228 | "tivesse", | |
229 | "tivessem", | |
230 | "tivéramos", | |
231 | "tivéssemos", | |
232 | "tu", | |
233 | "tua", | |
234 | "tuas", | |
235 | "tém", | |
236 | "tínhamos", | |
237 | "um", | |
238 | "uma", | |
239 | "você", | |
240 | "vocês", | |
241 | "vos", | |
242 | "à", | |
243 | "às", | |
244 | "éramos", | |
064997fb | 245 | ]; |