Spaces:
Running on Zero
Running on Zero
File size: 1,857 Bytes
f1ef7e2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | """
Inspect available domains in the AppTek Call Center Dialogues dataset
without saving the full audio dataset locally.
Run from ml-services:
python -m src.data.inspect_apptek_domains
"""
from collections import Counter
from datasets import Audio, load_dataset
DATASET_NAME = "apptek-com/apptek_callcenter_dialogues"
def main() -> None:
print("\nLoading AppTek dataset metadata...")
print("This may access the dataset, but it will not save the full dataset locally.")
print("-" * 80)
ds = load_dataset(DATASET_NAME, split="test")
# Disable audio decoding so we inspect metadata without loading audio arrays.
ds = ds.cast_column("audio", Audio(decode=False))
domain_counts = Counter()
accent_counts = Counter()
gender_counts = Counter()
for row in ds:
domain_counts[row.get("domain", "unknown")] += 1
accent_counts[row.get("accent", "unknown")] += 1
gender_counts[row.get("gender", "unknown")] += 1
print("\nAvailable AppTek domains:")
print("-" * 80)
for domain, count in sorted(domain_counts.items()):
print(f"{domain}: {count}")
print("\nAccents:")
print("-" * 80)
for accent, count in sorted(accent_counts.items()):
print(f"{accent}: {count}")
print("\nGenders:")
print("-" * 80)
for gender, count in sorted(gender_counts.items()):
print(f"{gender}: {count}")
target_keywords = ["bank", "health", "medical", "tele", "telecom", "communication"]
print("\nTarget-domain search:")
print("-" * 80)
for keyword in target_keywords:
matches = {
domain: count
for domain, count in domain_counts.items()
if keyword.lower() in domain.lower()
}
print(f"{keyword}: {matches if matches else 'no matches'}")
if __name__ == "__main__":
main() |