Instructions to use ModerRAS/AniFileBERT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ModerRAS/AniFileBERT with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="ModerRAS/AniFileBERT")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("ModerRAS/AniFileBERT") model = AutoModelForTokenClassification.from_pretrained("ModerRAS/AniFileBERT") - Notebooks
- Google Colab
- Kaggle
Title-Boundary Heuristic Experiments
This note records deterministic Rust heuristic changes and Pi RPC reviewer evidence
for DMHY template title_spans generation. The reviewer output is evidence only;
recipes and training JSONL are changed only by Rust code.
Baseline
Input recipe evidence:
reports/dmhy_template_recipes.full_top5000.title_boundary_trial.seed.jsonl- total title-boundary decisions:
5631
Decision distribution:
| decision | count |
|---|---|
merge_dissimilar_title_continuation |
4661 |
keep_similar_duplicate_or_alias |
463 |
keep_structural_boundary |
502 |
keep_path_boundary |
5 |
Pi RPC stratified sample, --threads 4:
| stratum | rows | model result | note |
|---|---|---|---|
ambiguous merge, similarity 0.25..0.85 |
20 | 20 merge | Good. Reviewer cited concrete title-word pairings. |
high-sim keep_similar_duplicate_or_alias, similarity 0.85..1.0 |
20 | 19 merge, 1 parse-error | Bad baseline heuristic. Examples such as Asobi ni Iku yo!, Code Geass ~Akito the Exiled~, Yagate Kimi ni Naru, and Big Order were wrongly kept separate by the heuristic. |
| structural keep | 20 | 18 keep, 1 merge, 1 skip | Mostly good. Covers category+title, multilingual aliases, and distinct fields. |
| path keep | 5 | 5 keep | Good. Covers path duplicate/category boundaries. |
Conclusion: keep_similar_duplicate_or_alias was too broad because it used max
literal similarity. Short connector repeats (no, wa, ni, the, of) and
repeated title words inflated similarity to 1.0 even for ordinary contiguous
title phrases.
Experiment 1: strict substantive duplicate keep
Change tried:
- Keep adjacent
TITLE SEP TITLEonly when top literals include a substantive duplicate/near-duplicate pair. - Ignore short connectors and literals with normalized length
< 6.
Generated recipe output:
reports/dmhy_template_recipes.full_top5000.strictdup.seed.jsonl
Decision distribution:
| decision | count |
|---|---|
merge_dissimilar_title_continuation |
4661 |
merge_adjacent_title_continuation |
444 |
keep_similar_duplicate_or_alias |
19 |
keep_structural_boundary |
502 |
keep_path_boundary |
5 |
Pi RPC review of all 19 remaining keep_similar_duplicate_or_alias decisions:
| rows | model result |
|---|---|
| 19 | 19 merge |
Examples the reviewer judged as merge:
Air In Summer,Assault Lily BOUQUETAoki Hagane no Arpeggio Ars NovaShoujo Kageki Revue StarlightMotto! Ojamajo DoremiFate stay night Heaven's FeelArafou Otoko no Isekai Tsuuhan SeikatsuWatashi, Nouryoku wa Heikinchi de tte Itta yo ne!
Conclusion: strict duplicate evidence still produced false keeps. The repeated literal was often a real repeated word inside one title phrase or a top-literal artifact, not a duplicate/alias boundary.
Experiment 2: merge all adjacent separator-only title slots
Final change:
TITLE PATH TITLEremainskeep_path_boundary.- Non-separator structural boundaries remain
keep_structural_boundary. - Every separator-only adjacent title boundary,
TITLE SEP TITLE, now merges. - Low-similarity merges keep the old decision name
merge_dissimilar_title_continuation. - High-similarity merges use
merge_adjacent_title_continuation. keep_similar_duplicate_or_aliasis no longer emitted by the deterministic heuristic.
Generated recipe output:
reports/dmhy_template_recipes.full_top5000.mergeall.seed.jsonl
Decision distribution:
| decision | count |
|---|---|
merge_dissimilar_title_continuation |
4661 |
merge_adjacent_title_continuation |
463 |
keep_structural_boundary |
502 |
keep_path_boundary |
5 |
Pi RPC sample of high-similarity merge_adjacent_title_continuation decisions:
| rows | model result |
|---|---|
| 30 | 29 merge, 1 parse-error |
The reviewer cited concrete title continuations such as:
Asobi ni Iku yo!Code Geass ~Akito the Exiled~Kami nomi zo Shiru SekaiYagate Kimi ni NaruBig OrderGate Jieitai Kanochi nite Kaku TatakaeriJoJo's Bizarre Adventure - Stardust Crusaders
Conclusion: merge-all adjacent separator-only title slots is the best of the tried heuristics. It matches Pi RPC evidence and simplifies downstream synthetic title-span replacement.
Synthetic generation smoke
Generated schema v2 synthetic augmentation with merge-all recipes:
data/schema_v2_synthetic_aug.mergeall.jsonldata/schema_v2_synthetic_aug.mergeall.manifest.json
Validator passed. Manifest summary:
| metric | value |
|---|---|
generated_rows |
49998 |
numeric_title_rows |
30000 |
path_rows |
19998 |
path_series_rows |
15000 |
path_movie_rows |
1666 |
path_special_rows |
1666 |
path_confuser_rows |
1666 |
dropped_media_kind_mismatch |
19611 |
Commands
Pi RPC high-sim adjacent merge sample:
cargo run --release --manifest-path tools\rust_dmhy_template_apply\Cargo.toml -- `
--review-title-boundaries-pi-rpc `
--recipes reports\dmhy_template_recipes.full_top5000.mergeall.seed.jsonl `
--title-boundary-decisions-output reports\dmhy_title_boundary_pi_rpc_mergeall.adjacent_highsim.jsonl `
--title-boundary-heuristic-contains merge_adjacent_title_continuation `
--title-boundary-min-similarity 0.85 `
--title-boundary-max-similarity 1.0 `
--threads 4 `
--limit 30
Synthetic smoke:
cargo run --release --manifest-path tools\schema_v2_synthetic_augment\Cargo.toml --bin schema_v2_synthetic_augment -- `
--recipes reports\dmhy_template_recipes.full_top5000.mergeall.seed.jsonl `
--label-schema-file label_schema.json `
--numeric-title-seeds data\synthetic_numeric_titles.txt `
--path-prefix-seeds data\synthetic_path_prefixes.txt `
--limit-templates 3000 `
--max-rows 50000 `
--output data\schema_v2_synthetic_aug.mergeall.jsonl `
--manifest-output data\schema_v2_synthetic_aug.mergeall.manifest.json
cargo run --release --manifest-path tools\schema_v2_synthetic_augment\Cargo.toml --bin validate_synthetic_aug_jsonl -- `
--input data\schema_v2_synthetic_aug.mergeall.jsonl `
--manifest data\schema_v2_synthetic_aug.mergeall.manifest.json