Change readme to point to the website as well

This commit is contained in:
NunoSempere 2021-02-23 15:19:14 +01:00
parent e97ebed10a
commit 701a7630a5
3 changed files with 39 additions and 3 deletions

View File

@ -1,8 +1,8 @@
## What this is ## What this is
This is a set of libraries and a command line interface that fetches probabilities/forecasts from prediction markets and forecasting platforms. These forecasts are then hosted on airtable, and used to power a search engine for probabilities. This is a set of libraries and a command line interface that fetches probabilities/forecasts from prediction markets and forecasting platforms.
For now, a demo can be found [here](https://metaforecast.org/) (try searching "Trump", "China" or "Semiconductors"), and the database can be perused [here](https://airtable.com/shrUotmcMmmTdIjmX). I also have a json endpoint [here](https://metaforecast.org/data/metaforecasts.json) and a csv endpoint [here](https://metaforecast.org/data/metaforecasts.csv). These forecasts are then used to power a search engine for probabilities, which can be found [here](https://metaforecast.org/) (try searching "Trump", "China" or "Semiconductors") (source code [here](https://github.com/QURIresearch/metaforecast-website-nextjs)). A json endpoint can be found [here](https://metaforecast.org/data/metaforecasts.json).
I also created a search engine using Elicit's IDE, which uses GPT-3 to deliver vastly superior semantic search (as opposed to fuzzy word matching). If you have access to the Elicit IDE, you can use the action "Search Metaforecast database". I also created a search engine using Elicit's IDE, which uses GPT-3 to deliver vastly superior semantic search (as opposed to fuzzy word matching). If you have access to the Elicit IDE, you can use the action "Search Metaforecast database".

View File

@ -18,7 +18,7 @@ import {smarkets} from "./smarkets-fetch.js"
let opts = {} let opts = {}
let json2csvParser = new Parser({ transforms: [transforms.flatten()]}); let json2csvParser = new Parser({ transforms: [transforms.flatten()]});
//let parse = csv => json2csvParser.parse(csv); //let parse = csv => json2csvParser.parse(csv);
let sets = ["template", "elicit", "metaculus", "predictit", "polymarket", "csetforetell", "goodjudgment","goodjudmentopen", "omen", "hypermind", "smarkets"] let sets = ["template", "elicit", "metaculus", "predictit", "polymarket", "csetforetell", "givewellopenphil", "goodjudgment","goodjudmentopen", "omen", "hypermind", "smarkets"]
let suffix = "-questions" let suffix = "-questions"
let locationData = "./data/" let locationData = "./data/"
let sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); let sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));

View File

@ -0,0 +1,36 @@
/* Imports */
import fs from "fs"
/* Definitions */
let locationData = "./data/"
/* Body */
let rawdata = fs.readFileSync("../data/givewellopenphil-questions-processed-old-format.json")
let data = JSON.parse(rawdata)
let results = []
for(let datum of data){
let probability = Math.round(Number(datum["Percentage"].replace("%","")))/100
let result = ({
"title": datum["Title"],
"platform": datum["Platform"],
"description": datum["Description"],
"options": [
{
"name": "Yes",
"probability": probability,
"type": "PROBABILITY"
},
{
"name": "No",
"probability": 1-Math.round(probability*100)/100,
"type": "PROBABILITY"
}
],
"stars": datum["Stars"]
})
results.push(result)
}
let string = JSON.stringify(results,null, 2)
fs.writeFileSync("../data/givewellopenphil-questions.json", string)