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
schema_v2_synthetic_augment
Independent schema v2 synthetic augmentation generator for numeric-title and path-context samples. It does not rewrite DMHY source records or modify the template application pipeline.
cargo run --release --manifest-path tools\schema_v2_synthetic_augment\Cargo.toml --bin schema_v2_synthetic_augment -- `
--recipes reports\dmhy_template_recipes.full_top5000.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 `
--output data\schema_v2_synthetic_aug.jsonl `
--manifest-output data\schema_v2_synthetic_aug.manifest.json
The output is char-tokenized JSONL (tokens == list(filename)) with schema v2
labels and tokenizer_variant: "char".
Validate a generated JSONL/manifest pair with the Rust validator:
cargo run --release --manifest-path tools\schema_v2_synthetic_augment\Cargo.toml --bin validate_synthetic_aug_jsonl -- `
--input data\schema_v2_synthetic_aug.jsonl `
--manifest data\schema_v2_synthetic_aug.manifest.json
Smoke validation example:
cargo run --release --manifest-path tools\schema_v2_synthetic_augment\Cargo.toml --bin validate_synthetic_aug_jsonl -- `
--input reports\schema_v2_synthetic_aug.smoke.jsonl `
--manifest reports\schema_v2_synthetic_aug.smoke.manifest.json
Path seeds are typed: plain or series|... entries generate path_series
rows; movie|... / film|... / theatrical|... entries generate
path_movie rows; special|... entries generate path_special rows; and
confuser|... entries generate path_confuser rows. The manifest reports each
count separately so training mixtures can control these distributions and avoid
mixing TV-series and movie/special path priors.
Plan refinements before scaling
Separate TV-series and movie/special path generation
Do not treat TV anime and theatrical/movie releases as interchangeable when
wrapping filenames in synthetic paths. A TV-style filename wrapped in a movie
folder, or a movie/special-style filename wrapped in Season 01 / S01 / 第2季
folders, creates noisy path labels and can teach the parser the wrong prior.
Before expanding beyond the small validation set, split path generation by media kind:
series/ TV rows:- may use season directories such as
Season 01,Season 1,S01,01,第1季,第2季; - may emit
PATH_SEASONonly for those directory-level season components; - should be paired with ordinary episodic base filenames.
- may use season directories such as
movie/ theatrical rows:- should use movie-appropriate directories such as
Movie,Movies,Gekijouban,劇場版,Films,BDMovie, or a direct title folder; - must not synthesize TV season directories unless the seed explicitly models
a collection folder where the season-like component is a
TAG, notPATH_SEASON; - should be paired with movie/special base filenames, not ordinary TV episode templates.
- should use movie-appropriate directories such as
specialrows:- should cover
SPs,Specials,Extras,OVA,OAD,NCOP,NCED,PV,CM,Trailer,Menu; - numbered specials keep their number inside
SPECIAL, notEPISODE.
- should cover
confuserrows:- keep hard negatives such as
Gekijouban,Movie,2004, andTVasTAGwhen they are non-season directories; - four-digit year directories remain
TAG, neverPATH_SEASON.
- keep hard negatives such as
- noisy library/cache/download prefixes:
- include a small controlled set of random-looking or operational directories
such as
_tmp,.staging,rclone_cache,@@watching,0xA1B2,[NAS-01],queue_42, and!done; - these segments should remain
Ounless they are an explicit movie/special/ confuser tag segment; - the goal is to teach slash/path robustness without making the model overfit to clean media-library roots only.
- include a small controlled set of random-looking or operational directories
such as
Implemented generator/manifest requirements for this split:
- base filename media classifier:
series_episode,movie,special,unknown; - path seed kinds:
series|...,movie|...,special|...,confuser|...; - cross-kind combinations are rejected by default:
moviebase +seriespath = drop;series_episodebase +moviepath = drop;confuserrows remain explicit hard negatives and may wrap any base kind;
- manifest stats include
path_movie_rows,path_confuser_rows,dropped_media_kind_mismatch, and per-kind seed counts.
Improve numeric-title seed quality
The numeric title list should not look like a small set of mechanical templates
with only the number swapped. Keep the bucket coverage from the original plan,
but make the names feel closer to anime, light-novel, and web-novel titles. The
seeds still do not need to be real works; they need structural diversity and a
clear label intent: every number inside the title remains part of TITLE_*.
Seed curation guidelines:
- Mix short canonical numeric titles with long light-novel / web-novel style titles.
- Include Japanese romanization, English, and CJK-flavored forms where useful,
but keep each seed internally style-consistent. Avoid unnatural mixed-language
constructions such as romanized Japanese titles with a stray Chinese
年year suffix, or English phrases glued to Japanese grammar. - Vary separators and numeric forms:
7-nin,100-nin,3-gatsu,12-gatsu,91 Days,No.6,Area 88,86,Level E,2.43,22/7,Dai 7,1000-nen,2001-nen,第7,1000年,2001年. - Add long-title patterns, but keep the whole seed in one coherent naming style:
- romanized Japanese / light-novel style:
7-nin no Maou to Hazure Skill no Slow Life100-nin no Classmate ni Kokuhaku Sareta Ore3-gatsu no Guild de 12-kai Me no TenseiNo.6 Chiku no Saigo no Mahoutsukai86-banme no Yuusha wa Season 2 wo Shinjinai2001-nen ni Netoge no Yome ga Isekai kara Kita
- English-style titles:
91 Days After Becoming the Villainess ButlerArea 88 and the Last Sky WitchThe Level E Roommate Has 100 Secrets500 Days Until the Dungeon Closes
- CJK-style titles:
第7王子与100人的魔法公会2001年的异世界网游新娘1000年后醒来的第86号勇者
- romanized Japanese / light-novel style:
- Explicitly include misleading but title-owned season-like tokens, for example
S01 no Rakuen 86,Season 03 Chronicle 91,Part 2 no No.6, andEpisode 0 no 1000-nen Maou; these must remainTITLE_*when used as the title seed. - Avoid overusing obvious placeholders like
Chronicle,Report,Club, andPatrol; replace some with more natural genre terms such asMaou,Yuusha,Akuyaku Reijou,Guild,Dungeon,Mahoutsukai,Tensei,Slow Life,Netoge,Haishin,Kouhai,Senpai,Kyoushitsu, andGakuen.
Acceptance checks for seed quality:
- each required numeric bucket has multiple non-near-duplicate examples;
- long-title seeds do not collapse into the same phrase skeleton;
- title-owned numeric and season-like tokens are verified to stay contiguous
TITLE_*in generated rows; - fixed cases such as
vcb_numeric_title_ncedimprove without introducing new falseEPISODE/SEASONspans inside titles.