-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcount_entities.py
More file actions
48 lines (39 loc) · 1.52 KB
/
Copy pathcount_entities.py
File metadata and controls
48 lines (39 loc) · 1.52 KB
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
import re
def count_entities():
# Read domain.yml
with open('domain.yml', 'r', encoding='utf-8') as f:
lines = f.readlines()
# Find the entities section
entities_start = -1
entities_end = -1
for i, line in enumerate(lines):
if line.strip() == 'entities:':
entities_start = i + 1
elif entities_start > 0 and line.strip() and not line.strip().startswith('-') and not line.startswith(' '):
entities_end = i
break
if entities_start > 0 and entities_end > 0:
# Extract entity lines
entity_lines = lines[entities_start:entities_end]
# Count entities
entity_names = set()
duplicates = []
for line in entity_lines:
line = line.strip()
if line.startswith('- '):
entity_name = line[2:].strip()
if entity_name in entity_names:
duplicates.append(entity_name)
else:
entity_names.add(entity_name)
print(f"Total unique entities: {len(entity_names)}")
print(f"Duplicated entities: {duplicates}")
print(f"Total entries (including duplicates): {len(entity_names) + len(duplicates)}")
# Print all entities
print("\nAll entities:")
for entity in sorted(entity_names):
print(f"- {entity}")
else:
print("Could not find entities section in domain.yml")
if __name__ == "__main__":
count_entities()