]> git.localhorst.tv Git - alttp.git/blobdiff - app/Console/Commands/ChatlibDatabase.php
token classification test
[alttp.git] / app / Console / Commands / ChatlibDatabase.php
index 13c881a902a5589a8b31849c422dbf4259dbbf4a..b701ad144b3d0aed3abc26cb481813e4347b0b4e 100644 (file)
@@ -28,21 +28,37 @@ class ChatlibDatabase extends Command {
         * @return int
         */
        public function handle() {
-               $db = new ChatLib();
+               $count = 0;
 
-               ChatLog::where('banned', '=', false)
+               $de = new ChatLib();
+               $en = new ChatLib();
+
+               ChatLog::where('type', '=', 'chat')
+                       ->where('banned', '=', false)
                        ->whereNotNull('evaluated_at')
-                       ->chunk(500, function ($msgs) use ($db) {
+                       ->where('created_at', '<', now()->sub(7, 'day'))
+                       ->whereNotIn('classification', ['gg', 'gl', 'number', 'o7'])
+                       ->whereRaw('LENGTH(`text_content`) > 12')
+                       ->chunk(5000, function ($msgs) use (&$count, $de, $en) {
                                foreach ($msgs as $msg) {
-                                       $db->addMessage($msg);
+                                       if ($msg->detected_language === 'de') {
+                                               $de->addMessage($msg);
+                                       } else if ($msg->detected_language === 'en') {
+                                               $en->addMessage($msg);
+                                       } else if (is_null($msg->detected_language)) {
+                                               $de->addMessage($msg);
+                                               $en->addMessage($msg);
+                                       }
+                                       ++$count;
                                }
+                               $this->line($count);
                        });
 
-               $db->compile();
+               $de->compile();
+               $de->saveAs('de');
 
-               for ($i = 0; $i < 50; ++$i) {
-                       $this->line($db->generate());
-               }
+               $en->compile();
+               $en->saveAs('en');
 
                return 0;
        }