sentimentanalyzer01 commited on
Commit
aa015c0
·
1 Parent(s): 2ba120e

Added files

Browse files
Dockerfile ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Явно указываем Python 3.10
2
+ FROM python:3.10-slim
3
+
4
+ WORKDIR /app
5
+
6
+ # Устанавливаем системные зависимости
7
+ RUN apt-get update && apt-get install -y \
8
+ gcc \
9
+ g++ \
10
+ make \
11
+ build-essential \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Обновляем pip и устанавливаем setuptools
15
+ RUN pip install --no-cache-dir --upgrade pip setuptools wheel
16
+
17
+ # Копируем requirements
18
+ COPY requirements.txt .
19
+
20
+ # Устанавливаем зависимости
21
+ RUN pip install --no-cache-dir -r requirements.txt
22
+
23
+ # Копируем остальные файлы
24
+ COPY . .
25
+
26
+ # Создаем папку для модели
27
+ RUN mkdir -p model
28
+
29
+ EXPOSE 7860
30
+
31
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,533 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ import json
4
+ import pickle
5
+ import torch
6
+ import torch.nn as nn
7
+ import numpy as np
8
+ import re
9
+ from typing import Dict, List, Any, Optional
10
+ from collections import defaultdict, Counter
11
+ import networkx as nx
12
+ import pymorphy3
13
+ import requests
14
+ from fastapi import FastAPI, Request, Form, HTTPException
15
+ from fastapi.responses import HTMLResponse, JSONResponse
16
+ from fastapi.staticfiles import StaticFiles
17
+ from fastapi.templating import Jinja2Templates
18
+ import uvicorn
19
+ from transformers import BertTokenizer, BertModel
20
+ import warnings
21
+ warnings.filterwarnings('ignore')
22
+
23
+ # Определяем устройство
24
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
25
+ print(f"Используется устройство: {device}")
26
+
27
+ # ============================================================
28
+ # ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
29
+ # ============================================================
30
+ def clean_russian_text(text):
31
+ if not isinstance(text, str):
32
+ return ""
33
+ text = text.lower()
34
+ text = re.sub(r'http\S+|www\S+|https\S+', '', text)
35
+ text = re.sub(r'\S+@\S+', '', text)
36
+ smileys = {
37
+ ':)': ' смайлик_радость ', ')': ' смайлик_радость ',
38
+ ':(': ' смайлик_грусть ', '(': ' смайлик_грусть ',
39
+ ':D': ' смайлик_смех ', ';)': ' смайлик_подмигивание ',
40
+ }
41
+ for smiley, replacement in smileys.items():
42
+ text = text.replace(smiley, replacement)
43
+ text = re.sub(r'[^\w\sа-яё.,!?;:)(-]', ' ', text)
44
+ text = re.sub(r'\s+', ' ', text).strip()
45
+ return text
46
+
47
+ # ============================================================
48
+ # КЛАССЫ МОДЕЛЕЙ (копируем из вашего кода)
49
+ # ============================================================
50
+ class EmotionLSTM(nn.Module):
51
+ def __init__(self, vocab_size, embed_dim=128, hidden_dim=256,
52
+ num_classes=3, dropout=0.3, num_layers=2):
53
+ super().__init__()
54
+ self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=0)
55
+ self.lstm = nn.LSTM(
56
+ embed_dim,
57
+ hidden_dim,
58
+ num_layers=num_layers,
59
+ batch_first=True,
60
+ bidirectional=True,
61
+ dropout=dropout if num_layers > 1 else 0
62
+ )
63
+ self.dropout = nn.Dropout(dropout)
64
+ self.classifier = nn.Sequential(
65
+ nn.Linear(hidden_dim * 2, 128),
66
+ nn.ReLU(),
67
+ nn.Dropout(dropout),
68
+ nn.Linear(128, 64),
69
+ nn.ReLU(),
70
+ nn.Linear(64, num_classes)
71
+ )
72
+
73
+ def forward(self, x, return_confidence=False):
74
+ embedded = self.embedding(x)
75
+ lstm_out, (hidden, cell) = self.lstm(embedded)
76
+ lstm_last = torch.cat((hidden[-2, :, :], hidden[-1, :, :]), dim=1)
77
+ features = self.dropout(lstm_last)
78
+ logits = self.classifier(features)
79
+ if return_confidence:
80
+ probs = torch.softmax(logits, dim=1)
81
+ conf, _ = torch.max(probs, dim=1)
82
+ return logits, conf
83
+ return logits
84
+
85
+ class EmotionBERT(nn.Module):
86
+ def __init__(self, bert_model_name, num_classes, dropout=0.3):
87
+ super().__init__()
88
+ self.bert = BertModel.from_pretrained(bert_model_name)
89
+ # Замораживаем все слои кроме последних
90
+ for p in list(self.bert.parameters())[:-50]:
91
+ p.requires_grad = False
92
+ hidden = self.bert.config.hidden_size
93
+ self.classifier = nn.Sequential(
94
+ nn.Dropout(dropout),
95
+ nn.Linear(hidden, 256), nn.ReLU(),
96
+ nn.Dropout(dropout),
97
+ nn.Linear(256, 128), nn.ReLU(),
98
+ nn.Linear(128, num_classes)
99
+ )
100
+
101
+ def forward(self, input_ids, attention_mask, return_confidence=False):
102
+ out = self.bert(input_ids, attention_mask, return_dict=True)
103
+ cls = out.last_hidden_state[:, 0, :]
104
+ logits = self.classifier(cls)
105
+ if return_confidence:
106
+ probs = torch.softmax(logits, dim=1)
107
+ conf, _ = torch.max(probs, dim=1)
108
+ return logits, conf
109
+ return logits
110
+
111
+ class OntologyEmotionModel:
112
+ def __init__(self, emotions: List[str]):
113
+ self.emotions = emotions
114
+ self.morph = pymorphy3.MorphAnalyzer()
115
+ self.ontology_graph = nx.DiGraph()
116
+ self.empirical_base = defaultdict(list)
117
+ self.hypotheses_db = {}
118
+ self.verified_hypotheses = defaultdict(list)
119
+ self.sentiment_lexicon = {}
120
+ self.rule_stats = {}
121
+
122
+ self.init_ontology_level1()
123
+ self.init_linguistic_rules()
124
+
125
+ def init_ontology_level1(self):
126
+ self.emotion_definitions = {
127
+ 'радость': {
128
+ 'valence': 'positive',
129
+ 'arousal': 'high',
130
+ 'definition': 'Позитивное эмоциональное состояние',
131
+ 'opposite': ['г��усть', 'злость']
132
+ },
133
+ 'грусть': {
134
+ 'valence': 'negative',
135
+ 'arousal': 'low',
136
+ 'definition': 'Негативное эмоциональное состояние',
137
+ 'opposite': ['радость']
138
+ },
139
+ 'злость': {
140
+ 'valence': 'negative',
141
+ 'arousal': 'high',
142
+ 'definition': 'Негативное эмоциональное состояние',
143
+ 'opposite': ['радость']
144
+ },
145
+ 'страх': {
146
+ 'valence': 'negative',
147
+ 'arousal': 'high',
148
+ 'definition': 'Эмоциональная реакция на угрозу',
149
+ 'opposite': ['уверенность', 'спокойствие']
150
+ },
151
+ 'сарказм': {
152
+ 'valence': 'negative',
153
+ 'arousal': 'high',
154
+ 'definition': 'Язвительная насмешка',
155
+ 'opposite': ['радость']
156
+ }
157
+ }
158
+ for emotion in self.emotions:
159
+ if emotion in self.emotion_definitions:
160
+ self.ontology_graph.add_node(emotion, **self.emotion_definitions[emotion])
161
+ else:
162
+ self.ontology_graph.add_node(emotion, valence='neutral', arousal='neutral')
163
+
164
+ def init_linguistic_rules(self):
165
+ self.linguistic_rules = {
166
+ 'усилители': {
167
+ 'words': ['очень', 'сильно', 'крайне', 'чрезвычайно', 'невероятно', 'абсолютно'],
168
+ 'effect': 'increase_arousal',
169
+ 'weight': 0.3
170
+ },
171
+ 'ослабители': {
172
+ 'words': ['слегка', 'немного', 'чуть-чуть', 'отчасти', 'несколько'],
173
+ 'effect': 'decrease_arousal',
174
+ 'weight': -0.2
175
+ },
176
+ 'отрицания': {
177
+ 'words': ['не', 'ни', 'нет', 'нельзя', 'невозможно'],
178
+ 'effect': 'negation',
179
+ 'weight': -0.5
180
+ },
181
+ 'восклицания': {
182
+ 'patterns': [r'!+', r'\?+', r'\.{3,}'],
183
+ 'effect': 'increase_arousal',
184
+ 'weight': 0.4
185
+ }
186
+ }
187
+
188
+ def apply_linguistic_rules(self, text: str) -> Dict:
189
+ rules_applied = []
190
+ adjustments = {'valence': 0, 'arousal': 0, 'uncertainty': 0, 'sarcasm': 0}
191
+ words = text.lower().split()
192
+ lemmas = [self.morph.parse(w)[0].normal_form for w in words]
193
+
194
+ for category, rule in self.linguistic_rules.items():
195
+ if 'words' in rule:
196
+ for word in rule['words']:
197
+ if word in lemmas:
198
+ rules_applied.append(f"{category}: {word}")
199
+ if rule['effect'] == 'increase_arousal':
200
+ adjustments['arousal'] += rule['weight']
201
+ elif rule['effect'] == 'decrease_arousal':
202
+ adjustments['arousal'] += rule['weight']
203
+ elif rule['effect'] == 'negation':
204
+ adjustments['valence'] += rule['weight']
205
+ if 'patterns' in rule:
206
+ for pattern in rule['patterns']:
207
+ if re.search(pattern, text):
208
+ rules_applied.append(f"{category}: {pattern}")
209
+ if rule['effect'] == 'increase_arousal':
210
+ adjustments['arousal'] += rule['weight']
211
+
212
+ return {
213
+ 'rules_applied': rules_applied,
214
+ 'adjustments': adjustments,
215
+ 'lemmas': lemmas
216
+ }
217
+
218
+ def adjust_prediction_with_rules(self, prediction: Dict, rule_analysis: Dict) -> Dict:
219
+ original_emotion = prediction['emotion']
220
+ original_confidence = prediction['confidence']
221
+ adj = rule_analysis['adjustments']
222
+ rules = rule_analysis['rules_applied']
223
+
224
+ # Базовая корректировка
225
+ conf_mult = 1.0 + adj['arousal'] * 0.2
226
+ conf_mult = np.clip(conf_mult, 0.5, 1.5)
227
+ new_confidence = original_confidence * conf_mult
228
+ new_emotion = original_emotion
229
+
230
+ # Специальные правила
231
+ for rule in rules:
232
+ if rule.startswith("отрицания:"):
233
+ new_confidence *= 0.8
234
+
235
+ return {
236
+ 'emotion': new_emotion,
237
+ 'confidence': new_confidence,
238
+ 'rules_applied': rules
239
+ }
240
+
241
+ def get_ontology_analysis(self, text: str, model_prediction: Dict) -> Dict:
242
+ rule_analysis = self.apply_linguistic_rules(text)
243
+ adjusted = self.adjust_prediction_with_rules(model_prediction, rule_analysis)
244
+
245
+ return {
246
+ 'rule_analysis': rule_analysis,
247
+ 'adjusted_prediction': adjusted
248
+ }
249
+
250
+ def get_statistics(self) -> Dict:
251
+ return {
252
+ 'ontology_nodes': len(self.ontology_graph.nodes),
253
+ 'ontology_edges': len(self.ontology_graph.edges),
254
+ 'linguistic_rules': len(self.linguistic_rules),
255
+ 'emotions_covered': len(self.emotions)
256
+ }
257
+
258
+ class CascadeEmotionClassifier:
259
+ def __init__(self, lstm_model, bert_model, vocab, tokenizer,
260
+ label_encoder, ontology_model, threshold=0.95, device='cpu',
261
+ max_length_lstm=100, max_length_bert=128):
262
+ self.lstm_model = lstm_model
263
+ self.bert_model = bert_model
264
+ self.vocab = vocab
265
+ self.tokenizer = tokenizer
266
+ self.label_encoder = label_encoder
267
+ self.ontology_model = ontology_model
268
+ self.threshold = threshold
269
+ self.device = device
270
+ self.max_length_lstm = max_length_lstm
271
+ self.max_length_bert = max_length_bert
272
+
273
+ self.lstm_model.eval()
274
+ self.bert_model.eval()
275
+ self.lstm_model.to(device)
276
+ self.bert_model.to(device)
277
+
278
+ self.stats = {'total': 0, 'lstm': 0, 'bert': 0}
279
+
280
+ def text_to_sequence(self, text):
281
+ words = str(text).split()[:self.max_length_lstm]
282
+ sequence = [self.vocab.get(word, self.vocab.get('<UNK>', 1)) for word in words]
283
+ if len(sequence) < self.max_length_lstm:
284
+ sequence += [self.vocab.get('<PAD>', 0)] * (self.max_length_lstm - len(sequence))
285
+ return sequence[:self.max_length_lstm]
286
+
287
+ def predict(self, text):
288
+ self.stats['total'] += 1
289
+ text_clean = clean_russian_text(text)
290
+
291
+ # LSTM prediction
292
+ seq = torch.LongTensor([self.text_to_sequence(text_clean)]).to(self.device)
293
+ with torch.no_grad():
294
+ lstm_logits, lstm_conf = self.lstm_model(seq, return_confidence=True)
295
+ lstm_probs = torch.softmax(lstm_logits, dim=1)
296
+ lstm_pred = lstm_probs.argmax().item()
297
+
298
+ lstm_emo = self.label_encoder.inverse_transform([lstm_pred])[0]
299
+ lstm_pred_dict = {
300
+ 'emotion': lstm_emo,
301
+ 'confidence': lstm_conf.item(),
302
+ 'probabilities': lstm_probs[0].cpu().numpy().tolist()
303
+ }
304
+
305
+ # Применяем онтологию к LSTM предсказанию
306
+ lstm_onto = self.ontology_model.get_ontology_analysis(text_clean, lstm_pred_dict)
307
+ lstm_adjusted = lstm_onto['adjusted_prediction']
308
+
309
+ if lstm_adjusted['confidence'] >= self.threshold:
310
+ self.stats['lstm'] += 1
311
+ final = lstm_adjusted
312
+ used_model = "LSTM с онтологией"
313
+ else:
314
+ # BERT prediction
315
+ self.stats['bert'] += 1
316
+ enc = self.tokenizer(
317
+ text_clean,
318
+ truncation=True,
319
+ padding=True,
320
+ max_length=self.max_length_bert,
321
+ return_tensors='pt'
322
+ ).to(self.device)
323
+
324
+ with torch.no_grad():
325
+ bert_logits, bert_conf = self.bert_model(
326
+ enc['input_ids'],
327
+ enc['attention_mask'],
328
+ return_confidence=True
329
+ )
330
+ bert_probs = torch.softmax(bert_logits, dim=1)
331
+ bert_pred = bert_probs.argmax().item()
332
+
333
+ bert_emo = self.label_encoder.inverse_transform([bert_pred])[0]
334
+ bert_pred_dict = {
335
+ 'emotion': bert_emo,
336
+ 'confidence': bert_conf.item(),
337
+ 'probabilities': bert_probs[0].cpu().numpy().tolist()
338
+ }
339
+
340
+ # Применяем онтологию к BERT предсказанию
341
+ bert_onto = self.ontology_model.get_ontology_analysis(text_clean, bert_pred_dict)
342
+ bert_adjusted = bert_onto['adjusted_prediction']
343
+ final = bert_adjusted
344
+ used_model = "BERT с онтологией"
345
+ lstm_onto = bert_onto # для единообразия
346
+
347
+ # Формируем результат
348
+ result = {
349
+ 'text': text,
350
+ 'text_clean': text_clean,
351
+ 'predicted_emotion': final['emotion'],
352
+ 'predicted_class': int(self.label_encoder.transform([final['emotion']])[0]),
353
+ 'confidence': float(final['confidence']),
354
+ 'used_model': used_model,
355
+ 'rules_applied': lstm_onto['rule_analysis']['rules_applied'],
356
+ 'lemmas': lstm_onto['rule_analysis']['lemmas'],
357
+ 'class_probabilities': {
358
+ emo: float(prob)
359
+ for emo, prob in zip(self.label_encoder.classes_, final.get('probabilities', lstm_pred_dict['probabilities']))
360
+ },
361
+ 'lstm_confidence': float(lstm_conf.item()),
362
+ 'was_corrected': len(lstm_onto['rule_analysis']['rules_applied']) > 0
363
+ }
364
+
365
+ return result
366
+
367
+ # ============================================================
368
+ # ЗАГРУЗКА МОДЕЛИ
369
+ # ============================================================
370
+ def load_model():
371
+ print("Загрузка модели...")
372
+ model_dir = 'model'
373
+
374
+ # Загружаем информацию о модели
375
+ with open(f'{model_dir}/model_info.json', 'r', encoding='utf-8') as f:
376
+ model_info = json.load(f)
377
+
378
+ # Загружаем vocab
379
+ with open(f'{model_dir}/vocab.json', 'r', encoding='utf-8') as f:
380
+ vocab = json.load(f)
381
+
382
+ # Загружаем label encoder
383
+ with open(f'{model_dir}/label_encoder.pkl', 'rb') as f:
384
+ label_encoder = pickle.load(f)
385
+
386
+ # Загружаем онтологию
387
+ with open(f'{model_dir}/ontology_model.pkl', 'rb') as f:
388
+ ontology_model = pickle.load(f)
389
+
390
+ # Создаем и загружаем LSTM
391
+ lstm_model = EmotionLSTM(
392
+ vocab_size=len(vocab),
393
+ embed_dim=model_info.get('embed_dim', 300),
394
+ hidden_dim=256,
395
+ num_classes=model_info['num_classes'],
396
+ dropout=0.3,
397
+ num_layers=2
398
+ )
399
+
400
+ checkpoint = torch.load(f'{model_dir}/lstm_model.pth', map_location=device)
401
+ lstm_model.load_state_dict(checkpoint['model_state_dict'])
402
+
403
+ # Создаем и загружаем BERT
404
+ bert_model = EmotionBERT(
405
+ bert_model_name=model_info['bert_model_name'],
406
+ num_classes=model_info['num_classes'],
407
+ dropout=0.3
408
+ )
409
+ bert_model.load_state_dict(torch.load(f'{model_dir}/bert_model.pth', map_location=device))
410
+
411
+ # Загружаем токенизатор
412
+ tokenizer = BertTokenizer.from_pretrained(model_dir)
413
+
414
+ # Создаем каскадный классификатор
415
+ cascade = CascadeEmotionClassifier(
416
+ lstm_model=lstm_model,
417
+ bert_model=bert_model,
418
+ vocab=vocab,
419
+ tokenizer=tokenizer,
420
+ label_encoder=label_encoder,
421
+ ontology_model=ontology_model,
422
+ threshold=model_info.get('threshold', 0.95),
423
+ device=device,
424
+ max_length_lstm=model_info.get('max_length_lstm', 100),
425
+ max_length_bert=model_info.get('max_length_bert', 128)
426
+ )
427
+
428
+ print("✅ Модель успешно загружена!")
429
+ return cascade, model_info
430
+
431
+ # ============================================================
432
+ # FASTAPI ПРИЛОЖЕНИЕ
433
+ # ============================================================
434
+ app = FastAPI(title="Emotion Analysis with BERT and Ontology")
435
+
436
+ # Настраиваем шаблоны
437
+ templates = Jinja2Templates(directory="templates")
438
+
439
+ # Глобальная переменная для модели
440
+ classifier = None
441
+ model_info = None
442
+
443
+ @app.on_event("startup")
444
+ async def startup_event():
445
+ global classifier, model_info
446
+ classifier, model_info = load_model()
447
+
448
+ @app.get("/", response_class=HTMLResponse)
449
+ async def home(request: Request):
450
+ return templates.TemplateResponse(
451
+ "index.html",
452
+ {
453
+ "request": request,
454
+ "classes": classifier.label_encoder.classes_.tolist() if classifier else []
455
+ }
456
+ )
457
+
458
+ @app.post("/predict")
459
+ async def predict(text: str = Form(...)):
460
+ if not classifier:
461
+ raise HTTPException(status_code=503, detail="Модель еще не загружена")
462
+
463
+ if not text or len(text.strip()) < 3:
464
+ return JSONResponse({
465
+ "error": "Текст слишком короткий. Введите хотя бы 3 символа."
466
+ }, status_code=400)
467
+
468
+ try:
469
+ result = classifier.predict(text)
470
+
471
+ # Форматируем правила для отображения
472
+ rules_display = []
473
+ for rule in result['rules_applied'][:10]: # Показываем не больше 10 правил
474
+ if ':' in rule:
475
+ cat, val = rule.split(':', 1)
476
+ rules_display.append(f"<span class='rule-tag rule-{cat.strip()}'>{cat}: {val.strip()}</span>")
477
+ else:
478
+ rules_display.append(f"<span class='rule-tag'>{rule}</span>")
479
+
480
+ # Форматируем вероятности
481
+ probs_display = []
482
+ for emotion, prob in result['class_probabilities'].items():
483
+ percentage = prob * 100
484
+ bar_width = min(percentage, 100)
485
+ probs_display.append(f"""
486
+ <div class="prob-item">
487
+ <span class="prob-label">{emotion}</span>
488
+ <div class="prob-bar-container">
489
+ <div class="prob-bar" style="width: {bar_width}%"></div>
490
+ </div>
491
+ <span class="prob-value">{percentage:.1f}%</span>
492
+ </div>
493
+ """)
494
+
495
+ return JSONResponse({
496
+ "success": True,
497
+ "text": result['text'][:200] + "..." if len(result['text']) > 200 else result['text'],
498
+ "emotion": result['predicted_emotion'],
499
+ "confidence": f"{result['confidence']*100:.1f}%",
500
+ "used_model": result['used_model'],
501
+ "rules": "".join(rules_display) if rules_display else "Нет примененных правил",
502
+ "probabilities": "".join(probs_display),
503
+ "was_corrected": result['was_corrected']
504
+ })
505
+ except Exception as e:
506
+ return JSONResponse({
507
+ "error": f"Ошибка при анализе: {str(e)}"
508
+ }, status_code=500)
509
+
510
+ @app.get("/stats")
511
+ async def get_stats():
512
+ if not classifier:
513
+ raise HTTPException(status_code=503, detail="Модель еще не загружена")
514
+
515
+ stats = classifier.stats
516
+ onto_stats = classifier.ontology_model.get_statistics()
517
+
518
+ return JSONResponse({
519
+ "total_predictions": stats['total'],
520
+ "lstm_used": stats['lstm'],
521
+ "bert_used": stats['bert'],
522
+ "lstm_percentage": f"{(stats['lstm']/max(stats['total'],1))*100:.1f}%",
523
+ "bert_percentage": f"{(stats['bert']/max(stats['total'],1))*100:.1f}%",
524
+ "ontology_stats": onto_stats
525
+ })
526
+
527
+ @app.get("/health")
528
+ async def health_check():
529
+ return {"status": "healthy", "model_loaded": classifier is not None}
530
+
531
+ # Для локального запуска
532
+ if __name__ == "__main__":
533
+ uvicorn.run(app, host="0.0.0.0", port=7860)
model/bert_model.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85c9fa7920ef41256f11fdaf71ad04153ecb421f0c96d2230e32cb1885a45b7e
3
+ size 712416606
model/cascade_classifier.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:79c3e703c468a637fce3c4b188c7aa8c263c0139fdc93d2cdfae20bee24b781e
3
+ size 123
model/label_encoder.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e11e570c20508fe9d9d26b5876ad1b8f98be3581f7c04b5806eba26d7e55795d
3
+ size 320
model/lstm_model.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08751bc77ccfbdcf817346150192151b3347365c92642b77e130d5e8ad491afc
3
+ size 14611445
model/model_info.json ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bert_model_name": "DeepPavlov/rubert-base-cased",
3
+ "num_classes": 5,
4
+ "classes": [
5
+ "грусть",
6
+ "злость",
7
+ "радость",
8
+ "сарказм",
9
+ "страх"
10
+ ],
11
+ "threshold": 0.95,
12
+ "max_length_lstm": 26,
13
+ "max_length_bert": 42,
14
+ "vocab_size": 2795,
15
+ "embed_dim": 300,
16
+ "ontology_levels": 4,
17
+ "ontology_stats": {
18
+ "ontology_nodes": 5,
19
+ "ontology_edges": 5,
20
+ "linguistic_rules": 6,
21
+ "empirical_cases": 864,
22
+ "pending_hypotheses": 15,
23
+ "verified_hypotheses": 9,
24
+ "emotions_covered": 5,
25
+ "rule_stats": {
26
+ "отрицания: не": {
27
+ "applied": 9,
28
+ "correct": 0,
29
+ "wrong": 9
30
+ },
31
+ "инверсия позитива: не супер": {
32
+ "applied": 1,
33
+ "correct": 0,
34
+ "wrong": 1
35
+ },
36
+ "усилители: очень": {
37
+ "applied": 2,
38
+ "correct": 0,
39
+ "wrong": 2
40
+ },
41
+ "отрицания: ни": {
42
+ "applied": 1,
43
+ "correct": 0,
44
+ "wrong": 1
45
+ },
46
+ "сарказм_маркеры: такой": {
47
+ "applied": 2,
48
+ "correct": 0,
49
+ "wrong": 2
50
+ },
51
+ "инверсия позитива: не очень": {
52
+ "applied": 1,
53
+ "correct": 0,
54
+ "wrong": 1
55
+ },
56
+ "инверсия негатива: не поэтому": {
57
+ "applied": 1,
58
+ "correct": 0,
59
+ "wrong": 1
60
+ },
61
+ "контраст тональности: позитив ['очень'] vs негатив ['поэтому', 'отказ']": {
62
+ "applied": 1,
63
+ "correct": 0,
64
+ "wrong": 1
65
+ },
66
+ "инверсия позитива: не легко": {
67
+ "applied": 3,
68
+ "correct": 0,
69
+ "wrong": 3
70
+ },
71
+ "инверсия позитива: не хорошо": {
72
+ "applied": 1,
73
+ "correct": 0,
74
+ "wrong": 1
75
+ },
76
+ "инверсия позитива: не удобный": {
77
+ "applied": 1,
78
+ "correct": 0,
79
+ "wrong": 1
80
+ },
81
+ "инверсия позитива: не отлично": {
82
+ "applied": 1,
83
+ "correct": 0,
84
+ "wrong": 1
85
+ }
86
+ }
87
+ }
88
+ }
model/ontology_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:719a964a64e33623c3c839f367a4b9a0c7fa8c8f602b998aa093cf2b3173ef13
3
+ size 148645
model/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
model/tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "cls_token": "[CLS]",
4
+ "do_lower_case": false,
5
+ "is_local": false,
6
+ "mask_token": "[MASK]",
7
+ "model_max_length": 1000000000000000019884624838656,
8
+ "pad_token": "[PAD]",
9
+ "sep_token": "[SEP]",
10
+ "strip_accents": null,
11
+ "tokenize_chinese_chars": true,
12
+ "tokenizer_class": "BertTokenizer",
13
+ "unk_token": "[UNK]"
14
+ }
model/vocab.json ADDED
@@ -0,0 +1,2797 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "не": 2,
3
+ "и": 3,
4
+ "в": 4,
5
+ "на": 5,
6
+ "что": 6,
7
+ "очень": 7,
8
+ "с": 8,
9
+ "для": 9,
10
+ "все": 10,
11
+ "за": 11,
12
+ "как": 12,
13
+ "я": 13,
14
+ "но": 14,
15
+ "так": 15,
16
+ "а": 16,
17
+ ",": 17,
18
+ "по": 18,
19
+ "теперь": 19,
20
+ "спасибо": 20,
21
+ "это": 21,
22
+ "смайлик_радость": 22,
23
+ "без": 23,
24
+ "всё": 24,
25
+ "смайлик_грусть": 25,
26
+ "просто": 26,
27
+ "от": 27,
28
+ "только": 28,
29
+ "к": 29,
30
+ "хорошо": 30,
31
+ "рекомендую": 31,
32
+ "из": 32,
33
+ "даже": 33,
34
+ "-": 34,
35
+ "у": 35,
36
+ "качество": 36,
37
+ "??": 37,
38
+ "уже": 38,
39
+ "то": 39,
40
+ "работает": 40,
41
+ "он": 41,
42
+ ".": 42,
43
+ "при": 43,
44
+ "товар": 44,
45
+ "такой": 45,
46
+ "можно": 46,
47
+ "после": 47,
48
+ "нет": 48,
49
+ "стол": 49,
50
+ "быстро": 50,
51
+ "через": 51,
52
+ "было": 52,
53
+ "раз": 53,
54
+ "до": 54,
55
+ "хороший": 55,
56
+ "когда": 56,
57
+ "отлично": 57,
58
+ "зато": 58,
59
+ "же": 59,
60
+ "меня": 60,
61
+ "есть": 61,
62
+ "легко": 62,
63
+ "отличный": 63,
64
+ "бы": 64,
65
+ "вообще": 65,
66
+ "пришёл": 66,
67
+ "запах": 67,
68
+ "один": 68,
69
+ "пришло": 69,
70
+ "хорошо,": 70,
71
+ "пришла": 71,
72
+ "платье": 72,
73
+ "его": 73,
74
+ "деньги": 74,
75
+ "размер": 75,
76
+ "страшно": 76,
77
+ "боюсь": 77,
78
+ "был": 78,
79
+ "цвет": 79,
80
+ "этот": 80,
81
+ "упаковка": 81,
82
+ "ведро": 82,
83
+ "они": 83,
84
+ "понравилось": 84,
85
+ "так,": 85,
86
+ "пока": 86,
87
+ "отличная": 87,
88
+ "если": 88,
89
+ "она": 89,
90
+ "5": 90,
91
+ "под": 91,
92
+ "хорошая": 92,
93
+ "чем": 93,
94
+ "2": 94,
95
+ "пришел": 95,
96
+ "день": 96,
97
+ "со": 97,
98
+ "матрас": 98,
99
+ "ребёнок": 99,
100
+ "будет": 100,
101
+ "удобно": 101,
102
+ "больше": 102,
103
+ "ещё": 103,
104
+ "подарок": 104,
105
+ "этой": 105,
106
+ "быстро,": 106,
107
+ "советую": 107,
108
+ "цена": 108,
109
+ "ткань": 109,
110
+ "наушники": 110,
111
+ "набор": 111,
112
+ "чуть": 112,
113
+ "этого": 113,
114
+ "полочка": 114,
115
+ "туфли": 115,
116
+ "крем": 116,
117
+ "такую": 117,
118
+ "коробка": 118,
119
+ "мне": 119,
120
+ "полка": 120,
121
+ "спать": 121,
122
+ "себе": 122,
123
+ "вкус": 123,
124
+ "удобная": 124,
125
+ "заказала": 125,
126
+ "соответствует": 126,
127
+ "швабра": 127,
128
+ "первый": 128,
129
+ "3": 129,
130
+ "была": 130,
131
+ "продавцу": 131,
132
+ "него": 132,
133
+ "приходится": 133,
134
+ "ничего": 134,
135
+ "фото": 135,
136
+ "чтобы": 136,
137
+ "тоже": 137,
138
+ "потому": 138,
139
+ "легко,": 139,
140
+ "ни": 140,
141
+ "такие": 141,
142
+ "собрали": 142,
143
+ "красивый": 143,
144
+ "её": 144,
145
+ "там": 145,
146
+ "комплекте": 146,
147
+ "их": 147,
148
+ "долго": 148,
149
+ "доставка": 149,
150
+ "время": 150,
151
+ "держит": 151,
152
+ "или": 152,
153
+ "удобный": 153,
154
+ "ноутбук": 154,
155
+ "пришлось": 155,
156
+ "другой": 156,
157
+ "волосы": 157,
158
+ "плохо": 158,
159
+ "такое": 159,
160
+ "боюсь,": 160,
161
+ "брала": 161,
162
+ "всем": 162,
163
+ "упал": 163,
164
+ "два": 164,
165
+ "удобный,": 165,
166
+ "отлично,": 166,
167
+ "вода": 167,
168
+ "нужно": 168,
169
+ "минут": 169,
170
+ "мы": 170,
171
+ "супер": 171,
172
+ "детали": 172,
173
+ "весь": 173,
174
+ "удобные,": 174,
175
+ "лучше": 175,
176
+ "кожа": 176,
177
+ "еще": 177,
178
+ "много": 178,
179
+ "дома": 179,
180
+ "каждый": 180,
181
+ "красивый,": 181,
182
+ "идеально": 182,
183
+ "ну": 183,
184
+ "100": 184,
185
+ "запаха": 185,
186
+ "покупке": 186,
187
+ "сразу": 187,
188
+ "нравится": 188,
189
+ "новый": 189,
190
+ "10": 190,
191
+ "фен": 191,
192
+ "пахнет": 192,
193
+ "вместо": 193,
194
+ "о": 194,
195
+ "рекомендую.": 195,
196
+ "второй": 196,
197
+ "может": 197,
198
+ "возврат": 198,
199
+ "еле": 199,
200
+ "надо": 200,
201
+ "потом": 201,
202
+ "хорошее": 202,
203
+ "них": 203,
204
+ "комплект": 204,
205
+ "продавца": 205,
206
+ "внутри": 206,
207
+ "эти": 207,
208
+ "во": 208,
209
+ "тот": 209,
210
+ "хорошо.": 210,
211
+ "удобные": 211,
212
+ "цепочка": 212,
213
+ "всегда": 213,
214
+ "аромат": 214,
215
+ "вкусные": 215,
216
+ "хотя": 216,
217
+ "!": 217,
218
+ "благодарю": 218,
219
+ "довольна": 219,
220
+ "нитки": 220,
221
+ "маме": 221,
222
+ "самое": 222,
223
+ "купили": 223,
224
+ "брать": 224,
225
+ "почти": 225,
226
+ "греется": 226,
227
+ "были": 227,
228
+ "вся": 228,
229
+ "аккуратно": 229,
230
+ "настолько": 230,
231
+ "собирается": 231,
232
+ "выглядит": 232,
233
+ "сборке": 233,
234
+ "качественный": 234,
235
+ "видимо,": 235,
236
+ "быстрая": 236,
237
+ "быстро.": 237,
238
+ "прият��ый": 238,
239
+ "одной": 239,
240
+ "сильно": 240,
241
+ "сама": 241,
242
+ "беру": 242,
243
+ "делает": 243,
244
+ "мой": 244,
245
+ "всю": 245,
246
+ "мягкие,": 246,
247
+ "пластик": 247,
248
+ "стулья": 248,
249
+ "включать": 249,
250
+ "лёгкий,": 250,
251
+ "сам": 251,
252
+ "видно": 252,
253
+ "красиво": 253,
254
+ "цену": 254,
255
+ "бельё": 255,
256
+ "швы": 256,
257
+ "куртка": 257,
258
+ "постоянно": 258,
259
+ "хороший,": 259,
260
+ "дизайн": 260,
261
+ "прислали": 261,
262
+ "вкусно": 262,
263
+ "одна": 263,
264
+ "всего": 264,
265
+ "пахнут": 265,
266
+ "совсем": 266,
267
+ "чехол": 267,
268
+ "сломался": 268,
269
+ "три": 269,
270
+ "хватает": 270,
271
+ "тряпка": 271,
272
+ "которые": 272,
273
+ "неделю": 273,
274
+ "приятно": 274,
275
+ "какая": 275,
276
+ "купила": 276,
277
+ "платье,": 277,
278
+ "пункте": 278,
279
+ "телефон": 279,
280
+ "положили": 280,
281
+ "шкаф": 281,
282
+ "час": 282,
283
+ "такая": 283,
284
+ "где": 284,
285
+ "стоит": 285,
286
+ "наушник": 286,
287
+ "хотела": 287,
288
+ "именно": 288,
289
+ "таким": 289,
290
+ "сидит": 290,
291
+ "спина": 291,
292
+ "душа": 292,
293
+ "сушит": 293,
294
+ "оно": 294,
295
+ "боимся": 295,
296
+ "швабру": 296,
297
+ "кровать": 297,
298
+ "немного": 298,
299
+ "нет,": 299,
300
+ "рекомендую!": 300,
301
+ "смотрится": 301,
302
+ "неделю,": 302,
303
+ "что-то": 303,
304
+ "ночью,": 304,
305
+ "перестал": 305,
306
+ "хорошие": 306,
307
+ "доставили": 307,
308
+ "заказ": 308,
309
+ "первом": 309,
310
+ "работают": 310,
311
+ "обидно,": 311,
312
+ "смотрятся": 312,
313
+ "подошла": 313,
314
+ "само": 314,
315
+ "заказывала": 315,
316
+ "пришли": 316,
317
+ "упаковано": 317,
318
+ "невозможно": 318,
319
+ "обратно": 319,
320
+ "мощный,": 320,
321
+ "кажется,": 321,
322
+ "слишком": 322,
323
+ "спасибо.": 323,
324
+ "дня": 324,
325
+ "приехал": 325,
326
+ "стороны": 326,
327
+ "никаких": 327,
328
+ "кухонный": 328,
329
+ "покупке.": 329,
330
+ "надеюсь": 330,
331
+ "ножки": 331,
332
+ "начал": 332,
333
+ "цену,": 333,
334
+ "классный": 334,
335
+ "машина": 335,
336
+ "кулон": 336,
337
+ "ручка": 337,
338
+ "понравился,": 338,
339
+ "самый": 339,
340
+ "протеин": 340,
341
+ "поэтому": 341,
342
+ "качества": 342,
343
+ "упакован": 343,
344
+ "понравилась": 344,
345
+ "швабры": 345,
346
+ "сделать": 346,
347
+ "выдачи": 347,
348
+ "звук": 348,
349
+ "красивая,": 349,
350
+ "мытья": 350,
351
+ "себя": 351,
352
+ "товара": 352,
353
+ "держится": 353,
354
+ "воды": 354,
355
+ "который": 355,
356
+ "отлично.": 356,
357
+ "комфортно": 357,
358
+ "соседи": 358,
359
+ "вот": 359,
360
+ "точно": 360,
361
+ "хорошая,": 361,
362
+ "блендер": 362,
363
+ "сборка": 363,
364
+ "идеально,": 364,
365
+ "матрас.": 365,
366
+ "будто": 366,
367
+ "год": 367,
368
+ "большое": 368,
369
+ "мягкая,": 369,
370
+ "стала": 370,
371
+ "ровно": 371,
372
+ "эту": 372,
373
+ "сейчас": 373,
374
+ "создавая": 374,
375
+ "стекло": 375,
376
+ "экономия": 376,
377
+ "показывает": 377,
378
+ "кто": 378,
379
+ "вам": 379,
380
+ "прочный": 380,
381
+ "отличное": 381,
382
+ "одного": 382,
383
+ "легкая": 383,
384
+ "ребёнка": 384,
385
+ "супер,": 385,
386
+ "понравился": 386,
387
+ "мои": 387,
388
+ "!!!": 388,
389
+ "оставлять": 389,
390
+ "пылесос": 390,
391
+ "продавцу.": 391,
392
+ "скрипит": 392,
393
+ "более": 393,
394
+ "очки": 394,
395
+ "огромное": 395,
396
+ "стола": 396,
397
+ "греет": 397,
398
+ "весы": 398,
399
+ "буду": 399,
400
+ "выглядят": 400,
401
+ "покупкой": 401,
402
+ "лёгкая": 402,
403
+ "обогреватель": 403,
404
+ "ты": 404,
405
+ "держать": 405,
406
+ "матрас,": 406,
407
+ "футболка": 407,
408
+ "защищает": 408,
409
+ "минут,": 409,
410
+ "работает,": 410,
411
+ "кулона": 411,
412
+ "комнате": 412,
413
+ "собирает": 413,
414
+ "устройство": 414,
415
+ "провод": 415,
416
+ "понравился.": 416,
417
+ "покупала": 417,
418
+ "раньше": 418,
419
+ "нам": 419,
420
+ "удобное": 420,
421
+ "каждом": 421,
422
+ "одно": 422,
423
+ "хорошего": 423,
424
+ "рюкзак": 424,
425
+ "зарядка": 425,
426
+ "две": 426,
427
+ "итоге": 427,
428
+ "поддержка": 428,
429
+ "увидела": 429,
430
+ "знаю,": 430,
431
+ "сколы": 431,
432
+ "вместе": 432,
433
+ "качество,": 433,
434
+ "одну": 434,
435
+ "сами": 435,
436
+ "месяц": 436,
437
+ "полочка,": 437,
438
+ "курьер": 438,
439
+ "глаза": 439,
440
+ "какой": 440,
441
+ "мягкие": 441,
442
+ "вы": 442,
443
+ "большой": 443,
444
+ "подарок,": 444,
445
+ "машине": 445,
446
+ "фурнитура": 446,
447
+ "ночью": 447,
448
+ "никогда": 448,
449
+ "зонт": 449,
450
+ "сожалению": 450,
451
+ "стиральная": 451,
452
+ "треснул": 452,
453
+ "того,": 453,
454
+ "кожу": 454,
455
+ "конечно": 455,
456
+ "????": 456,
457
+ "прямо": 457,
458
+ "ровно,": 458,
459
+ "приятная": 459,
460
+ "удовольствием": 460,
461
+ "хотелось": 461,
462
+ "думали,": 462,
463
+ "пить": 463,
464
+ "да": 464,
465
+ "свои": 465,
466
+ "взяла": 466,
467
+ "воду": 467,
468
+ "пластик,": 468,
469
+ "стал": 469,
470
+ "нас": 470,
471
+ "срок": 471,
472
+ "восторге": 472,
473
+ "делать": 473,
474
+ "ее": 474,
475
+ "неё": 475,
476
+ "качественный,": 476,
477
+ "самой": 477,
478
+ "день,": 478,
479
+ "стильно": 479,
480
+ "шикарный": 480,
481
+ "использования": 481,
482
+ "сборка,": 482,
483
+ "чемодан": 483,
484
+ "оказался": 484,
485
+ "!!": 485,
486
+ "сначала": 486,
487
+ "красивые": 487,
488
+ "оказалось": 488,
489
+ "вариант": 489,
490
+ "супер!": 490,
491
+ "классное": 491,
492
+ "продавец": 492,
493
+ "удобно,": 493,
494
+ "нужен": 494,
495
+ "невероятно": 495,
496
+ "хлеб": 496,
497
+ "сидят": 497,
498
+ "дальше": 498,
499
+ "зарядное": 499,
500
+ "раз,": 500,
501
+ "шампунь": 501,
502
+ "чувствуется": 502,
503
+ "свет": 503,
504
+ "аккумулятор": 504,
505
+ "ощущение,": 505,
506
+ "деньги,": 506,
507
+ "нем": 507,
508
+ "рост": 508,
509
+ "пользуюсь": 509,
510
+ "мышь": 510,
511
+ "ребёнку": 511,
512
+ "товар,": 512,
513
+ "прям": 513,
514
+ "руки": 514,
515
+ "то,": 515,
516
+ "каблук": 516,
517
+ "практически": 517,
518
+ "получилось": 518,
519
+ "торчат": 519,
520
+ "качественные": 520,
521
+ "размер.": 521,
522
+ "новой": 522,
523
+ "полки": 523,
524
+ "тренажёр": 524,
525
+ "работает!": 525,
526
+ "получила": 526,
527
+ "товар!": 527,
528
+ "детская": 528,
529
+ "кроватка": 529,
530
+ "микроволновка": 530,
531
+ "белья": 531,
532
+ "детский": 532,
533
+ "быструю": 533,
534
+ "супер.": 534,
535
+ "колонка": 535,
536
+ "устойчивый,": 536,
537
+ "двух": 537,
538
+ "понятно": 538,
539
+ "фото,": 539,
540
+ "ужасный": 540,
541
+ "зубная": 541,
542
+ "люблю": 542,
543
+ "постельное": 543,
544
+ "пользоваться": 544,
545
+ "прочный,": 545,
546
+ "целое": 546,
547
+ "руками": 547,
548
+ "село": 548,
549
+ "одинаковых": 549,
550
+ "ножка": 550,
551
+ "отказ": 551,
552
+ "холодильник": 552,
553
+ "покупки": 553,
554
+ "заявлено": 554,
555
+ "равно": 555,
556
+ "классная": 556,
557
+ "бракованный": 557,
558
+ "несколько": 558,
559
+ "часы": 559,
560
+ "носки": 560,
561
+ "красивые,": 561,
562
+ "цвета": 562,
563
+ "чайник": 563,
564
+ "шатается": 564,
565
+ "полочка.": 565,
566
+ "материал": 566,
567
+ "рука": 567,
568
+ "вроде": 568,
569
+ "дешевле": 569,
570
+ "одном": 570,
571
+ "розетки": 571,
572
+ "первой": 572,
573
+ "думала": 573,
574
+ "жаль": 574,
575
+ "места": 575,
576
+ "нём": 576,
577
+ "вид": 577,
578
+ "плед": 578,
579
+ "фитнес-браслет": 579,
580
+ "правда": 580,
581
+ "упала": 581,
582
+ "сильно,": 582,
583
+ "третий": 583,
584
+ "угол": 584,
585
+ "рада": 585,
586
+ "пол": 586,
587
+ "проще": 587,
588
+ "скол": 588,
589
+ "форму": 589,
590
+ "первого": 590,
591
+ "инструкция": 591,
592
+ "покупаю": 592,
593
+ "лёгкая,": 593,
594
+ "понравилось,": 594,
595
+ "мясо": 595,
596
+ "успели": 596,
597
+ "кейс": 597,
598
+ "собрала": 598,
599
+ "работает.": 599,
600
+ "быть": 600,
601
+ "полка,": 601,
602
+ "прекрасный": 602,
603
+ "слова": 603,
604
+ "доволен": 604,
605
+ "сидеть": 605,
606
+ "ей": 606,
607
+ "ветер": 607,
608
+ "увлажняет": 608,
609
+ "могли": 609,
610
+ "удобная,": 610,
611
+ "ароматы": 611,
612
+ "ведра": 612,
613
+ "хоть": 613,
614
+ "целом": 614,
615
+ "масло": 615,
616
+ "сколько": 616,
617
+ "роутер": 617,
618
+ "камера": 618,
619
+ "стильный": 619,
620
+ "ведро,": 620,
621
+ "углы": 621,
622
+ "чай": 622,
623
+ "собрать": 623,
624
+ "забрала": 624,
625
+ "времени": 625,
626
+ "описании": 626,
627
+ "описанию": 627,
628
+ "получается": 628,
629
+ "воздуха": 629,
630
+ "понравилась,": 630,
631
+ "дочке": 631,
632
+ "плотно,": 632,
633
+ "краска": 633,
634
+ "полный": 634,
635
+ "отличный,": 635,
636
+ "удовольствие": 636,
637
+ "давно": 637,
638
+ "тепло": 638,
639
+ "дорого": 639,
640
+ "техника,": 640,
641
+ "4": 641,
642
+ "порвалась": 642,
643
+ "цепочка,": 643,
644
+ "месяц,": 644,
645
+ "крепится": 645,
646
+ "пожар": 646,
647
+ "нога": 647,
648
+ "другого": 648,
649
+ "тушь": 649,
650
+ "материал,": 650,
651
+ "одеяло": 651,
652
+ "такого": 652,
653
+ "телевизор": 653,
654
+ "качество.": 654,
655
+ "могу": 655,
656
+ "подошва": 656,
657
+ "простая": 657,
658
+ "разные": 658,
659
+ "свою": 659,
660
+ "ездит": 660,
661
+ "жизни": 661,
662
+ "коробку,": 662,
663
+ "идут": 663,
664
+ "раза": 664,
665
+ "нет.": 665,
666
+ "работы": 666,
667
+ "шатается,": 667,
668
+ "мышка": 668,
669
+ "ребёнка,": 669,
670
+ "достаточно": 670,
671
+ "спасибо,": 671,
672
+ "стали": 672,
673
+ "гарнитур": 673,
674
+ "см": 674,
675
+ "себе,": 675,
676
+ "выбрала": 676,
677
+ "застревает": 677,
678
+ "заряжаются": 678,
679
+ "производителя": 679,
680
+ "нравится.": 680,
681
+ "внешний": 681,
682
+ "которая": 682,
683
+ "главное": 683,
684
+ "тостер": 684,
685
+ "домой": 685,
686
+ "треснуло": 686,
687
+ "мясорубка": 687,
688
+ "таких": 688,
689
+ "решила": 689,
690
+ "купить": 690,
691
+ "вес": 691,
692
+ "собирать": 692,
693
+ "браслет": 693,
694
+ "подошёл": 694,
695
+ "плюс": 695,
696
+ "тряпки": 696,
697
+ "ведре,": 697,
698
+ "своей": 698,
699
+ "сумка": 699,
700
+ "стол,": 700,
701
+ "красивое": 701,
702
+ "хороший.": 702,
703
+ "берите": 703,
704
+ "куда": 704,
705
+ "чистит": 705,
706
+ "пыль,": 706,
707
+ "люстра": 707,
708
+ "большие": 708,
709
+ "вкусное": 709,
710
+ "плотные,": 710,
711
+ "стало": 711,
712
+ "аэрогриль": 712,
713
+ "нежный": 713,
714
+ "шторы": 714,
715
+ "особенно": 715,
716
+ "выбирала": 716,
717
+ "конструкция": 717,
718
+ "гель": 718,
719
+ "эффектом": 719,
720
+ "собирается,": 720,
721
+ "брак": 721,
722
+ "отлично!": 722,
723
+ "подогревом": 723,
724
+ "ней": 724,
725
+ "становится": 725,
726
+ "регулируется": 726,
727
+ "открывается": 727,
728
+ "отжим": 728,
729
+ "шваброй": 729,
730
+ "свой": 730,
731
+ "полностью": 731,
732
+ "покрытие": 732,
733
+ "меру": 733,
734
+ "мятая,": 734,
735
+ "шапка": 735,
736
+ "самые": 736,
737
+ "тела": 737,
738
+ "беговая": 738,
739
+ "дорожка": 739,
740
+ "работу": 740,
741
+ "сторону,": 741,
742
+ "ручки": 742,
743
+ "жаль,": 743,
744
+ "легкий,": 744,
745
+ "стул": 745,
746
+ "сих": 746,
747
+ "пор": 747,
748
+ "качественная,": 748,
749
+ "сели": 749,
750
+ "коробке": 750,
751
+ "проверила": 751,
752
+ "??.": 752,
753
+ "понравились.": 753,
754
+ "??????": 754,
755
+ "покупка": 755,
756
+ "кофе": 756,
757
+ "доволен.": 757,
758
+ "полу": 758,
759
+ "пододеяльник": 759,
760
+ "явно": 760,
761
+ "браком,": 761,
762
+ "нельзя": 762,
763
+ "коврик": 763,
764
+ "подошел": 764,
765
+ "шикарная": 765,
766
+ "невозможно,": 766,
767
+ "спасибо!": 767,
768
+ "нормально,": 768,
769
+ "коробку": 769,
770
+ "однозначно": 770,
771
+ "моей": 771,
772
+ "вещь": 772,
773
+ "купил": 773,
774
+ "либо": 774,
775
+ "использовать": 775,
776
+ "понимаю": 776,
777
+ "крепление": 777,
778
+ "диван": 778,
779
+ "качественно": 779,
780
+ "позже": 780,
781
+ "ли": 781,
782
+ "какое": 782,
783
+ "заказать": 783,
784
+ "отличные,": 784,
785
+ "тихий": 785,
786
+ "дует": 786,
787
+ "вкусный": 787,
788
+ "замечательный": 788,
789
+ "запахи": 789,
790
+ "грязь,": 790,
791
+ "убирать": 791,
792
+ "думала,": 792,
793
+ "кожи": 793,
794
+ "ванной": 794,
795
+ "грязный": 795,
796
+ "хочется": 796,
797
+ "особо": 797,
798
+ "этом": 798,
799
+ "вопрос": 799,
800
+ "утюг": 800,
801
+ "пятна": 801,
802
+ "испортил": 802,
803
+ "подо": 803,
804
+ "упасть": 804,
805
+ "велосипед": 805,
806
+ "цепь": 806,
807
+ "тетради": 807,
808
+ "качества.": 808,
809
+ "целый": 809,
810
+ "забрать": 810,
811
+ "мое": 811,
812
+ "устроило": 812,
813
+ "мою": 813,
814
+ "позор": 814,
815
+ "доставку": 815,
816
+ "привезли": 816,
817
+ "кулон,": 817,
818
+ "покупайте": 818,
819
+ "мягкая": 819,
820
+ "цветов": 820,
821
+ "цветы": 821,
822
+ "вторую": 822,
823
+ "электрочайник": 823,
824
+ "чего": 824,
825
+ "вполне": 825,
826
+ "действительно": 826,
827
+ "удобные!": 827,
828
+ "размер,": 828,
829
+ "выше": 829,
830
+ "подошли": 830,
831
+ "идеально!": 831,
832
+ "будут": 832,
833
+ "отвратительный": 833,
834
+ "ним": 834,
835
+ "расправился": 835,
836
+ "понравились,": 836,
837
+ "долго,": 837,
838
+ "длина": 838,
839
+ "прекрасно": 839,
840
+ "искрит": 840,
841
+ "поставила": 841,
842
+ "меньше": 842,
843
+ "полотенца": 843,
844
+ "обратную": 844,
845
+ "прекрасная": 845,
846
+ "упакована,": 846,
847
+ "брали": 847,
848
+ "1": 848,
849
+ "ношу": 849,
850
+ "умная": 850,
851
+ "крутой": 851,
852
+ "кто-то": 852,
853
+ "проводка": 853,
854
+ "возможно": 854,
855
+ "первых": 855,
856
+ "минус": 856,
857
+ "вы��ывает": 857,
858
+ "состоянии,": 858,
859
+ "песок": 859,
860
+ "отличные": 860,
861
+ "кроме": 861,
862
+ "уши": 862,
863
+ "паста": 863,
864
+ "вторая": 864,
865
+ "конечно,": 865,
866
+ "неприятно": 866,
867
+ "перестала": 867,
868
+ "будьте": 868,
869
+ "выдачи.": 869,
870
+ "банку": 870,
871
+ "полная": 871,
872
+ "телефона": 872,
873
+ "заказываю": 873,
874
+ "рекомендую,": 874,
875
+ "ровные,": 875,
876
+ "нравится,": 876,
877
+ "стороны,": 877,
878
+ "всей": 878,
879
+ "пвз": 879,
880
+ "ломается": 880,
881
+ "отличное,": 881,
882
+ "те": 882,
883
+ "целости": 883,
884
+ "пишут": 884,
885
+ "!!!!": 885,
886
+ "небольшой": 886,
887
+ "кг": 887,
888
+ "наконец": 888,
889
+ "лучше,": 889,
890
+ "мебели": 890,
891
+ "покупке,": 891,
892
+ "складывается": 892,
893
+ "светильник": 893,
894
+ "приятная,": 894,
895
+ "хорошее.": 895,
896
+ "утром": 896,
897
+ "стены": 897,
898
+ "быстрый,": 898,
899
+ "футболка,": 899,
900
+ "стирки": 900,
901
+ "крышкой,": 901,
902
+ "скорее": 902,
903
+ "приятное": 903,
904
+ "комплектация": 904,
905
+ "кожу,": 905,
906
+ "равномерно,": 906,
907
+ "норм,": 907,
908
+ "товар.": 908,
909
+ "кондиционер": 909,
910
+ "водой": 910,
911
+ "показывают": 911,
912
+ "отказ.": 912,
913
+ "между": 913,
914
+ "мало": 914,
915
+ "доме": 915,
916
+ "новая": 916,
917
+ "мебель": 917,
918
+ "ночи,": 918,
919
+ "фирмы": 919,
920
+ "прочные,": 920,
921
+ "описанию.": 921,
922
+ "слой": 922,
923
+ "книга": 923,
924
+ "платье.": 924,
925
+ "радуюсь": 925,
926
+ "проснулись": 926,
927
+ "самая": 927,
928
+ "целое,": 928,
929
+ "устаёт": 929,
930
+ "часа": 930,
931
+ "целая,": 931,
932
+ "видимо": 932,
933
+ "снимать": 933,
934
+ "качественная": 934,
935
+ "прослужит": 935,
936
+ "носить": 936,
937
+ "вдруг": 937,
938
+ "хватило": 938,
939
+ "куски,": 939,
940
+ "красит": 940,
941
+ "технику": 941,
942
+ "скол.": 942,
943
+ "проблем": 943,
944
+ "вовремя": 944,
945
+ "голова": 945,
946
+ "заряд": 946,
947
+ "приложение": 947,
948
+ "много,": 948,
949
+ "глаз": 949,
950
+ "клавиатура": 950,
951
+ "работать": 951,
952
+ "массажёр": 952,
953
+ "обожаю": 953,
954
+ "шикарное": 954,
955
+ "дверца": 955,
956
+ "отзыв": 956,
957
+ "всему": 957,
958
+ "было.": 958,
959
+ "сын": 959,
960
+ "муж": 960,
961
+ "чудом": 961,
962
+ "видно,": 962,
963
+ "проверять": 963,
964
+ "еда": 964,
965
+ "упаковано,": 965,
966
+ "любой": 966,
967
+ "вкус,": 967,
968
+ "несмотря": 968,
969
+ "левый": 969,
970
+ "ткани": 970,
971
+ "гладкая": 971,
972
+ "часть": 972,
973
+ "им": 973,
974
+ "карточке": 974,
975
+ "ногу": 975,
976
+ "письменный": 976,
977
+ "базовая": 977,
978
+ "подарок.": 978,
979
+ "стене": 979,
980
+ "ночь": 980,
981
+ "духи": 981,
982
+ "30": 982,
983
+ "упаковке": 983,
984
+ "37": 984,
985
+ "прикрепили": 985,
986
+ "надёжно": 986,
987
+ "волос": 987,
988
+ "красиво,": 988,
989
+ "понравилось!": 989,
990
+ "сделала": 990,
991
+ "есть,": 991,
992
+ "роутера,": 992,
993
+ "сломалась": 993,
994
+ "этому": 994,
995
+ "спустя": 995,
996
+ "почернела": 996,
997
+ "шезлонг": 997,
998
+ "почему": 998,
999
+ "квартире": 999,
1000
+ "питает,": 1000,
1001
+ "моя": 1001,
1002
+ "полы": 1002,
1003
+ "года": 1003,
1004
+ "заказал": 1004,
1005
+ "зачем": 1005,
1006
+ "увы": 1006,
1007
+ "эффект": 1007,
1008
+ "робот-пылесос": 1008,
1009
+ "месте,": 1009,
1010
+ "прост": 1010,
1011
+ "плотная,": 1011,
1012
+ "какие": 1012,
1013
+ "полке": 1013,
1014
+ "годности": 1014,
1015
+ "великолепная": 1015,
1016
+ "ложится": 1016,
1017
+ "отвечает": 1017,
1018
+ "ребенок": 1018,
1019
+ "придется": 1019,
1020
+ "заказывать": 1020,
1021
+ "упаковки": 1021,
1022
+ "текстура": 1022,
1023
+ "двери": 1023,
1024
+ "летом": 1024,
1025
+ "ковёр": 1025,
1026
+ "средство": 1026,
1027
+ "помада": 1027,
1028
+ "губы": 1028,
1029
+ "возвращать": 1029,
1030
+ "великолепный": 1030,
1031
+ "простыня": 1031,
1032
+ "сегодня": 1032,
1033
+ "открыла": 1033,
1034
+ "лица": 1034,
1035
+ "использовании.": 1035,
1036
+ "понравилась.": 1036,
1037
+ "этим": 1037,
1038
+ "тренировка": 1038,
1039
+ "своих": 1039,
1040
+ "поставили": 1040,
1041
+ "экономит": 1041,
1042
+ "части": 1042,
1043
+ "эта": 1043,
1044
+ "комплекте.": 1044,
1045
+ "доски": 1045,
1046
+ "обычно": 1046,
1047
+ "руке": 1047,
1048
+ "падает": 1048,
1049
+ "мыть": 1049,
1050
+ "красивая": 1050,
1051
+ "платье!": 1051,
1052
+ "крутится": 1052,
1053
+ "точные,": 1053,
1054
+ "кофемашина": 1054,
1055
+ "детям": 1055,
1056
+ "просел": 1056,
1057
+ "пустой": 1057,
1058
+ "38": 1058,
1059
+ "бы��трее,": 1059,
1060
+ "криво,": 1060,
1061
+ "шкаф,": 1061,
1062
+ "обман": 1062,
1063
+ "спокойно": 1063,
1064
+ "деньги.": 1064,
1065
+ "готовит": 1065,
1066
+ ",но": 1066,
1067
+ ",спасибо": 1067,
1068
+ "пожалуйста,": 1068,
1069
+ "процессором": 1069,
1070
+ "приложения": 1070,
1071
+ "успеваешь": 1071,
1072
+ "производитель": 1072,
1073
+ "суперская": 1073,
1074
+ "кухне,": 1074,
1075
+ "обнаружила": 1075,
1076
+ "завтра": 1076,
1077
+ "набор,": 1077,
1078
+ "водяной": 1078,
1079
+ "получить": 1079,
1080
+ "кирпич": 1080,
1081
+ "просто,": 1081,
1082
+ "пробки": 1082,
1083
+ "антипригарным": 1083,
1084
+ "моется": 1084,
1085
+ "подушка": 1085,
1086
+ "впитывается": 1086,
1087
+ "такими": 1087,
1088
+ "крепко": 1088,
1089
+ "повесила": 1089,
1090
+ "включении,": 1090,
1091
+ "продовца": 1091,
1092
+ "написала": 1092,
1093
+ "оставляет": 1093,
1094
+ "висит": 1094,
1095
+ "никогда!!!": 1095,
1096
+ "аналогов": 1096,
1097
+ "остаётся": 1097,
1098
+ "лишь": 1098,
1099
+ "56": 1099,
1100
+ "промокает,": 1100,
1101
+ "легкого": 1101,
1102
+ "монитор": 1102,
1103
+ "порадовал": 1103,
1104
+ "цепочки": 1104,
1105
+ "зимой": 1105,
1106
+ "ждал": 1106,
1107
+ "отдельно": 1107,
1108
+ "стойкие": 1108,
1109
+ "понравились": 1109,
1110
+ "печенье": 1110,
1111
+ "8": 1111,
1112
+ "автокресло": 1112,
1113
+ "думают,": 1113,
1114
+ "запаха,": 1114,
1115
+ "удобные.": 1115,
1116
+ "отдыхает": 1116,
1117
+ "работе": 1117,
1118
+ "чтоб": 1118,
1119
+ "дня,": 1119,
1120
+ "производителю": 1120,
1121
+ "настроение": 1121,
1122
+ "цвета.": 1122,
1123
+ "обнаружили": 1123,
1124
+ "тонкий": 1124,
1125
+ "подгузники": 1125,
1126
+ "настолько,": 1126,
1127
+ "высоте.": 1127,
1128
+ "другую": 1128,
1129
+ "вещи,": 1129,
1130
+ "полное": 1130,
1131
+ "разочарование": 1131,
1132
+ "бомба": 1132,
1133
+ "продавцу,": 1133,
1134
+ "обувь": 1134,
1135
+ "развалилась": 1135,
1136
+ "внутри,": 1136,
1137
+ "электромобиль": 1137,
1138
+ "потеряли": 1138,
1139
+ "отзывы,": 1139,
1140
+ "удивлена": 1140,
1141
+ "рождения": 1141,
1142
+ "пахнут,": 1142,
1143
+ "ехать": 1143,
1144
+ "столешница": 1144,
1145
+ "повреждена": 1145,
1146
+ "резкий": 1146,
1147
+ "комод": 1147,
1148
+ "батарейки": 1148,
1149
+ "полной": 1149,
1150
+ "залил": 1150,
1151
+ "розетку,": 1151,
1152
+ "шумоподавлением": 1152,
1153
+ "доставку.": 1153,
1154
+ "разной": 1154,
1155
+ "обе": 1155,
1156
+ ",не": 1156,
1157
+ "высшем": 1157,
1158
+ "хранения": 1158,
1159
+ "плотные": 1159,
1160
+ "стильные": 1160,
1161
+ "стула": 1161,
1162
+ "интерьер.": 1162,
1163
+ "человек": 1163,
1164
+ "ножи": 1164,
1165
+ "лишние": 1165,
1166
+ "столешницу": 1166,
1167
+ "аллергия": 1167,
1168
+ "лёгкий": 1168,
1169
+ "плавно,": 1169,
1170
+ "то.": 1170,
1171
+ "хотела.": 1171,
1172
+ "надо.": 1172,
1173
+ "прочная": 1173,
1174
+ "отваливаются": 1174,
1175
+ "идеальной": 1175,
1176
+ "неудобно": 1176,
1177
+ "продавца,": 1177,
1178
+ "упаковку": 1178,
1179
+ "сколы,": 1179,
1180
+ "игрушка": 1180,
1181
+ "кошек": 1181,
1182
+ "суперский": 1182,
1183
+ "знаю": 1183,
1184
+ "дышит": 1184,
1185
+ "хорошие,": 1185,
1186
+ "придерживать": 1186,
1187
+ "возвращается": 1187,
1188
+ "первым": 1188,
1189
+ "хорошее,": 1189,
1190
+ "блек": 1190,
1191
+ "треск,": 1191,
1192
+ "разлетелся": 1192,
1193
+ "оказалось,": 1193,
1194
+ "виде": 1194,
1195
+ "защитное": 1195,
1196
+ "перемалывает": 1196,
1197
+ "качество!": 1197,
1198
+ "одно,": 1198,
1199
+ "месте.": 1199,
1200
+ "отзывы": 1200,
1201
+ "наверное": 1201,
1202
+ "белье": 1202,
1203
+ "прогадала": 1203,
1204
+ "50": 1204,
1205
+ "пропускает": 1205,
1206
+ "пакет": 1206,
1207
+ "уместилось": 1207,
1208
+ "часа,": 1208,
1209
+ "порвался,": 1209,
1210
+ "левую": 1210,
1211
+ "странно": 1211,
1212
+ "квартиру": 1212,
1213
+ "вас": 1213,
1214
+ "плотная": 1214,
1215
+ "кажется": 1215,
1216
+ "прыгает": 1216,
1217
+ "бесплатный": 1217,
1218
+ "щетка": 1218,
1219
+ "мусор": 1219,
1220
+ "вручную": 1220,
1221
+ "легко.": 1221,
1222
+ "сядет": 1222,
1223
+ "отличное.": 1223,
1224
+ "питает": 1224,
1225
+ "ночь,": 1225,
1226
+ "сам,": 1226,
1227
+ "прищемив": 1227,
1228
+ "ожидал": 1228,
1229
+ "кабель": 1229,
1230
+ "месте": 1230,
1231
+ "отошёл": 1231,
1232
+ "упадёт": 1232,
1233
+ "розы": 1233,
1234
+ "лямки": 1234,
1235
+ "штуки,": 1235,
1236
+ "изначально": 1236,
1237
+ "набора": 1237,
1238
+ "закрываются,": 1238,
1239
+ "криво": 1239,
1240
+ "доставки.": 1240,
1241
+ "мягкое,": 1241,
1242
+ "фигуре": 1242,
1243
+ "деталей,": 1243,
1244
+ "замечательный,": 1244,
1245
+ "подарочный": 1245,
1246
+ "вовремя.": 1246,
1247
+ "таком": 1247,
1248
+ "ходить": 1248,
1249
+ "конструктор": 1249,
1250
+ "руках,": 1250,
1251
+ "включается": 1251,
1252
+ "которого": 1252,
1253
+ "наборе": 1253,
1254
+ "аккуратно,": 1254,
1255
+ "микрофибры,": 1255,
1256
+ "четко": 1256,
1257
+ "слушать": 1257,
1258
+ "мышцы": 1258,
1259
+ "белая": 1259,
1260
+ "вибрирует": 1260,
1261
+ "полу,": 1261,
1262
+ "торта": 1262,
1263
+ "ткань,": 1263,
1264
+ "протеина": 1264,
1265
+ "инструкции": 1265,
1266
+ "посреди": 1266,
1267
+ "час,": 1267,
1268
+ "размером": 1268,
1269
+ "прекрасное": 1269,
1270
+ "стул.": 1270,
1271
+ "кипятит": 1271,
1272
+ "буквально": 1272,
1273
+ "помочь": 1273,
1274
+ "мыло": 1274,
1275
+ "солнцезащитные": 1275,
1276
+ "защищают": 1276,
1277
+ "большая": 1277,
1278
+ "чаша": 1278,
1279
+ "было,": 1279,
1280
+ "стульчик": 1280,
1281
+ "кормления": 1281,
1282
+ "развалился,": 1282,
1283
+ "магазин": 1283,
1284
+ "ощупь,": 1284,
1285
+ "никому": 1285,
1286
+ "покупать": 1286,
1287
+ "столько,": 1287,
1288
+ "начинает": 1288,
1289
+ "совсем!": 1289,
1290
+ "вещи": 1290,
1291
+ "цвета,": 1291,
1292
+ "штуки": 1292,
1293
+ "???": 1293,
1294
+ "сторону": 1294,
1295
+ "мигает": 1295,
1296
+ "ярко,": 1296,
1297
+ "оставить": 1297,
1298
+ "хлопок.": 1298,
1299
+ "цене": 1299,
1300
+ "йогуртница": 1300,
1301
+ "любит": 1301,
1302
+ "любую": 1302,
1303
+ "диван,": 1303,
1304
+ "равномерно": 1304,
1305
+ "тёплый,": 1305,
1306
+ "скакалка": 1306,
1307
+ "впитывает": 1307,
1308
+ "стороны.": 1308,
1309
+ "обычной": 1309,
1310
+ "оказались": 1310,
1311
+ "стойкий,": 1311,
1312
+ "другим": 1312,
1313
+ "огонь,": 1313,
1314
+ "дочери": 1314,
1315
+ "каждой": 1315,
1316
+ "раскрывается": 1316,
1317
+ "конструкция,": 1317,
1318
+ "буквы": 1318,
1319
+ "невозможно!!!": 1319,
1320
+ "мангал": 1320,
1321
+ "длинные": 1321,
1322
+ "колесо": 1322,
1323
+ "устаёт,": 1323,
1324
+ "выпечки": 1324,
1325
+ "вкусно.": 1325,
1326
+ "никак": 1326,
1327
+ "ведь": 1327,
1328
+ "удобное,": 1328,
1329
+ "порвался": 1329,
1330
+ "продукты,": 1330,
1331
+ "холодное": 1331,
1332
+ "выпечка": 1332,
1333
+ "пылесос,": 1333,
1334
+ "кольцо": 1334,
1335
+ "тихо,": 1335,
1336
+ "та": 1336,
1337
+ "кота": 1337,
1338
+ "печенье.": 1338,
1339
+ "упаковкой": 1339,
1340
+ "ответ": 1340,
1341
+ "из-за": 1341,
1342
+ "телефон.": 1342,
1343
+ "назад": 1343,
1344
+ "качественные,": 1344,
1345
+ "берем": 1345,
1346
+ "собираются": 1346,
1347
+ "счастья!": 1347,
1348
+ "брал": 1348,
1349
+ "доволен,": 1349,
1350
+ "плотно": 1350,
1351
+ "температуру": 1351,
1352
+ "памяти": 1352,
1353
+ "моего": 1353,
1354
+ "посуда": 1354,
1355
+ "рад,": 1355,
1356
+ ",что": 1356,
1357
+ "тоже.": 1357,
1358
+ "видно.": 1358,
1359
+ "компактный": 1359,
1360
+ "шустрый": 1360,
1361
+ "огонь!": 1361,
1362
+ "ожидала": 1362,
1363
+ "детей": 1363,
1364
+ "советую.": 1364,
1365
+ "висят": 1365,
1366
+ "полный,": 1366,
1367
+ "дороже.": 1367,
1368
+ "яркий": 1368,
1369
+ "экран": 1369,
1370
+ "серии": 1370,
1371
+ "доставка,": 1371,
1372
+ "стыдно": 1372,
1373
+ "люди": 1373,
1374
+ "видит": 1374,
1375
+ "продавцу!!!": 1375,
1376
+ "встал,": 1376,
1377
+ "довольна,": 1377,
1378
+ "шатается.": 1378,
1379
+ "качели": 1379,
1380
+ "дней": 1380,
1381
+ "скользит": 1381,
1382
+ "пар": 1382,
1383
+ "комнату": 1383,
1384
+ "наушники,": 1384,
1385
+ "крепления": 1385,
1386
+ "ведре": 1386,
1387
+ "хлипкий": 1387,
1388
+ "деталь": 1388,
1389
+ "позор!!!": 1389,
1390
+ "6": 1390,
1391
+ "светит": 1391,
1392
+ "хранить": 1392,
1393
+ "вовремя,": 1393,
1394
+ "отжимает": 1394,
1395
+ "полочку": 1395,
1396
+ "пять": 1396,
1397
+ "место": 1397,
1398
+ "т.к.": 1398,
1399
+ "столик": 1399,
1400
+ "стоял": 1400,
1401
+ "держат": 1401,
1402
+ "тёплая,": 1402,
1403
+ "загорится": 1403,
1404
+ "подошло": 1404,
1405
+ "того": 1405,
1406
+ "химозный": 1406,
1407
+ "воды,": 1407,
1408
+ "ещё.": 1408,
1409
+ "грустно,": 1409,
1410
+ "денег": 1410,
1411
+ "восторге.": 1411,
1412
+ "машинка": 1412,
1413
+ "крема": 1413,
1414
+ "48": 1414,
1415
+ "зря": 1415,
1416
+ "обидно.": 1416,
1417
+ "шикарный,": 1417,
1418
+ "одежда": 1418,
1419
+ "крючки": 1419,
1420
+ "полку": 1420,
1421
+ "маленькие,": 1421,
1422
+ "массажный": 1422,
1423
+ "шоке": 1423,
1424
+ "удлинитель": 1424,
1425
+ "посмотреть": 1425,
1426
+ "смотрите": 1426,
1427
+ "продумано": 1427,
1428
+ "нескольких": 1428,
1429
+ "впитывают": 1429,
1430
+ "сложился,": 1430,
1431
+ "пенится": 1431,
1432
+ "полгода": 1432,
1433
+ "удобный.": 1433,
1434
+ "20": 1434,
1435
+ "ноги": 1435,
1436
+ "ооочень": 1436,
1437
+ "зубы": 1437,
1438
+ "повесили": 1438,
1439
+ "приятный,": 1439,
1440
+ "хорошая.": 1440,
1441
+ "рядом": 1441,
1442
+ "вытащить": 1442,
1443
+ "отжима": 1443,
1444
+ "попробовала": 1444,
1445
+ "малейшем": 1445,
1446
+ "размера.": 1446,
1447
+ "объем": 1447,
1448
+ "фарш": 1448,
1449
+ "включил": 1449,
1450
+ "сервис,": 1450,
1451
+ "помогает": 1451,
1452
+ "размера": 1452,
1453
+ "пароварка": 1453,
1454
+ "понравилось.": 1454,
1455
+ "сказать": 1455,
1456
+ "крепкая,": 1456,
1457
+ "уровне": 1457,
1458
+ "слабый,": 1458,
1459
+ "крышка": 1459,
1460
+ "кровать,": 1460,
1461
+ "цвет.": 1461,
1462
+ "продавца.": 1462,
1463
+ "цвет,": 1463,
1464
+ "звезды": 1464,
1465
+ "сколов": 1465,
1466
+ "первое": 1466,
1467
+ "впечатление": 1467,
1468
+ "гораздо": 1468,
1469
+ "электрический": 1469,
1470
+ "приходит": 1470,
1471
+ "качестве": 1471,
1472
+ "затемняют": 1472,
1473
+ "соковыжималка": 1473,
1474
+ "развод": 1474,
1475
+ "крепкий,": 1475,
1476
+ "совершенно": 1476,
1477
+ "жёсткий": 1477,
1478
+ "диск": 1478,
1479
+ "сама,": 1479,
1480
+ "сборке,": 1480,
1481
+ "стала,": 1481,
1482
+ "такой,": 1482,
1483
+ "дороже": 1483,
1484
+ "жесткая": 1484,
1485
+ "мимо": 1485,
1486
+ "абсолютно": 1486,
1487
+ "быть?": 1487,
1488
+ "снимается": 1488,
1489
+ "острые,": 1489,
1490
+ "можно,": 1490,
1491
+ "отвратительное": 1491,
1492
+ "флакон": 1492,
1493
+ "отверстия": 1493,
1494
+ "стулья.": 1494,
1495
+ "часов,": 1495,
1496
+ "заряжается": 1496,
1497
+ "движении,": 1497,
1498
+ "прочно,": 1498,
1499
+ "размеру": 1499,
1500
+ "искрит,": 1500,
1501
+ "просвечивает": 1501,
1502
+ "сплошное": 1502,
1503
+ "наволочка": 1503,
1504
+ "товара.": 1504,
1505
+ "греется,": 1505,
1506
+ "печёт": 1506,
1507
+ "сожалению,": 1507,
1508
+ "комплект,": 1508,
1509
+ "крепкая": 1509,
1510
+ "книжка": 1510,
1511
+ "вечер": 1511,
1512
+ "ужасная": 1512,
1513
+ "принтер": 1513,
1514
+ "насчитал": 1514,
1515
+ "лежит": 1515,
1516
+ "потратил": 1516,
1517
+ "понравился!": 1517,
1518
+ "моет": 1518,
1519
+ "посуду": 1519,
1520
+ "запахло": 1520,
1521
+ "разочаровалась.": 1521,
1522
+ "мощный": 1522,
1523
+ "добрый": 1523,
1524
+ "творчества": 1524,
1525
+ "колёса": 1525,
1526
+ "сутки,": 1526,
1527
+ "пишу": 1527,
1528
+ "вентилятор": 1528,
1529
+ "сборки,": 1529,
1530
+ "карниз": 1530,
1531
+ "отжимом,": 1531,
1532
+ "мягкий,": 1532,
1533
+ "домой,": 1533,
1534
+ "должен": 1534,
1535
+ "рухнула": 1535,
1536
+ "компактный,": 1536,
1537
+ "заряжает": 1537,
1538
+ "утюг,": 1538,
1539
+ "вернуть": 1539,
1540
+ "сути": 1540,
1541
+ "компактная": 1541,
1542
+ "варит": 1542,
1543
+ "одни": 1543,
1544
+ "новую": 1544,
1545
+ "спальник": 1545,
1546
+ "дети": 1546,
1547
+ "иллюзию": 1547,
1548
+ "замок": 1548,
1549
+ "чужие": 1549,
1550
+ "ладно": 1550,
1551
+ "край": 1551,
1552
+ "термос": 1552,
1553
+ "тянет": 1553,
1554
+ "руками,": 1554,
1555
+ "маленькая": 1555,
1556
+ "сюрприз": 1556,
1557
+ "нереально": 1557,
1558
+ "идет": 1558,
1559
+ "масла": 1559,
1560
+ "линяет": 1560,
1561
+ "отжать": 1561,
1562
+ "рукой.": 1562,
1563
+ "эспандер": 1563,
1564
+ "проблем.": 1564,
1565
+ "мыть.": 1565,
1566
+ "везде": 1566,
1567
+ "доставка.": 1567,
1568
+ "хлопок": 1568,
1569
+ "телу": 1569,
1570
+ "производителю.": 1570,
1571
+ "продавец,": 1571,
1572
+ "упаковку,": 1572,
1573
+ "тонкая": 1573,
1574
+ "туфли.": 1574,
1575
+ "видны": 1575,
1576
+ "полок": 1576,
1577
+ "смартфон": 1577,
1578
+ "загружает": 1578,
1579
+ "ничем": 1579,
1580
+ "флешка": 1580,
1581
+ "документы": 1581,
1582
+ "тонко,": 1582,
1583
+ "прилипает": 1583,
1584
+ "одежды": 1584,
1585
+ "картина": 1585,
1586
+ "пункта": 1586,
1587
+ "нет!": 1587,
1588
+ "дарить": 1588,
1589
+ "насос": 1589,
1590
+ "качает": 1590,
1591
+ "продают": 1591,
1592
+ "просыпаюсь": 1592,
1593
+ "горячим": 1593,
1594
+ "воздухом,": 1594,
1595
+ "ожог": 1595,
1596
+ "тонкое,": 1596,
1597
+ "светится": 1597,
1598
+ "рукава": 1598,
1599
+ "задохнуться": 1599,
1600
+ "проекция": 1600,
1601
+ "покрытием,": 1601,
1602
+ "блины": 1602,
1603
+ "идеальный": 1603,
1604
+ "насадка": 1604,
1605
+ "пола": 1605,
1606
+ "шерсть": 1606,
1607
+ "заряжает,": 1607,
1608
+ "внешне": 1608,
1609
+ "громко": 1609,
1610
+ "крем,": 1610,
1611
+ "дизайн,": 1611,
1612
+ "подходить": 1612,
1613
+ "упаковке.": 1613,
1614
+ "рваный": 1614,
1615
+ "ушах": 1615,
1616
+ "снятия": 1616,
1617
+ "запах.": 1617,
1618
+ "угловая,": 1618,
1619
+ "присосках,": 1619,
1620
+ "коробке,": 1620,
1621
+ "ноль.": 1621,
1622
+ "сгорел": 1622,
1623
+ "короткое": 1623,
1624
+ "открытое": 1624,
1625
+ "отметить": 1625,
1626
+ "отношение": 1626,
1627
+ "получении": 1627,
1628
+ "об": 1628,
1629
+ "выслали": 1629,
1630
+ "стула.": 1630,
1631
+ "одежде,": 1631,
1632
+ "объемная,": 1632,
1633
+ "реальности": 1633,
1634
+ "блин,": 1634,
1635
+ "мной,": 1635,
1636
+ "мягко": 1636,
1637
+ "скоростями": 1637,
1638
+ "переключается": 1638,
1639
+ "чётко,": 1639,
1640
+ "слетает": 1640,
1641
+ "фасон,": 1641,
1642
+ "получил": 1642,
1643
+ "швабре": 1643,
1644
+ "перья": 1644,
1645
+ "печаль,": 1645,
1646
+ "двойным": 1646,
1647
+ "зарядки": 1647,
1648
+ "комбинезон": 1648,
1649
+ "ждать": 1649,
1650
+ "да,": 1650,
1651
+ "взорвался": 1651,
1652
+ "кухню": 1652,
1653
+ "битым": 1653,
1654
+ "говорят": 1654,
1655
+ "греть": 1655,
1656
+ "неприятный": 1656,
1657
+ "заказывал.": 1657,
1658
+ "над": 1658,
1659
+ "комфортный.": 1659,
1660
+ "шт.": 1660,
1661
+ "тут": 1661,
1662
+ "пачку": 1662,
1663
+ "большим": 1663,
1664
+ "удовольствием!": 1664,
1665
+ "другие": 1665,
1666
+ "сладости": 1666,
1667
+ "трактор,": 1667,
1668
+ "штука.": 1668,
1669
+ "шов": 1669,
1670
+ "класс!": 1670,
1671
+ "нигде": 1671,
1672
+ "обуви": 1672,
1673
+ "закажу": 1673,
1674
+ "простынь": 1674,
1675
+ "пятно": 1675,
1676
+ "поверхность": 1676,
1677
+ "водостойкая": 1677,
1678
+ "смыть": 1678,
1679
+ "греет,": 1679,
1680
+ "времени.": 1680,
1681
+ "часов.": 1681,
1682
+ "собрал": 1682,
1683
+ "кухне": 1683,
1684
+ "грохота": 1684,
1685
+ "ударился,": 1685,
1686
+ "замигал": 1686,
1687
+ "гарантия": 1687,
1688
+ "мечтала": 1688,
1689
+ "пушка": 1689,
1690
+ "упаковка,": 1690,
1691
+ "грязь": 1691,
1692
+ "пересушивает": 1692,
1693
+ "экологичная,": 1693,
1694
+ "идеальное": 1694,
1695
+ "37,": 1695,
1696
+ "взрыва": 1696,
1697
+ "целый,": 1697,
1698
+ "телефон,": 1698,
1699
+ "работу,": 1699,
1700
+ "ок.": 1700,
1701
+ "садовый": 1701,
1702
+ "приятно,": 1702,
1703
+ "комаров": 1703,
1704
+ "входит": 1704,
1705
+ "горелой": 1705,
1706
+ "ребрендинг": 1706,
1707
+ "стирают": 1707,
1708
+ "связь": 1708,
1709
+ "интерьер": 1709,
1710
+ "могла": 1710,
1711
+ "маленькой": 1711,
1712
+ "доставку,": 1712,
1713
+ "дизайнерский": 1713,
1714
+ "надела": 1714,
1715
+ "опять": 1715,
1716
+ "понимает": 1716,
1717
+ "команды": 1717,
1718
+ "тренирует": 1718,
1719
+ "сказала": 1719,
1720
+ "заказ,": 1720,
1721
+ "штатив": 1721,
1722
+ "местах": 1722,
1723
+ "потолка": 1723,
1724
+ "наушниках": 1724,
1725
+ "оглох,": 1725,
1726
+ "удобен,": 1726,
1727
+ "яркий,": 1727,
1728
+ "самопроизвольно": 1728,
1729
+ "мелочь,": 1729,
1730
+ "приятно!": 1730,
1731
+ "загружается": 1731,
1732
+ "громкости,": 1732,
1733
+ "протекает": 1733,
1734
+ "увлажнитель": 1734,
1735
+ "замкнёт": 1735,
1736
+ "маска": 1736,
1737
+ "выкинул": 1737,
1738
+ "покупайте!!!!": 1738,
1739
+ "единственный": 1739,
1740
+ "огромный": 1740,
1741
+ "слышен": 1741,
1742
+ "отчётливо": 1742,
1743
+ "хорошей": 1743,
1744
+ "сборкой": 1744,
1745
+ "транспортировки": 1745,
1746
+ "идеальном": 1746,
1747
+ "добротный": 1747,
1748
+ "описать": 1748,
1749
+ ",в": 1749,
1750
+ "след": 1750,
1751
+ "земля": 1751,
1752
+ "жесткость": 1752,
1753
+ "матраса": 1753,
1754
+ "будем": 1754,
1755
+ "коробки": 1755,
1756
+ "сыну.": 1756,
1757
+ "ужас": 1757,
1758
+ "стулья,": 1758,
1759
+ "комфортные.": 1759,
1760
+ "кухню,": 1760,
1761
+ "вписались": 1761,
1762
+ "проверяйте": 1762,
1763
+ "отправляете": 1763,
1764
+ "брака!": 1764,
1765
+ "режут": 1765,
1766
+ "саморезы": 1766,
1767
+ "украшают": 1767,
1768
+ "серьги": 1768,
1769
+ "началась,": 1769,
1770
+ "унитаза": 1770,
1771
+ "чудо": 1771,
1772
+ "жесткий": 1772,
1773
+ "ровный": 1773,
1774
+ "сторона": 1774,
1775
+ "мебель,": 1775,
1776
+ "фасады": 1776,
1777
+ "открытая": 1777,
1778
+ "ребёнок!": 1778,
1779
+ "пожалела.": 1779,
1780
+ "ровными": 1780,
1781
+ "вязания": 1781,
1782
+ "колется,": 1782,
1783
+ "срочно": 1783,
1784
+ "доставки": 1784,
1785
+ "шея": 1785,
1786
+ "болеть,": 1786,
1787
+ "высыпаюсь": 1787,
1788
+ "туда": 1788,
1789
+ "вина": 1789,
1790
+ "том": 1790,
1791
+ "растроилась": 1791,
1792
+ "яркие,": 1792,
1793
+ "кошка": 1793,
1794
+ "вздулся": 1794,
1795
+ "мусорку": 1795,
1796
+ "подарка": 1796,
1797
+ "устойчивое,": 1797,
1798
+ "отжиме": 1798,
1799
+ "швабру,": 1799,
1800
+ "ненавязчиво": 1800,
1801
+ "него.": 1801,
1802
+ "газовую": 1802,
1803
+ "плиту,": 1803,
1804
+ "газом": 1804,
1805
+ "громкий": 1805,
1806
+ "сказка,": 1806,
1807
+ "дно": 1807,
1808
+ "пригорает": 1808,
1809
+ "части,": 1809,
1810
+ "осколки": 1810,
1811
+ "пластика": 1811,
1812
+ "никого": 1812,
1813
+ "осталась": 1813,
1814
+ "коробке.": 1814,
1815
+ "компании,": 1815,
1816
+ "куплю": 1816,
1817
+ "хлам": 1817,
1818
+ "пола.": 1818,
1819
+ "странных": 1819,
1820
+ "ужасное": 1820,
1821
+ "ужасно": 1821,
1822
+ "отвратительно": 1822,
1823
+ "пружины": 1823,
1824
+ ".не": 1824,
1825
+ "солнца": 1825,
1826
+ "рваная": 1826,
1827
+ "лежат": 1827,
1828
+ "надёжно,": 1828,
1829
+ "самостоятельно": 1829,
1830
+ "открывать": 1830,
1831
+ "промок": 1831,
1832
+ "нового": 1832,
1833
+ "боимся,": 1833,
1834
+ "швабра,": 1834,
1835
+ "трубка": 1835,
1836
+ "вылетает": 1836,
1837
+ "морская": 1837,
1838
+ "платья": 1838,
1839
+ "картинке": 1839,
1840
+ "ванной,": 1840,
1841
+ "фитнес": 1841,
1842
+ "самокат": 1842,
1843
+ "компактно,": 1843,
1844
+ "браво,": 1844,
1845
+ "шумит": 1845,
1846
+ "убирает": 1846,
1847
+ "usb": 1847,
1848
+ "распаковал": 1848,
1849
+ "устанавливается": 1849,
1850
+ "фигуру,": 1850,
1851
+ "соответствует.": 1851,
1852
+ "использую": 1852,
1853
+ "бархатистая.": 1853,
1854
+ "сложился": 1854,
1855
+ "палец,": 1855,
1856
+ "намного": 1856,
1857
+ "большего": 1857,
1858
+ "бренда": 1858,
1859
+ "сломанный": 1859,
1860
+ "длины,": 1860,
1861
+ "упаковали": 1861,
1862
+ "накренился,": 1862,
1863
+ "аромата,": 1863,
1864
+ "вместительная,": 1864,
1865
+ "длинные,": 1865,
1866
+ "промокает": 1866,
1867
+ "работы,": 1867,
1868
+ "белый,": 1868,
1869
+ "норм": 1869,
1870
+ "сторону.": 1870,
1871
+ "некоторых": 1871,
1872
+ "резьба": 1872,
1873
+ "грех": 1873,
1874
+ "жаловаться,": 1874,
1875
+ "неприятно.": 1875,
1876
+ "претензии": 1876,
1877
+ "ровные.": 1877,
1878
+ "картинка": 1878,
1879
+ "яркая,": 1879,
1880
+ "счастлива": 1880,
1881
+ "думаю": 1881,
1882
+ "ящик": 1882,
1883
+ "успел": 1883,
1884
+ "комков": 1884,
1885
+ "написано,": 1885,
1886
+ "планшет": 1886,
1887
+ "слабый": 1887,
1888
+ "принципе": 1888,
1889
+ "минус,": 1889,
1890
+ "функциональность": 1890,
1891
+ "крошится": 1891,
1892
+ "мелкие": 1892,
1893
+ "полочка!": 1893,
1894
+ "ожидала.": 1894,
1895
+ "эксплуатации,": 1895,
1896
+ "щётка": 1896,
1897
+ "дёсны": 1897,
1898
+ "салфетки": 1898,
1899
+ "сделаны": 1899,
1900
+ "боль": 1900,
1901
+ "страхе": 1901,
1902
+ "рубильник": 1902,
1903
+ "чернила": 1903,
1904
+ "корпус": 1904,
1905
+ "радует": 1905,
1906
+ "одним": 1906,
1907
+ "материала": 1907,
1908
+ "сломан,": 1908,
1909
+ "поддержке": 1909,
1910
+ "жутко": 1910,
1911
+ "продавцу!": 1911,
1912
+ "цена.": 1912,
1913
+ "пятки": 1913,
1914
+ "стильные,": 1914,
1915
+ "маломерят": 1915,
1916
+ "режет": 1916,
1917
+ "отвратительный,": 1917,
1918
+ "хуже": 1918,
1919
+ "плохая,": 1919,
1920
+ "шоколадный": 1920,
1921
+ "кровати": 1921,
1922
+ "высоты": 1922,
1923
+ "манеж": 1923,
1924
+ "играет": 1924,
1925
+ "масла,": 1925,
1926
+ "вкусом": 1926,
1927
+ "сыну": 1927,
1928
+ "заказали": 1928,
1929
+ "рвутся,": 1929,
1930
+ "вчера": 1930,
1931
+ "рекомендую!!!": 1931,
1932
+ "вкусная": 1932,
1933
+ "садятся": 1933,
1934
+ "электроприводом": 1934,
1935
+ "замену": 1935,
1936
+ "бракованным": 1936,
1937
+ "желание": 1937,
1938
+ "ногтей": 1938,
1939
+ "стекает": 1939,
1940
+ "бы,": 1940,
1941
+ "верхняя": 1941,
1942
+ "качеству": 1942,
1943
+ "расстроилась.": 1943,
1944
+ "упакован.": 1944,
1945
+ "внешнему": 1945,
1946
+ "фото.": 1946,
1947
+ "лопнул": 1947,
1948
+ "воде,": 1948,
1949
+ "рекомендации": 1949,
1950
+ "черпака": 1950,
1951
+ "ждала": 1951,
1952
+ "скраба": 1952,
1953
+ "трёт": 1953,
1954
+ "усердно,": 1954,
1955
+ "красным": 1955,
1956
+ "вид,": 1956,
1957
+ "болеть": 1957,
1958
+ "сильнее": 1958,
1959
+ "повреждения": 1959,
1960
+ "15": 1960,
1961
+ "мастера,": 1961,
1962
+ "установили": 1962,
1963
+ "слезает": 1963,
1964
+ "стойкая,": 1964,
1965
+ "джинсы": 1965,
1966
+ "разочарован": 1966,
1967
+ "сплошные": 1967,
1968
+ "края": 1968,
1969
+ "дочери,": 1969,
1970
+ "устраивает.": 1970,
1971
+ "другое,": 1971,
1972
+ "расстроена": 1972,
1973
+ "минуту,": 1973,
1974
+ "бумага,": 1974,
1975
+ "ветер!!!": 1975,
1976
+ "результате": 1976,
1977
+ "разбиты": 1977,
1978
+ "разбил": 1978,
1979
+ "походов": 1979,
1980
+ "потеет,": 1980,
1981
+ "тех,": 1981,
1982
+ "заискрил": 1982,
1983
+ "углу": 1983,
1984
+ "звук,": 1984,
1985
+ "довольно": 1985,
1986
+ "мной": 1986,
1987
+ "сплю": 1987,
1988
+ "месяц.": 1988,
1989
+ "чисто": 1989,
1990
+ "наушники!": 1990,
1991
+ "точный": 1991,
1992
+ "маленький": 1992,
1993
+ "запах,": 1993,
1994
+ "гениальная": 1994,
1995
+ "идея,": 1995,
1996
+ "гудит,": 1996,
1997
+ "воду.": 1997,
1998
+ "болтается": 1998,
1999
+ "плохой,": 1999,
2000
+ "воспользоваться": 2000,
2001
+ "точный,": 2001,
2002
+ "узкие": 2002,
2003
+ "40": 2003,
2004
+ "пахнет,": 2004,
2005
+ "разносить": 2005,
2006
+ "морозит": 2006,
2007
+ "градусов,": 2007,
2008
+ "факту": 2008,
2009
+ "смогл��": 2009,
2010
+ "вернуть,": 2010,
2011
+ "обменять": 2011,
2012
+ "автоматический": 2012,
2013
+ "силой,": 2013,
2014
+ "защита": 2014,
2015
+ "тонкое": 2015,
2016
+ "про": 2016,
2017
+ "заказе": 2017,
2018
+ "нержавейки,": 2018,
2019
+ "толстый": 2019,
2020
+ "шампуры": 2020,
2021
+ "следят": 2021,
2022
+ "кукла": 2022,
2023
+ "форма": 2023,
2024
+ "силиконовая,": 2024,
2025
+ "кексы": 2025,
2026
+ "состав": 2026,
2027
+ "скам,": 2027,
2028
+ "тонометр": 2028,
2029
+ "врёт,": 2029,
2030
+ "падении": 2030,
2031
+ "грустно": 2031,
2032
+ "вопросы": 2032,
2033
+ "бракованные,": 2033,
2034
+ "кресло": 2034,
2035
+ "бассейн": 2035,
2036
+ "измельчил": 2036,
2037
+ "самого": 2037,
2038
+ "ткани,": 2038,
2039
+ "повреждений": 2039,
2040
+ "раньше,": 2040,
2041
+ "неправильный": 2041,
2042
+ "сильный": 2042,
2043
+ "наглые": 2043,
2044
+ "ингалятор": 2044,
2045
+ "небулайзер": 2045,
2046
+ "подвеска": 2046,
2047
+ "отвалилась": 2047,
2048
+ "высокие": 2048,
2049
+ "пора": 2049,
2050
+ "электрическая,": 2050,
2051
+ "посылка": 2051,
2052
+ "порванной": 2052,
2053
+ "чистом": 2053,
2054
+ "электросушилка": 2054,
2055
+ "сутки": 2055,
2056
+ "ресниц": 2056,
2057
+ "стул,": 2057,
2058
+ "максимум": 2058,
2059
+ "подходит,": 2059,
2060
+ "рассыпался": 2060,
2061
+ "палатка": 2061,
2062
+ "носит": 2062,
2063
+ "снизу": 2063,
2064
+ "гантели": 2064,
2065
+ "конструктор,": 2065,
2066
+ "глазами": 2066,
2067
+ "ночам": 2067,
2068
+ "смотреть": 2068,
2069
+ "запомнил": 2069,
2070
+ "включилась": 2070,
2071
+ "острые": 2071,
2072
+ "полка.": 2072,
2073
+ "гости": 2073,
2074
+ "конца": 2074,
2075
+ "тараканы,": 2075,
2076
+ "аллергию,": 2076,
2077
+ "тело": 2077,
2078
+ "ложиться": 2078,
2079
+ "корочка": 2079,
2080
+ "любом": 2080,
2081
+ "нельзя,": 2081,
2082
+ "металл": 2082,
2083
+ "толстый,": 2083,
2084
+ "игры": 2084,
2085
+ "большой,": 2085,
2086
+ "отвёрточка": 2086,
2087
+ "выстрелил": 2087,
2088
+ "хлебом": 2088,
2089
+ "бомба,": 2089,
2090
+ "печеньки": 2090,
2091
+ "розжиг": 2091,
2092
+ "небольшая": 2092,
2093
+ "приставки": 2093,
2094
+ "смотрела": 2094,
2095
+ "бьётся": 2095,
2096
+ "низкая.": 2096,
2097
+ "жена": 2097,
2098
+ "скол,": 2098,
2099
+ "вообще,": 2099,
2100
+ "торчат,": 2100,
2101
+ "оформить": 2101,
2102
+ "школы": 2102,
2103
+ "спинка": 2103,
2104
+ "ортопедическая,": 2104,
2105
+ "светоотражатели": 2105,
2106
+ "сломалось": 2106,
2107
+ "механическое": 2107,
2108
+ "здоровье": 2108,
2109
+ "табуретка": 2109,
2110
+ "подломилась,": 2110,
2111
+ "торчат.": 2111,
2112
+ "сканер": 2112,
2113
+ "год.": 2113,
2114
+ "ужасе": 2114,
2115
+ "старый": 2115,
2116
+ "деревянный": 2116,
2117
+ "срока.": 2117,
2118
+ "шкатулка": 2118,
2119
+ "феромонами": 2119,
2120
+ "привлекают": 2120,
2121
+ "заходить": 2121,
2122
+ "листья": 2122,
2123
+ "болтик": 2123,
2124
+ "таймер": 2124,
2125
+ "пропустить": 2125,
2126
+ "элементов": 2126,
2127
+ "смесь": 2127,
2128
+ "жизнь": 2128,
2129
+ "велико": 2129,
2130
+ "лёгкое,": 2130,
2131
+ "подсветкой": 2131,
2132
+ "диване": 2132,
2133
+ "роутера.": 2133,
2134
+ "захочет": 2134,
2135
+ "суп": 2135,
2136
+ "обидно": 2136,
2137
+ "телефона.": 2137,
2138
+ "запчасти": 2138,
2139
+ "картошка": 2139,
2140
+ "фри,": 2140,
2141
+ "3d": 2141,
2142
+ "изображение": 2142,
2143
+ "бра": 2143,
2144
+ "интерьер,": 2144,
2145
+ "сервис": 2145,
2146
+ "домашний": 2146,
2147
+ "выключить": 2147,
2148
+ "сколом,": 2148,
2149
+ "забрали": 2149,
2150
+ "оставили": 2150,
2151
+ "журнальный": 2151,
2152
+ "пополам,": 2152,
2153
+ "слабая": 2153,
2154
+ "подключается": 2154,
2155
+ "заказ!": 2155,
2156
+ "полотенец": 2156,
2157
+ "пушистые,": 2157,
2158
+ "сохнут": 2158,
2159
+ "обманули": 2159,
2160
+ "нет!!!": 2160,
2161
+ "примерно": 2161,
2162
+ "насыщенный": 2162,
2163
+ "бархатистая": 2163,
2164
+ "консистенция,": 2164,
2165
+ "данного": 2165,
2166
+ "какао": 2166,
2167
+ "общем,": 2167,
2168
+ "пошло": 2168,
2169
+ "производстве": 2169,
2170
+ "назад.": 2170,
2171
+ "разошлись": 2171,
2172
+ "стирок": 2172,
2173
+ "никто": 2173,
2174
+ "элегантное,": 2174,
2175
+ "придаёт": 2175,
2176
+ "отвратный": 2176,
2177
+ "ели": 2177,
2178
+ "неудобная": 2178,
2179
+ "колодка,": 2179,
2180
+ "здесь": 2180,
2181
+ "этих": 2181,
2182
+ "расправился,": 2182,
2183
+ "дополнительные": 2183,
2184
+ "подарок!": 2184,
2185
+ "острый,": 2185,
2186
+ "толстые": 2186,
2187
+ "грусть,": 2187,
2188
+ "крем!": 2188,
2189
+ "радует!": 2189,
2190
+ "приличный": 2190,
2191
+ "мастера": 2191,
2192
+ "кусочками": 2192,
2193
+ "хлипкая": 2193,
2194
+ "огонь": 2194,
2195
+ "неудобные,": 2195,
2196
+ "задымился": 2196,
2197
+ "опиума": 2197,
2198
+ "б": 2198,
2199
+ "знала": 2199,
2200
+ "лопатка": 2200,
2201
+ "широкая,": 2201,
2202
+ "торт": 2202,
2203
+ "коляска": 2203,
2204
+ "амортизацией": 2204,
2205
+ "шву,": 2205,
2206
+ "дым": 2206,
2207
+ "штук": 2207,
2208
+ "листов": 2208,
2209
+ "иногда": 2209,
2210
+ "правая": 2210,
2211
+ "врут": 2211,
2212
+ "салона": 2212,
2213
+ "выброшенные": 2213,
2214
+ "день!": 2214,
2215
+ "срок,": 2215,
2216
+ "насадки": 2216,
2217
+ "праздник": 2217,
2218
+ "ощупь!": 2218,
2219
+ "воздух,": 2219,
2220
+ "1.": 2220,
2221
+ "верните": 2221,
2222
+ "посудомойка": 2222,
2223
+ "белые": 2223,
2224
+ "замечательная": 2224,
2225
+ "маленьких": 2225,
2226
+ "автоматический,": 2226,
2227
+ "ароматом,": 2227,
2228
+ "остальные": 2228,
2229
+ "рекоммендую": 2229,
2230
+ "наружу,": 2230,
2231
+ "честно,": 2231,
2232
+ "производителя,": 2232,
2233
+ "углом": 2233,
2234
+ "столешницы": 2234,
2235
+ "??,": 2235,
2236
+ "детскую": 2236,
2237
+ "гамак": 2237,
2238
+ "сотрудница": 2238,
2239
+ "дала": 2239,
2240
+ "закон": 2240,
2241
+ "защите": 2241,
2242
+ "подарочной": 2242,
2243
+ "батареек,": 2243,
2244
+ "исчезает": 2244,
2245
+ "складной,": 2245,
2246
+ "решётка": 2246,
2247
+ "суфле,": 2247,
2248
+ "качается": 2248,
2249
+ "интересная": 2249,
2250
+ "же.": 2250,
2251
+ "сожалею": 2251,
2252
+ "безумно": 2252,
2253
+ "левая": 2253,
2254
+ "жалко": 2254,
2255
+ "подключается,": 2255,
2256
+ "жёсткий,": 2256,
2257
+ "покупке!": 2257,
2258
+ "перегрелся": 2258,
2259
+ "выключился,": 2259,
2260
+ "включился": 2260,
2261
+ "приятные": 2261,
2262
+ "недели": 2262,
2263
+ "заскрипел": 2263,
2264
+ "развалился": 2264,
2265
+ "великолепно": 2265,
2266
+ "стене,": 2266,
2267
+ "ломаются": 2267,
2268
+ "свежее": 2268,
2269
+ "вижу": 2269,
2270
+ "неудобные": 2270,
2271
+ "кость": 2271,
2272
+ "крови": 2272,
2273
+ "заедает": 2273,
2274
+ "кому": 2274,
2275
+ "вкусно,": 2275,
2276
+ "отправили": 2276,
2277
+ "ноут": 2277,
2278
+ "два,": 2278,
2279
+ "ловит": 2279,
2280
+ "довольны": 2280,
2281
+ "идея": 2281,
2282
+ "повод": 2282,
2283
+ "прикольная": 2283,
2284
+ "машину": 2284,
2285
+ "щётку": 2285,
2286
+ "полива": 2286,
2287
+ "ветра": 2287,
2288
+ "степпер": 2288,
2289
+ "рабочий": 2289,
2290
+ "мелкий": 2290,
2291
+ "эпилятор": 2291,
2292
+ "выдёргивает": 2292,
2293
+ "повесили.": 2293,
2294
+ "функции": 2294,
2295
+ "йоги": 2295,
2296
+ "ставить": 2296,
2297
+ "ноги,": 2297,
2298
+ "взорвалась": 2298,
2299
+ "подключения": 2299,
2300
+ "выбросил": 2300,
2301
+ "очень.": 2301,
2302
+ "связи": 2302,
2303
+ "лице": 2303,
2304
+ "тяжести": 2304,
2305
+ "попробовать": 2305,
2306
+ "вместительный,": 2306,
2307
+ "нежная": 2307,
2308
+ "кухонные": 2308,
2309
+ "соответственно": 2309,
2310
+ "воняет": 2310,
2311
+ "лето": 2311,
2312
+ "довольна.": 2312,
2313
+ "день.": 2313,
2314
+ "чистый": 2314,
2315
+ "аккуратный": 2315,
2316
+ "сел": 2316,
2317
+ "хотели": 2317,
2318
+ "взять": 2318,
2319
+ "любимые": 2319,
2320
+ "широкую": 2320,
2321
+ "ставлю": 2321,
2322
+ "прийти": 2322,
2323
+ "внимательнее": 2323,
2324
+ "недели,": 2324,
2325
+ "китайском": 2325,
2326
+ "плавить": 2326,
2327
+ "панике": 2327,
2328
+ "вода,": 2328,
2329
+ "жду": 2329,
2330
+ "небыло": 2330,
2331
+ "решили": 2331,
2332
+ "сижу": 2332,
2333
+ "течёт,": 2333,
2334
+ "страшно,": 2334,
2335
+ "авто,": 2335,
2336
+ "ключи": 2336,
2337
+ "уютно": 2337,
2338
+ "брызгает": 2338,
2339
+ "полосами,": 2339,
2340
+ "пыль": 2340,
2341
+ "углам": 2341,
2342
+ "поляризацией": 2342,
2343
+ "нареканий,": 2343,
2344
+ "насыщенный,": 2344,
2345
+ "гениальный": 2345,
2346
+ "молодцы": 2346,
2347
+ "люстре": 2347,
2348
+ "замкнула,": 2348,
2349
+ "опасно": 2349,
2350
+ "разбит": 2350,
2351
+ "осень": 2351,
2352
+ "скрепленные": 2352,
2353
+ "ложки": 2353,
2354
+ "подарила": 2354,
2355
+ "цепочку,": 2355,
2356
+ "также": 2356,
2357
+ "заметила": 2357,
2358
+ "лейка": 2358,
2359
+ "коробочки": 2359,
2360
+ "подделка": 2360,
2361
+ "бренд,": 2361,
2362
+ "цену!": 2362,
2363
+ "дорогих": 2363,
2364
+ "кривой": 2364,
2365
+ "делали": 2365,
2366
+ "микрофон": 2366,
2367
+ "крепкие,": 2367,
2368
+ "большое!": 2368,
2369
+ "клавиши": 2369,
2370
+ "гриль": 2370,
2371
+ "уголь": 2371,
2372
+ "сборки": 2372,
2373
+ "умный": 2373,
2374
+ "сложится": 2374,
2375
+ "доставать": 2375,
2376
+ "руками.": 2376,
2377
+ "кошмар,": 2377,
2378
+ "далеко,": 2378,
2379
+ "умную": 2379,
2380
+ "модель": 2380,
2381
+ "радости": 2381,
2382
+ "упакована": 2382,
2383
+ "повреждений.": 2383,
2384
+ "разных": 2384,
2385
+ "перегрелась": 2385,
2386
+ "сказать.": 2386,
2387
+ "отзывам": 2387,
2388
+ "магазине": 2388,
2389
+ "двухсторонний": 2389,
2390
+ "данный": 2390,
2391
+ "отвалилось,": 2391,
2392
+ "головы": 2392,
2393
+ "поняла,": 2393,
2394
+ "брак?": 2394,
2395
+ "минут.": 2395,
2396
+ "красивая.": 2396,
2397
+ "порезаться": 2397,
2398
+ "второй,": 2398,
2399
+ "баунти,": 2399,
2400
+ "200,": 2400,
2401
+ "пробовала": 2401,
2402
+ "бракованная": 2402,
2403
+ "какой-то": 2403,
2404
+ "держатся": 2404,
2405
+ "великолепно!": 2405,
2406
+ "ткань.": 2406,
2407
+ "дезодорант": 2407,
2408
+ "зарядить": 2408,
2409
+ "пятнами": 2409,
2410
+ "вб.": 2410,
2411
+ "пользуюсь.": 2411,
2412
+ "катышки": 2412,
2413
+ "проливается": 2413,
2414
+ "ящика": 2414,
2415
+ "сборки.": 2415,
2416
+ "длину": 2416,
2417
+ "момент": 2417,
2418
+ "отделов": 2418,
2419
+ "помещается": 2419,
2420
+ "перезаказывала,": 2420,
2421
+ "развалится": 2421,
2422
+ "натуральные,": 2422,
2423
+ "жар": 2423,
2424
+ "полезные": 2424,
2425
+ "прогнулся": 2425,
2426
+ "удержали": 2426,
2427
+ "искала.": 2427,
2428
+ "зарядку": 2428,
2429
+ "часто": 2429,
2430
+ "солнца,": 2430,
2431
+ "липучка": 2431,
2432
+ "получать": 2432,
2433
+ "днём": 2433,
2434
+ "скидкой": 2434,
2435
+ "просвечивает,": 2435,
2436
+ "подушки": 2436,
2437
+ "протеинах": 2437,
2438
+ "отвёртка": 2438,
2439
+ "столе": 2439,
2440
+ "остаются": 2440,
2441
+ "пожара": 2441,
2442
+ "бьёт": 2442,
2443
+ "насквозь,": 2443,
2444
+ "тёплый": 2444,
2445
+ "вешалка,": 2445,
2446
+ "вафельница": 2446,
2447
+ "хрустящие": 2447,
2448
+ "вафли,": 2448,
2449
+ "начала": 2449,
2450
+ "свет,": 2450,
2451
+ "думаю,": 2451,
2452
+ "локоны": 2452,
2453
+ "понимаю,": 2453,
2454
+ "разного": 2454,
2455
+ "виден": 2455,
2456
+ "товаром": 2456,
2457
+ "электробритва": 2457,
2458
+ "качеством": 2458,
2459
+ "изображения,": 2459,
2460
+ "пиксели": 2460,
2461
+ "вообщем": 2461,
2462
+ "ремешок": 2462,
2463
+ "нашли": 2463,
2464
+ "воде": 2464,
2465
+ "штанга": 2465,
2466
+ "ржавеет": 2466,
2467
+ "большемерят,": 2467,
2468
+ "ходить.": 2468,
2469
+ "правильно": 2469,
2470
+ "страницы": 2470,
2471
+ "выжимает": 2471,
2472
+ "сока": 2472,
2473
+ "стол!": 2473,
2474
+ "печатает": 2474,
2475
+ "заправляется": 2475,
2476
+ "спал": 2476,
2477
+ "диски": 2477,
2478
+ "нужны": 2478,
2479
+ "покупал": 2479,
2480
+ "впустую": 2480,
2481
+ "кондиционер,": 2481,
2482
+ "посуды": 2482,
2483
+ "пустую": 2483,
2484
+ "нежно,": 2484,
2485
+ "шурупы": 2485,
2486
+ "которое": 2486,
2487
+ "сиденья": 2487,
2488
+ "краской": 2488,
2489
+ "вернусь": 2489,
2490
+ "покрытием": 2490,
2491
+ "красок": 2491,
2492
+ "пользовались": 2492,
2493
+ "доложили": 2493,
2494
+ "приехала,": 2494,
2495
+ "вечером": 2495,
2496
+ "царапаются": 2496,
2497
+ "тональный": 2497,
2498
+ "тон": 2498,
2499
+ "отваливается.": 2499,
2500
+ "пару": 2500,
2501
+ "спать.": 2501,
2502
+ "удобная.": 2502,
2503
+ "силиконовые,": 2503,
2504
+ "руку": 2504,
2505
+ "ощутимый,": 2505,
2506
+ "сели,": 2506,
2507
+ "тогда,": 2507,
2508
+ "интересный,": 2508,
2509
+ "любимый": 2509,
2510
+ "хорошем": 2510,
2511
+ "нормально": 2511,
2512
+ "безупречно,": 2512,
2513
+ "фигуру.": 2513,
2514
+ "стену,": 2514,
2515
+ "полов": 2515,
2516
+ "уютное": 2516,
2517
+ "диваном,": 2517,
2518
+ "бритвенный": 2518,
2519
+ "станок": 2519,
2520
+ "срезает": 2520,
2521
+ "родинки": 2521,
2522
+ "закрыты,": 2522,
2523
+ "обруч": 2523,
2524
+ "оставляет,": 2524,
2525
+ "заряда": 2525,
2526
+ "наушнике": 2526,
2527
+ "попытке": 2527,
2528
+ "тем": 2528,
2529
+ "превращаются": 2529,
2530
+ "сетка": 2530,
2531
+ "точная": 2531,
2532
+ "раза!": 2532,
2533
+ "сушилка,": 2533,
2534
+ "отшелушивает": 2534,
2535
+ "всех": 2535,
2536
+ "подарил": 2536,
2537
+ "дня.": 2537,
2538
+ "пошива.": 2538,
2539
+ "белья,": 2539,
2540
+ "болты": 2540,
2541
+ "лёгкие,": 2541,
2542
+ "напольная": 2542,
2543
+ "чёткая,": 2543,
2544
+ "пальцы": 2544,
2545
+ "рук,": 2545,
2546
+ "горячий": 2546,
2547
+ "регулировкой": 2547,
2548
+ "заводской": 2548,
2549
+ "медленно,": 2549,
2550
+ "рассчитывала": 2550,
2551
+ "параметры": 2551,
2552
+ "отсеков": 2552,
2553
+ "придерживая": 2553,
2554
+ "ведро.": 2554,
2555
+ "продавца!": 2555,
2556
+ "обратно.": 2556,
2557
+ "стола,": 2557,
2558
+ "столов": 2558,
2559
+ "некоторые": 2559,
2560
+ "сушилка": 2560,
2561
+ "впитывается,": 2561,
2562
+ "снять": 2562,
2563
+ "соответствуют": 2563,
2564
+ "мужской": 2564,
2565
+ "комплект.": 2565,
2566
+ "комфортный": 2566,
2567
+ "домофон": 2567,
2568
+ "люд��й": 2568,
2569
+ "неустойчивое": 2569,
2570
+ "ветер,": 2570,
2571
+ "игнорируют": 2571,
2572
+ "понравилась!": 2572,
2573
+ "сохнет": 2573,
2574
+ "сожалею,": 2574,
2575
+ "теплый": 2575,
2576
+ "идеально.": 2576,
2577
+ "ноге": 2577,
2578
+ "модема": 2578,
2579
+ "большой,но": 2579,
2580
+ "деньги!!!": 2580,
2581
+ "суфле": 2581,
2582
+ "наполнитель": 2582,
2583
+ "отсек": 2583,
2584
+ "убедилась": 2584,
2585
+ "стол.": 2585,
2586
+ "катается": 2586,
2587
+ "рвётся": 2587,
2588
+ "серого": 2588,
2589
+ "качественное": 2589,
2590
+ "ветром,": 2590,
2591
+ "улетел": 2591,
2592
+ "кромка": 2592,
2593
+ "наклеена": 2593,
2594
+ "мягкий": 2594,
2595
+ "удовольствием,": 2595,
2596
+ "белый": 2596,
2597
+ "500": 2597,
2598
+ "спим": 2598,
2599
+ "устойчивое": 2599,
2600
+ "рукой": 2600,
2601
+ "током,": 2601,
2602
+ "музыку": 2602,
2603
+ "дефектов": 2603,
2604
+ "создаёт": 2604,
2605
+ "неравномерно,": 2605,
2606
+ "надёжный,": 2606,
2607
+ "крутить,": 2607,
2608
+ "длинным": 2608,
2609
+ "усталости": 2609,
2610
+ "ванную": 2610,
2611
+ "спины": 2611,
2612
+ "слышны": 2612,
2613
+ "выцветает": 2613,
2614
+ "риск": 2614,
2615
+ "спицы": 2615,
2616
+ "честно": 2616,
2617
+ "жалею": 2617,
2618
+ "вместительный": 2618,
2619
+ "дверцы": 2619,
2620
+ "полные,": 2620,
2621
+ "снаружи": 2621,
2622
+ "остановилась": 2622,
2623
+ "модели,": 2623,
2624
+ "рецептов,": 2624,
2625
+ "месяцев": 2625,
2626
+ "пользования": 2626,
2627
+ "сняла": 2627,
2628
+ "огорчило": 2628,
2629
+ "рук": 2629,
2630
+ "считает": 2630,
2631
+ "шаги,": 2631,
2632
+ "еду": 2632,
2633
+ "понять,": 2633,
2634
+ "всем,": 2634,
2635
+ "столешнице": 2635,
2636
+ "найти": 2636,
2637
+ "точно,": 2637,
2638
+ "нету": 2638,
2639
+ "кутикулы": 2639,
2640
+ "срок.": 2640,
2641
+ "упакованы": 2641,
2642
+ "крик": 2642,
2643
+ "остывает": 2643,
2644
+ "нижней": 2644,
2645
+ "хамил": 2645,
2646
+ "провода": 2646,
2647
+ "считаю": 2647,
2648
+ "обивка": 2648,
2649
+ "товару.": 2649,
2650
+ "другое.": 2650,
2651
+ "попало": 2651,
2652
+ "крышку": 2652,
2653
+ "половину": 2653,
2654
+ "wi-fi": 2654,
2655
+ "целое.": 2655,
2656
+ "держится,": 2656,
2657
+ "температуру,": 2657,
2658
+ "интересная,": 2658,
2659
+ "игру": 2659,
2660
+ "скользят,": 2660,
2661
+ "счёт": 2661,
2662
+ "узкую": 2662,
2663
+ "смотрится,": 2663,
2664
+ "спинки": 2664,
2665
+ "проблема": 2665,
2666
+ "года.": 2666,
2667
+ "высоте!": 2667,
2668
+ "горячие": 2668,
2669
+ "бутерброды,": 2669,
2670
+ "хочу": 2670,
2671
+ "красоты": 2671,
2672
+ "велотренажёр": 2672,
2673
+ "заклинил": 2673,
2674
+ "заметили": 2674,
2675
+ "двумя": 2675,
2676
+ "рублей": 2676,
2677
+ "подать": 2677,
2678
+ "яйца": 2678,
2679
+ "жарить": 2679,
2680
+ "теней": 2680,
2681
+ "садовые": 2681,
2682
+ "бренд": 2682,
2683
+ "вынуть": 2683,
2684
+ "ведра.": 2684,
2685
+ "выдернул": 2685,
2686
+ "деле": 2686,
2687
+ "курочку": 2687,
2688
+ "подходят": 2688,
2689
+ "мягкие!": 2689,
2690
+ "свежести": 2690,
2691
+ "розетка": 2691,
2692
+ "органайзер": 2692,
2693
+ "вместительный.": 2693,
2694
+ "высоте,": 2694,
2695
+ "руках": 2695,
2696
+ "куртка,": 2696,
2697
+ "тянется": 2697,
2698
+ "ровные": 2698,
2699
+ "забрал": 2699,
2700
+ "печенья": 2700,
2701
+ "торшер": 2701,
2702
+ "открыли,": 2702,
2703
+ "тело,": 2703,
2704
+ "тихий,": 2704,
2705
+ "размеру,": 2705,
2706
+ "очень,": 2706,
2707
+ "эспрессо": 2707,
2708
+ "внешнего": 2708,
2709
+ "вида": 2709,
2710
+ "удобства": 2710,
2711
+ "натирают,": 2711,
2712
+ "батарея": 2712,
2713
+ "какого": 2713,
2714
+ "закрывается": 2714,
2715
+ "пульс": 2715,
2716
+ "матовая": 2716,
2717
+ "нареканий": 2717,
2718
+ "сломался,": 2718,
2719
+ "выдерживает": 2719,
2720
+ "тряпку": 2720,
2721
+ "овощи": 2721,
2722
+ "мягкое.": 2722,
2723
+ "общем": 2723,
2724
+ "живот": 2724,
2725
+ "осыпается,": 2725,
2726
+ "оставляя": 2726,
2727
+ "оформлять": 2727,
2728
+ "точные": 2728,
2729
+ "режим": 2729,
2730
+ "готовить": 2730,
2731
+ "картошку": 2731,
2732
+ "реально": 2732,
2733
+ "слезы,": 2733,
2734
+ "скрыть": 2734,
2735
+ "взял": 2735,
2736
+ "удачная": 2736,
2737
+ "матовая,": 2737,
2738
+ "рекламе": 2738,
2739
+ "даёт": 2739,
2740
+ "подчёркивает": 2740,
2741
+ "навсегда": 2741,
2742
+ "бальзам": 2742,
2743
+ "губ": 2743,
2744
+ "блестят": 2744,
2745
+ "перчатки": 2745,
2746
+ "боится": 2746,
2747
+ "мороженица": 2747,
2748
+ "любого": 2748,
2749
+ "новым": 2749,
2750
+ "успеваю": 2750,
2751
+ "зафиксировать": 2751,
2752
+ "сборке.": 2752,
2753
+ "чашки": 2753,
2754
+ "читается": 2754,
2755
+ "марта,": 2755,
2756
+ "стоимость": 2756,
2757
+ "восторг!": 2757,
2758
+ "разводов": 2758,
2759
+ "объема": 2759,
2760
+ "переворачивается": 2760,
2761
+ "турка": 2761,
2762
+ "поднимается": 2762,
2763
+ "белого": 2763,
2764
+ "попадает": 2764,
2765
+ "бумага": 2765,
2766
+ "обложка": 2766,
2767
+ "маятником": 2767,
2768
+ "укачивает": 2768,
2769
+ "столе,": 2769,
2770
+ "доставка!": 2770,
2771
+ "конфорка": 2771,
2772
+ "теряется": 2772,
2773
+ "аппарат,": 2773,
2774
+ "высший": 2774,
2775
+ "снова": 2775,
2776
+ "улице,": 2776,
2777
+ "духовка": 2777,
2778
+ "идеальные": 2778,
2779
+ "важно": 2779,
2780
+ "данные": 2780,
2781
+ "магазин.": 2781,
2782
+ "упакованным.": 2782,
2783
+ "третьего": 2783,
2784
+ "чаша,": 2784,
2785
+ "плохой": 2785,
2786
+ "футболки": 2786,
2787
+ "верхних": 2787,
2788
+ "приятно.": 2788,
2789
+ "совсем,": 2789,
2790
+ "вкус!": 2790,
2791
+ "дочка": 2791,
2792
+ "швабра.": 2792,
2793
+ "дешёвый": 2793,
2794
+ "дрель": 2794,
2795
+ "<PAD>": 0,
2796
+ "<UNK>": 1
2797
+ }
requirements.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Базовые пакеты
2
+ setuptools>=65.0.0
3
+ wheel>=0.38.0
4
+
5
+ # Основные зависимости
6
+ torch>=2.0.0
7
+ transformers>=4.30.0
8
+ pandas>=2.0.0
9
+ numpy>=1.24.0
10
+ scikit-learn>=1.3.0
11
+ matplotlib>=3.7.0
12
+ seaborn>=0.12.0
13
+ networkx>=3.0
14
+ pymorphy3==1.0.0
15
+ pymorphy3-dicts-ru>=2.4.0
16
+ requests>=2.31.0
17
+
18
+ # Веб-фреймворк
19
+ fastapi>=0.100.0
20
+ uvicorn>=0.23.0
21
+ python-multipart>=0.0.6
22
+ jinja2>=3.1.0
23
+ aiofiles>=23.0.0
24
+ gunicorn>=21.2.0