feat: add text region

This commit is contained in:
2025-02-20 11:05:24 +01:00
parent c5bb047d08
commit f4974c4f26

View File

@@ -6,6 +6,8 @@
#import "@preview/lovelace:0.2.0": * #import "@preview/lovelace:0.2.0": *
#show: setup-lovelace #show: setup-lovelace
#set text(region: "GB")
// constants // constants
// colours from https://mk.bcgsc.ca/colorblind/palettes.mhtml // colours from https://mk.bcgsc.ca/colorblind/palettes.mhtml
#let colour_network = rgb("2271b2") #let colour_network = rgb("2271b2")
@@ -48,7 +50,7 @@
let (center, size) = fletcher.bounding-rect(nodes.map(node => node.real-pos)) let (center, size) = fletcher.bounding-rect(nodes.map(node => node.real-pos))
center.at(0) = center.at(0) - (clearance.at(3) - clearance.at(1)) center.at(0) = center.at(0) - (clearance.at(3) - clearance.at(1))
center.at(1) = center.at(1) - (clearance.at(2) - clearance.at(0)) center.at(1) = center.at(1) - (clearance.at(2) - clearance.at(0))
cetz.draw.content( cetz.draw.content(
center, center,
rect( rect(
@@ -69,7 +71,7 @@
cetz.canvas({ cetz.canvas({
import cetz.draw: * import cetz.draw: *
import cetz.plot import cetz.plot
let data = csv("csv/ml/" + str(id) + "-train.csv").map(item => (int(item.at(0)), float(item.at(1)), float(item.at(2)))) let data = csv("csv/ml/" + str(id) + "-train.csv").map(item => (int(item.at(0)), float(item.at(1)), float(item.at(2))))
let accuracy = data.map(item => (item.at(0), item.at(1))) let accuracy = data.map(item => (item.at(0), item.at(1)))
let loss = data.map(item => (item.at(0), item.at(2))) let loss = data.map(item => (item.at(0), item.at(2)))
@@ -591,7 +593,7 @@ There are five different sizes available for the #gls("whisper") model, shown in
cetz.canvas({ cetz.canvas({
import cetz.draw: * import cetz.draw: *
import cetz.plot import cetz.plot
plot.plot( plot.plot(
size: (6, 4), size: (6, 4),
axis-style: "scientific-auto", axis-style: "scientific-auto",
@@ -806,7 +808,7 @@ The average duration of interactions is shown in @fig-average-duration (data fro
#cetz.canvas({ #cetz.canvas({
import cetz.draw: * import cetz.draw: *
import cetz.plot import cetz.plot
let data = csv("csv/aggregate_average_duration.csv").map(item => { let data = csv("csv/aggregate_average_duration.csv").map(item => {
(float(item.at(0)), int(item.at(1))) (float(item.at(0)), int(item.at(1)))
}) })
@@ -838,7 +840,7 @@ The average duration of interactions is shown in @fig-average-duration (data fro
style: (stroke: 8pt + colour_analysis), style: (stroke: 8pt + colour_analysis),
label: "Avg. Speaking Duration", label: "Avg. Speaking Duration",
) )
for item in data_remaining { for item in data_remaining {
plot.add( plot.add(
((item.at(0), 0), (..item)), ((item.at(0), 0), (..item)),
@@ -873,7 +875,7 @@ In @fig-uptime we show the uptime of our system in hours from when it was set up
#cetz.canvas({ #cetz.canvas({
import cetz.draw: * import cetz.draw: *
import cetz.plot import cetz.plot
let data = csv("csv/uptime.csv").map(item => { let data = csv("csv/uptime.csv").map(item => {
let date = item.at(0) let date = item.at(0)
let date = datetime( let date = datetime(
@@ -890,7 +892,7 @@ In @fig-uptime we show the uptime of our system in hours from when it was set up
let data = data.map(item => { let data = data.map(item => {
((item.at(0) - first).hours(), item.at(1)) ((item.at(0) - first).hours(), item.at(1))
}) })
plot.plot( plot.plot(
size: (14, 1), size: (14, 1),
axis-style: "scientific-auto", axis-style: "scientific-auto",
@@ -907,7 +909,7 @@ In @fig-uptime we show the uptime of our system in hours from when it was set up
] <fig-uptime> ] <fig-uptime>
== Transcription Accuracy <transcription-accuracy> == Transcription Accuracy <transcription-accuracy>
Compared to the results by #pcite(<Radford:2022aa>) and #pcite(<Seagraves_2022>), our own results show an even higher transcription accuracy apart from errors in URLs, certain names and slight formatting differences. This is likely due to the audio coming from a synthetic voice in a controlled environment. Compared to the results by #pcite(<Radford:2022aa>) and #pcite(<Seagraves_2022>), our own results show an even higher transcription accuracy apart from errors in URLs, certain names and slight formatting differences. This is likely due to the audio coming from a synthetic voice in a controlled environment.
@tab-stt-accuracy shows the manually verified results for six randomly picked queries (see @sql-different-responses). We filtered out any invalid queries where Siri was waiting for the answer to a follow-up question or could not answer due to a network issue. @tab-stt-accuracy shows the manually verified results for six randomly picked queries (see @sql-different-responses). We filtered out any invalid queries where Siri was waiting for the answer to a follow-up question or could not answer due to a network issue.
#figure(caption: [#gls("whisper") speech recognition accuracy samples.])[#table( #figure(caption: [#gls("whisper") speech recognition accuracy samples.])[#table(
@@ -1077,9 +1079,9 @@ As a simple example in @fig-llm-varys, we used the popular GPT-4 model#footnote[
align(left, text(size: 0.9em)[ align(left, text(size: 0.9em)[
#quote(block(width: 75%)[ #quote(block(width: 75%)[
You serve as a user talking to a voice assistant, anything you say will be played back to a HomePod with Siri. You will receive replies from Siri to an initial query. Anything you answer will be said to the voice assistant, so do not add any information that should not be said out loud. The only exception is if you believe the interaction to be over, reply with exclusively [INTERACTION COMPLETE], including the square brackets. You serve as a user talking to a voice assistant, anything you say will be played back to a HomePod with Siri. You will receive replies from Siri to an initial query. Anything you answer will be said to the voice assistant, so do not add any information that should not be said out loud. The only exception is if you believe the interaction to be over, reply with exclusively [INTERACTION COMPLETE], including the square brackets.
It is imperative that you stay in the role of the user using Siri and do not switch to the role of the voice assistant. It is imperative that you stay in the role of the user using Siri and do not switch to the role of the voice assistant.
The first query to the voice assistant was "Hey Siri, add a new calendar entry" and the first reply was "Sure, for what?" The first query to the voice assistant was "Hey Siri, add a new calendar entry" and the first reply was "Sure, for what?"
], block: true, attribution: "varys") ], block: true, attribution: "varys")
#quote(block(width: 75%)[ #quote(block(width: 75%)[