From f069dfd589a911af7bd57a3da3c959c3fd1322e5 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 15 May 2025 00:49:06 +0200 Subject: [PATCH] init: base pretrained --- .gitignore | 47 + Breaking_Bad_RUS_2008_20210402033853.srt | 2254 ++++++++++++++++++++++ config.py | 2 + main.py | 24 + requirements.txt | 65 + result.csv | 520 +++++ scoring/__init__.py | 0 scoring/bert_ranker.py | 32 + subtitles/__init__.py | 0 subtitles/parser.py | 18 + train.py | 89 + utils/__init__.py | 0 12 files changed, 3051 insertions(+) create mode 100644 .gitignore create mode 100644 Breaking_Bad_RUS_2008_20210402033853.srt create mode 100644 config.py create mode 100644 main.py create mode 100644 requirements.txt create mode 100644 result.csv create mode 100644 scoring/__init__.py create mode 100644 scoring/bert_ranker.py create mode 100644 subtitles/__init__.py create mode 100644 subtitles/parser.py create mode 100644 train.py create mode 100644 utils/__init__.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53c3b6b --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +# Python +__pycache__/ +*.py[cod] +*.pyo +*.pyd +*.so + +# Virtualenv +venv/ +.env/ +env/ +.venv/ + +# Jupyter/IPython +.ipynb_checkpoints/ + +# Logs +*.log +logs/ + +# Hugging Face + model files +*.ckpt +*.pt +*.bin +*.h5 +bert_trained/ +checkpoint-*/ + +# Data +data/*.csv +data/*.srt +data/*.txt +!data/README.md # если у тебя есть описание структуры + +# Datasets cache (Hugging Face) +.cache/ +~/.cache/huggingface/ +~/.huggingface/ + +# Trainer outputs +runs/ +output/ +results/ + +# OS files +.DS_Store +Thumbs.db diff --git a/Breaking_Bad_RUS_2008_20210402033853.srt b/Breaking_Bad_RUS_2008_20210402033853.srt new file mode 100644 index 0000000..7f4814c --- /dev/null +++ b/Breaking_Bad_RUS_2008_20210402033853.srt @@ -0,0 +1,2254 @@ +1 +00:00:43,890 --> 00:00:45,480 +- . +- ! + +2 +00:00:45,480 --> 00:00:47,190 +, . + +3 +00:00:47,190 --> 00:00:48,360 +, . . + +4 +00:00:48,400 --> 00:00:50,270 +, , . + +5 +00:00:50,320 --> 00:00:51,730 +. + , . + +6 +00:00:51,780 --> 00:00:53,030 + . + +7 +00:00:53,030 --> 00:00:55,360 +- , ? +- . + +8 +00:00:55,360 --> 00:00:58,070 + . + +9 +00:00:58,120 --> 00:01:00,030 +, ... + +10 +00:01:00,030 --> 00:01:01,580 + , + ? + +11 +00:01:01,620 --> 00:01:05,750 + + . ? + +12 +00:01:06,080 --> 00:01:07,880 + , + . + +13 +00:01:07,920 --> 00:01:11,250 + ? + . + +14 +00:01:11,300 --> 00:01:13,340 + + . + +15 +00:01:13,340 --> 00:01:16,180 +- , . +- , . + +16 +00:01:16,220 --> 00:01:18,840 + , . + ? + +17 +00:01:18,890 --> 00:01:20,430 +- ? +- . + +18 +00:01:20,470 --> 00:01:21,560 +. + +19 +00:01:23,140 --> 00:01:26,270 +, . + +20 +00:01:26,310 --> 00:01:29,060 + , . + +21 +00:01:29,110 --> 00:01:30,730 + . + +22 +00:01:30,770 --> 00:01:33,070 +- . . +- . . + +23 +00:01:36,450 --> 00:01:38,240 +-, . + . + +24 +00:01:38,280 --> 00:01:39,320 +. + +25 +00:01:39,370 --> 00:01:44,290 +, +, .... . + +26 +00:01:44,330 --> 00:01:45,870 +- . +- . + +27 +00:01:45,910 --> 00:01:50,000 + . + +28 +00:01:50,000 --> 00:01:52,300 +- . +- , . + +29 +00:01:52,340 --> 00:01:53,590 +... + +30 +00:01:55,090 --> 00:01:57,800 +- . +- - . + +31 +00:01:57,840 --> 00:01:59,680 +. + +32 +00:01:59,680 --> 00:02:01,850 + . + +33 +00:02:01,890 --> 00:02:05,140 + , ... + +34 +00:02:05,180 --> 00:02:07,770 +- ... , . +- . + +35 +00:02:07,810 --> 00:02:13,980 + , , +... , , , ... + +36 +00:02:14,030 --> 00:02:17,030 +- ? +- . + +37 +00:02:17,030 --> 00:02:17,990 + . + +38 +00:02:18,030 --> 00:02:19,570 + , .... + +39 +00:02:19,610 --> 00:02:22,160 + . + +40 +00:02:22,160 --> 00:02:26,660 +- . +- 3 ? + +41 +00:02:26,700 --> 00:02:29,040 + , 5. + +42 +00:02:29,080 --> 00:02:30,040 + ? + +43 +00:02:30,080 --> 00:02:31,670 +- ? +- . + +44 +00:02:31,670 --> 00:02:34,460 +? -? + +45 +00:02:34,500 --> 00:02:36,050 +- , , . +- . + +46 +00:02:36,050 --> 00:02:40,220 +, . + +47 +00:02:40,260 --> 00:02:42,720 + + , ... + +48 +00:02:42,760 --> 00:02:45,180 +... , + . + +49 +00:02:46,890 --> 00:02:48,230 + , ... + +50 +00:02:48,230 --> 00:02:50,190 + , . + +51 +00:02:52,020 --> 00:02:55,070 +. + ? + +52 +00:02:55,070 --> 00:02:59,150 +" + ." + +53 +00:02:59,200 --> 00:03:00,530 +- . +- . + +54 +00:03:00,530 --> 00:03:03,530 +-, + - . + +55 +00:03:03,570 --> 00:03:08,500 +- . +- , . + +56 +00:03:08,540 --> 00:03:12,040 + , +, . + +57 +00:03:12,080 --> 00:03:17,210 + , ... + , ... + +58 +00:03:17,250 --> 00:03:20,380 +... , + . + +59 +00:03:20,420 --> 00:03:22,510 +, . + +60 +00:03:22,550 --> 00:03:23,840 +. + +61 +00:03:23,890 --> 00:03:29,680 + , +- ? + +62 +00:03:29,730 --> 00:03:31,560 + ? + +63 +00:03:31,600 --> 00:03:33,940 + . + +64 +00:03:33,980 --> 00:03:37,730 + . + ? + +65 +00:03:37,780 --> 00:03:39,570 + . + +66 +00:05:53,990 --> 00:05:54,620 +. + +67 +00:05:54,870 --> 00:05:57,250 +, ? + +68 +00:05:57,250 --> 00:05:58,670 +, . + +69 +00:05:59,420 --> 00:06:02,800 + . + +70 +00:06:03,590 --> 00:06:05,260 + ? + +71 +00:06:05,300 --> 00:06:10,180 + - ... . + +72 +00:06:11,600 --> 00:06:14,600 +, , ... + +73 +00:06:14,640 --> 00:06:16,560 +... . + +74 +00:07:11,070 --> 00:07:14,070 +, . + +75 +00:07:15,160 --> 00:07:18,290 + , + . + +76 +00:07:34,970 --> 00:07:37,810 + , . + +77 +00:07:37,850 --> 00:07:41,020 + + . + +78 +00:07:41,020 --> 00:07:42,940 + . + +79 +00:07:44,560 --> 00:07:48,190 +- - . +- . + +80 +00:07:48,230 --> 00:07:51,900 +, + . + +81 +00:07:54,320 --> 00:07:57,660 +- ? +- . + +82 +00:07:57,700 --> 00:07:59,790 + . + +83 +00:07:59,830 --> 00:08:01,870 + . + +84 +00:08:37,280 --> 00:08:40,870 +- ? +- ? + +85 +00:08:40,910 --> 00:08:44,040 + , + ? + +86 +00:08:44,080 --> 00:08:46,130 + , . + +87 +00:08:46,170 --> 00:08:48,960 +- - ? +- . + +88 +00:08:49,000 --> 00:08:51,300 + ? + +89 +00:08:52,970 --> 00:08:54,430 + , . + +90 +00:08:54,470 --> 00:08:57,260 +. , . + +91 +00:08:57,300 --> 00:09:00,810 + + , . + +92 +00:09:02,100 --> 00:09:03,770 +. + +93 +00:09:07,310 --> 00:09:10,730 + + . + +94 +00:09:10,770 --> 00:09:12,900 + . + +95 +00:09:12,940 --> 00:09:15,200 +- .. + +96 +00:09:15,240 --> 00:09:18,490 + + ? + +97 +00:09:18,530 --> 00:09:22,330 +- , + 8 ? + +98 +00:09:22,330 --> 00:09:24,330 +. . + +99 +00:09:25,370 --> 00:09:28,000 + , + ... + +100 +00:09:28,040 --> 00:09:30,540 +... 11- . + +101 +00:09:30,590 --> 00:09:32,340 + . + +102 +00:09:32,340 --> 00:09:35,090 + + . + +103 +00:09:35,130 --> 00:09:37,010 +. + +104 +00:09:37,050 --> 00:09:40,550 + , , + . + +105 +00:09:44,020 --> 00:09:49,150 + , ... + ? + +106 +00:09:51,730 --> 00:09:53,400 + . + +107 +00:09:59,820 --> 00:10:01,700 + ? + +108 +00:10:03,950 --> 00:10:05,250 + . + +109 +00:10:06,580 --> 00:10:09,000 + , . + +110 +00:10:10,540 --> 00:10:13,250 + . + +111 +00:10:13,300 --> 00:10:15,340 + , + . + +112 +00:10:15,380 --> 00:10:17,840 + , + . + +113 +00:10:17,880 --> 00:10:21,680 +- . +- , . + +114 +00:10:21,720 --> 00:10:24,180 + . + +115 +00:10:27,350 --> 00:10:29,390 + . + +116 +00:10:29,440 --> 00:10:31,480 + . + . + +117 +00:10:31,520 --> 00:10:35,860 + , +... ? + +118 +00:10:41,530 --> 00:10:44,990 + + , ... + +119 +00:10:45,040 --> 00:10:48,660 +... , , + , ... + +120 +00:10:48,710 --> 00:10:52,790 +... , , . + +121 +00:10:52,840 --> 00:10:55,000 + .... + +122 +00:10:55,050 --> 00:10:56,670 +... . + +123 +00:10:56,710 --> 00:10:59,970 +, , + . + +124 +00:11:00,010 --> 00:11:03,390 + ... ... + +125 +00:11:03,390 --> 00:11:06,770 +... + ... + +126 +00:11:06,810 --> 00:11:09,560 +... , + . + +127 +00:11:09,600 --> 00:11:12,770 +c , . + +128 +00:11:12,810 --> 00:11:16,110 +- . +- ? + +129 +00:11:16,150 --> 00:11:17,570 + . + +130 +00:11:17,610 --> 00:11:20,780 + . + +131 +00:11:20,820 --> 00:11:22,990 +, . + +132 +00:11:23,030 --> 00:11:25,990 +, ... + +133 +00:11:26,030 --> 00:11:30,910 +... + . + +134 +00:11:32,750 --> 00:11:34,250 + . + +135 +00:11:41,430 --> 00:11:43,890 + . + +136 +00:11:45,050 --> 00:11:47,350 +- - . +- . + +137 +00:11:47,390 --> 00:11:49,730 + . + +138 +00:12:05,950 --> 00:12:07,620 + . + +139 +00:12:07,620 --> 00:12:11,210 +- . +- . + +140 +00:12:50,410 --> 00:12:51,410 +? + +141 +00:13:20,150 --> 00:13:21,570 + . + +142 +00:13:23,400 --> 00:13:24,440 +. + +143 +00:13:26,280 --> 00:13:27,610 + . + +144 +00:13:29,280 --> 00:13:31,370 +, ? + +145 +00:13:31,410 --> 00:13:34,540 +, , . + +146 +00:13:44,970 --> 00:13:46,550 + ? + +147 +00:13:46,590 --> 00:13:48,180 + , ? + +148 +00:13:48,220 --> 00:13:49,590 +- . +- ? + +149 +00:13:49,640 --> 00:13:52,390 +, +, ? + +150 +00:13:52,430 --> 00:13:54,560 + , . + , . + +151 +00:13:56,730 --> 00:13:59,560 +- , . +- , . + +152 +00:13:59,560 --> 00:14:01,360 +, , . + +153 +00:14:01,400 --> 00:14:05,530 +- , . +- , . + +154 +00:14:05,570 --> 00:14:07,240 +? + +155 +00:14:07,280 --> 00:14:09,160 + , . + +156 +00:14:11,410 --> 00:14:13,620 + . + +157 +00:14:18,250 --> 00:14:20,080 +, , . + +158 +00:14:20,130 --> 00:14:21,420 + ? + +159 +00:14:21,460 --> 00:14:23,670 +- . +- , . + +160 +00:14:23,710 --> 00:14:25,420 + . + +161 +00:14:25,460 --> 00:14:28,760 + . + +162 +00:14:28,760 --> 00:14:31,760 + . + . + +163 +00:14:31,800 --> 00:14:33,140 + . + +164 +00:14:33,180 --> 00:14:35,430 +- , . +- , . + +165 +00:15:29,440 --> 00:15:30,450 + ? + +166 +00:15:32,110 --> 00:15:33,950 + . + +167 +00:16:03,440 --> 00:16:05,270 +- ? +- . + +168 +00:16:41,770 --> 00:16:43,560 +. , . + +169 +00:18:02,600 --> 00:18:04,600 +, ? + +170 +00:18:05,350 --> 00:18:06,940 + , . + +171 +00:18:06,980 --> 00:18:10,020 +- . +- . + +172 +00:18:10,060 --> 00:18:12,360 + . + +173 +00:18:12,360 --> 00:18:14,610 + . + +174 +00:18:14,650 --> 00:18:15,690 + . + +175 +00:18:15,690 --> 00:18:19,700 + . + . + +176 +00:18:19,740 --> 00:18:21,990 +- . +- - . + +177 +00:18:22,030 --> 00:18:24,040 + ... + +178 +00:18:24,040 --> 00:18:25,910 +, , ? + +179 +00:18:25,910 --> 00:18:27,540 +, . + +180 +00:18:42,470 --> 00:18:43,760 + , . + +181 +00:18:44,760 --> 00:18:46,470 + ? + +182 +00:18:46,520 --> 00:18:48,850 +. ? + +183 +00:18:48,890 --> 00:18:51,270 +. + . + +184 +00:18:51,310 --> 00:18:55,690 +- ? ? +- . + +185 +00:18:55,730 --> 00:18:58,030 +. + +186 +00:19:01,780 --> 00:19:04,780 + , . + +187 +00:19:04,830 --> 00:19:08,660 + + . + +188 +00:19:08,710 --> 00:19:10,920 +, . + +189 +00:19:15,300 --> 00:19:17,380 + . + +190 +00:19:28,640 --> 00:19:32,230 +- ? +- , . + +191 +00:19:32,230 --> 00:19:34,650 + . + +192 +00:19:34,690 --> 00:19:36,780 + , . + +193 +00:19:40,280 --> 00:19:42,070 + . + +194 +00:19:43,620 --> 00:19:45,120 +, . + +195 +00:19:47,700 --> 00:19:50,040 + ? + +196 +00:19:51,250 --> 00:19:54,080 + . + +197 +00:20:09,890 --> 00:20:11,310 +. ? + +198 +00:20:11,350 --> 00:20:13,100 +. + . + +199 +00:20:21,610 --> 00:20:23,030 +. + +200 +00:20:24,200 --> 00:20:26,160 +? + +201 +00:20:29,870 --> 00:20:32,580 +. . +c . + +202 +00:20:38,090 --> 00:20:40,000 + . + +203 +00:20:51,140 --> 00:20:52,680 + - ? + +204 +00:20:52,730 --> 00:20:53,980 +. + +205 +00:20:56,310 --> 00:21:00,360 +- ? +- . + +206 +00:21:01,530 --> 00:21:03,030 + ... + +207 +00:21:04,700 --> 00:21:07,570 + + , . + +208 +00:21:09,120 --> 00:21:12,200 +- . +- , . + +209 +00:21:12,250 --> 00:21:16,830 + , + . + +210 +00:21:20,340 --> 00:21:24,010 +, .. + +211 +00:21:24,010 --> 00:21:25,340 +... .. + +212 +00:21:25,340 --> 00:21:27,300 +, . + +213 +00:21:27,340 --> 00:21:29,180 + , ... + +214 +00:21:29,180 --> 00:21:32,970 +... + . + +215 +00:21:33,020 --> 00:21:36,730 +- , - ... +- , . + +216 +00:21:36,730 --> 00:21:39,310 +- . +- ... + +217 +00:21:39,360 --> 00:21:44,780 + , + . + +218 +00:21:44,820 --> 00:21:46,070 +. + +219 +00:21:47,280 --> 00:21:48,570 + . + +220 +00:21:48,620 --> 00:21:52,330 +.. + +221 +00:21:52,370 --> 00:21:54,040 +, . + +222 +00:22:00,750 --> 00:22:01,840 +. + +223 +00:23:24,630 --> 00:23:26,840 +. . + +224 +00:23:26,880 --> 00:23:28,800 + . + +225 +00:23:28,800 --> 00:23:30,340 + . ... + +226 +00:23:30,380 --> 00:23:33,800 + . + ? + +227 +00:23:33,850 --> 00:23:36,310 +. , . + +228 +00:23:36,350 --> 00:23:37,520 +, . + +229 +00:23:40,180 --> 00:23:42,310 + - ? + ? + +230 +00:23:42,350 --> 00:23:45,360 +. , . + +231 +00:23:45,360 --> 00:23:47,860 + . + +232 +00:23:47,900 --> 00:23:51,490 +, . + . + +233 +00:23:53,990 --> 00:23:56,990 + , ... + +234 +00:23:56,990 --> 00:23:58,290 +... . + +235 +00:24:02,580 --> 00:24:05,920 + , ... + +236 +00:24:05,960 --> 00:24:09,880 +... + . + +237 +00:24:09,920 --> 00:24:12,380 + . + +238 +00:24:12,430 --> 00:24:13,890 + ... + +239 +00:24:16,100 --> 00:24:18,850 + ? + +240 +00:24:18,850 --> 00:24:20,390 + - ... + +241 +00:24:20,430 --> 00:24:23,100 +... + ? + +242 +00:24:25,940 --> 00:24:28,820 +, + . + +243 +00:24:28,860 --> 00:24:31,400 +, , . + +244 +00:24:31,440 --> 00:24:34,530 + + ? + +245 +00:24:36,620 --> 00:24:39,080 +. . + +246 +00:24:39,120 --> 00:24:40,830 + . + +247 +00:24:42,160 --> 00:24:45,380 + ? + +248 +00:24:45,420 --> 00:24:46,830 + . + +249 +00:24:48,210 --> 00:24:50,460 + , ... + +250 +00:24:50,510 --> 00:24:53,050 +... , + . + +251 +00:24:53,050 --> 00:24:56,680 + . + . + +252 +00:24:59,760 --> 00:25:01,980 + ... + +253 +00:25:02,020 --> 00:25:04,810 +... ? + +254 +00:25:04,850 --> 00:25:07,440 + . + +255 +00:25:07,480 --> 00:25:09,400 + , ... + +256 +00:25:09,400 --> 00:25:11,900 +.. , + ... + +257 +00:25:14,070 --> 00:25:18,700 + , + ... . + +258 +00:25:20,080 --> 00:25:22,000 + , ... + +259 +00:25:22,040 --> 00:25:24,410 +... . + +260 +00:25:24,460 --> 00:25:25,960 +, ... . + +261 +00:25:26,000 --> 00:25:29,130 + ... . + +262 +00:25:29,170 --> 00:25:30,380 + , ... + +263 +00:25:30,420 --> 00:25:34,090 +... + , . + +264 +00:25:34,130 --> 00:25:37,260 + ... + +265 +00:25:37,300 --> 00:25:42,310 +- ... . +- , . + +266 +00:25:42,310 --> 00:25:46,890 + , + , , ... + +267 +00:25:46,940 --> 00:25:50,690 +... . + +268 +00:25:50,730 --> 00:25:54,070 + ... + +269 +00:25:54,110 --> 00:25:57,030 +... + , ... + +270 +00:25:57,070 --> 00:26:01,740 +... . + +271 +00:26:02,790 --> 00:26:04,700 + . + +272 +00:26:11,840 --> 00:26:15,090 +-, ... + +273 +00:26:15,130 --> 00:26:18,090 +... + ... + +274 +00:26:18,130 --> 00:26:20,180 +-, ? + +275 +00:26:21,720 --> 00:26:25,600 +, ... + +276 +00:26:27,480 --> 00:26:28,520 +... . + +277 +00:26:29,770 --> 00:26:31,270 + . + +278 +00:26:34,280 --> 00:26:39,320 + -, ... + +279 +00:26:39,360 --> 00:26:43,370 +... . + +280 +00:26:48,460 --> 00:26:51,000 + ... + +281 +00:26:51,040 --> 00:26:53,290 + . +. + +282 +00:26:54,840 --> 00:26:56,380 + , . + +283 +00:26:58,720 --> 00:27:02,050 + , +, . + +284 +00:27:17,280 --> 00:27:18,360 +- ? + +285 +00:27:25,580 --> 00:27:26,870 +? + +286 +00:27:26,910 --> 00:27:29,120 + ... + +287 +00:27:33,130 --> 00:27:37,210 +... - + ? + +288 +00:27:39,470 --> 00:27:41,760 +, . + +289 +00:27:41,800 --> 00:27:44,260 + , . + +290 +00:28:10,290 --> 00:28:11,580 +. + +291 +00:28:12,540 --> 00:28:14,250 + , . + +292 +00:28:22,470 --> 00:28:25,470 +- , ? +- . + +293 +00:28:25,930 --> 00:28:28,180 + , + . + +294 +00:28:28,220 --> 00:28:32,190 +- ? +- . + +295 +00:28:32,190 --> 00:28:33,980 + + . + +296 +00:28:33,980 --> 00:28:38,020 + ? +. + +297 +00:28:41,900 --> 00:28:43,240 + . + +298 +00:28:43,280 --> 00:28:44,820 + , . + +299 +00:28:44,860 --> 00:28:47,160 + . + +300 +00:28:47,200 --> 00:28:49,290 + , + ... + +301 +00:28:49,330 --> 00:28:51,200 +... , . + +302 +00:28:51,410 --> 00:28:54,580 + , ? +" ". + +303 +00:28:54,960 --> 00:28:56,210 + - , . + +304 +00:28:56,250 --> 00:28:58,790 + . + +305 +00:29:00,840 --> 00:29:02,720 + . + +306 +00:29:07,050 --> 00:29:11,770 + , , + , ? + +307 +00:29:11,810 --> 00:29:14,850 + , , + , ... + +308 +00:29:14,890 --> 00:29:16,560 +... , . + +309 +00:29:17,900 --> 00:29:21,980 +, . + +310 +00:29:22,030 --> 00:29:25,110 +- ? +- . + +311 +00:29:25,150 --> 00:29:27,030 + + . . + +312 +00:29:27,070 --> 00:29:29,200 + . + +313 +00:29:29,240 --> 00:29:33,160 + , + : ... + +314 +00:29:33,200 --> 00:29:36,790 +" , + ?" + +315 +00:29:36,830 --> 00:29:39,710 +? ? + +316 +00:29:39,750 --> 00:29:44,300 + , + . + +317 +00:29:46,010 --> 00:29:48,180 +. . + +318 +00:29:49,510 --> 00:29:55,640 + ... + . + +319 +00:29:55,690 --> 00:29:57,770 + , . + +320 +00:29:57,810 --> 00:30:00,110 + , . + +321 +00:30:04,990 --> 00:30:06,900 + , . + +322 +00:30:06,950 --> 00:30:09,530 +, ... + +323 +00:30:09,570 --> 00:30:11,990 +, , ... + +324 +00:30:12,030 --> 00:30:14,660 +... ... + . + +325 +00:30:14,700 --> 00:30:16,040 +. + +326 +00:30:18,920 --> 00:30:22,960 + , + ? + +327 +00:30:23,000 --> 00:30:26,970 + - ? + +328 +00:30:27,010 --> 00:30:29,510 + , ... + +329 +00:30:29,550 --> 00:30:32,180 +... ? + +330 +00:30:34,600 --> 00:30:38,640 + . + +331 +00:30:38,640 --> 00:30:41,610 + , . + +332 +00:30:59,330 --> 00:31:01,330 + , . + +333 +00:31:01,380 --> 00:31:03,420 + -. + +334 +00:31:03,460 --> 00:31:07,170 +, + . + +335 +00:31:07,210 --> 00:31:08,760 +, 80-. + +336 +00:31:08,800 --> 00:31:10,630 + . + +337 +00:31:10,680 --> 00:31:13,220 + . + . + +338 +00:31:13,260 --> 00:31:16,220 + , + , ... + +339 +00:31:32,160 --> 00:31:34,620 +? ? + +340 +00:31:34,660 --> 00:31:38,080 + +, ? + +341 +00:31:38,120 --> 00:31:42,420 + +, . + +342 +00:31:42,460 --> 00:31:43,580 +? + +343 +00:31:50,420 --> 00:31:52,470 + - ? + +344 +00:31:53,890 --> 00:31:56,350 + . + . + +345 +00:32:06,360 --> 00:32:08,860 + , . + +346 +00:32:08,900 --> 00:32:12,030 + . + . + +347 +00:32:12,070 --> 00:32:13,740 + . + +348 +00:32:13,780 --> 00:32:16,030 + . + +349 +00:32:16,080 --> 00:32:17,870 + . + +350 +00:32:17,910 --> 00:32:19,410 +, , . + +351 +00:32:19,450 --> 00:32:21,080 + . + +352 +00:32:22,710 --> 00:32:25,540 + . +" ?" + +353 +00:32:25,580 --> 00:32:27,420 + ? + +354 +00:32:27,460 --> 00:32:29,300 + . + +355 +00:32:29,340 --> 00:32:31,880 +- - ... ... +- . + +356 +00:32:31,920 --> 00:32:33,970 + ? + +357 +00:32:34,010 --> 00:32:36,600 + + . + +358 +00:32:36,600 --> 00:32:41,180 + + . + +359 +00:32:41,230 --> 00:32:42,390 + . + +360 +00:32:42,440 --> 00:32:44,690 + , . + +361 +00:32:44,730 --> 00:32:46,610 + , ... + +362 +00:32:46,650 --> 00:32:48,860 +... + . + +363 +00:32:48,900 --> 00:32:51,860 +. , -. + +364 +00:32:53,200 --> 00:32:54,950 + . +? + +365 +00:32:54,990 --> 00:32:57,240 + , ... + +366 +00:32:57,280 --> 00:32:59,410 +... , + . + +367 +00:32:59,450 --> 00:33:02,120 +, , . +-. + +368 +00:33:02,160 --> 00:33:05,250 + + . + +369 +00:33:13,550 --> 00:33:15,340 + ? + +370 +00:33:18,680 --> 00:33:19,810 + ? + +371 +00:33:21,100 --> 00:33:22,850 + . + +372 +00:33:22,890 --> 00:33:25,640 + , + . + +373 +00:33:26,650 --> 00:33:29,150 + , ? + +374 +00:33:29,150 --> 00:33:31,480 +, . + +375 +00:33:31,530 --> 00:33:33,240 +, -, ? + +376 +00:33:35,150 --> 00:33:39,120 +, + . + +377 +00:33:39,160 --> 00:33:41,160 + , + , ... + +378 +00:33:41,200 --> 00:33:45,290 +... +, , . + +379 +00:33:47,170 --> 00:33:51,710 + + . + +380 +00:33:51,750 --> 00:33:56,180 + , + ... + +381 +00:34:02,390 --> 00:34:03,720 + ? + +382 +00:34:08,190 --> 00:34:09,860 + . + +383 +00:34:18,660 --> 00:34:20,660 + . + +384 +00:34:23,200 --> 00:34:26,830 + . + +385 +00:34:26,870 --> 00:34:28,500 + ? + +386 +00:34:28,500 --> 00:34:34,380 + , , + ? + +387 +00:34:34,420 --> 00:34:36,920 + . + +388 +00:34:36,970 --> 00:34:38,630 + , ? + +389 +00:34:38,680 --> 00:34:41,680 + , + . + +390 +00:34:41,680 --> 00:34:43,850 + , , . + +391 +00:34:43,890 --> 00:34:46,100 + ... . + +392 +00:34:48,560 --> 00:34:50,730 + ... . + +393 +00:34:52,900 --> 00:34:54,820 + . + +394 +00:34:57,740 --> 00:34:59,240 + . + +395 +00:35:02,240 --> 00:35:04,080 + . + +396 +00:35:04,120 --> 00:35:06,040 + , . + +397 +00:35:06,080 --> 00:35:08,830 + . + +398 +00:35:08,870 --> 00:35:10,290 + . + +399 +00:35:11,710 --> 00:35:18,420 + , +, ... . + +400 +00:35:18,420 --> 00:35:20,050 + . + +401 +00:35:20,090 --> 00:35:22,390 + . + . + +402 +00:35:24,850 --> 00:35:27,810 + , . + +403 +00:35:36,730 --> 00:35:41,240 + ... , . + +404 +00:35:43,700 --> 00:35:46,870 + , ... + +405 +00:35:46,910 --> 00:35:48,290 + ... + +406 +00:35:50,460 --> 00:35:51,750 + . + +407 +00:35:58,460 --> 00:35:59,550 + . + +408 +00:36:02,640 --> 00:36:06,510 + ... . + +409 +00:36:06,560 --> 00:36:09,020 + +. + +410 +00:36:09,060 --> 00:36:11,480 + + . + +411 +00:36:11,480 --> 00:36:13,940 + . + +412 +00:36:15,650 --> 00:36:16,820 + . + +413 +00:36:16,820 --> 00:36:18,110 + . + +414 +00:36:18,150 --> 00:36:20,400 + . + +415 +00:36:20,440 --> 00:36:21,950 + . + +416 +00:36:24,780 --> 00:36:27,200 + ... + +417 +00:36:27,240 --> 00:36:30,000 +... , ... + +418 +00:36:30,000 --> 00:36:33,000 +, ... + +419 +00:36:33,040 --> 00:36:35,330 + ... + +420 +00:36:38,420 --> 00:36:40,710 +... . + +421 +00:36:43,470 --> 00:36:45,640 + . + +422 +00:36:47,430 --> 00:36:48,600 + . + +423 +00:36:49,850 --> 00:36:52,890 + + " , " ... + +424 +00:36:52,940 --> 00:36:54,480 + . + +425 +00:36:54,480 --> 00:36:56,360 + , ... + +426 +00:36:57,900 --> 00:36:59,570 +... . + +427 +00:37:01,490 --> 00:37:05,610 + , ... + +428 +00:37:05,660 --> 00:37:08,120 +... , + . + +429 +00:37:08,160 --> 00:37:10,040 + . + +430 +00:37:10,040 --> 00:37:13,620 + , + . + +431 +00:37:20,590 --> 00:37:23,970 + , . + +432 +00:37:29,430 --> 00:37:31,430 + ? + +433 +00:38:44,300 --> 00:38:45,670 +. + +434 +00:38:45,710 --> 00:38:47,630 + , . + +435 +00:38:47,670 --> 00:38:52,220 + 6353, 6. + +436 +00:38:56,270 --> 00:38:57,390 +? + +437 +00:38:57,430 --> 00:38:59,560 +. + +438 +00:38:59,600 --> 00:39:02,690 + 6353, 6. +. + +439 +00:39:06,280 --> 00:39:07,860 + ? + +440 +00:39:07,900 --> 00:39:09,280 +. + +441 +00:39:09,320 --> 00:39:12,200 +- ? + +442 +00:39:12,240 --> 00:39:15,040 +. . + +443 +00:39:16,500 --> 00:39:17,700 + ? + +444 +00:39:22,500 --> 00:39:24,340 +. + +445 +00:39:24,380 --> 00:39:25,920 + . + +446 +00:39:29,800 --> 00:39:33,050 + , . + +447 +00:39:33,050 --> 00:39:35,100 +. + +448 +00:39:35,100 --> 00:39:36,600 + . + +449 +00:40:09,170 --> 00:40:10,380 + . + +450 +00:40:10,420 --> 00:40:13,260 + + - . + +451 +00:40:13,300 --> 00:40:15,140 + . + +452 +00:40:18,810 --> 00:40:20,680 + ... . + +453 +00:40:20,730 --> 00:40:22,390 + , + . + +454 +00:40:22,440 --> 00:40:24,020 +, . + +455 +00:41:31,050 --> 00:41:33,050 + , , ... + +456 +00:41:33,050 --> 00:41:35,510 +... . + +457 +00:41:40,260 --> 00:41:42,140 + . + +458 +00:41:44,310 --> 00:41:46,980 +, , ... + +459 +00:41:47,020 --> 00:41:48,770 +... . + +460 +00:41:54,110 --> 00:41:55,450 +, . + +461 +00:41:56,740 --> 00:42:00,330 +, ... . + +462 +00:42:02,580 --> 00:42:05,750 +. , , . + +463 +00:42:05,790 --> 00:42:07,580 +. + +464 +00:42:07,620 --> 00:42:10,000 + ... + . + +465 +00:42:10,040 --> 00:42:11,380 + . + +466 +00:42:11,380 --> 00:42:12,380 + . + +467 +00:42:12,420 --> 00:42:15,630 + , + , . + +468 +00:42:15,670 --> 00:42:17,220 +- ... +- . ? + +469 +00:42:17,220 --> 00:42:18,510 +... . ? + +470 +00:42:18,550 --> 00:42:20,180 + , ... +. + +471 +00:42:20,220 --> 00:42:22,180 +- , ! +- ! + +472 +00:42:22,220 --> 00:42:23,350 +. + +473 +00:42:25,480 --> 00:42:27,560 + . + +474 +00:42:27,600 --> 00:42:29,100 + . + +475 +00:42:32,480 --> 00:42:34,400 + . + +476 +00:42:34,400 --> 00:42:37,110 +? + , - . + +477 +00:42:37,150 --> 00:42:39,740 + . + , ... + +478 +00:42:39,780 --> 00:42:42,240 + ... , ? + +479 +00:42:42,240 --> 00:42:44,950 + , . + +480 +00:42:45,000 --> 00:42:48,420 + , + . + +481 +00:42:48,460 --> 00:42:50,420 + . + +482 +00:42:54,300 --> 00:42:55,800 +- ? +- ? + +483 +00:42:55,800 --> 00:42:57,300 + . + +484 +00:42:57,340 --> 00:42:59,260 + .. ... + . + +485 +00:42:59,260 --> 00:43:01,640 + , + ... + +486 +00:43:01,680 --> 00:43:02,970 +, , . + +487 +00:43:03,010 --> 00:43:04,850 +, ... . + +488 +00:43:04,890 --> 00:43:07,310 + ... . + +489 +00:43:07,350 --> 00:43:09,850 + , + . + +490 +00:43:09,900 --> 00:43:11,440 +? ? + +491 +00:43:12,520 --> 00:43:13,520 +? + +492 +00:43:53,810 --> 00:43:54,820 + ? + +493 +00:43:57,110 --> 00:43:58,530 + ? + +494 +00:43:59,990 --> 00:44:01,280 + ? + +495 +00:44:02,660 --> 00:44:04,280 +, . + +496 +00:44:04,320 --> 00:44:06,410 + . + +497 +00:44:08,200 --> 00:44:09,410 + . + +498 +00:44:09,450 --> 00:44:11,830 +? , . + +499 +00:44:11,870 --> 00:44:14,080 + . + , . + +500 +00:44:14,130 --> 00:44:15,710 + 20 . + +501 +00:44:15,750 --> 00:44:17,800 + + ! + +502 +00:44:17,840 --> 00:44:20,220 +, ! + , ! + +503 +00:44:20,260 --> 00:44:21,680 + ! ! + +504 +00:44:30,180 --> 00:44:34,560 +- , , ? +- . + +505 +00:44:34,600 --> 00:44:37,270 +? ? + +506 +00:44:37,320 --> 00:44:40,240 + . + +507 +00:44:41,530 --> 00:44:46,280 + 6353, 6. + +508 +00:44:50,700 --> 00:44:51,710 +. + +509 +00:45:38,210 --> 00:45:39,590 +. + +510 +00:45:39,630 --> 00:45:40,670 + ? + +511 +00:45:46,930 --> 00:45:48,850 + , . + +512 +00:45:50,680 --> 00:45:53,180 + . + ... + +513 +00:45:53,230 --> 00:45:55,270 + . + +514 +00:45:56,940 --> 00:45:58,770 + ... + +515 +00:46:00,770 --> 00:46:01,860 +... + +516 +00:46:05,860 --> 00:46:09,320 +, . + +517 +00:46:10,990 --> 00:46:12,620 + ... + +518 +00:46:15,500 --> 00:46:16,540 +... + +519 +00:46:17,960 --> 00:46:19,920 + . + diff --git a/config.py b/config.py new file mode 100644 index 0000000..9dc1901 --- /dev/null +++ b/config.py @@ -0,0 +1,2 @@ +MODEL_NAME = "./bert_trained" +CSV_OUTPUT = "./result.csv" diff --git a/main.py b/main.py new file mode 100644 index 0000000..cacdb81 --- /dev/null +++ b/main.py @@ -0,0 +1,24 @@ +import argparse + +from subtitles.parser import parse_srt_to_df +from scoring.bert_ranker import BERTImportanceRanker +import config + + +def main(): + parser = argparse.ArgumentParser( + description="Оценка важности фраз в субтитрах с помощью BERT.") + parser.add_argument("srt_file", help="Путь к .srt файлу субтитров") + parser.add_argument( + "--output", help="Путь к выходному CSV", default=config.CSV_OUTPUT) + args = parser.parse_args() + + df = parse_srt_to_df(args.srt_file) + ranker = BERTImportanceRanker(config.MODEL_NAME) + df_scored = ranker.apply_to_dataframe(df) + df_scored.to_csv(args.output, index=False, encoding='utf-8') + print(f"✅ Сохранено в {args.output}") + + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..84c1ecb --- /dev/null +++ b/requirements.txt @@ -0,0 +1,65 @@ +accelerate==1.6.0 +aiohappyeyeballs==2.6.1 +aiohttp==3.11.18 +aiosignal==1.3.2 +attrs==25.3.0 +certifi==2025.4.26 +chardet==5.2.0 +charset-normalizer==3.4.2 +datasets==3.6.0 +dill==0.3.8 +filelock==3.18.0 +frozenlist==1.6.0 +fsspec==2025.3.0 +huggingface-hub==0.31.2 +idna==3.10 +Jinja2==3.1.6 +joblib==1.5.0 +MarkupSafe==3.0.2 +mpmath==1.3.0 +multidict==6.4.3 +multiprocess==0.70.16 +networkx==3.4.2 +numpy==2.2.5 +nvidia-cublas-cu12==12.6.4.1 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cudnn-cu12==9.5.1.17 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cufile-cu12==1.11.1.6 +nvidia-curand-cu12==10.3.7.77 +nvidia-cusolver-cu12==11.7.1.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cusparselt-cu12==0.6.3 +nvidia-nccl-cu12==2.26.2 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-nvtx-cu12==12.6.77 +packaging==25.0 +pandas==2.2.3 +propcache==0.3.1 +psutil==7.0.0 +pyarrow==20.0.0 +pysrt==1.1.2 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +regex==2024.11.6 +requests==2.32.3 +safetensors==0.5.3 +scikit-learn==1.6.1 +scipy==1.15.3 +setuptools==80.7.0 +six==1.17.0 +sympy==1.14.0 +threadpoolctl==3.6.0 +tokenizers==0.21.1 +torch==2.7.0 +tqdm==4.67.1 +transformers==4.51.3 +triton==3.3.0 +typing_extensions==4.13.2 +tzdata==2025.2 +urllib3==2.4.0 +xxhash==3.5.0 +yarl==1.20.0 diff --git a/result.csv b/result.csv new file mode 100644 index 0000000..7508b14 --- /dev/null +++ b/result.csv @@ -0,0 +1,520 @@ +start,end,text,importance_score +00:00:43.890000,00:00:45.480000,- Привет еще раз. - Привет!,0.8737615346908569 +00:00:45.480000,00:00:47.190000,"Надеюсь, мы не слишком поздно.",0.1279701292514801 +00:00:47.190000,00:00:48.360000,"Нет, нет. Как раз во время.",0.10503500699996948 +00:00:48.400000,00:00:50.270000,"Так, Стэн, это мой муж Уолт.",0.1812572032213211 +00:00:50.320000,00:00:51.730000,"Привет. Рад знакомству, Уолт.",0.14777794480323792 +00:00:51.780000,00:00:53.030000,Я тоже.,0.1351524293422699 +00:00:53.030000,00:00:55.360000,"- Сандийские лаборатории, да? - Ага.",0.5290256142616272 +00:00:55.360000,00:00:58.070000,Я слышал там происходят интересные вещи.,0.1576642096042633 +00:00:58.120000,00:01:00.030000,"Ну, вы понимаете...",0.14937035739421844 +00:01:00.030000,00:01:01.580000,"Над чем вы работаете, если можете рассказать?",0.33181071281433105 +00:01:01.620000,00:01:05.750000,Я представляю гигантские космические лазеры. Я прав?,0.40184780955314636 +00:01:06.080000,00:01:07.880000,"Честно говоря, рассказ моей работе просто усыпит вас.",0.8544732332229614 +00:01:07.920000,00:01:11.250000,Гигантские космические лазеры? Вот это звучит классно.,0.8248245716094971 +00:01:11.300000,00:01:13.340000,Я заведу об этом разговор на следующем совещании.,0.9068677425384521 +00:01:13.340000,00:01:16.180000,"- Только не забудьте, что я в доле. - Хорошо, договорились.",0.9821871519088745 +00:01:16.220000,00:01:18.840000,"Ну так что, дорогой. Что скажешь?",0.13661760091781616 +00:01:18.890000,00:01:20.430000,- Хочешь пройтись? - Конечно.,0.2005523443222046 +00:01:20.470000,00:01:21.560000,Хорошо.,0.202866330742836 +00:01:23.140000,00:01:26.270000,"Слушайте, давайте я оставлю вас наедине.",0.817753255367279 +00:01:26.310000,00:01:29.060000,"Выйду к машине, сделаю несколько звонков.",0.13703453540802002 +00:01:29.110000,00:01:30.730000,Не торопись особо.,0.106083445250988 +00:01:30.770000,00:01:33.070000,- Ладно. Хорошо. - Хорошо. Спасибо.,0.9620797634124756 +00:01:36.450000,00:01:38.240000,"Вообще-то, он хороший малый. Особо не настаивает.",0.9129918217658997 +00:01:38.280000,00:01:39.320000,Ага.,0.16104787588119507 +00:01:39.370000,00:01:44.290000,"Итак, как ты можешь видеть, тут.... много всего.",0.9806652665138245 +00:01:44.330000,00:01:45.870000,- Хорошая гостиная. - Ага.,0.5418858528137207 +00:01:45.910000,00:01:50,А вот это место для столовой.,0.14849218726158142 +00:01:50,00:01:52.300000,"- Столовой. - Именно, да.",0.22075191140174866 +00:01:52.340000,00:01:53.590000,И...,0.13672290742397308 +00:01:55.090000,00:01:57.800000,- Еще есть бассейн. - Бассейн - это круто.,0.981726348400116 +00:01:57.840000,00:01:59.680000,Угу.,0.17502669990062714 +00:01:59.680000,00:02:01.850000,Двор мог бы быть и побольше.,0.1336056888103485 +00:02:01.890000,00:02:05.140000,"А это стойка для завтрака, ...",0.5031970739364624 +00:02:05.180000,00:02:07.770000,"- ... довольно полезная штука, это мило. - Боже.",0.9819059371948242 +00:02:07.810000,00:02:13.980000,"Ну не знаю, кухня довольно просторная, ... и, знаешь, хорошо оборудована, и...",0.9817841053009033 +00:02:14.030000,00:02:17.030000,- Сколько тут спален? - Три.,0.12662558257579803 +00:02:17.030000,00:02:17.990000,Я же говорила.,0.11604202538728714 +00:02:18.030000,00:02:19.570000,"Дом довольно большой, а....",0.15953943133354187 +00:02:19.610000,00:02:22.160000,А первая вот здесь.,0.1208212673664093 +00:02:22.160000,00:02:26.660000,- А остальные две в другой части. - Всего 3 спальни?,0.9721261858940125 +00:02:26.700000,00:02:29.040000,"Мне кажется, нам надо минимум 5.",0.11123988777399063 +00:02:29.080000,00:02:30.040000,А ты как думаешь?,0.09153947979211807 +00:02:30.080000,00:02:31.670000,- Пять? - Да.,0.11766348779201508 +00:02:31.670000,00:02:34.460000,Что? Я разве похожа на мать-героиню?,0.11316541582345963 +00:02:34.500000,00:02:36.050000,"- Нет, нет, нет. - Ну ты даешь.",0.9797543883323669 +00:02:36.050000,00:02:40.220000,"Нет, у нас будет три ребенка.",0.12260426580905914 +00:02:40.260000,00:02:42.720000,"Но нам понадобится дополнительная комната для работы, ...",0.9532299041748047 +00:02:42.760000,00:02:45.180000,"... чтобы я мог работать на дому, а ты могла писать.",0.9777954816818237 +00:02:46.890000,00:02:48.230000,"Не думаю, ...",0.1447029411792755 +00:02:48.230000,00:02:50.190000,"Не думаю, что этого будет достаточно.",0.1191338524222374 +00:02:52.020000,00:02:55.070000,Ладно. А как насчет винного погреба?,0.31440502405166626 +00:02:55.070000,00:02:59.150000,"""Мы же не собираемся жить без винного погреба.""",0.9765854477882385 +00:02:59.200000,00:03:00.530000,- Очень смешно. - Ага.,0.13213686645030975 +00:03:00.530000,00:03:03.530000,"По-моему, нам следует поискать что-нибудь получше.",0.9517500400543213 +00:03:03.570000,00:03:08.500000,"- Хотя бы получше этого. - Уолт, это хороший район.",0.9822497963905334 +00:03:08.540000,00:03:12.040000,"Здесь хорошая начальная и, скорее всего, очень хорошая средняя школа.",0.944685161113739 +00:03:12.080000,00:03:17.210000,"И поверь мне, ... потому что я всё здесь осмотрела, ...",0.97879558801651 +00:03:17.250000,00:03:20.380000,"... в рамках наших финансовых возможностей, это довольно неплохой вариант.",0.9623361229896545 +00:03:20.420000,00:03:22.510000,"Ну, давай определимся с ценовыми рамками.",0.12574882805347443 +00:03:22.550000,00:03:23.840000,Правда.,0.11478342860937119 +00:03:23.890000,00:03:29.680000,"Зачем покупать себе дом, если через год-два придётся съезжать?",0.9664855003356934 +00:03:29.730000,00:03:31.560000,Ты выиграл в лотерею и не сказал мне?,0.9810272455215454 +00:03:31.600000,00:03:33.940000,Я серьезно.,0.12233874946832657 +00:03:33.980000,00:03:37.730000,Да ладно. Зачем осторожничать?,0.12008129060268402 +00:03:37.780000,00:03:39.570000,Все будет хорошо.,0.16285710036754608 +00:05:53.990000,00:05:54.620000,Да.,0.15606491267681122 +00:05:54.870000,00:05:57.250000,"Уолтер, ты видишь нас?",0.10252302139997482 +00:05:57.250000,00:05:58.670000,"Да, вижу.",0.13053111732006073 +00:05:59.420000,00:06:02.800000,Выйди из машины и иди к нам.,0.1644168645143509 +00:06:03.590000,00:06:05.260000,И что потом?,0.08587215840816498 +00:06:05.300000,00:06:10.180000,Мне нужна какая-нибудь ... страховка.,0.3459460139274597 +00:06:11.600000,00:06:14.600000,"Уверяю, я могу убить тебя и отсюда, ...",0.9825949668884277 +00:06:14.640000,00:06:16.560000,... если тебе от этого легче.,0.9410092234611511 +00:07:11.070000,00:07:14.070000,"Уолтер, ты не сидишь без дела.",0.22549781203269958 +00:07:15.160000,00:07:18.290000,"Подними руки в стороны, если не возражаешь.",0.6414998173713684 +00:07:34.970000,00:07:37.810000,"А знаешь, я не спал с четверга.",0.8002939820289612 +00:07:37.850000,00:07:41.020000,Мне пришлось всю ночь подчищать за тобой.,0.5432004928588867 +00:07:41.020000,00:07:42.940000,Мне нужен сон.,0.1515224426984787 +00:07:44.560000,00:07:48.190000,- Ты говорил - никаких полумер. - Да.,0.9502732157707214 +00:07:48.230000,00:07:51.900000,"Забавно, насколько слова могут быть неправильно поняты.",0.6563591957092285 +00:07:54.320000,00:07:57.660000,- Ты починил свою машину? - Еще нет.,0.9803526401519775 +00:07:57.700000,00:07:59.790000,Тебе придётся починить машину.,0.11192072927951813 +00:07:59.830000,00:08:01.870000,Сначала посмотрим как всё пройдёт.,0.2609652578830719 +00:08:37.280000,00:08:40.870000,- Тебе стало хуже? - Не понял?,0.977661669254303 +00:08:40.910000,00:08:44.040000,"Твое состояние здоровья, тебе стало хуже?",0.9010975360870361 +00:08:44.080000,00:08:46.130000,"Насколько мне известно, нет.",0.10121171176433563 +00:08:46.170000,00:08:48.960000,- А какие-нибудь признаки есть? - Нет.,0.97742760181427 +00:08:49,00:08:51.300000,Может видишь белый свет или слышишь голоса?,0.28528720140457153 +00:08:52.970000,00:08:54.430000,"Я в порядке, спасибо.",0.1442299485206604 +00:08:54.470000,00:08:57.260000,"Нет. Очевидно, что это не так.",0.1178048700094223 +00:08:57.300000,00:09:00.810000,"Ни один здравомыслящий человек не сделал бы того, что сотворил ты.",0.9779550433158875 +00:09:02.100000,00:09:03.770000,Объяснись.,0.12385343760251999 +00:09:07.310000,00:09:10.730000,Мой партнёр чуть было не нарвался на пулю.,0.8585134744644165 +00:09:10.770000,00:09:12.900000,Я вмешался.,0.10935087502002716 +00:09:12.940000,00:09:15.200000,Какой-то чмошный торчок ..,0.1883523315191269 +00:09:15.240000,00:09:18.490000,Ты вмешался ради него и подверг нас такому риску?,0.9775786399841309 +00:09:18.530000,00:09:22.330000,"Какой-то презренный нарик, который не мог спокойно просидеть 8 часов?",0.9632604718208313 +00:09:22.330000,00:09:24.330000,Верно. Не мог.,0.13588832318782806 +00:09:25.370000,00:09:28,"Он был взбешен, потому что те два твоих урода ...",0.9794711470603943 +00:09:28.040000,00:09:30.540000,... хладнокровно убили 11-летнего мальчика.,0.1613849252462387 +00:09:30.590000,00:09:32.340000,Я слышал об этом.,0.11215589940547943 +00:09:32.340000,00:09:35.090000,Ему следовало позволить мне самому с этим разобраться.,0.9792113304138184 +00:09:35.130000,00:09:37.010000,Возможно.,0.11772332340478897 +00:09:37.050000,00:09:40.550000,"И опять же, возможно он думал, что приказ шел от тебя.",0.9808474779129028 +00:09:44.020000,00:09:49.150000,"Хочешь сказать, что ... я приказал убить ребёнка?",0.9786584377288818 +00:09:51.730000,00:09:53.400000,Я не хочу этого знать.,0.12157759815454483 +00:09:59.820000,00:10:01.700000,Где сейчас Пинкман?,0.09718084335327148 +00:10:03.950000,00:10:05.250000,Хотел бы я знать.,0.12913718819618225 +00:10:06.580000,00:10:09,"В паре часовых поясов, по меньшей мере.",0.19345438480377197 +00:10:10.540000,00:10:13.250000,Кроме этого я могу лишь догадываться.,0.1293048858642578 +00:10:13.300000,00:10:15.340000,"У него достаточно денег, чтобы исчезнуть навечно.",0.8837012052536011 +00:10:15.380000,00:10:17.840000,"Он понимает, что ему нельзя останавливаться.",0.9573280215263367 +00:10:17.880000,00:10:21.680000,"- Тебе никогда его не найти. - Не знаю, Уолт.",0.9814497232437134 +00:10:21.720000,00:10:24.180000,Это моя работа.,0.11740976572036743 +00:10:27.350000,00:10:29.390000,Он давно вне поля зрения.,0.13732659816741943 +00:10:29.440000,00:10:31.480000,Я спас ему жизнь. Я задолжал ему это.,0.9691208004951477 +00:10:31.520000,00:10:35.860000,"Но теперь у нас с ним всё кончено, ... ни этого ли ты желал?",0.9821993112564087 +00:10:41.530000,00:10:44.990000,"Ты всегда давил на меня как весьма самоуверенный человек, ...",0.9788715243339539 +00:10:45.040000,00:10:48.660000,"... так что, если ты не против, я хотел бы представить тебе варианты, ...",0.9807625412940979 +00:10:48.710000,00:10:52.790000,"... которых, как мне видится, у тебя два.",0.9815204739570618 +00:10:52.840000,00:10:55,Вариант Первый ....,0.15562857687473297 +00:10:55.050000,00:10:56.670000,... ты убиваешь меня здесь и сейчас.,0.979460597038269 +00:10:56.710000,00:10:59.970000,"Несомненно, придя сюда, я упростил тебе задачу.",0.9808231592178345 +00:11:00.010000,00:11:03.390000,Можешь убить меня ... без свидетелей ...,0.8665276169776917 +00:11:03.390000,00:11:06.770000,... и следующие несколько недель или месяцев потратить ...,0.9634256958961487 +00:11:06.810000,00:11:09.560000,"... на поиски Джесси Пинкмана, и в итоге тоже его убить.",0.9656659960746765 +00:11:09.600000,00:11:12.770000,"Беcсмысленное занятие, на мой взгляд.",0.13083913922309875 +00:11:12.810000,00:11:16.110000,- Но это Первый вариант. - Каков же Второй вариант?,0.9795078635215759 +00:11:16.150000,00:11:17.570000,Я продолжаю готовить.,0.10170020908117294 +00:11:17.610000,00:11:20.780000,Мы оба забываем о Пинкмане.,0.1274445354938507 +00:11:20.820000,00:11:22.990000,"Забываем, что это вообще случилось.",0.1597391813993454 +00:11:23.030000,00:11:25.990000,"Представим, что это единичное происшествие ...",0.40202221274375916 +00:11:26.030000,00:11:30.910000,... в наших долгосрочных и плодотворных деловых отношениях.,0.9452276229858398 +00:11:32.750000,00:11:34.250000,Я предпочту Второй вариант.,0.10395851731300354 +00:11:41.430000,00:11:43.890000,Тебе понадобится новый помощник.,0.09536316245794296 +00:11:45.050000,00:11:47.350000,- Я могу кого-нибудь подыскать. - Нет.,0.9802519679069519 +00:11:47.390000,00:11:49.730000,На этот раз выбор за мной.,0.10802459716796875 +00:12:05.950000,00:12:07.620000,Твоя машина.,0.1298948973417282 +00:12:07.620000,00:12:11.210000,- Почини ее. - Ага.,0.18416821956634521 +00:12:50.410000,00:12:51.410000,Серьезно?,0.10561739653348923 +00:13:20.150000,00:13:21.570000,Рад тебя видеть.,0.11706522107124329 +00:13:23.400000,00:13:24.440000,Спасибо.,0.17680303752422333 +00:13:26.280000,00:13:27.610000,Рад возвращению.,0.12210703641176224 +00:13:29.280000,00:13:31.370000,"Ну, начнем?",0.11090624332427979 +00:13:31.410000,00:13:34.540000,"Конечно, Гейл, давай готовить.",0.12285574525594711 +00:13:44.970000,00:13:46.550000,Как насчет носорога?,0.08764128386974335 +00:13:46.590000,00:13:48.180000,"Как думаешь, он сойдёт за домашнюю зверушку?",0.9546254873275757 +00:13:48.220000,00:13:49.590000,- Нет. - Нет?,0.11691147834062576 +00:13:49.640000,00:13:52.390000,"Думаешь, если ты позовешь его, он придет на ужин?",0.9811995029449463 +00:13:52.430000,00:13:54.560000,"Держу пари, что да. Держу пари, он прибежит.",0.9285189509391785 +00:13:56.730000,00:13:59.560000,"- Ты глупенький, дедуля. - Ну, слегка.",0.9803655743598938 +00:13:59.560000,00:14:01.360000,"Он, скорее всего, будет все повсюду крушить.",0.9728599190711975 +00:14:01.400000,00:14:05.530000,"- К тому же, этот его большой нос. - Это не нос, это рог.",0.9805631637573242 +00:14:05.570000,00:14:07.240000,Неужели?,0.10659252107143402 +00:14:07.280000,00:14:09.160000,"По правде, у него маленький нос.",0.12294027209281921 +00:14:11.410000,00:14:13.620000,Я столько всего узнаю с тобой.,0.14032430946826935 +00:14:18.250000,00:14:20.080000,"Ладно, майский жучок, эти тебе.",0.9431406259536743 +00:14:20.130000,00:14:21.420000,А что с остальными?,0.08306469768285751 +00:14:21.460000,00:14:23.670000,"- Они для меня. - Нет, не для тебя.",0.9808021783828735 +00:14:23.710000,00:14:25.420000,Ты слишком стар для шариков.,0.10721198469400406 +00:14:25.460000,00:14:28.760000,Нельзя быть слишком старым для шариков.,0.11134015023708344 +00:14:28.760000,00:14:31.760000,Обними меня. Вот и твоя мама.,0.14611084759235382 +00:14:31.800000,00:14:33.140000,Не заставляй ее ждать.,0.11258714646100998 +00:14:33.180000,00:14:35.430000,"- Пока, дедуля. - Пока, детка.",0.9507510662078857 +00:15:29.440000,00:15:30.450000,Что случилось?,0.08728217333555222 +00:15:32.110000,00:15:33.950000,Есть только один способ узнать.,0.10119400173425674 +00:16:03.440000,00:16:05.270000,- Что это было? - Не знаю.,0.9805049300193787 +00:16:41.770000,00:16:43.560000,"Пожалуйста. Пожалуйста, нет.",0.0969608798623085 +00:18:02.600000,00:18:04.600000,"Чоу, у тебя есть что мне сказать?",0.9128055572509766 +00:18:05.350000,00:18:06.940000,"Слава богу, ты здесь.",0.9742982983589172 +00:18:06.980000,00:18:10.020000,- Меня держат в заложниках. - Тебя держат в заложниках.,0.977155327796936 +00:18:10.060000,00:18:12.360000,Я для них ничего не делаю.,0.12473497539758682 +00:18:12.360000,00:18:14.610000,Они пытались заставить меня.,0.2756122350692749 +00:18:14.650000,00:18:15.690000,Я отказался.,0.09900473803281784 +00:18:15.690000,00:18:19.700000,Они крадут мои химикаты. Я не могу их остановить.,0.9787333607673645 +00:18:19.740000,00:18:21.990000,- Я бизнесмен. - Ты - бизнесмен.,0.958533525466919 +00:18:22.030000,00:18:24.040000,А леди на входе...,0.17186574637889862 +00:18:24.040000,00:18:25.910000,"Эй, дамочка, вы еще там?",0.12676788866519928 +00:18:25.910000,00:18:27.540000,"Спроси, здесь ли она.",0.1296597570180893 +00:18:42.470000,00:18:43.760000,"Она сказала, что да.",0.11933661252260208 +00:18:44.760000,00:18:46.470000,Как она водит?,0.09442195296287537 +00:18:46.520000,00:18:48.850000,Водит. Она хороша за рулем?,0.25025272369384766 +00:18:48.890000,00:18:51.270000,Хороша. Она хороший водитель.,0.42039766907691956 +00:18:51.310000,00:18:55.690000,- С правами? Надежная? - У нее Камри.,0.9748782515525818 +00:18:55.730000,00:18:58.030000,Хорошо.,0.202866330742836 +00:19:01.780000,00:19:04.780000,"Первым делом, грузовики будут здесь с утра.",0.6632230281829834 +00:19:04.830000,00:19:08.660000,Я настоятельно рекомендую в следующий раз отвечать на наши звонки.,0.981396496295929 +00:19:08.710000,00:19:10.920000,"Так, пусть она отвезет тебя в больницу.",0.9791561365127563 +00:19:15.300000,00:19:17.380000,Ей понадобится вторая туфля.,0.09239035099744797 +00:19:28.640000,00:19:32.230000,"- Где они пересеклись? - Похоже, что в Ларедо.",0.9802314639091492 +00:19:32.230000,00:19:34.650000,Они точно не посылали своих людей.,0.9616749882698059 +00:19:34.690000,00:19:36.780000,"Но как вы и сказали, это картель.",0.8771597146987915 +00:19:40.280000,00:19:42.070000,Прощупывают слабые места.,0.11120614409446716 +00:19:43.620000,00:19:45.120000,"Ну, они ничего не нашли.",0.6465060710906982 +00:19:47.700000,00:19:50.040000,Что там с Пинкманом?,0.08723506331443787 +00:19:51.250000,00:19:54.080000,Я навожу справки.,0.11861611902713776 +00:20:09.890000,00:20:11.310000,Так. Это второй?,0.12411152571439743 +00:20:11.350000,00:20:13.100000,Хорошо. Давай закрывать.,0.1700405478477478 +00:20:21.610000,00:20:23.030000,Запускай.,0.15459546446800232 +00:20:24.200000,00:20:26.160000,Готов?,0.10826162993907928 +00:20:29.870000,00:20:32.580000,Отлично. Порядок. Вcе готово.,0.2557319402694702 +00:20:38.090000,00:20:40,Теперь можешь снять маску.,0.10993890464305878 +00:20:51.140000,00:20:52.680000,Этот тип когда-нибудь свалит?,0.09609384834766388 +00:20:52.730000,00:20:53.980000,Не.,0.1400030553340912 +00:20:56.310000,00:21:00.360000,- Когда это началось? - Это новшество.,0.9788485765457153 +00:21:01.530000,00:21:03.030000,У нас было...,0.15754418075084686 +00:21:04.700000,00:21:07.570000,"У нас было небольшое недоразумение с тем, кого ты заменяешь.",0.9831063747406006 +00:21:09.120000,00:21:12.200000,"- Мне жаль. - Нет, все будет хорошо.",0.9804655313491821 +00:21:12.250000,00:21:16.830000,"Все наладится, и все будет хорошо.",0.9108085632324219 +00:21:20.340000,00:21:24.010000,"Кстати, если вы беспокоитесь ..",0.13464973866939545 +00:21:24.010000,00:21:25.340000,... насчет сотрудничества со мной..,0.6136636137962341 +00:21:25.340000,00:21:27.300000,"Нет, не беспокоюсь.",0.094742052257061 +00:21:27.340000,00:21:29.180000,"То несмотря на все мои прошлые недостатки, ...",0.9654011130332947 +00:21:29.180000,00:21:32.970000,... я намерен все их устранить и с этого момента дела пойдут лучше.,0.9804487824440002 +00:21:33.020000,00:21:36.730000,"- Так что, если что-то ... - Гейл, ты молодец.",0.9821909666061401 +00:21:36.730000,00:21:39.310000,- Правда. - Просто ...,0.15643975138664246 +00:21:39.360000,00:21:44.780000,"Чего бы вы не хотели, все будет именно так.",0.9747995138168335 +00:21:44.820000,00:21:46.070000,Точка.,0.16367638111114502 +00:21:47.280000,00:21:48.570000,С этого момента.,0.1197400689125061 +00:21:48.620000,00:21:52.330000,Итак..,0.1600862592458725 +00:21:52.370000,00:21:54.040000,"Пожалуйста, учите меня.",0.11946377903223038 +00:22:00.750000,00:22:01.840000,Хорошо.,0.202866330742836 +00:23:24.630000,00:23:26.840000,Гейл. Рад тебя видеть.,0.19353468716144562 +00:23:26.880000,00:23:28.800000,Мистер Фринг.,0.12967278063297272 +00:23:28.800000,00:23:30.340000,Ух ты. Это ...,0.21490004658699036 +00:23:30.380000,00:23:33.800000,Мне следовало сперва позвонить. Я не помешал?,0.9648803472518921 +00:23:33.850000,00:23:36.310000,"Нет. Нет, вовсе нет.",0.10076357424259186 +00:23:36.350000,00:23:37.520000,"Пожалуйста, входите.",0.12994098663330078 +00:23:40.180000,00:23:42.310000,Позвольте вам что-нибудь предложить? Крем Де Менте?,0.10315334796905518 +00:23:42.350000,00:23:45.360000,"Нет. Нет, спасибо.",0.14764302968978882 +00:23:45.360000,00:23:47.860000,Прости за беспокойство.,0.11412174254655838 +00:23:47.900000,00:23:51.490000,"Нет, нет. Никаких беспокойств.",0.10506704449653625 +00:23:53.990000,00:23:56.990000,"Мне нужно кое о чем с тобой поговорить, ...",0.9794058203697205 +00:23:56.990000,00:23:58.290000,... весьма неотложном.,0.12076147645711899 +00:24:02.580000,00:24:05.920000,"На крайний случай, я хотел бы знать ...",0.9492202997207642 +00:24:05.960000,00:24:09.880000,... как скоро ты сможешь взять лабораторию на себя.,0.9812533259391785 +00:24:09.920000,00:24:12.380000,Вместе с ассистентом.,0.11512939631938934 +00:24:12.430000,00:24:13.890000,Какой ...,0.16624926030635834 +00:24:16.100000,00:24:18.850000,Что за крайний случай?,0.081248439848423 +00:24:18.850000,00:24:20.390000,Уолтер когда-нибудь говорил тебе ...,0.9670389294624329 +00:24:20.430000,00:24:23.100000,... почему он решил заняться такой специфичной работой?,0.9745963215827942 +00:24:25.940000,00:24:28.820000,"Думаю, потому что она неплохо оплачивается.",0.1471027284860611 +00:24:28.860000,00:24:31.400000,"Да, несомненно, но конкретнее.",0.10499934107065201 +00:24:31.440000,00:24:34.530000,Разве он не упоминал о своих проблемах со здоровьем?,0.9655179381370544 +00:24:36.620000,00:24:39.080000,Да. Я не удивлен.,0.1211036890745163 +00:24:39.120000,00:24:40.830000,Он очень скрытный человек.,0.15082213282585144 +00:24:42.160000,00:24:45.380000,Какие именно у него проблемы?,0.09503829479217529 +00:24:45.420000,00:24:46.830000,Он умирает от рака.,0.15066172182559967 +00:24:48.210000,00:24:50.460000,"Поэтому он этим занимается, ...",0.9281652569770813 +00:24:50.510000,00:24:53.050000,"... чтобы обеспечить свою семью, чего он и добился.",0.9817140102386475 +00:24:53.050000,00:24:56.680000,Теперь они обеспечены. Он позаботился об этом.,0.9778639674186707 +00:24:59.760000,00:25:01.980000,И ...,0.13672290742397308 +00:25:02.020000,00:25:04.810000,... сколько ему осталось?,0.12826916575431824 +00:25:04.850000,00:25:07.440000,В этом и вопрос.,0.12750674784183502 +00:25:07.480000,00:25:09.400000,"Он не хочет говорить об этом, ...",0.9728075265884399 +00:25:09.400000,00:25:11.900000,".. и каждый раз, когда я затрагиваю эту тему ...",0.9789772033691406 +00:25:14.070000,00:25:18.700000,"Я не понимаю, полностью ли он смирился ... с происходящим.",0.9794823527336121 +00:25:20.080000,00:25:22,"Не хочу показаться хладнокровным, ...",0.9730781316757202 +00:25:22.040000,00:25:24.410000,... но мне нужно продолжать вести бизнес.,0.9713629484176636 +00:25:24.460000,00:25:25.960000,"Да, я ... понимаю.",0.14385412633419037 +00:25:26,00:25:29.130000,Я ... очень многое вложил в это.,0.9345048666000366 +00:25:29.170000,00:25:30.380000,"Расходы зашкаливают, ...",0.14799346029758453 +00:25:30.420000,00:25:34.090000,"... так что я не могу позволить остановить работу, даже на неделю.",0.9819238781929016 +00:25:34.130000,00:25:37.260000,Надеюсь ты понимаешь мою обеспокоенность ...,0.9781635999679565 +00:25:37.300000,00:25:42.310000,"- ... и желание продолжить работу. - Да, несомненно.",0.9811351895332336 +00:25:42.310000,00:25:46.890000,"Я желаю, чтобы Уолт оставался у нас столько, сколько захочет, ...",0.9814087748527527 +00:25:46.940000,00:25:50.690000,... учитывая его физическое состояние.,0.1656063199043274 +00:25:50.730000,00:25:54.070000,Но так как он не может или не хочет ...,0.9775934219360352 +00:25:54.110000,00:25:57.030000,"... говорить мне как долго он еще сможет быть в седле, ...",0.9822824001312256 +00:25:57.070000,00:26:01.740000,... я должен приготовится к худшему сценарию.,0.9627063274383545 +00:26:02.790000,00:26:04.700000,Худший сценарий.,0.14786916971206665 +00:26:11.840000,00:26:15.090000,"По-моему, если мы ...",0.13787388801574707 +00:26:15.130000,00:26:18.090000,... хотя бы еще несколько раз поработаем вместе ...,0.9737156629562378 +00:26:18.130000,00:26:20.180000,"По-твоему, ты ещё не готов?",0.9696351885795593 +00:26:21.720000,00:26:25.600000,"Ну, он такой ...",0.15576604008674622 +00:26:27.480000,00:26:28.520000,... мастер.,0.1492842584848404 +00:26:29.770000,00:26:31.270000,Мне есть чему у него поучиться.,0.10531486570835114 +00:26:34.280000,00:26:39.320000,"Но по-моему, если мы ...",0.3567916452884674 +00:26:39.360000,00:26:43.370000,... поработаем еще раз или два.,0.2593189775943756 +00:26:48.460000,00:26:51,Один раз ...,0.14214764535427094 +00:26:51.040000,00:26:53.290000,То почему бы и нет. Вроде.,0.12224765121936798 +00:26:54.840000,00:26:56.380000,"Я верю в тебя, Гейл.",0.14916963875293732 +00:26:58.720000,00:27:02.050000,"Я знаю, что когда придёт время, ты будешь готов.",0.9797263145446777 +00:27:17.280000,00:27:18.360000,Что-то не так?,0.08490359783172607 +00:27:25.580000,00:27:26.870000,Уолт?,0.10326477885246277 +00:27:26.910000,00:27:29.120000,Есть ли ...,0.1382875293493271 +00:27:33.130000,00:27:37.210000,... какая-нибудь хитрость для очистки катализатора?,0.39955106377601624 +00:27:39.470000,00:27:41.760000,"Нет, все довольно просто.",0.09713593125343323 +00:27:41.800000,00:27:44.260000,"Я расскажу, когда дойдем до этого.",0.1194102093577385 +00:28:10.290000,00:28:11.580000,Да.,0.15606491267681122 +00:28:12.540000,00:28:14.250000,"Скажи ему, что у меня совещание.",0.1838742196559906 +00:28:22.470000,00:28:25.470000,"- Разве не видишь, у меня совещание? - Я ищу твоего клиента.",0.9823012351989746 +00:28:25.930000,00:28:28.180000,"Я надеялся, что ты поможешь мне разузнать адрес.",0.980823278427124 +00:28:28.220000,00:28:32.190000,- Что за клиент? - Джесси Пинкман.,0.6713497638702393 +00:28:32.190000,00:28:33.980000,Джесси Пинкман есть в телефонном справочнике под именем Джесси Пинкман.,0.3154222369194031 +00:28:33.980000,00:28:38.020000,Как же его выследить? Интересно.,0.0967942550778389 +00:28:41.900000,00:28:43.240000,Ты ещё здесь.,0.11382966488599777 +00:28:43.280000,00:28:44.820000,"Слушай меня внимательно, Соул.",0.15685230493545532 +00:28:44.860000,00:28:47.160000,Настоящее местоположение Джесси Пинкмана.,0.11792784184217453 +00:28:47.200000,00:28:49.290000,"Чем быстрее ты мне скажешь, тем быстрее вернёшься ...",0.9797035455703735 +00:28:49.330000,00:28:51.200000,"... к тому, хрен знает чему.",0.8888910412788391 +00:28:51.410000,00:28:54.580000,"Я тебе что, дежурный по классу школьник? ""Настоящее местоположение"".",0.976574182510376 +00:28:54.960000,00:28:56.210000,"Позволь кое-что тебе сказать, Майк.",0.13543112576007843 +00:28:56.250000,00:28:58.790000,Не нужно вставать.,0.10750960558652878 +00:29:00.840000,00:29:02.720000,Я тоже устроюсь поудобнее.,0.1502731889486313 +00:29:07.050000,00:29:11.770000,"Когда я говорю, что ищу Пинкмана, мы оба знаем почему, не так ли?",0.9795635342597961 +00:29:11.810000,00:29:14.850000,"А ты претворяешься, что не знаешь, лишь тратишь мое время, ...",0.9803937673568726 +00:29:14.890000,00:29:16.560000,"... и к тому же, раздражаешь меня.",0.9786499738693237 +00:29:17.900000,00:29:21.980000,"Майк, у юристов есть правила.",0.10590282827615738 +00:29:22.030000,00:29:25.110000,- Неужели? - Да.,0.12124595791101456 +00:29:25.150000,00:29:27.030000,Право адвоката не разглашать информацию клиента. И это самое основное.,0.9627943634986877 +00:29:27.070000,00:29:29.200000,То же самое я делаю для тебя.,0.372078001499176 +00:29:29.240000,00:29:33.160000,"Так что если я сдам Пинкмана, тогда ты задашься вопросом: ...",0.9819981455802917 +00:29:33.200000,00:29:36.790000,"""Старик Соул так легко всех сдает, так что мешает ему сдать меня?""",0.9801007509231567 +00:29:36.830000,00:29:39.710000,Видишь? Где тогда доверие?,0.10178139805793762 +00:29:39.750000,00:29:44.300000,"Я доверяю яме в пустыне, где я тебя оставлю.",0.9816582202911377 +00:29:46.010000,00:29:48.180000,Да. Это аргумент.,0.13410300016403198 +00:29:49.510000,00:29:55.640000,Так что ... не заставляй меня переломать тебе ноги.,0.9808382987976074 +00:29:55.690000,00:29:57.770000,"А сейчас говори, где мне его найти.",0.868670642375946 +00:29:57.810000,00:30:00.110000,"Ты знаешь, это самое верное.",0.14273005723953247 +00:30:04.990000,00:30:06.900000,"Я не могу тебя сказать, Майк.",0.12578371167182922 +00:30:06.950000,00:30:09.530000,"Хорошо, я...",0.20874610543251038 +00:30:09.570000,00:30:11.990000,"Послушай, если бы я тебе сказал, ...",0.980730414390564 +00:30:12.030000,00:30:14.660000,... то просто ... не смог бы жить с самим собой.,0.9782333374023438 +00:30:14.700000,00:30:16.040000,Извини.,0.1534883677959442 +00:30:18.920000,00:30:22.960000,"Но кто сказал, что я не записал адрес в свой ежедневник?",0.9787179231643677 +00:30:23,00:30:26.970000,Или где-нибудь на клочке бумаге?,0.10059510916471481 +00:30:27.010000,00:30:29.510000,"Кто сказал, что я не записал местоположение ...",0.9790788888931274 +00:30:29.550000,00:30:32.180000,... для профессионального использования?,0.1048637256026268 +00:30:34.600000,00:30:38.640000,Не трогай ничего на моем столе.,0.1311412751674652 +00:30:38.640000,00:30:41.610000,"Я выйду из кабинета, сделаю себе Нескафе.",0.9627368450164795 +00:30:59.330000,00:31:01.330000,"Я просто переживаю за тебя, вот и всё.",0.9569885730743408 +00:31:01.380000,00:31:03.420000,Как мать-гусыня.,0.1122366413474083 +00:31:03.460000,00:31:07.170000,"Поверь, отмыть деньги сейчас не так просто как раньше.",0.8765240907669067 +00:31:07.210000,00:31:08.760000,"Боже, как же я тоскую по 80-м.",0.21729207038879395 +00:31:08.800000,00:31:10.630000,Зря тратишь время.,0.137681782245636 +00:31:10.680000,00:31:13.220000,Я покупаю автомойку. Без вариантов.,0.10846078395843506 +00:31:13.260000,00:31:16.220000,"Раз взглянув на это место, ты в него влюбишься, так что ...",0.9820823669433594 +00:31:32.160000,00:31:34.620000,Ну? Разве я не прав?,0.09509377181529999 +00:31:34.660000,00:31:38.080000,"Где ты ещё найдёшь наличный бизнес, который еще и веселый?",0.9776201844215393 +00:31:38.120000,00:31:42.420000,"Если не брать во внимание массажные салоны, то я такого бизнеса не встречал.",0.9803198575973511 +00:31:42.460000,00:31:43.580000,Приступим?,0.1132236197590828 +00:31:50.420000,00:31:52.470000,Ты когда-нибудь играл в Лазерные боях?,0.13460496068000793 +00:31:53.890000,00:31:56.350000,Это хорошо для сердца. К тому же можно по детишкам пострелять.,0.9813698530197144 +00:32:06.360000,00:32:08.860000,"Там у нас электромашины, вон там.",0.17452989518642426 +00:32:08.900000,00:32:12.030000,Здесь у нас аркады. Все самые последние видеоигры.,0.883795440196991 +00:32:12.070000,00:32:13.740000,Закусочная там.,0.13107332587242126 +00:32:13.780000,00:32:16.030000,Ничего не мешает продавать пиво родителям.,0.45363152027130127 +00:32:16.080000,00:32:17.870000,Это совершенно новый способ дохода.,0.1001507043838501 +00:32:17.910000,00:32:19.410000,"Ладно, ладно, хватит.",0.11929284036159515 +00:32:19.450000,00:32:21.080000,Все в порядке.,0.12422323226928711 +00:32:22.710000,00:32:25.540000,"Боже ты мой. ""Все в порядке?""",0.17816011607646942 +00:32:25.580000,00:32:27.420000,У тебя на родине это так называется?,0.9009600281715393 +00:32:27.460000,00:32:29.300000,Мою тачку прослушивают.,0.10642175376415253 +00:32:29.340000,00:32:31.880000,- Я сказал - может ... может ... - За мной следят.,0.9797345995903015 +00:32:31.920000,00:32:33.970000,В какую хрень ты меня втянул?,0.9714862704277039 +00:32:34.010000,00:32:36.600000,Мой собственный частный детектив угрожает переломать мне ноги.,0.9233300685882568 +00:32:36.600000,00:32:41.180000,Словно Томас Магнум угрожает мелкому пидорастичному парнишке с усами.,0.2107212245464325 +00:32:41.230000,00:32:42.390000,Это уже перебор.,0.13507497310638428 +00:32:42.440000,00:32:44.690000,"В плане сервиса, это дикий перебор.",0.1915985643863678 +00:32:44.730000,00:32:46.610000,"Если мы оба это переживем, ...",0.36908480525016785 +00:32:46.650000,00:32:48.860000,... я очень тщательно пересмотрю стоимость своих услуг.,0.9760389924049377 +00:32:48.900000,00:32:51.860000,"Да. А для тебя они вырастут вдвое, Хип-Хоп.",0.9665735960006714 +00:32:53.200000,00:32:54.950000,Мой человек далеко не болван. Верно?,0.10743506997823715 +00:32:54.990000,00:32:57.240000,"У нас примерно сутки, ...",0.33293622732162476 +00:32:57.280000,00:32:59.410000,"... прежде чем он выяснит, что тот адрес ведёт в никуда.",0.979128360748291 +00:32:59.450000,00:33:02.120000,"Вы, ребятки, делайте свое дело. По-шустрому.",0.21739453077316284 +00:33:02.160000,00:33:05.250000,Я пока пойду посмотрю есть ли у них здесь тетрис.,0.979840099811554 +00:33:13.550000,00:33:15.340000,Как держишься?,0.09114711731672287 +00:33:18.680000,00:33:19.810000,А ты?,0.09790963679552078 +00:33:21.100000,00:33:22.850000,Я вернулся к работе.,0.10350549966096878 +00:33:22.890000,00:33:25.640000,"По крайней мере, пока они не убьют меня и Гейл не возьмет всё на себя.",0.9788830876350403 +00:33:26.650000,00:33:29.150000,"Он их щенок, значит?",0.12978699803352356 +00:33:29.150000,00:33:31.480000,"Да, он их щенок.",0.14141391217708588 +00:33:31.530000,00:33:33.240000,"Сколько, по-вашему, у вас времени?",0.11133373528718948 +00:33:35.150000,00:33:39.120000,"Ну, он задаёт много вопросов о процессе приготовления.",0.9747182130813599 +00:33:39.160000,00:33:41.160000,"Я стараюсь быть расплывчатым, насколько это возможно, ...",0.976326584815979 +00:33:41.200000,00:33:45.290000,"... но с меня не сводит глаз тот парень, Виктор, ловит каждое моё слово.",0.981968104839325 +00:33:47.170000,00:33:51.710000,Возможно меня спасает лишь дотошность Гейла.,0.15058733522891998 +00:33:51.750000,00:33:56.180000,"Как только он почувствует, что полностью усвоил мой метод ...",0.9800848364830017 +00:34:02.390000,00:34:03.720000,Так что будем делать?,0.08242066204547882 +00:34:08.190000,00:34:09.860000,Ты знаешь.,0.13822509348392487 +00:34:18.660000,00:34:20.660000,Должен быть другой способ.,0.0941881388425827 +00:34:23.200000,00:34:26.830000,Может тебе будет лучше пойти к копам.,0.9748253226280212 +00:34:26.870000,00:34:28.500000,Так ведь?,0.11155793815851212 +00:34:28.500000,00:34:34.380000,"Я сам не верю, что говорю это, но ради твоей семьи?",0.97967129945755 +00:34:34.420000,00:34:36.920000,УБН будут тебе рады.,0.668739914894104 +00:34:36.970000,00:34:38.630000,"За всё то говно, которое ты им расскажешь?",0.9773026704788208 +00:34:38.680000,00:34:41.680000,"Программа Защиты Свидетелей, это хороший вариант.",0.1490509808063507 +00:34:41.680000,00:34:43.850000,"А что до меня, то я ударюсь в бега, йо.",0.9811548590660095 +00:34:43.890000,00:34:46.100000,То есть ... я справлюсь.,0.13313177227973938 +00:34:48.560000,00:34:50.730000,Мы ... мы хорошо поработали.,0.8465262651443481 +00:34:52.900000,00:34:54.820000,Но всё кончено.,0.10522770136594772 +00:34:57.740000,00:34:59.240000,Никакого УБН.,0.1957620531320572 +00:35:02.240000,00:35:04.080000,Варка не должна прекращаться.,0.1022413969039917 +00:35:04.120000,00:35:06.040000,"Это единственное, в чем я уверен.",0.12531137466430664 +00:35:06.080000,00:35:08.830000,Производство не должно останавливаться.,0.10521192848682404 +00:35:08.870000,00:35:10.290000,Гас этого не допустит.,0.14366760849952698 +00:35:11.710000,00:35:18.420000,"Так что, если я единственный его химик, ... то у меня преимущество.",0.9802297353744507 +00:35:18.420000,00:35:20.050000,А преимущество сохранит мне жизнь.,0.2045781910419464 +00:35:20.090000,00:35:22.390000,И сохранит жизнь тебе тоже. Думаю я могу об этом позаботиться.,0.9822466969490051 +00:35:24.850000,00:35:27.810000,"Но только, если единственным его химиком буду я.",0.7904734015464783 +00:35:36.730000,00:35:41.240000,"Я ... не смогу, Мистер Уайт.",0.7377588152885437 +00:35:43.700000,00:35:46.870000,"Как ты и говорил, я ...",0.611902117729187 +00:35:46.910000,00:35:48.290000,Я не ...,0.1545836180448532 +00:35:50.460000,00:35:51.750000,Я не могу.,0.10377288609743118 +00:35:58.460000,00:35:59.550000,Я сделаю это.,0.10913287103176117 +00:36:02.640000,00:36:06.510000,Мне ... понадобится твоя помощь.,0.16142500936985016 +00:36:06.560000,00:36:09.020000,Они наблюдают за мной круглосуточно.,0.14533112943172455 +00:36:09.060000,00:36:11.480000,Ни на минуту не оставляют меня наедине с Гейлом.,0.9719973206520081 +00:36:11.480000,00:36:13.940000,Я даже не знаю где он живёт.,0.7024011611938477 +00:36:15.650000,00:36:16.820000,Его нет в телефонном справочнике.,0.10650984942913055 +00:36:16.820000,00:36:18.110000,Я не могу найти его в Интернете.,0.645940899848938 +00:36:18.150000,00:36:20.400000,Я не могу сделать это в лаборатории.,0.9436018466949463 +00:36:20.440000,00:36:21.950000,Там всегда Виктор.,0.1553102433681488 +00:36:24.780000,00:36:27.200000,Но если бы я мог ...,0.1597062647342682 +00:36:27.240000,00:36:30,"... отвлечь Виктора ночью хотя бы на час, ...",0.9709946513175964 +00:36:30,00:36:33,"Думаю, тогда ...",0.1559034287929535 +00:36:33.040000,00:36:35.330000,Я смог бы ...,0.14431242644786835 +00:36:38.420000,00:36:40.710000,... представить все как несчастный случай.,0.14658959209918976 +00:36:43.470000,00:36:45.640000,Должен же быть другой способ.,0.09872203320264816 +00:36:47.430000,00:36:48.600000,Я весь во внимании.,0.11998563259840012 +00:36:49.850000,00:36:52.890000,"Но когда все сводится к выбору ""Либо он, либо мы"" ...",0.9776200652122498 +00:36:52.940000,00:36:54.480000,Мне жаль.,0.1505553126335144 +00:36:54.480000,00:36:56.360000,"Мне искренне жаль, ...",0.4123902916908264 +00:36:57.900000,00:36:59.570000,... но это будет он.,0.18412083387374878 +00:37:01.490000,00:37:05.610000,"А ты единственное моё преимущество, ...",0.967070996761322 +00:37:05.660000,00:37:08.120000,"... хотя бы до тех пор, пока они не узнают что ты в городе.",0.9815844297409058 +00:37:08.160000,00:37:10.040000,Нужно выяснить где он живет.,0.13064882159233093 +00:37:10.040000,00:37:13.620000,"Достань мне его адрес, а я сделаю остальное.",0.9760538339614868 +00:37:20.590000,00:37:23.970000,"Я спас тебе жизнь, Джесси.",0.16313013434410095 +00:37:29.430000,00:37:31.430000,Спасешь ли ты мою?,0.10793181508779526 +00:38:44.300000,00:38:45.670000,ДА.,0.13759218156337738 +00:38:45.710000,00:38:47.630000,"Пожалуйста скажи, что ты его нашел.",0.9579773545265198 +00:38:47.670000,00:38:52.220000,"Бульвар Хуан Табо 6353, квартира 6.",0.1606760174036026 +00:38:56.270000,00:38:57.390000,Слышишь?,0.08912590891122818 +00:38:57.430000,00:38:59.560000,Да.,0.15606491267681122 +00:38:59.600000,00:39:02.690000,"Бульвар Хуан Табо 6353, квартира 6. Понятно.",0.4263152480125427 +00:39:06.280000,00:39:07.860000,Он дома?,0.10786952078342438 +00:39:07.900000,00:39:09.280000,Ага.,0.10913112759590149 +00:39:09.320000,00:39:12.200000,Кто-нибудь присматривает за домом?,0.10270602256059647 +00:39:12.240000,00:39:15.040000,Нет. Похоже все чисто.,0.12695738673210144 +00:39:16.500000,00:39:17.700000,Когда ты это сделаешь?,0.09294568747282028 +00:39:22.500000,00:39:24.340000,Сегодня.,0.1419023722410202 +00:39:24.380000,00:39:25.920000,Как только стемнеет.,0.10642697662115097 +00:39:29.800000,00:39:33.050000,"Не делай этого, Мистер Уайт.",0.0995575487613678 +00:39:33.050000,00:39:35.100000,Прошу.,0.10969878733158112 +00:39:35.100000,00:39:36.600000,Иди к копам.,0.09849974513053894 +00:40:09.170000,00:40:10.380000,Возникла проблема.,0.13603103160858154 +00:40:10.420000,00:40:13.260000,У тебя в лаборатории протекает какой-то химикат.,0.9556143283843994 +00:40:13.300000,00:40:15.140000,Тебе придётся поехать со мной.,0.13246595859527588 +00:40:18.810000,00:40:20.680000,Я ... поеду за тобой.,0.14789581298828125 +00:40:20.730000,00:40:22.390000,"Мне сказали тебя привезти, что я и сделаю.",0.981369137763977 +00:40:22.440000,00:40:24.020000,"Давай, садись в машину.",0.10709040611982346 +00:41:31.050000,00:41:33.050000,"Не знаю, бак ли протёк или ещё что, ...",0.9790847301483154 +00:41:33.050000,00:41:35.510000,... но у тебя там просто ужасно воняет.,0.9736617207527161 +00:41:40.260000,00:41:42.140000,После вас.,0.12172161787748337 +00:41:44.310000,00:41:46.980000,"Уолтер, чем быстрее ты выяснишь в чем дело, ...",0.9824161529541016 +00:41:47.020000,00:41:48.770000,... тем быстрее мы все разойдёмся по домам.,0.9787085652351379 +00:41:54.110000,00:41:55.450000,"Пожалуйста, не делай это.",0.10299180448055267 +00:41:56.740000,00:42:00.330000,"Майк, ... ты не должен этого делать.",0.9791064262390137 +00:42:02.580000,00:42:05.750000,"Нет. К сожалению, должен, Уолтер.",0.14345498383045197 +00:42:05.790000,00:42:07.580000,Спускайся.,0.14749988913536072 +00:42:07.620000,00:42:10,Я буду готовить ... Буду готовить бесплатно.,0.9728537797927856 +00:42:10.040000,00:42:11.380000,И больше не будет никаких проблем.,0.11452143639326096 +00:42:11.380000,00:42:12.380000,Я обещаю.,0.11817817389965057 +00:42:12.420000,00:42:15.630000,"Мне нужно поговорить с Гасом, я знаю, что смогу заставить его понять.",0.9814702868461609 +00:42:15.670000,00:42:17.220000,- Мне нужно поговорить с Гасом ... - Нет. Уолтер?,0.9818260669708252 +00:42:17.220000,00:42:18.510000,... Я могу его уговорить. Сойдет?,0.1293773353099823 +00:42:18.550000,00:42:20.180000,"Позволь мне, пожалуйста ... Прошу.",0.32693320512771606 +00:42:20.220000,00:42:22.180000,"- Прошу, дай мне с ним поговорить! - Заткнись!",0.9780600666999817 +00:42:22.220000,00:42:23.350000,Замолчи.,0.16619104146957397 +00:42:25.480000,00:42:27.560000,Я не могу.,0.10377288609743118 +00:42:27.600000,00:42:29.100000,Мне жаль.,0.1505553126335144 +00:42:32.480000,00:42:34.400000,Я дам тебе Джесси Пинкмана.,0.14863689243793488 +00:42:34.400000,00:42:37.110000,"Договорились? Ты сам говорил, что проблема - он.",0.9489206075668335 +00:42:37.150000,00:42:39.740000,"Он всегда был проблемой. Без него, мы могли бы ...",0.977891206741333 +00:42:39.780000,00:42:42.240000,"И он ... он в городе, понятно?",0.9573227763175964 +00:42:42.240000,00:42:44.950000,"Он не в Вирджинии, или где вы там его ищите.",0.9781624674797058 +00:42:45,00:42:48.420000,"Он здесь в Альбукерке, я могу тебя к нему привести.",0.9818537831306458 +00:42:48.460000,00:42:50.420000,Я приведу тебя прямо к нему.,0.15860722959041595 +00:42:54.300000,00:42:55.800000,- Что скажешь? - Где он?,0.9595171213150024 +00:42:55.800000,00:42:57.300000,Сейчас же дай мне его адрес.,0.1332148015499115 +00:42:57.340000,00:42:59.260000,У .. меня нет... Он не сидит на месте.,0.9778099656105042 +00:42:59.260000,00:43:01.640000,"Он переезжает с места на место, но если дашь мне ему позвонить ...",0.9820167422294617 +00:43:01.680000,00:43:02.970000,"Нет, нет, прошу.",0.09559141099452972 +00:43:03.010000,00:43:04.850000,"Нет, ... это просто телефон.",0.17949248850345612 +00:43:04.890000,00:43:07.310000,Просто ... мой мобильник.,0.1609349250793457 +00:43:07.350000,00:43:09.850000,"Я позвоню и скажу, что нужно встретиться.",0.8851085901260376 +00:43:09.900000,00:43:11.440000,Хорошо? Пойдёт?,0.10571745038032532 +00:43:12.520000,00:43:13.520000,Видишь?,0.10809449851512909 +00:43:53.810000,00:43:54.820000,Ты сделал это?,0.09322573989629745 +00:43:57.110000,00:43:58.530000,Мистер Уайт?,0.07900097966194153 +00:43:59.990000,00:44:01.280000,Ты это сделал?,0.09380163997411728 +00:44:02.660000,00:44:04.280000,"Нет, не сделал.",0.09865908324718475 +00:44:04.320000,00:44:06.410000,Я сейчас не могу.,0.09371224790811539 +00:44:08.200000,00:44:09.410000,Придется тебе.,0.11775252968072891 +00:44:09.450000,00:44:11.830000,"Что? Ни за что, чувак.",0.12063431739807129 +00:44:11.870000,00:44:14.080000,"Слушай меня. Ты ближе, чем мы.",0.17278103530406952 +00:44:14.130000,00:44:15.710000,У тебя примерно 20 минут.,0.106660395860672 +00:44:15.750000,00:44:17.800000,Они привезли меня в прачечную и собираются убить!,0.9779047966003418 +00:44:17.840000,00:44:20.220000,"Джесси, быстро! Сделай это, сделай скорее!",0.17833255231380463 +00:44:20.260000,00:44:21.680000,Сделай сейчас же! Джесси!,0.10100632905960083 +00:44:30.180000,00:44:34.560000,"- Что это, мать твою, сейчас было? - Тебе лучше не торопиться.",0.9802557229995728 +00:44:34.600000,00:44:37.270000,Да? Почему же?,0.09555212408304214 +00:44:37.320000,00:44:40.240000,Потому что я понадоблюсь твоему боссу.,0.3086881637573242 +00:44:41.530000,00:44:46.280000,"Хуан Табо 6353, Квартира 6.",0.13608847558498383 +00:44:50.700000,00:44:51.710000,Ага.,0.16104787588119507 +00:45:38.210000,00:45:39.590000,Привет.,0.15296030044555664 +00:45:39.630000,00:45:40.670000,Чем могу помочь?,0.09417367726564407 +00:45:46.930000,00:45:48.850000,"Забирай все, что хочешь.",0.1332288682460785 +00:45:50.680000,00:45:53.180000,У меня есть деньги. У меня...,0.2144789695739746 +00:45:53.230000,00:45:55.270000,У меня много денег.,0.109671950340271 +00:45:56.940000,00:45:58.770000,У меня...,0.15435418486595154 +00:46:00.770000,00:46:01.860000,Ты...,0.18776391446590424 +00:46:05.860000,00:46:09.320000,"Пожалуйста, не делай этого.",0.10716096311807632 +00:46:10.990000,00:46:12.620000,Ты не...,0.15737862884998322 +00:46:15.500000,00:46:16.540000,Ты...,0.18776391446590424 +00:46:17.960000,00:46:19.920000,Ты не должен делать это.,0.7980870008468628 diff --git a/scoring/__init__.py b/scoring/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scoring/bert_ranker.py b/scoring/bert_ranker.py new file mode 100644 index 0000000..180cf27 --- /dev/null +++ b/scoring/bert_ranker.py @@ -0,0 +1,32 @@ +from transformers.models.bert import ( + BertTokenizer, + BertForSequenceClassification +) +import torch +from typing import List +import pandas as pd + + +class BERTImportanceRanker: + def __init__(self, model_name: str): + self.tokenizer = BertTokenizer.from_pretrained(model_name) + self.model = BertForSequenceClassification.from_pretrained( + model_name, num_labels=2) + self.model.eval() + + def score_texts(self, texts: List[str]) -> List[float]: + inputs = self.tokenizer( + texts, padding=True, + truncation=True, + return_tensors="pt", + max_length=64 + ) + with torch.no_grad(): + outputs = self.model(**inputs) + probs = torch.nn.functional.softmax(outputs.logits, dim=-1) + return probs[:, 1].tolist() + + def apply_to_dataframe(self, df: pd.DataFrame) -> pd.DataFrame: + scores = self.score_texts(df["text"].tolist()) + df["importance_score"] = scores + return df diff --git a/subtitles/__init__.py b/subtitles/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/subtitles/parser.py b/subtitles/parser.py new file mode 100644 index 0000000..f808893 --- /dev/null +++ b/subtitles/parser.py @@ -0,0 +1,18 @@ +import pysrt +import pandas as pd + + +def parse_srt_to_df(filepath: str, encoding: str = "cp1251") -> pd.DataFrame: + subs = pysrt.open(filepath, encoding=encoding) + rows = [] + + for sub in subs: + text = sub.text.replace('\n', ' ').strip() + if text: + rows.append({ + "start": sub.start.to_time(), + "end": sub.end.to_time(), + "text": text + }) + + return pd.DataFrame(rows) diff --git a/train.py b/train.py new file mode 100644 index 0000000..14732a2 --- /dev/null +++ b/train.py @@ -0,0 +1,89 @@ +from datasets import Dataset +from transformers.models.auto.tokenization_auto import AutoTokenizer +from transformers.models.auto.modeling_auto import AutoModelForSequenceClassification +from transformers.models.bert import BertTokenizer, BertForSequenceClassification +from transformers.trainer import Trainer +from transformers.training_args import TrainingArguments +from subtitles.parser import parse_srt_to_df +import torch +from sklearn.model_selection import train_test_split +import torch.nn.functional as F + +sentiment_model_name = "cointegrated/rubert-tiny-sentiment-balanced" +sentiment_tokenizer = AutoTokenizer.from_pretrained(sentiment_model_name) +sentiment_model = AutoModelForSequenceClassification.from_pretrained( + sentiment_model_name) + + +def is_important(text): + try: + inputs = sentiment_tokenizer( + text, return_tensors="pt", truncation=True, padding=True) + with torch.no_grad(): + logits = sentiment_model(**inputs).logits + probs = F.softmax(logits, dim=1) + label_id = torch.argmax(probs, dim=1).item() + labels = ["NEGATIVE", "NEUTRAL", "POSITIVE"] + label = labels[label_id] + except Exception: + return 0 + if label in ("NEGATIVE", "POSITIVE"): + return 1 + if len(text.split()) > 6: + return 1 + return 0 + + +def main(): + df = parse_srt_to_df("Breaking_Bad_RUS_2008_20210402033853.srt") + df["label"] = df["text"].astype(str).apply(is_important) + + train_texts, test_texts = train_test_split( + df, test_size=0.2, random_state=42) + + model_name = "bert-base-multilingual-cased" + tokenizer = BertTokenizer.from_pretrained(model_name) + + def tokenize_function(example): + return tokenizer(example["text"], padding="max_length", truncation=True, max_length=64) + + train_dataset = Dataset.from_pandas(train_texts[["text", "label"]]) + test_dataset = Dataset.from_pandas(test_texts[["text", "label"]]) + + train_dataset = train_dataset.map(tokenize_function, batched=True) + test_dataset = test_dataset.map(tokenize_function, batched=True) + + train_dataset = train_dataset.rename_column("label", "labels") + test_dataset = test_dataset.rename_column("label", "labels") + + train_dataset.set_format( + "torch", columns=["input_ids", "attention_mask", "labels"]) + test_dataset.set_format( + "torch", columns=["input_ids", "attention_mask", "labels"]) + + model = BertForSequenceClassification.from_pretrained( + model_name, num_labels=2) + + training_args = TrainingArguments( + output_dir="./bert_trained", + num_train_epochs=3, + per_device_train_batch_size=16, + save_strategy="no", + logging_dir="./logs", + logging_steps=10, + ) + + trainer = Trainer( + model=model, + args=training_args, + train_dataset=train_dataset, + eval_dataset=test_dataset, + ) + + trainer.train() + trainer.save_model("./bert_trained") + tokenizer.save_pretrained("./bert_trained") + + +if __name__ == "__main__": + main() diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29