From c888eb4f54fbb54f9984027f378d69186048acea Mon Sep 17 00:00:00 2001 From: Andrzej Stepien Date: Tue, 8 Aug 2023 16:52:17 +0200 Subject: [PATCH] rng tweaked --- .gitignore | 1 + package-lock.json | 32 +------------------------- package.json | 1 - src/data/database | Bin 35266560 -> 35266560 bytes src/data/scripts/deleteMisspelled.mjs | 2 +- src/getNewPrompt.mjs | 22 +++++++++--------- 6 files changed, 14 insertions(+), 44 deletions(-) diff --git a/.gitignore b/.gitignore index 281cb5e..a979668 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ prod/ src/data/unigram_freq.csv src/data/database src/data/database-backup-IPAs-added +auth.mjs diff --git a/package-lock.json b/package-lock.json index 890c6e5..c4425a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "promised-sqlite3": "^2.1.0" }, "devDependencies": { - "json-index": "^1.1.0", "knex": "^2.5.1", "spellchecker": "^3.7.1", "sqlite3": "^5.1.6" @@ -287,15 +286,6 @@ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -645,16 +635,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "optional": true }, - "node_modules/json-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/json-index/-/json-index-1.1.0.tgz", - "integrity": "sha512-+KRvg3D+HcQr3Ipiy5gk7U7EVrtFiTCwlRaXJs2aVZ5eScUBpnjZ/726xqQGcH5lI5M9YUQOCSSIJevDECwHbg==", - "dev": true, - "dependencies": { - "debug": "^2.2.0", - "q": "^1.4.1" - } - }, "node_modules/knex": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz", @@ -909,7 +889,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "devOptional": true + "optional": true }, "node_modules/nan": { "version": "2.17.0", @@ -1124,16 +1104,6 @@ "sqlite3": "^5" } }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", diff --git a/package.json b/package.json index ebe2303..d933452 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ "author": "Andrzej Stepien", "license": "GPL-3.0-or-later", "devDependencies": { - "json-index": "^1.1.0", "knex": "^2.5.1", "spellchecker": "^3.7.1", "sqlite3": "^5.1.6" diff --git a/src/data/database b/src/data/database index 4be6a8777d2a3e0e1ae39b164bdcc645dc57b669..08a7ca139314a949e7a69567d823aef8e4ac81e6 100644 GIT binary patch delta 1953 zcmWmD_q!JY0EO}Ae%t%DZlxjFLdeK0QpzrpjJ%|b=u(8V>mZd%_NL5?;*wGBt%#^( zX3t8f2oVWyKYZRl;5^S6U9q-!w5B#MDx21#b5YqCLQyD$N}+P75~_x3p?athYKB^& zcBm8ThI*km)DI0p!_X)+4ke*UXd0S@?Lza=BD4&x!uFwc*deqDJBFRY&S96ZYuGL9 z9`*=r!=7QUuy<$|_6hrj{X+Y&e>fl<7!C>@!olH?aA-Iz93GAc9Yd#ZWH>5x4o8PB zp=&rMbPL_XvEjIId^jPT7)}Z&haRD4I3=7KdWF+M?{IqP6V3={hO@%ip>H@RxX-!a zywES4ANq#@;ev2sxF}p428K(*rD0Gg4VQ(>!{9I^ToJAeL&H_!>TpdM7OoA$!-z04 zj0&T}m@qbs3*$q=b>aGOLzob53=_koFge^5ri7_sTDUn(54VI{!)@XAa7VZ^+!gK) z_k?@Hec}G_KzJ}b6lR2(;oeg>RCqc(6K01w;o0z9C=1Vr7sA}| zVt6UM99{|Y!u;@RC=V53L0A|Th1bICVR3jPycw2+x5C?DX;>DPhj+q?@NRf7ydORY zABK;@%J6acBzzh^3!jHC!k6Kz@OAhmd>g(CtHSEACVU^(h9AO@;is@JtPdN)&*7J_ zG5i{S3%`d=;g9fV*c|=}e}^sMpRhIj8~&R>(PWBLP$gAX6;)L=RaXtwR4vt39o1Dm z6|24)sG%CEu}aiLP1Q`>skvIHrCMowwbl-5qaC%AcGfQ1Rl8|-?V+~XQ+sJ|wbMS@ zSNo~G_SXSAPzR}l4%Q($REOzs9ifiuq$72dI_qe4QCA(KZtAXMb)1gZ2|7_H>16d# zPo1Ju)k~+Tw@z0douM;zmd;jRouh60pR4oKPv@(@2IvA^sEc&52I>-BszEB%Wx8C0 zHAGkFN)6Rjx?0z0n6A}ujnGJq(rAs*SdG(oMc3(i-Jl7&Q4=*ulXa7(XsV{^W=+>E zx>dL7cHN;nb(ikeJ-S!->3%(+2lbF<4BYISi>2W=wS$a}W>1jQq*_xwg^_iy{^T2LvLz{-qPDzs%2WPceFz9>OH-$5A>lv z(n@`-PxPri)93m^U+OD;t#9L;z!dTr3p`b8V{tA5k(+N3}9 zr#9;^{jDwfM_cu;{wtb5!TYPAN~)|Xs;X+Lt{SSTTB@x&s;hb`R(&;4Lp4(4!hA{! zGs`P2sajfIt)iqbt!VDXZlx$IP2`xg)&?+1nT8B2FZ8$8n3x|jH;fQc#I4T?+I)sj)Q|KIy30=am z;ka;oI3b)EP6}Pa$>EgHEp!h(LeFq&I4$%Fy~F9DPv{%Y2xo?~Lcef!=pWqYoN#U! z5Y7t&!};NYFeqFYE((Lg#bHReBwQMXhRed`VOSU*t_W9#tHOwIbr>102_<1vxHeoD zMu#!s`fx)S8xqEa@!`fWA>0%uhMU8ra7&mRri7{C)^J<6J=_uQ4Aa70VS2bb+!O8% z_l5hzjPO918D@pqVNRGE9t;nKhr_%uKP(6f!=ms=cr+{yOTyByEIbw-4^M49|xb!i(Xh@N!rcUJ0witKqfqdUzwe8QuzShc)4y@NRf7ydORY zABK;@$KjLkY4|LB9=-@)hOfff@OAhmd>g(C--jQ2eLz za9yD*b(KcwYK_!2D$yuitLrpcV|2Z4&{##|G+sAqf^O18-K340_Hf`4q z{h>d#Q-A4i{iA=2CQ$JHDyWRgs+`KJf-0(#DyxdBs+y{+hH9#oYO9Xws$O9Q#f3Sg vWmcCjDXp-wxG=S7TJ52|QrcnAyrTYPCzq@$E|~iNr$M2#WL3k$*uMV(PL2XO diff --git a/src/data/scripts/deleteMisspelled.mjs b/src/data/scripts/deleteMisspelled.mjs index 4209671..ce279ed 100644 --- a/src/data/scripts/deleteMisspelled.mjs +++ b/src/data/scripts/deleteMisspelled.mjs @@ -1,5 +1,5 @@ import {db, getWords} from './db.mjs' -import Spellchecker, { isMisspelled } from 'spellchecker' +import { isMisspelled } from 'spellchecker' diff --git a/src/getNewPrompt.mjs b/src/getNewPrompt.mjs index 72466a1..bfaf258 100644 --- a/src/getNewPrompt.mjs +++ b/src/getNewPrompt.mjs @@ -1,6 +1,6 @@ import { db } from "./db.mjs" -export default async function getNewPrompt({minCount = 200000, maxCount = 30000000, rarity}) { +export default async function getNewPrompt({ minCount = 200000, maxCount = 30000000, rarityBias }) { const badWords = await db('bad_words') .select('word') @@ -15,17 +15,17 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000 .andWhere('word', 'not in', badWords) .whereNotNull('pronunciation') .orderByRaw('count desc') - - const getBiasedRng = (min,max,bias,influence) => { - const random = Math.random() * (max - min) + min - const mix = Math.random() * influence - return random * (1-mix) + bias * mix - } + + const getBiasedRng = (min, max, bias, influence) => { + const random = Math.random() * (max - min) + min + const mix = Math.random() * influence + return random * (1 - mix) + bias * mix + } const randomEntry = (array) => { - const random = getBiasedRng(0,1,rarity,1) + const random = getBiasedRng(0, 1, rarity, 1) const mix = Math.random() - console.log("RANDOM: "+random) + console.log("RANDOM: " + random) return array[ parseInt( array.length * random @@ -34,12 +34,12 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000 } db.destroy() - return randomEntry(prompts).count + return randomEntry(prompts).word } -console.log(await getNewPrompt({rarity:1})) +console.log(await getNewPrompt({ rarityBias: 0.7 }))