rng tweaked
This commit is contained in:
parent
25e617c6de
commit
c888eb4f54
|
@ -7,3 +7,4 @@ prod/
|
||||||
src/data/unigram_freq.csv
|
src/data/unigram_freq.csv
|
||||||
src/data/database
|
src/data/database
|
||||||
src/data/database-backup-IPAs-added
|
src/data/database-backup-IPAs-added
|
||||||
|
auth.mjs
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
"promised-sqlite3": "^2.1.0"
|
"promised-sqlite3": "^2.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"json-index": "^1.1.0",
|
|
||||||
"knex": "^2.5.1",
|
"knex": "^2.5.1",
|
||||||
"spellchecker": "^3.7.1",
|
"spellchecker": "^3.7.1",
|
||||||
"sqlite3": "^5.1.6"
|
"sqlite3": "^5.1.6"
|
||||||
|
@ -287,15 +286,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
|
||||||
"integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
|
"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": {
|
"node_modules/delegates": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||||
|
@ -645,16 +635,6 @@
|
||||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||||
"optional": true
|
"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": {
|
"node_modules/knex": {
|
||||||
"version": "2.5.1",
|
"version": "2.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/knex/-/knex-2.5.1.tgz",
|
||||||
|
@ -909,7 +889,7 @@
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||||
"devOptional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"node_modules/nan": {
|
"node_modules/nan": {
|
||||||
"version": "2.17.0",
|
"version": "2.17.0",
|
||||||
|
@ -1124,16 +1104,6 @@
|
||||||
"sqlite3": "^5"
|
"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": {
|
"node_modules/readable-stream": {
|
||||||
"version": "3.6.2",
|
"version": "3.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
"author": "Andrzej Stepien",
|
"author": "Andrzej Stepien",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"json-index": "^1.1.0",
|
|
||||||
"knex": "^2.5.1",
|
"knex": "^2.5.1",
|
||||||
"spellchecker": "^3.7.1",
|
"spellchecker": "^3.7.1",
|
||||||
"sqlite3": "^5.1.6"
|
"sqlite3": "^5.1.6"
|
||||||
|
|
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
import {db, getWords} from './db.mjs'
|
import {db, getWords} from './db.mjs'
|
||||||
import Spellchecker, { isMisspelled } from 'spellchecker'
|
import { isMisspelled } from 'spellchecker'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { db } from "./db.mjs"
|
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')
|
const badWords = await db('bad_words')
|
||||||
.select('word')
|
.select('word')
|
||||||
|
|
||||||
|
@ -16,16 +16,16 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000
|
||||||
.whereNotNull('pronunciation')
|
.whereNotNull('pronunciation')
|
||||||
.orderByRaw('count desc')
|
.orderByRaw('count desc')
|
||||||
|
|
||||||
const getBiasedRng = (min,max,bias,influence) => {
|
const getBiasedRng = (min, max, bias, influence) => {
|
||||||
const random = Math.random() * (max - min) + min
|
const random = Math.random() * (max - min) + min
|
||||||
const mix = Math.random() * influence
|
const mix = Math.random() * influence
|
||||||
return random * (1-mix) + bias * mix
|
return random * (1 - mix) + bias * mix
|
||||||
}
|
}
|
||||||
|
|
||||||
const randomEntry = (array) => {
|
const randomEntry = (array) => {
|
||||||
const random = getBiasedRng(0,1,rarity,1)
|
const random = getBiasedRng(0, 1, rarity, 1)
|
||||||
const mix = Math.random()
|
const mix = Math.random()
|
||||||
console.log("RANDOM: "+random)
|
console.log("RANDOM: " + random)
|
||||||
return array[
|
return array[
|
||||||
parseInt(
|
parseInt(
|
||||||
array.length * random
|
array.length * random
|
||||||
|
@ -34,12 +34,12 @@ export default async function getNewPrompt({minCount = 200000, maxCount = 300000
|
||||||
}
|
}
|
||||||
|
|
||||||
db.destroy()
|
db.destroy()
|
||||||
return randomEntry(prompts).count
|
return randomEntry(prompts).word
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
console.log(await getNewPrompt({rarity:1}))
|
console.log(await getNewPrompt({ rarityBias: 0.7 }))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue