auto-paper-list / web /papers.html
walston's picture
Deploy upload-to-HTML demo with runtime analytics
9ef19d7 verified
Raw
History Blame Contribute Delete
28.6 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Research Papers</title>
<style>
:root {
--ink: #202124;
--muted: #5f6368;
--line: #d8dadd;
--paper: #ffffff;
--soft: #f6f7f8;
--accent: #8c1d18;
--accent-2: #1f6f78;
--mark: #fff3bf;
}
* { box-sizing: border-box; }
body {
margin: 0;
color: var(--ink);
background: #f2f1ef;
font-family: Arial, Helvetica, sans-serif;
line-height: 1.45;
}
header {
background: var(--accent);
color: #fff;
border-bottom: 4px solid #5e120f;
}
.topbar {
max-width: 1180px;
margin: 0 auto;
padding: 18px 22px 16px;
display: grid;
grid-template-columns: 1fr auto;
gap: 16px;
align-items: end;
}
h1 {
margin: 0;
font-size: 25px;
letter-spacing: 0;
}
.meta {
margin-top: 4px;
color: #f1d6d4;
font-size: 13px;
}
.source-link {
color: #fff;
text-decoration: none;
border: 1px solid rgba(255,255,255,.45);
padding: 8px 10px;
border-radius: 4px;
font-size: 13px;
white-space: nowrap;
}
main {
max-width: 1180px;
margin: 0 auto;
padding: 18px 22px 34px;
}
.controls {
background: var(--paper);
border: 1px solid var(--line);
border-radius: 4px;
padding: 12px;
display: grid;
grid-template-columns: minmax(220px, 1fr) minmax(180px, 270px) 150px;
gap: 10px;
align-items: center;
position: sticky;
top: 0;
z-index: 2;
}
input, select {
width: 100%;
min-height: 38px;
border: 1px solid #bfc4ca;
border-radius: 4px;
padding: 8px 10px;
background: #fff;
color: var(--ink);
font-size: 14px;
}
.count {
color: var(--muted);
font-size: 14px;
text-align: right;
white-space: nowrap;
}
.papers {
margin-top: 14px;
display: grid;
gap: 12px;
}
article {
background: var(--paper);
border: 1px solid var(--line);
border-left: 5px solid var(--accent);
border-radius: 4px;
padding: 14px 16px 15px;
}
.title-row {
display: flex;
gap: 12px;
align-items: baseline;
justify-content: space-between;
}
h2 {
margin: 0;
font-size: 19px;
line-height: 1.28;
font-weight: 700;
letter-spacing: 0;
}
.authors {
margin-top: 8px;
color: #1f2933;
font-size: 14px;
}
.authors span {
color: var(--muted);
font-weight: 700;
}
.institutions {
margin-top: 8px;
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.tag {
border: 1px solid #c8d6d8;
background: #edf7f8;
color: #174f57;
padding: 3px 7px;
border-radius: 4px;
font-size: 12px;
}
details {
margin-top: 10px;
border-top: 1px solid #eceff1;
padding-top: 9px;
}
summary {
cursor: pointer;
color: var(--accent);
font-weight: 700;
font-size: 13px;
}
.abstract {
margin: 8px 0 0;
color: #33383d;
font-size: 14px;
}
.mini {
margin-top: 10px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
color: var(--muted);
font-size: 13px;
}
.mini strong {
color: #42474d;
}
mark {
background: var(--mark);
padding: 0 1px;
}
.empty {
background: var(--paper);
border: 1px solid var(--line);
padding: 26px;
border-radius: 4px;
color: var(--muted);
text-align: center;
}
@media (max-width: 780px) {
.topbar {
grid-template-columns: 1fr;
align-items: start;
}
.controls {
grid-template-columns: 1fr;
position: static;
}
.count { text-align: left; }
.title-row {
display: block;
}
.mini {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<header>
<div class="topbar">
<div>
<h1>Research Papers</h1>
<div class="meta">8 papers parsed from first-page PDFs</div>
</div>
<a class="source-link" href="../data/papers_parsed.csv">CSV</a>
</div>
</header>
<main>
<section class="controls" aria-label="Paper filters">
<input id="search" type="search" placeholder="Search title, author, affiliation, abstract">
<select id="institution"><option value="">All institutions</option></select>
<select id="sort">
<option value="title">Title</option>
<option value="authors">Authors</option>
<option value="institution">Institution</option>
</select>
<div id="count" class="count"></div>
</section>
<section id="papers" class="papers"></section>
</main>
<script>
const PAPERS = [{"filename": "103 leveraging ASR and LLMs for automated scoring and feedback in children's spoken language assessments.pdf", "title": "Leveraging ASR and LLMs for Automated Scoring and Feedback in Children’s Spoken Language Assessments", "authors": "Natarajan Balaji Shankar; Kaiyuan Zhang; Andre Mai; Mohan Shi; Alaria Long; Julie Washington; Robin Morris; Abeer Alwan", "affiliations": "Natarajan Balaji Shankar -> Dept of Electrical and Computer Engineering, University of California Los Angeles, USA; Kaiyuan Zhang -> Dept of Electrical and Computer Engineering, University of California Los Angeles, USA; Andre Mai -> Dept of Electrical and Computer Engineering, University of California Los Angeles, USA; Mohan Shi -> Dept of Electrical and Computer Engineering, University of California Los Angeles, USA; Alaria Long -> School of Education, University of California Irvine, USA; Julie Washington -> School of Education, University of California Irvine, USA; Robin Morris -> Dept of Psychology, Georgia State University, USA; Abeer Alwan -> Dept of Electrical and Computer Engineering, University of California Los Angeles, USA", "institution_set": "Dept of Electrical and Computer Engineering, University of California Los Angeles, USA; School of Education, University of California Irvine, USA; Dept of Psychology, Georgia State University, USA", "abstract": "This paper explores the use of automatic speech recognition (ASR) and large language models (LLMs) for automated scoring and feedback generation in spoken language assessment. We design a three stage pipeline that (1) optimizes ASR hypotheses from student speech, (2) performs task-based scoring using LLMs, and (3) generates natural language feedback justifying each score. We evaluate this pipeline using audio responses from 3rd-8th grade students in the Atlanta, Georgia area, recorded as part of the Test of Narrative Language. Our results show that LLMs can reliably replicate expert annotations while providing interpretable feedback. We further analyze model performance across demographic factors, including dialect and reading proficiency, to assess equity. Our findings demonstrate the promise of ASR and LLMs for robust, explainable, and fair assessment of children’s spoken narratives.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "This paper explores the use of automatic speech recognition (ASR) and large language models (LLMs) for automated scoring and feedback generation in spoken language assessment.", "how_solved": "We design a three stage pipeline that (1) optimizes ASR hypotheses from student speech, (2) performs task-based scoring using LLMs, and (3) generates natural language feedback justifying each score.", "authors_list": ["Natarajan Balaji Shankar", "Kaiyuan Zhang", "Andre Mai", "Mohan Shi", "Alaria Long", "Julie Washington", "Robin Morris", "Abeer Alwan"], "institutions_list": ["Dept of Electrical and Computer Engineering, University of California Los Angeles, USA", "School of Education, University of California Irvine, USA", "Dept of Psychology, Georgia State University, USA"]}, {"filename": "115 exploring the potential of large multimodal models as effective alternatives.pdf", "title": "Exploring the Potential of Large Multimodal Models as Effec tive Alternatives for Pronunciation Assessment", "authors": "Ke Wang; Lei He; Kun Liu; Yan Deng; Wenning Wei; Sheng Zhao", "affiliations": "Ke Wang -> Microsoft, Beijing, China; Lei He -> Microsoft, Beijing, China; Kun Liu -> Microsoft, Beijing, China; Yan Deng -> Microsoft, Beijing, China; Wenning Wei -> Microsoft, Beijing, China; Sheng Zhao -> Microsoft, Beijing, China", "institution_set": "Microsoft, Beijing, China", "abstract": "Large Multimodal Models (LMMs) have demonstrated exceptional performance across a wide range of domains. This paper explores their potential in pronunciation assessment tasks, with a particular focus on evaluating the capabilities of the Generative Pre-trained Transformer (GPT) model, specifically GPT4o. Our study investigates its ability to process speech and audio for pronunciation assessment across multiple levels of granularity and dimensions, with an emphasis on feedback genera - tion and scoring. For our experiments, we use the publicly available Speechocean762 dataset. The evaluation focuses on two key aspects: multi-level scoring and the practicality of th e generated feedback. Scoring results are compared against the m anual scores provided in the Speechocean762 dataset, while fe edback quality is assessed using Large Language Models (LLMs) . The findings highlight the effectiveness of integrating LMM s with traditional methods for pronunciation assessment, of fering insights into the model’s strengths and identifying areas f or further improvement.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "Large Multimodal Models (LMMs) have demonstrated exceptional performance across a wide range of domains.", "how_solved": "This paper explores their potential in pronunciation assessment tasks, with a particular focus on evaluating the capabilities of the Generative Pre-trained Transformer (GPT) model, specifically GPT4o.", "authors_list": ["Ke Wang", "Lei He", "Kun Liu", "Yan Deng", "Wenning Wei", "Sheng Zhao"], "institutions_list": ["Microsoft, Beijing, China"]}, {"filename": "116 fine-tuning large multimodal models for automatic pronunciation assessment.pdf", "title": "FINE-TUNING LARGE MULTIMODAL MODELS FOR AUTOMA TIC PRONUNCIA TION ASSESSMENT", "authors": "Ke Wang; Wenning Wei; Yan Deng; Lei He; Sheng Zhao", "affiliations": "Ke Wang -> Microsoft, Beijing, China; Wenning Wei -> Microsoft, Beijing, China; Yan Deng -> Microsoft, Beijing, China; Lei He -> Microsoft, Beijing, China; Sheng Zhao -> Microsoft, Beijing, China", "institution_set": "Microsoft, Beijing, China", "abstract": "Automatic Pronunciation Assessment (APA) is critical for Computer-Assisted Language Learning (CALL), requiring evaluation across multiple granularities and aspects. Large Multimodal Models (LMMs) present new opportunities for APA, but their effectiveness in fine-grained assessment remains uncertain. This work investigates fine-tuning LMMs for APA using the Speechocean762 dataset and a private corpus. Fine-tuning significantly outperforms zero-shot settings and achieves competitive results on single-granularity tasks compared to public and commercial systems. The model performs well at word and sentence levels, while phoneme-level assessment remains challenging. We also observe that the Pearson Correlation Coefficient (PCC) reaches 0.9, whereas Spearman’s rank Correlation Coefficient (SCC) remains around 0.6, suggesting that SCC better reflects ordinal consistency. These findings highlight both the promise and limitations of LMMs for APA and point to future work on fine-grained modeling and rank-aware evaluation.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "The model performs well at word and sentence levels, while phoneme-level assessment remains challenging.", "how_solved": "Large Multimodal Models (LMMs) present new opportunities for APA, but their effectiveness in fine-grained assessment remains uncertain.", "authors_list": ["Ke Wang", "Wenning Wei", "Yan Deng", "Lei He", "Sheng Zhao"], "institutions_list": ["Microsoft, Beijing, China"]}, {"filename": "124 prompting large language models with mispronunciation detection and diagnosis abilities.pdf", "title": "Prompting Large Language Models with Mispronunciation Detection and Diagnosis Abilities", "authors": "Minglin Wu; Jing Xu; Xixin Wu; Helen Meng", "affiliations": "Minglin Wu -> Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China, Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China; Jing Xu -> Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China, Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China; Xixin Wu -> Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China, Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China; Helen Meng -> Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China, Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China", "institution_set": "Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China; Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China", "abstract": "Large Language Models (LLMs) have demonstrated significant achievements across diverse modalities. In this paper, we propose ATP-LLM, a framework that utilizes Audio and Text to Prompt LLMs to perform mispronunciation detection and diagnosis (MDD) tasks in second language (L2) English. ATP-LLM consists of an audio encoder and an LLM decoder. The audio encoder converts L2 English speech into speech representations digestible for LLMs. These speech representations, along with the corresponding canonical pronunciation, serve as audio and text prompts that enable the LLM decoder to generate the phones articulated by L2 English learners. Experiments show that our proposed ATP-LLM achieves a new state-of-the-art (SOTA) performance on the CU-CHLOE corpus with a Phone Error Rate (PER) of 8.56% and an F1 of 82.02%, outperforming the existing wav2vec2-CTC method whose PER and F1 are 8.98% and 80.93%, respectively.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "Large Language Models (LLMs) have demonstrated significant achievements across diverse modalities.", "how_solved": "In this paper, we propose ATP-LLM, a framework that utilizes Audio and Text to Prompt LLMs to perform mispronunciation detection and diagnosis (MDD) tasks in second language (L2) English.", "authors_list": ["Minglin Wu", "Jing Xu", "Xixin Wu", "Helen Meng"], "institutions_list": ["Department of System Engineering and Engineering Management, The Chinese University of Hong Kong, HKSAR, China", "Centre for Perceptual and Interactive Intelligence Limited, HKSAR, China"]}, {"filename": "149 leveraging large language models to refine automatic feedback generation at articulatory level in computer aided pronunciation training.pdf", "title": "Leveraging Large Language Models to Refine Automatic Feedback Generation at Articulatory Level in Computer Aided Pronunciation Training", "authors": "Huihang Zhong; Yanlu Xie; ZiJin Yao", "affiliations": "Huihang Zhong -> Beijing Language and Culture University, China; Yanlu Xie -> Beijing Language and Culture University, China; ZiJin Yao -> Beijing Language and Culture University, China", "institution_set": "Beijing Language and Culture University, China", "abstract": "This study explores the potential of leveraging Large Language Models (LLMs) to refine automatic feedback generation in Computer-Aided Pronunciation Training (CAPT). Specifically, it evaluates the impact of two factors on the effectiveness of automatically generated pronunciation feedbacks: (1) the use of mispronunciation detection at different fine-grained levels as prompts for GPT-4 models to generate automatic feedback, and (2) the fine-tuning of GPT-4 models using specific prompt-feedback pairs aimed at optimizing feedback generation. Feedback generated through each approach is rated by second language (L2) learners in terms of comprehensibility and helpfulness. The results highlight both the potential of using LLMs for automatic feedback generation and the effectiveness of articulatory level representations. Our accessible demonstrations invite further exploration.1", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "This study explores the potential of leveraging Large Language Models (LLMs) to refine automatic feedback generation in Computer-Aided Pronunciation Training (CAPT).", "how_solved": "Specifically, it evaluates the impact of two factors on the effectiveness of automatically generated pronunciation feedbacks: (1) the use of mispronunciation detection at different fine-grained levels as prompts for GPT-4 models to generate automatic feedback, and (2) the fine-tuning of GPT-4 models using specific prompt-feedback pairs aimed at optimizing feedback generation.", "authors_list": ["Huihang Zhong", "Yanlu Xie", "ZiJin Yao"], "institutions_list": ["Beijing Language and Culture University, China"]}, {"filename": "3 english pronunciation evaluation without complex joint training lora fine-tuned speech multimodal llm.pdf", "title": "English Pronunciation Evaluation without Complex Joint Training: LoRA Fine-tuned Speech Multimodal LLM", "authors": "Taekyung Ahn; Hosung Nam", "affiliations": "Taekyung Ahn -> Enuma, Inc.1, Korea University2; Hosung Nam -> Enuma, Inc.1, Korea University2", "institution_set": "Enuma, Inc.1, Korea University2", "abstract": "This study demonstrates that a Multimodal Large Language Model (MLLM) adapted via Low-Rank Adaptation (LoRA) can perform both Automatic Pronunciation Assessment (APA) and Mispronunciation Detection and Diagnosis (MDD) simultaneously. Leveraging Microsoft’s Phi-4-multimodal-instruct, our fine-tuning method eliminates the need for complex architectural changes or separate training procedures conventionally required for these distinct tasks. Fine-tuned on the Speechocean762 dataset, the pronunciation evaluation scores predicted by the model exhibited a strong Pearson Correlation Coefficient (PCC > 0.7) with human-assigned scores, while achieving low Word Error Rate (WER) and Phoneme Error Rate (PER) (both < 0.15). Notably, fine-tuning only the LoRA layers was sufficient to achieve performance levels comparable to those achieved by fine-tuning all audio layers. This research highlights that an integrated pronunciation assessment system can be established by adapting large multimodal models without full fine-tuning, utilizing a significantly simpler training methodology compared to previous joint models designed for simultaneous APA and MDD. This efficient LoRA-based approach paves the way for more accessible, integrated, and effective Computer-Assisted Pronunciation Training (CAPT) technologies for English L2 learners.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "Leveraging Microsoft’s Phi-4-multimodal-instruct, our fine-tuning method eliminates the need for complex architectural changes or separate training procedures conventionally required for these distinct tasks.", "how_solved": "Fine-tuned on the Speechocean762 dataset, the pronunciation evaluation scores predicted by the model exhibited a strong Pearson Correlation Coefficient (PCC > 0.7) with human-assigned scores, while achieving low Word Error Rate (WER) and Phoneme Error Rate (PER) (both < 0.15).", "authors_list": ["Taekyung Ahn", "Hosung Nam"], "institutions_list": ["Enuma, Inc.1, Korea University2"]}, {"filename": "35 pronunciation assessment with multi-modal large language models.pdf", "title": "PRONUNCIA TION ASSESSMENT WITH MULTI-MODAL LARGE LANGUAGE MODELS", "authors": "Kaiqi Fu; Linkai Peng; Nan Yang; Shuran Zhou", "affiliations": "Kaiqi Fu -> Zuoyebang AI Research; Linkai Peng -> University of Connecticut; Nan Yang -> Zuoyebang AI Research; Shuran Zhou -> Zuoyebang AI Research", "institution_set": "Zuoyebang AI Research; University of Connecticut", "abstract": "Large language models (LLMs), renowned for their powerful conversational abilities, are widely recognized as exceptional tools in the field of education, particularly in the context of automated intelligent instruction systems for language learning. In this paper, we propose a scoring system based on LLMs, motivated by their positive impact on text-related scoring tasks. Specifically, the speech encoder first maps the learner’s speech into contextual features. The adapter layer then transforms these features to align with the text embedding in latent space. The assessment task-specific prefix and prompt text are embedded and concatenated with the features generated by the modality adapter layer, enabling the LLMs to predict accuracy and fluency scores. Our experiments demonstrate that the proposed scoring systems achieve competitive results compared to the baselines on the Speechocean762 datasets. Moreover, we also conducted an ablation study to better understand the contributions of the prompt text and training strategy in the proposed scoring system.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "Large language models (LLMs), renowned for their powerful conversational abilities, are widely recognized as exceptional tools in the field of education, particularly in the context of automated intelligent instruction systems for language learning.", "how_solved": "In this paper, we propose a scoring system based on LLMs, motivated by their positive impact on text-related scoring tasks.", "authors_list": ["Kaiqi Fu", "Linkai Peng", "Nan Yang", "Shuran Zhou"], "institutions_list": ["Zuoyebang AI Research", "University of Connecticut"]}, {"filename": "78 assessment of l2 oral proficiency using speech large language models.pdf", "title": "", "authors": "Assessment of L; Mengjie Qian; Siyuan Tang; Stefano Bann`o; Kate M. Knill; Mark J.F . Gales", "affiliations": "Assessment of L -> N/A; Mengjie Qian -> N/A; Siyuan Tang -> N/A; Stefano Bann`o -> N/A; Kate M. Knill -> N/A; Mark J.F . Gales -> N/A", "institution_set": "ALTA Institute, Department of Engineering, University of Cambridge, UK", "abstract": "The growing population of L2 English speakers has increased the demand for developing automatic graders for spoken language assessment (SLA). Historically, statistical models, text encoders, and self-supervised speech models have been utilised for this task. However, cascaded systems suffer from the loss of information, while E2E graders also have limitations. With the recent advancements of multi-modal large language models (LLMs), we aim to explore their potential as L2 oral proficiency graders and overcome these issues. In this work, we compare various training strategies using regression and classification targets. Our results show that speech LLMs outperform all previous competitive baselines, achieving superior performance on two datasets. Furthermore, the trained grader demonstrates strong generalisation capabilities in the cross-part or cross-task evaluation, facilitated by the audio understanding knowledge acquired during LLM pre-training.", "pattern": "arbitrary_first_page", "parse_status": "success", "problem_solved": "However, cascaded systems suffer from the loss of information, while E2E graders also have limitations.", "how_solved": "Historically, statistical models, text encoders, and self-supervised speech models have been utilised for this task.", "authors_list": ["Assessment of L", "Mengjie Qian", "Siyuan Tang", "Stefano Bann`o", "Kate M. Knill", "Mark J.F . Gales"], "institutions_list": ["ALTA Institute, Department of Engineering, University of Cambridge, UK"]}];
const state = {
q: "",
institution: "",
sort: "title"
};
const search = document.querySelector("#search");
const institution = document.querySelector("#institution");
const sort = document.querySelector("#sort");
const papers = document.querySelector("#papers");
const count = document.querySelector("#count");
function escapeHtml(value) {
return String(value || "").replace(/[&<>"']/g, ch => ({
"&": "&amp;",
"<": "&lt;",
">": "&gt;",
'"': "&quot;",
"'": "&#39;"
}[ch]));
}
function highlight(value) {
const text = escapeHtml(value || "");
if (!state.q) return text;
const terms = state.q.split(/\s+/).filter(Boolean).slice(0, 5);
let out = text;
for (const term of terms) {
const safe = term.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
out = out.replace(new RegExp(`(${safe})`, "ig"), "<mark>$1</mark>");
}
return out;
}
function paperText(row) {
return [
row.title,
row.authors,
row.affiliations,
row.institution_set,
row.abstract,
row.problem_solved,
row.how_solved
].join(" ").toLowerCase();
}
function populateInstitutions() {
const counts = new Map();
for (const row of PAPERS) {
for (const inst of row.institutions_list || []) {
counts.set(inst, (counts.get(inst) || 0) + 1);
}
}
const options = [...counts.entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]));
institution.insertAdjacentHTML("beforeend", options.map(([name, n]) =>
`<option value="${escapeHtml(name)}">${escapeHtml(name)} (${n})</option>`
).join(""));
}
function filteredRows() {
const q = state.q.toLowerCase();
const rows = PAPERS.filter(row => {
const matchesText = !q || paperText(row).includes(q);
const matchesInstitution = !state.institution || (row.institutions_list || []).includes(state.institution);
return matchesText && matchesInstitution;
});
rows.sort((a, b) => {
if (state.sort === "authors") return (a.authors || "").localeCompare(b.authors || "");
if (state.sort === "institution") return (a.institution_set || "").localeCompare(b.institution_set || "");
return (a.title || "").localeCompare(b.title || "");
});
return rows;
}
function render() {
const rows = filteredRows();
count.textContent = `${rows.length} / ${PAPERS.length} papers`;
if (!rows.length) {
papers.innerHTML = '<div class="empty">No matching papers</div>';
return;
}
papers.innerHTML = rows.map((row, idx) => {
const title = row.title || row.filename || "Untitled";
const institutions = (row.institutions_list || []).length
? row.institutions_list.map(inst => `<span class="tag">${highlight(inst)}</span>`).join("")
: '<span class="tag">N/A</span>';
const abstract = row.abstract || [row.problem_solved, row.how_solved].filter(Boolean).join(" ");
return `
<article>
<div class="title-row">
<h2>${highlight(title)}</h2>
</div>
<div class="authors"><span>Authors:</span> ${highlight(row.authors || "N/A")}</div>
<div class="institutions">${institutions}</div>
<details open>
<summary>Abstract</summary>
<p class="abstract">${highlight(abstract || "N/A")}</p>
</details>
<div class="mini">
<div><strong>Problem:</strong> ${highlight(row.problem_solved || "N/A")}</div>
<div><strong>Approach:</strong> ${highlight(row.how_solved || "N/A")}</div>
</div>
</article>
`;
}).join("");
}
search.addEventListener("input", event => {
state.q = event.target.value.trim();
render();
});
institution.addEventListener("change", event => {
state.institution = event.target.value;
render();
});
sort.addEventListener("change", event => {
state.sort = event.target.value;
render();
});
populateInstitutions();
render();
</script>
</body>
</html>