namespace App\Models;
+use Illuminate\Support\Facades\Storage;
+
class ChatLib {
public function addMessage($msg) {
unset($this->transitions[$key]);
}
}
- echo 'size: ', number_format(strlen(json_encode($this->transitions)), 0), PHP_EOL;
}
public function generate($limit = 100) {
return $generated;
}
+ public function saveAs($name) {
+ $data = [
+ 'size' => $this->size,
+ 'transitions' => $this->transitions,
+ ];
+ Storage::disk('chatlib')->put($name.'.json', json_encode($data));
+ }
+
+ public function loadFrom($name) {
+ $data = json_decode(Storage::disk('chatlib')->get($name.'.json'), true);
+ $this->size = $data['size'];
+ $this->transitions = $data['transitions'];
+ }
+
private function index($arr) {
$result = [];
$sum = 0;
}
private function tokenize($str) {
- return array_values(array_filter(preg_split('/\b/u', $str)));
+ return array_values(array_filter(preg_split('/\b/u', $str), function($token) {
+ if (empty($token)) return false;
+ if (preg_match('/cheer\d+/u', strtolower($token))) return false;
+ return true;
+ }));
}
private function generalize($tokens) {