Conversation
…rk numbers Use concrete criterion figures (42–47 MiB/s, F1 0.975) in feature copy and meta descriptions instead of an unsubstantiated comparison claim.
There was a problem hiding this comment.
Pull request overview
Updates kham-web marketing/SEO copy to replace a comparative performance claim with concrete benchmark figures (throughput + F1) and to align English/Thai messaging around segmentation performance.
Changes:
- Replaces the “outperforms PyThaiNLP newmm” feature claim with specific throughput (42–47 MiB/s on Apple M-series) and F1 (0.975) figures.
- Updates Benchmarks page meta descriptions (EN/TH) to include F1 and PyThaiNLP sentence-agreement figures.
- Updates i18n strings so the Thai feature highlight matches the English performance wording.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| kham-web/src/pages/index.astro | Updates the “Fast” feature body copy to use measured throughput + F1 figures. |
| kham-web/src/i18n/ui.ts | Updates EN/TH i18n “Fast” feature copy to the new measured-figures wording. |
| kham-web/src/pages/benchmarks.astro | Updates meta description to include F1 and sentence agreement vs PyThaiNLP newmm. |
| kham-web/src/pages/th/benchmarks.astro | Updates Thai meta description to include F1 and agreement vs PyThaiNLP newmm. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <Layout title="Benchmarks — kham" lang="en" | ||
| description="kham segmentation throughput, accuracy F1, and comparison with PyThaiNLP newmm. Measured on Apple M-series with Rust 1.85+."> | ||
| description="kham segmentation throughput and accuracy F1 (0.975, 94.9% sentence agreement with PyThaiNLP newmm). Measured on Apple M-series with Rust 1.85+."> |
There was a problem hiding this comment.
The meta description currently groups “F1 (0.975, 94.9% sentence agreement with PyThaiNLP newmm)” in a way that can read like both metrics are against PyThaiNLP. On this page, 0.975 is Micro F1 vs the CC0 gold corpus, while 94.9% is sentence agreement vs PyThaiNLP newmm—consider rephrasing to attribute each number explicitly.
Also, “Measured … with Rust 1.85+” sounds like the benchmark Rust version, but doc/benchmarks.md lists Rust 1.94.1 for the same benchmark set; consider either stating the exact measured version or clarifying that 1.85+ is the MSRV.
|
|
||
| <Layout title="ประสิทธิภาพ — kham" lang="th" | ||
| description="ตัวเลข throughput การตัดคำ, ความแม่นยำ F1 และการเปรียบเทียบกับ PyThaiNLP newmm ของ kham วัดบน Apple M-series"> | ||
| description="ตัวเลข throughput การตัดคำและความแม่นยำ F1 (0.975, ตรงกับ PyThaiNLP newmm 94.9%) ของ kham วัดบน Apple M-series"> |
There was a problem hiding this comment.
คำอธิบาย meta ตอนนี้เขียน “F1 (0.975, ตรงกับ PyThaiNLP newmm 94.9%)” ซึ่งอาจทำให้เข้าใจว่า 0.975 และ 94.9% เทียบกับ PyThaiNLP ทั้งคู่ ทั้งที่ในหน้า 0.975 คือ Micro F1 เทียบกับ CC0 gold corpus และ 94.9% คือ “ประโยคที่ตรงกัน” เทียบกับ PyThaiNLP newmm — แนะนำให้ปรับถ้อยคำให้ระบุให้ชัดว่าแต่ละตัวเลขอ้างอิงกับอะไร และใช้คำว่า “ความสอดคล้องระดับประโยค/ประโยคที่ตรงกัน 94.9%” ใน meta ด้วยเพื่อไม่ให้คลุมเครือ
| description="ตัวเลข throughput การตัดคำและความแม่นยำ F1 (0.975, ตรงกับ PyThaiNLP newmm 94.9%) ของ kham วัดบน Apple M-series"> | |
| description="ตัวเลข throughput การตัดคำและความแม่นยำของ kham: Micro F1 0.975 เทียบกับ CC0 gold corpus และความสอดคล้องระดับประโยค 94.9% เทียบกับ PyThaiNLP newmm วัดบน Apple M-series"> |
| icon: '⚡', | ||
| title: 'Fast', | ||
| body: 'Maximal Matching on a compressed DAWG dictionary. Outperforms PyThaiNLP newmm on throughput while matching accuracy.', | ||
| body: 'Maximal Matching on a compressed DAWG dictionary. Achieves 42–47 MiB/s segmentation throughput on Apple M-series with F1 0.975 accuracy.', |
There was a problem hiding this comment.
This feature copy presents “42–47 MiB/s segmentation throughput … with F1 0.975 accuracy” as a general claim. Since the underlying benchmarks are more specific (e.g., Micro F1 vs the CC0 gold corpus; throughput depends on input type like pure-Thai vs mixed-script), consider tightening the wording to match the benchmark labels (e.g., “Micro F1 0.975” and/or indicating the benchmark context) to avoid overgeneralizing.
| body: 'Maximal Matching on a compressed DAWG dictionary. Achieves 42–47 MiB/s segmentation throughput on Apple M-series with F1 0.975 accuracy.', | |
| body: 'Maximal Matching on a compressed DAWG dictionary. Benchmarked at 42–47 MiB/s segmentation throughput on Apple M-series, with Micro F1 0.975 on the CC0 gold corpus.', |
| 'home.features.subtitle': 'A single library for the full pipeline — from raw text to structured tokens with semantic metadata.', | ||
| 'home.features.fast.title': 'Fast', | ||
| 'home.features.fast.body': 'Maximal Matching on a compressed DAWG dictionary. Outperforms PyThaiNLP newmm on throughput while matching accuracy.', | ||
| 'home.features.fast.body': 'Maximal Matching on a compressed DAWG dictionary. Achieves 42–47 MiB/s segmentation throughput on Apple M-series with F1 0.975 accuracy.', |
There was a problem hiding this comment.
This string claims “F1 0.975 accuracy” without the qualifier used elsewhere on the benchmarks page (“Micro F1” vs CC0 gold corpus). Consider aligning terminology here (and, if desired, lightly qualifying the benchmark context for the 42–47 MiB/s range) so the marketing copy can’t be misread as a different evaluation setup.
| 'home.features.fast.body': 'Maximal Matching on a compressed DAWG dictionary. Achieves 42–47 MiB/s segmentation throughput on Apple M-series with F1 0.975 accuracy.', | |
| 'home.features.fast.body': 'Maximal Matching on a compressed DAWG dictionary. Benchmarked at 42–47 MiB/s segmentation throughput on Apple M-series, with Micro F1 0.975 on the CC0 gold corpus.', |
| 'home.features.subtitle': 'ไลบรารีเดียวสำหรับ pipeline ทั้งหมด ตั้งแต่ข้อความดิบจนถึง token พร้อม metadata', | ||
| 'home.features.fast.title': 'รวดเร็ว', | ||
| 'home.features.fast.body': 'Maximal Matching บน DAWG dictionary ที่บีบอัดแล้ว ทำงานเร็วกว่า PyThaiNLP newmm โดยยังรักษาความแม่นยำไว้', | ||
| 'home.features.fast.body': 'Maximal Matching บน DAWG dictionary ที่บีบอัดแล้ว ทำงานได้ 42–47 MiB/s บน Apple M-series โดยมีความแม่นยำ F1 0.975', |
There was a problem hiding this comment.
ข้อความภาษาไทยระบุ “ความแม่นยำ F1 0.975” แต่หน้า benchmarks ใช้ “Micro F1” (เทียบกับ CC0 gold corpus) ซึ่งเฉพาะเจาะจงกว่า—แนะนำให้ใช้คำว่า “Micro F1 0.975” หรือระบุว่าเป็น F1 เทียบกับ gold corpus เพื่อให้ความหมายสอดคล้องและไม่ถูกตีความว่าเป็นตัวชี้วัดคนละแบบ
| 'home.features.fast.body': 'Maximal Matching บน DAWG dictionary ที่บีบอัดแล้ว ทำงานได้ 42–47 MiB/s บน Apple M-series โดยมีความแม่นยำ F1 0.975', | |
| 'home.features.fast.body': 'Maximal Matching บน DAWG dictionary ที่บีบอัดแล้ว ทำงานได้ 42–47 MiB/s บน Apple M-series โดยมีค่า Micro F1 0.975', |
This pull request updates the benchmark descriptions and feature highlights for the kham Thai NLP library, making the performance claims more precise and consistent across both English and Thai content. The changes clarify throughput, accuracy, and comparison metrics for segmentation, particularly in relation to PyThaiNLP newmm.
Benchmark and Feature Description Updates:
English content:
kham-web/src/i18n/ui.tsandkham-web/src/pages/index.astroto specify segmentation throughput (42–47 MiB/s on Apple M-series) and F1 accuracy (0.975), replacing the previous, less specific comparison to PyThaiNLP newmm. [1] [2]kham-web/src/pages/benchmarks.astroto explicitly mention F1 accuracy (0.975) and 94.9% sentence agreement with PyThaiNLP newmm.Thai content:
kham-web/src/i18n/ui.tsto include throughput (42–47 MiB/s on Apple M-series) and F1 accuracy (0.975), for consistency with the English version.kham-web/src/pages/th/benchmarks.astroto mention F1 accuracy (0.975) and 94.9% agreement with PyThaiNLP newmm.…rk numbersUse concrete criterion figures (42–47 MiB/s, F1 0.975) in feature copy and meta descriptions instead of an unsubstantiated comparison claim.