کامنت گذاری کامل سورس کلاسیفایر

This commit is contained in:
ajokar 2025-07-26 20:54:15 +03:30
parent 78c5fffa1a
commit 0e856fd797
17 changed files with 117156 additions and 129757 deletions

View File

@ -27,10 +27,22 @@ classifier = pipeline("text-classification", model_checkpoint, framework="pt")
print(f'start: {datetime.datetime.now()}')
with open('./data/dataset_new.json', 'r', encoding='utf-8') as input_file:
with open('./data/Dataset_classification_v2.json', 'r', encoding='utf-8') as input_file:
dataset = json.load(input_file)
dataset_ids = [item for item in dataset]
dataset_dict = {}
for itm in dataset:
try:
item_content = itm['content']
except:
print(f'empty section content: {itm["id"]}')
continue
dataset_dict[itm["id"]] = {
"domain_id": itm["domain_id"],
"domain_name": itm['domain_name'],
"content": item_content
}
dataset_ids = [item['id'] for item in dataset]
print(f'len(dataset_ids): {len(dataset_ids)}')
cc_counter = 1
test_counter = 1
@ -43,24 +55,28 @@ for index, item in enumerate(sections):
# if index > 500:
# break
id = item['id']
if not id in dataset_ids:
if not id in dataset_dict:
continue
source = item['source']
content0 = source['content']
qanon_title = source['qanon_title']
full_path = source['other_info']['full_path'].split(">")
full_path_text = ''
# if id == 'qs2121517':
# pass
for i, path_item in enumerate(reversed(full_path)):
if i == len(full_path) - 1:
full_path_text += ''.join(f'{path_item}')
break
full_path_text += ''.join(f'{path_item} از ')
if path_item == 'تبصره':
full_path_text += ''.join(f'{path_item} ')
else:
full_path_text += ''.join(f'{path_item} از ')
full_path_text = full_path_text.strip()
try:
content = cleaning(dataset[id]['content'])
pre_content = f"{full_path_text} {cleaning(qanon_title)} عبارت است از: "
content = cleaning(dataset_dict[id]['content'])
pre_content = f"محتوای {full_path_text} {cleaning(qanon_title)} متن زیر است.\n"
new_content = f"{pre_content} {content}"
if (len(tokenizer(new_content)['input_ids'][1:-1]) > 512):
failed_counter +=1
@ -68,19 +84,20 @@ for index, item in enumerate(sections):
new_dataset.append({
"id": id,
"domain_id": dataset[id]["domain_id"],
"domain_name": dataset[id]['domain_name'],
"content": new_content
"domain_id": dataset_dict[id]["domain_id"],
"domain_name": dataset_dict[id]['domain_name'],
"content": content,
"content_with_fullpath": new_content,
})
except Exception as e:
with open('./data/errors_log_dataset.txt', 'a', encoding='utf-8') as output_file:
output_file.write(id + " >> " + str(e) + "\n")
continue
print(f'section: {all}/{id}/{index+1}', flush=True)
# print(f'section: {all}/{id}/{index+1}', flush=True)
with open('./data/fullpath_dataset.json', 'w', encoding='utf-8') as output_file:
with open('./data/Dataset_classification_v2_fullpath.json', 'w', encoding='utf-8') as output_file:
json_data = json.dumps(new_dataset, indent=4, ensure_ascii=False)
output_file.write(json_data)

32
data/classes_list.txt Normal file
View File

@ -0,0 +1,32 @@
qs2737382 - امور انتظامی و امنیت داخلی
qs894826 - None
qs1043309 - اداری و استخدامی
qs894807 - None
qs887945 - None
qs1023813 - نظام قانونگذاری
qs1988520 - None
qs997880 - کیفری
qs919411 - آموزش عالی، پژوهش و فناوری
qs3012247 - حمل و نقل
qs1036224 - None
qs1636663 - کار
qs1704019 - None
qs1555153 - تشکیلات و امور اداری قوه قضائیه
qs895753 - None
qs1024032 - آیین دادرسی مدنی و اداری
qs3024418 - None
qs925237 - None
qs999331 - محاسبات عمومی
qs1073335 - None
qs2964496 - None
qs2652755 - مسکن و شهر سازی
qs2241523 - تشکیلات و امور اداری قوه قضائیه
qs939369 - اموال و معاملات دولتی
qs894037 - None
qs2148972 - تجارت
qs885382 - None
qs929738 - None
qs886389 - None
qs2580013 - None
qs898204 - صنعت
qs2305848 - None

View File

@ -0,0 +1 @@
qs832374 >> No text is provided to clean

130
data/empty_content_log0.txt Normal file
View File

@ -0,0 +1,130 @@
qs832374 >> No text is provided to clean
qs1104674 >> No text is provided to clean
qs994707 >> No text is provided to clean
qs751717 >> No text is provided to clean
qs1916523 >> No text is provided to clean
qs959658 >> No text is provided to clean
qs1116960 >> No text is provided to clean
qs675905 >> No text is provided to clean
qs2515774 >> No text is provided to clean
qs2515780 >> No text is provided to clean
qs1116169 >> No text is provided to clean
qs716582 >> No text is provided to clean
qs1037075 >> No text is provided to clean
qs1120066 >> No text is provided to clean
qs218349 >> No text is provided to clean
qs218350 >> No text is provided to clean
qs218351 >> No text is provided to clean
qs218352 >> No text is provided to clean
qs2516017 >> No text is provided to clean
qs2516018 >> No text is provided to clean
qs2516019 >> No text is provided to clean
qs2516021 >> No text is provided to clean
qs2516022 >> No text is provided to clean
qs2516023 >> No text is provided to clean
qs2516024 >> No text is provided to clean
qs2516025 >> No text is provided to clean
qs214614 >> No text is provided to clean
qs214630 >> No text is provided to clean
qs999303 >> No text is provided to clean
qs688916 >> No text is provided to clean
qs213422 >> No text is provided to clean
qs894830 >> No text is provided to clean
qs625850 >> No text is provided to clean
qs762340 >> No text is provided to clean
qs1816282 >> No text is provided to clean
qs668053 >> No text is provided to clean
qs692739 >> No text is provided to clean
qs218353 >> No text is provided to clean
qs2065818 >> No text is provided to clean
qs286455 >> No text is provided to clean
qs573113 >> No text is provided to clean
qs688971 >> No text is provided to clean
qs1051386 >> No text is provided to clean
qs1118015 >> No text is provided to clean
qs776897 >> No text is provided to clean
qs1115771 >> No text is provided to clean
298683e9ae8dffe3_10901111 >> No text is provided to clean
298683e9ae8dffe3_1090111 >> No text is provided to clean
qs1102704 >> No text is provided to clean
qs768498 >> No text is provided to clean
qs988057 >> No text is provided to clean
qs830281 >> No text is provided to clean
qs953637 >> No text is provided to clean
qs975560 >> No text is provided to clean
qs214537 >> No text is provided to clean
qs2516016 >> No text is provided to clean
qs1115812 >> No text is provided to clean
qs832536 >> No text is provided to clean
qs3437676 >> No text is provided to clean
qs1102796 >> No text is provided to clean
qs799402 >> No text is provided to clean
qs866692 >> No text is provided to clean
qs761253 >> No text is provided to clean
qs1044009 >> No text is provided to clean
qs773634 >> No text is provided to clean
qs1102868 >> No text is provided to clean
qs1102870 >> No text is provided to clean
qs1843826 >> No text is provided to clean
qs1102735 >> No text is provided to clean
qs693032 >> No text is provided to clean
qs877648 >> No text is provided to clean
qs987743 >> No text is provided to clean
qs1128475 >> No text is provided to clean
qs3349198 >> No text is provided to clean
qs621263 >> No text is provided to clean
qs218787 >> No text is provided to clean
qs218788 >> No text is provided to clean
qs2515800 >> No text is provided to clean
qs218789 >> No text is provided to clean
qs218791 >> No text is provided to clean
qs218792 >> No text is provided to clean
qs786853 >> No text is provided to clean
qs516658 >> No text is provided to clean
qs214636 >> No text is provided to clean
qs1115772 >> No text is provided to clean
qs552406 >> No text is provided to clean
qs236126 >> No text is provided to clean
qs286506 >> No text is provided to clean
qs286511 >> No text is provided to clean
qs94717 >> No text is provided to clean
qs719521 >> No text is provided to clean
qs1117997 >> No text is provided to clean
qs286490 >> No text is provided to clean
qs1988696 >> No text is provided to clean
qs2516015 >> No text is provided to clean
qs214546 >> No text is provided to clean
qs507915 >> No text is provided to clean
qs980157 >> No text is provided to clean
qs2651573 >> No text is provided to clean
qs621745 >> No text is provided to clean
qs957628 >> No text is provided to clean
qs725920 >> No text is provided to clean
qs832412 >> No text is provided to clean
qs1113187 >> No text is provided to clean
qs621180 >> No text is provided to clean
qs1092296 >> No text is provided to clean
qs987744 >> No text is provided to clean
qs990251 >> No text is provided to clean
qs956440 >> No text is provided to clean
qs998707 >> No text is provided to clean
qs431837 >> No text is provided to clean
qs1120063 >> No text is provided to clean
qs2516020 >> No text is provided to clean
qs214569 >> No text is provided to clean
qs214577 >> No text is provided to clean
qs680f6f37b77af_21 >> No text is provided to clean
qs2128754 >> No text is provided to clean
qs925414 >> No text is provided to clean
774683546f75f603 >> No text is provided to clean
298683e9ae8dffe3_109011 >> No text is provided to clean
qs1113973 >> No text is provided to clean
qs286498 >> No text is provided to clean
qs286501 >> No text is provided to clean
qs217778 >> No text is provided to clean
qs761370 >> No text is provided to clean
qs289962 >> No text is provided to clean
qs236391 >> No text is provided to clean
qs218594 >> No text is provided to clean
qs236285 >> No text is provided to clean
qs1113974 >> No text is provided to clean

File diff suppressed because it is too large Load Diff

349
data/errors_classes.txt Normal file
View File

@ -0,0 +1,349 @@
id: qs903832 -- best-class: کشاورزی و دامپروری
id: qs894192 -- best-class: صنعـت
id: qs459156 -- best-class: کشاورزی و دامپروری
id: qs762011 -- best-class: رسانه
id: qs1024865 -- best-class: تعـاون
id: qs2033543 -- best-class: امور زیربنایی
id: qs2033544 -- best-class: امور زیربنایی
id: qs2171659 -- best-class: صنعـت
id: qs2171661 -- best-class: پولی و مالی
id: qs2051644 -- best-class: حمل و نقل
id: qs1860934 -- best-class: نظامی و انتظامی
id: qs1860930 -- best-class: اطلاعات و امنیت
id: qs985071 -- best-class: بیمـه‌
id: qs459265 -- best-class: سلامت
id: qs459266 -- best-class: ایثـارگران
id: qs459268 -- best-class: ایثـارگران
id: qs1095147 -- best-class: رسانه
id: qs1095148 -- best-class: حمل و نقل
id: qs116974 -- best-class: محاسبات عمومی
id: qs116975 -- best-class: محاسبات عمومی
id: qs116976 -- best-class: آمار، برنامه و بودجه
id: qs116981 -- best-class: محاسبات عمومی
id: qs116982 -- best-class: محاسبات عمومی
id: qs1416207 -- best-class: سلامت
id: qs239752 -- best-class: انتخابات
id: qs239753 -- best-class: انتخابات
id: qs2051648 -- best-class: حمل و نقل
id: qs2137158 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs2148180 -- best-class: تعزیرات حکومتی
id: qs2148206 -- best-class: اطلاعات و امنیت
id: qs2148207 -- best-class: اطلاعات و امنیت
id: qs2148208 -- best-class: اطلاعات و امنیت
id: qs864015 -- best-class: حمل و نقل
id: qs903836 -- best-class: اداری و استخدامی
id: qs903837 -- best-class: اداری و استخدامی
id: qs885492 -- best-class: حمل و نقل
id: qs982538 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs165243 -- best-class: مسکن و شهرسازی
id: qs2033432 -- best-class: امور زیربنایی
id: qs189853 -- best-class: محیط زیست
id: qs892288 -- best-class: آب
id: qs892378 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs870119 -- best-class: نظام قانون‌گذاری
id: qs2129040 -- best-class: کیفـری
id: qs2129031 -- best-class: کیفـری
id: qs870120 -- best-class: امور زیربنایی
id: qs870122 -- best-class: امور زیربنایی
id: qs870123 -- best-class: امور زیربنایی
id: qs870124 -- best-class: امور زیربنایی
id: qs242303 -- best-class: میراث فرهنگی و گردشگری
id: qs242304 -- best-class: میراث فرهنگی و گردشگری
id: qs242305 -- best-class: میراث فرهنگی و گردشگری
id: qs226183 -- best-class: اموال و معاملات دولتی
id: qs834355 -- best-class: کشاورزی و دامپروری
id: qs304240 -- best-class: مسکن و شهرسازی
id: qs851038 -- best-class: حمل و نقل
id: qs918971 -- best-class: ایثـارگران
id: qs908527 -- best-class: خانواده
id: qs339903 -- best-class: حمل و نقل
id: qs339908 -- best-class: حمل و نقل
id: qs339909 -- best-class: حمل و نقل
id: qs339910 -- best-class: حمل و نقل
id: qs2109244 -- best-class: برق و انرژی‌های نو
id: qs2109247 -- best-class: برق و انرژی‌های نو
id: qs2109248 -- best-class: برق و انرژی‌های نو
id: qs886807 -- best-class: حمل و نقل
id: qs2217129 -- best-class: محیط زیست
id: qs2033521 -- best-class: پولی و مالی
id: qs2033522 -- best-class: پولی و مالی
id: qs2217171 -- best-class: محیط زیست
id: qs894706 -- best-class: نظام قانون‌گذاری
id: qs456798 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs339989 -- best-class: صنعـت
id: qs920249 -- best-class: آیین دادرسی کیفری
id: qs908375 -- best-class: تجارت
id: qs157592 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs165114 -- best-class: صنعـت
id: qs165115 -- best-class: صنعـت
id: qs953621 -- best-class: تأمین اجتماعی
id: qs459267 -- best-class: اطلاعات و امنیت
id: qs849355 -- best-class: حمل و نقل
id: qs1836180 -- best-class: تجارت
id: qs905820 -- best-class: محیط زیست
id: qs761960 -- best-class: رسانه
id: qs903998 -- best-class: منابع طبیعی
id: qs2183799 -- best-class: ورزش
id: qs886800 -- best-class: حمل و نقل
id: qs1631693 -- best-class: آیین دادرسی کیفری
id: qs1631694 -- best-class: کیفـری
id: qs1631702 -- best-class: کیفـری
id: qs2129023 -- best-class: کیفـری
id: qs2033491 -- best-class: امور زیربنایی
id: qs2171642 -- best-class: اموال و معاملات دولتی
id: qs308307 -- best-class: مسکن و شهرسازی
id: qs308308 -- best-class: مسکن و شهرسازی
id: qs308309 -- best-class: مسکن و شهرسازی
id: qs308310 -- best-class: مسکن و شهرسازی
id: qs165117 -- best-class: صنعـت
id: qs165118 -- best-class: صنعـت
id: qs920136 -- best-class: آیین دادرسی کیفری
id: qs165107 -- best-class: صنعـت
id: qs459157 -- best-class: منابع طبیعی
id: qs509198 -- best-class: مـدنـی
id: qs903997 -- best-class: منابع طبیعی
id: qs2106840 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs2106821 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs2106819 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs834344 -- best-class: اموال و معاملات دولتی
id: qs834349 -- best-class: مسکن و شهرسازی
id: qs1151374 -- best-class: حمل و نقل
id: qs171508 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs171512 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs171513 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs1855602 -- best-class: بیمـه‌
id: qs2109243 -- best-class: برق و انرژی‌های نو
id: qs2109245 -- best-class: برق و انرژی‌های نو
id: qs2109246 -- best-class: برق و انرژی‌های نو
id: qs2033550 -- best-class: امور زیربنایی
id: qs2033559 -- best-class: پولی و مالی
id: qs1036123 -- best-class: اطلاعات و امنیت
id: qs2217107 -- best-class: حمل و نقل
id: qs1025583 -- best-class: اطلاعات و امنیت
id: qs205639 -- best-class: تأمین اجتماعی
id: qs205645 -- best-class: تأمین اجتماعی
id: qs1712466 -- best-class: تأمین اجتماعی
id: qs1860938 -- best-class: اطلاعات و امنیت
id: qs1860939 -- best-class: اطلاعات و امنیت
id: qs2217079 -- best-class: حمل و نقل
id: qs1484800 -- best-class: بیمـه‌
id: qs1151390 -- best-class: حمل و نقل
id: qs834460 -- best-class: مسکن و شهرسازی
id: qs834461 -- best-class: مسکن و شهرسازی
id: qs834462 -- best-class: مسکن و شهرسازی
id: qs834464 -- best-class: مسکن و شهرسازی
id: qs834468 -- best-class: مسکن و شهرسازی
id: qs837896 -- best-class: مسکن و شهرسازی
id: qs211585 -- best-class: اطلاعات و امنیت
id: qs2171663 -- best-class: اموال و معاملات دولتی
id: qs2171665 -- best-class: اموال و معاملات دولتی
id: qs2171667 -- best-class: صنعـت
id: qs2171669 -- best-class: امور زیربنایی
id: qs2052052 -- best-class: حمل و نقل
id: qs2217156 -- best-class: حمل و نقل
id: qs2106827 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs2106828 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs2107035 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs2052113 -- best-class: حمل و نقل
id: qs894442 -- best-class: آب
id: qs2033557 -- best-class: پولی و مالی
id: qs2033561 -- best-class: امور زیربنایی
id: qs880575 -- best-class: ایثـارگران
id: qs2033465 -- best-class: امور زیربنایی
id: qs1095144 -- best-class: رسانه
id: qs201923 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs902156 -- best-class: حمل و نقل
id: qs902157 -- best-class: نظامی و انتظامی
id: qs902162 -- best-class: حمل و نقل
id: qs902174 -- best-class: حمل و نقل
id: qs2051753 -- best-class: حمل و نقل
id: qs2051910 -- best-class: حمل و نقل
id: qs2217119 -- best-class: محیط زیست
id: qs834424 -- best-class: مسکن و شهرسازی
id: qs908523 -- best-class: خانواده
id: qs444094 -- best-class: کار
id: qs444104 -- best-class: کار
id: qs931395 -- best-class: محیط زیست
id: qs2051863 -- best-class: حمل و نقل
id: qs2154097 -- best-class: اداری و استخدامی
id: qs2148160 -- best-class: تعزیرات حکومتی
id: qs864542 -- best-class: ایثـارگران
id: qs920187 -- best-class: آیین دادرسی کیفری
id: qs211322 -- best-class: تقسیمات کشوری و مدیریت محلی
id: qs834438 -- best-class: مسکن و شهرسازی
id: qs2107033 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs854205 -- best-class: ایثـارگران
id: qs907450 -- best-class: نظام قانون‌گذاری
id: qs309163 -- best-class: صنعـت
id: qs309164 -- best-class: صنعـت
id: qs309165 -- best-class: صنعـت
id: qs2106851 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs1176844 -- best-class: ثبت اسناد و املاک
id: qs1176845 -- best-class: ثبت اسناد و املاک
id: qs2051804 -- best-class: حمل و نقل
id: qs189843 -- best-class: محیط زیست
id: qs459208 -- best-class: کشاورزی و دامپروری
id: qs834453 -- best-class: مسکن و شهرسازی
id: qs834463 -- best-class: مسکن و شهرسازی
id: qs917464 -- best-class: ورزش
id: qs904013 -- best-class: منابع طبیعی
id: qs1631706 -- best-class: کیفـری
id: qs1631708 -- best-class: کیفـری
id: qs116965 -- best-class: محاسبات عمومی
id: qs116969 -- best-class: محاسبات عمومی
id: qs836476 -- best-class: کیفـری
id: qs239749 -- best-class: انتخابات
id: qs116984 -- best-class: محاسبات عمومی
id: qs1860926 -- best-class: اطلاعات و امنیت
id: qs1860928 -- best-class: اطلاعات و امنیت
id: qs2129044 -- best-class: کیفـری
id: qs2129045 -- best-class: کیفـری
id: qs2033560 -- best-class: پولی و مالی
id: qs2033563 -- best-class: امور زیربنایی
id: qs2033564 -- best-class: امور زیربنایی
id: qs2033565 -- best-class: امور زیربنایی
id: qs2033566 -- best-class: امور زیربنایی
id: qs2033567 -- best-class: ثبت اسناد و املاک
id: qs2033568 -- best-class: امور زیربنایی
id: qs2033571 -- best-class: امور زیربنایی
id: qs239733 -- best-class: انتخابات
id: qs239736 -- best-class: انتخابات
id: qs239737 -- best-class: انتخابات
id: qs308315 -- best-class: مسکن و شهرسازی
id: qs908333 -- best-class: امور زیربنایی
id: qs899714 -- best-class: تجارت
id: qs132449 -- best-class: بانکداری
id: qs2106818 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs904006 -- best-class: منابع طبیعی
id: qs904008 -- best-class: منابع طبیعی
id: qs165266 -- best-class: امور زیربنایی
id: qs165271 -- best-class: امور زیربنایی
id: qs165292 -- best-class: امور زیربنایی
id: qs1414844 -- best-class: نظام قانون‌گذاری
id: qs1414848 -- best-class: نظام قانون‌گذاری
id: qs189854 -- best-class: محیط زیست
id: qs132209 -- best-class: فرهنگ و هنر
id: qs872747 -- best-class: تعـاون
id: qs444054 -- best-class: کار
id: qs2129029 -- best-class: کیفـری
id: qs2129030 -- best-class: کیفـری
id: qs2129035 -- best-class: کیفـری
id: qs2129036 -- best-class: کیفـری
id: qs459261 -- best-class: ایثـارگران
id: qs1383611 -- best-class: آیین دادرسی مدنی و اداری
id: qs1383612 -- best-class: آیین دادرسی مدنی و اداری
id: qs1383613 -- best-class: آیین دادرسی مدنی و اداری
id: qs1383614 -- best-class: آیین دادرسی مدنی و اداری
id: qs1383616 -- best-class: آیین دادرسی مدنی و اداری
id: qs2033470 -- best-class: امور زیربنایی
id: qs340522 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs761995 -- best-class: رسانه
id: qs982944 -- best-class: آموزش و پرورش
id: qs1151378 -- best-class: حمل و نقل
id: qs1151381 -- best-class: حمل و نقل
id: qs1151382 -- best-class: حمل و نقل
id: qs304246 -- best-class: مسکن و شهرسازی
id: qs837902 -- best-class: مسکن و شهرسازی
id: qs837903 -- best-class: مسکن و شهرسازی
id: qs837904 -- best-class: مسکن و شهرسازی
id: qs837905 -- best-class: مسکن و شهرسازی
id: qs261334 -- best-class: کار
id: qs837913 -- best-class: مسکن و شهرسازی
id: qs837914 -- best-class: مسکن و شهرسازی
id: qs837916 -- best-class: مسکن و شهرسازی
id: qs837918 -- best-class: مسکن و شهرسازی
id: qs834351 -- best-class: مسکن و شهرسازی
id: qs982851 -- best-class: آموزش و پرورش
id: qs2033502 -- best-class: امور زیربنایی
id: qs2033505 -- best-class: پولی و مالی
id: qs2033508 -- best-class: پولی و مالی
id: qs2033518 -- best-class: پولی و مالی
id: qs1631676 -- best-class: کیفـری
id: qs834447 -- best-class: مسکن و شهرسازی
id: qs834452 -- best-class: مسکن و شهرسازی
id: qs834459 -- best-class: ثبت اسناد و املاک
id: qs165254 -- best-class: امور زیربنایی
id: qs2148209 -- best-class: اطلاعات و امنیت
id: qs2217139 -- best-class: محیط زیست
id: qs2217155 -- best-class: حمل و نقل
id: qs854231 -- best-class: تعـاون
id: qs189852 -- best-class: محیط زیست
id: qs189862 -- best-class: محیط زیست
id: qs339993 -- best-class: صنعـت
id: qs339994 -- best-class: صنعـت
id: qs339995 -- best-class: صنعـت
id: qs2033483 -- best-class: امور زیربنایی
id: qs2033484 -- best-class: پولی و مالی
id: qs770997 -- best-class: محیط زیست
id: qs201960 -- best-class: کشاورزی و دامپروری
id: qs991595 -- best-class: حمل و نقل
id: qs851118 -- best-class: حمل و نقل
id: qs2072157 -- best-class: مالیات
id: qs201903 -- best-class: محیط زیست
id: qs201905 -- best-class: منابع طبیعی
id: qs902180 -- best-class: حمل و نقل
id: qs2137146 -- best-class: آموزش عالی، پژوهش و فناوری
id: qs1151407 -- best-class: حمل و نقل
id: qs1025145 -- best-class: ایثـارگران
id: qs2033501 -- best-class: امور زیربنایی
id: qs2033504 -- best-class: پولی و مالی
id: qs1609342 -- best-class: تعـاون
id: qs883499 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs211573 -- best-class: اطلاعات و امنیت
id: qs211575 -- best-class: اطلاعات و امنیت
id: qs211576 -- best-class: اطلاعات و امنیت
id: qs2180272 -- best-class: کار
id: qs211296 -- best-class: تقسیمات کشوری و مدیریت محلی
id: qs1095160 -- best-class: فناوری اطلاعات و ارتباطات
id: qs1095161 -- best-class: اطلاعات و امنیت
id: qs1860929 -- best-class: اطلاعات و امنیت
id: qs1860932 -- best-class: مسکن و شهرسازی
id: qs2051984 -- best-class: حمل و نقل
id: qs2051972 -- best-class: حمل و نقل
id: qs205646 -- best-class: تأمین اجتماعی
id: qs851033 -- best-class: حمل و نقل
id: qs920236 -- best-class: آیین دادرسی کیفری
id: qs854225 -- best-class: ایثـارگران
id: qs883509 -- best-class: سلامت
id: qs211285 -- best-class: تقسیمات کشوری و مدیریت محلی
id: qs1543165 -- best-class: آموزش و پرورش
id: qs1474892 -- best-class: نظام‌های صنفی و حرفه‌ای
id: qs1151387 -- best-class: حمل و نقل
id: qs1151389 -- best-class: حمل و نقل
id: qs1151392 -- best-class: حمل و نقل
id: qs1151397 -- best-class: حمل و نقل
id: qs853478 -- best-class: اطلاعات و امنیت
id: qs853482 -- best-class: اطلاعات و امنیت
id: qs853483 -- best-class: اطلاعات و امنیت
id: qs1176865 -- best-class: ثبت اسناد و املاک
id: qs1176862 -- best-class: ثبت اسناد و املاک
id: qs1176856 -- best-class: اوقاف، اماکن دینی و امور مذهبی
id: qs242294 -- best-class: میراث فرهنگی و گردشگری
id: qs242297 -- best-class: میراث فرهنگی و گردشگری
id: qs444107 -- best-class: کار
id: qs444121 -- best-class: صنعـت
id: qs1176851 -- best-class: ثبت اسناد و املاک
id: qs1176858 -- best-class: ثبت اسناد و املاک
id: qs991593 -- best-class: حمل و نقل
id: qs201910 -- best-class: کشاورزی و دامپروری
id: qs211297 -- best-class: تقسیمات کشوری و مدیریت محلی
id: qs171503 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs171506 -- best-class: تشکیلات و امور اداری قوه قضائیه
id: qs1095150 -- best-class: اطلاعات و امنیت
id: qs1095153 -- best-class: اطلاعات و امنیت
id: qs1095154 -- best-class: اطلاعات و امنیت
id: qs1095156 -- best-class: اطلاعات و امنیت
id: qs1095159 -- best-class: حمل و نقل
id: qs226172 -- best-class: اداری و استخدامی
id: qs1176861 -- best-class: ثبت اسناد و املاک
id: qs1176864 -- best-class: ثبت اسناد و املاک
id: qs1176868 -- best-class: ثبت اسناد و املاک
id: qs339891 -- best-class: حمل و نقل
id: qs339895 -- best-class: حمل و نقل
id: qs339896 -- best-class: حمل و نقل
id: qs339901 -- best-class: حمل و نقل
id: qs834339 -- best-class: اموال و معاملات دولتی
id: qs201943 -- best-class: کشاورزی و دامپروری
id: qs1274194 -- best-class: تجارت
id: qs459177 -- best-class: منابع طبیعی
id: qs459168 -- best-class: کشاورزی و دامپروری

View File

View File

@ -1,5 +0,0 @@
qs213422 >> No text is provided to clean
qs507915 >> No text is provided to clean
qs692739 >> No text is provided to clean
qs693032 >> No text is provided to clean
qs832536 >> No text is provided to clean

View File

@ -2,6 +2,7 @@
1
qs2737382 : تبصره 1 از ماده دوم قانون راجع به ورود و اقامت اتباع خارجه در ایران عبارت است از: تبصره [۱] - دولت می‌تواند در موارد استثنائی ترتیب خاصی بدهد.
classes:
prev: امور انتظامی و امنیت داخلی
تعـاون >> 0.861244261264801
ایثـارگران >> 0.061607614159584045
کشاورزی و دامپروری >> 0.025859517976641655
@ -17,6 +18,7 @@ classes:
2
qs894826 : تبصره از ماده واحده قانون لغو موارد مصرف قانون وصول برخی از درآمدهای دولت و مصرف آن در موارد معین عبارت است از: تبصره - دولت می‌تواند متناسب با فعالیتهای درآمدی دستگاه‌های ذینفع اعتبارات مناسبی را در لوایح بودجه سالانه منظور نماید.
classes:
prev: N
محاسبات عمومی >> 0.9920544624328613
برق و انرژی‌های نو >> 0.0018855449743568897
کشاورزی و دامپروری >> 0.001453059259802103
@ -32,6 +34,7 @@ classes:
3
qs1043309 : تبصره 3 از ماده واحده لایحه قانونی مربوط به پاکسازی وایجادمحیط مساعد برای رشد نهادهای انقلاب در وزارتخانه‌ها و دانشگاه‌ها و بانکها و موسسات و شرکتهای دولتی عبارت است از: تبصره ۳ هیئتهای پنج نفری مذکور در این ماده می‌توانند بعنوان مجازات سابقه خدمت مستخدمین را بازخرید و مستخدم مزبور را از خدمت دولت معاف کنند پرداخت وجوه در ازاء بازخرید خدمت بمستخدمین مشمول قانون استخدام کشوری و مستخدمینی که مقررات خاص در مورد نحوه بازخرید ندارند بترتیب مذکور در تبصره‌های ذیل ماده ۱۲۰ قانون استخدام کشوری و در مورد سایر مستخدمین طبق مقررات خاص خود خواهد بود. مفاد این تبصره در مورد کارمندانیکه قبلا بموجب آراء صادره هیئتهای پنج نفری مأمور تصفیه و پاکسازی محکوم ببازخرید ایام خدمت شده‌اند نافذ می‌باشد.
classes:
prev: اداری و استخدامی
کیفـری >> 35.487955572447305
اموال و معاملات دولتی >> 17.629550015258822
آموزش عالی، پژوهش و فناوری >> 16.930183585549592
@ -47,6 +50,7 @@ classes:
4
qs894807 : بند 1 از ماده واحده قانون تأسیس استان گلستان عبارت است از: ۱ - شهرستان گرگان به مرکزیت شهر گرگان، شامل بخشهای مرکزی و آق‌قلا.
classes:
prev: N
بانکداری >> 0.43979576230049133
ایثـارگران >> 0.4113754332065582
کار >> 0.048929523676633835
@ -62,6 +66,7 @@ classes:
5
qs887945 : مبحث 1 اساسنامه مرکز جهانی علوم اسلامی عبارت است از: نام مرکز:
classes:
prev: N
مالکیت فکری >> 0.3802117705345154
کار >> 0.1431649625301361
فرهنگ و هنر >> 0.1251494288444519
@ -77,6 +82,7 @@ classes:
6
qs1023813 : تبصره 3 از ماده 31 از فصل چهارم قانون انتخابات مجلس شورای اسلامی عبارت است از: تبصره ۳ - مهلت مقرر در تبصره ۱ ماده فوق برای اولین مرحلۀ دوره دوم مجلس، یکماه قبل از روز اخذ رأی می‌باشد.
classes:
prev: نظام قانونگذاری
اموال و معاملات دولتی >> 0.6611406207084656
انتخابات >> 0.2591758072376251
آموزش عالی، پژوهش و فناوری >> 0.0200398750603199
@ -92,6 +98,7 @@ classes:
7
qs1988520 : بند 9 از ماده 10 از متن قانون الحاق دولت جمهوری اسلامی ایران به کنوانسیون منع گسترش، تولید، انباشت و بکارگیری سلاحهای شیمیایی و انهدام آنها عبارت است از: ۹ درخواست مبتنی براطلاعات مربوطه باید به مدیرکل تسلیم شود و او باید آنرا فورا» به شورای اجرایی و کلیه دولتهای عضو ارسال دارد. مدیرکل‌باید درخواست را بلادرنگ ظرف مدت حداکثر (۱۲) ساعت پس از دریافت آن، برای دولتهای عضوی ارسال نماید که براساس قسمتهای (ب) و (پ) بند (۷) داوطلب ارسال کمکهای اضطراری درصورت کاربرد سلاحهای شیمیایی و یا استفاده از عوامل کنترل شیمیایی و یا استفاده از عوامل کنترل‌اغتشاش به‌عنوان یک روش جنگی شده یا درصورت تهدید جدی به کاربرد سلاحهای شیمیایی و یا تهدید جدی به کاربرد عوامل کنترل اغتشاش‌به‌عنوان یک روش جنگی علیه دولت عضو مربوطه داوطلب ارسال کمکهای انسان‌دوستانه گردیده‌اند، مدیرکل حداکثر ظرف مدت (۲۴) ساعت بعد از‌دریافت درخواست، باید تحقیقی را برای فراهم‌آوردن اساس اقدامات بعدی آغاز نماید. تحقیقات او ظرف مدت (۷۲) ساعت باید کامل گردد و گزارش‌مربوطه را به شورای اجرایی ارسال دارد. درصورت احتیاج به زمان بیشتر برای تکمیل تحقیقات، یک گزارش موقت در همین چهارچوب زمانی تقدیم‌می‌گردد. زمان اضافی مورد لزوم برای تحقیقات نباید از (۷۲) ساعت تجاوز نماید. به‌هرحال ممکن‌است زمان تحقیق در دوره‌های مشابه تمدید شود. گزارشها در پایان هر دوره اضافی به شورای اجرایی تقدیم می‌شود. تحقیق باید متناسب و منطبق با درخواست و اطلاعات همراه درخواست، حقایق‌مربوط به درخواست و همچنین نوع و دامنه کمکهای تکمیلی و حفاظتهای مورد نیاز را مشخص کند.
classes:
prev: N
کشاورزی و دامپروری >> 62.56363730357385
حمل و نقل >> 10.95131348441227
مسکن و شهرسازی >> 7.024881338109261
@ -107,6 +114,7 @@ classes:
8
qs997880 : تبصره 1 از ماده 3 قانون مواد خوردنی و آشامیدنی و آرایشی و بهداشتی عبارت است از: تبصره ۱ - مرتکب هر یک از جرائم مذکور در این ماده و ماده ۲ این قانون علاوه بر کیفر مقرر جز در مورد اعدام به پرداخت جزای نقدی از بیست هزار ریال تا پانصد هزار ریال و محرومیت از اشتغال بکسب یا کار مربوط به مواد خوردنی یا آشامیدنی یا آرایشی یا بهداشتی از یک تا سه سال محکوم خواهد شد.
classes:
prev: کیفری
مالیات >> 0.8970927000045776
ایثـارگران >> 0.04565338045358658
کشاورزی و دامپروری >> 0.01747516356408596
@ -122,6 +130,7 @@ classes:
9
qs919411 : تبصره 1 از ماده 1 قانون نحوه تأمین هیأت علمی مورد نیاز دانشگاه‌ها و موسسات آموزش عالی کشور عبارت است از: تبصره ۱ - حقوق و مزایای اعضای هیأت علمی موضوع این قانون در صورتی که در دانشگاه‌ها و موسسات آموزش عالی و پژوهشی خدمت نمایند پس از طی دوره آموزش نظامی همانند سایر اعضای هیأت علمی محاسبه و از محل اعتبارات موسسه مربوط قابل پرداخت خواهد بود. دانشگاه‌ها و‌مراکز آموزش عالی واقع در شهرستانهای غیر مرکز استان در استفاده از این نیروها از اولویت برخوردارند.
classes:
prev: آموزش عالی، پژوهش و فناوری
آموزش عالی، پژوهش و فناوری >> 0.9992135763168335
مالیات >> 0.00015290291048586369
آموزش و پرورش >> 7.703134178882465e-05
@ -137,6 +146,7 @@ classes:
10
qs3012247 : تبصره 1 از ماده 3 مکرر قانون تأسیس شورای عالی هماهنگی ترافیک شهرهای کشور عبارت است از: تبصره ۱ - وظایف شورای هماهنگی ترافیک شهرستان و دبیرخانه آن، همچنین نحوه همکاری آن با شورای عالی هماهنگی ترافیک شهرهای کشور و شوراهای هماهنگی ترافیک استانها بر اساس آئین نامه‌ای خواهد بود که ظرف سه ماه توسط وزارت کشور و شورای عالی استانها تهیه و به تصویب هیأت وزیران می‌رسد.
classes:
prev: حمل و نقل
کار >> 0.5446810722351074
مسکن و شهرسازی >> 0.10268919914960861
اموال و معاملات دولتی >> 0.09163798391819
@ -152,6 +162,7 @@ classes:
11
qs1036224 : ضمیمه اول از ماده 34 از فصل هفتم از متن موافقتنامه قانون الحاق دولت جمهوری اسلامی ایران به موافقتنامه نظام جهانی ترجیحات بازرگانی بین کشورهای در حال توسعه عبارت است از: ضمیمه اول آرژانتین - آنگولا - اکوادر - الجزایر - اندونزی - اروگوئه - جمهوری اسلامی ایران - برزیل - بنگلادش - بنین - بولیوی - پاکستان - پرو تانزانیا (جمهوری متحده) - تایلند - تونس - ترینیداد و توباگو - رومانی - زئیر - زیمبابوه - سریلانکا- سنگاپور - سودان - شیلی - عراق - غنا - فیلیپین -قطر - کامرون - کره جنوبی - کره شمالی (جمهوری دمکراتیک مردمی) - کلمبیا - کوبا - گویان - گینه - لیبی - مالزی - مراکش - مصر - مکزیک -موزامبیک - نیجریه - نیکاراگوئه - ونزوئلا - ویتنام هائی تی - هند - یوگسلاوی.
classes:
prev: N
نظامی و انتظامی >> 0.36902377009391785
اموال و معاملات دولتی >> 0.26732757687568665
کشاورزی و دامپروری >> 0.16068336367607117
@ -167,6 +178,7 @@ classes:
12
qs1636663 : تبصره 9 از ماده واحده قانون استخدام جانبازان، اسراء و افراد خانواده‌های شهدا، جانبازان از کارافتاده، اسراء و مفقودالاثرهای انقلاب اسلامی و جنگ تحمیلی و همچنین افرادی که حداقل ۹ ماه متوالی یا یکسال متناوب داوطلبانه در جبهه خدمت نموده‌اند عبارت است از: تبصره ۹ - کارگاه‌هائی که مشمول کار باشند بایستی با معرفی واحدهای کاریابی و یا ادارات کار و امور اجتماعی و رعایت مقررات مربوطه نسبت به استخدام افراد مذکور در این قانون اقدام نمایند.
classes:
prev: کار
ایثـارگران >> 0.7134758830070496
مناطق آزاد و ویژه اقتصادی >> 0.2342541217803955
کشاورزی و دامپروری >> 0.023141061887145042
@ -182,6 +194,7 @@ classes:
13
qs1704019 : ماده 1 قانون تأمین زنان و کودکان بی‌سرپرست عبارت است از: ماده ۱ - به پیروی از تعالیم عالیه اسلام در جهت حفظ شوون و حقوق اجتماعی زن و کودک بی‌سرپرست و زدودن آثار فقر از جامعه اسلامی و به منظور اجرای قسمتی از اصل بیست و یکم قانون اساسی جمهوری اسلامی ایران، زنان و کودکان بی سرپرستی که تحت پوشش قوانین حمایتی دیگری نیستند از حمایتهای مقرر در این قانون بهره‌مند خواهند شد.
classes:
prev: N
مسکن و شهرسازی >> 0.640682578086853
ایثـارگران >> 0.093630351126194
مالیات >> 0.06692323088645935
@ -197,6 +210,7 @@ classes:
14
qs1555153 : تبصره 1 از ماده واحده قانون اصلاح مقررات مربوط به طلاق عبارت است از: تبصره ۱ - نحوه دعوت از حکمین و بررسی صلاحیت آنان به عهده دادگاه مدنی خاص است که آئین نامه اجرایی آن ظرف ۲ ماه توسط وزیر دادگستری تهیه و به تصویب رئیس قوه قضائیه خواهد رسید.
classes:
prev: تشکیلات و امور اداری قوه قضائیه
آیین دادرسی مدنی و اداری >> 0.9204283356666565
تشکیلات و امور اداری قوه قضائیه >> 0.06273463368415833
ثبت اسناد و املاک >> 0.008067029528319836
@ -212,6 +226,7 @@ classes:
15
qs895753 : متن درباره اصلاح اساسنامه باشگاه دانش پژوهان جوان عبارت است از: پیشنهاد اصلاح اساسنامۀ باشگاه دانش‏پژوهان جوان (موضوع مصوبۀ شمارۀ ۱۶۹۶ / دش مورخ ۷۳ / ۰۸ / ۲۹ شورایعالی) مطرح و بدین شرح به تصویب رسید: ماده ۱ - باشگاه دانش‏ پژوهان جوان موسسه‏ای است آموزشی و پژوهشی و فرهنگی وابسته به وزارت آموزش و پرورش که با هدف شناسایی، جذب، پرورش، حمایت و هدایت دانش ‏آموزان و جوانان با استعداد کشور و اعتلای سطح آموزش و پرورش آنان از طریق تشکل بخشیدن به آنها در قالب گروه‌های پژوهشی و علمی تشکیل می‏گردد. (تبصرۀ مادۀ ۱ به قوت خود باقی است) - تبصرۀ مادۀ ۱۱ اساسنامه حذف شود. - دربارۀ مادۀ ۱۳ مقرر شد تا تصویب «باشگاه دانش‏ پژوهان جوان» در شورای گسترش وزارت فرهنگ و آموزش‏عالی به عنوان موسسه‏ای تحقیقاتی، از نظر مقررات مالی همچون گذشته عمل شود.
classes:
prev: N
کشاورزی و دامپروری >> 0.4522201716899872
آموزش عالی، پژوهش و فناوری >> 0.25852951407432556
آموزش و پرورش >> 0.23936589062213898
@ -227,6 +242,7 @@ classes:
16
qs1024032 : جزء 5 از بند هـ از تبصره 43 از قسمت از ماده واحده قانون بودجه سال ۱۳۶۴ کل کشور عبارت است از: ۵ - قضات دادگستری
classes:
prev: آیین دادرسی مدنی و اداری
تشکیلات و امور اداری قوه قضائیه >> 0.6236211657524109
مالیات >> 0.10751207917928696
تشکل‌های مدنی و احزاب >> 0.07677002996206284
@ -242,6 +258,7 @@ classes:
17
qs3024418 : ماده واحده قانون تصویب پروتکل تشکیل شرکت سهامی مختلط امور حمل و نقل ایران و شوروی عبارت است از: ماده واحده - پروتکل مربوط به تشکیل شرکت سهامی مختلط امور حمل و نقل ایران و شوروی مشتمل بر یک مقدمه و سیزده ماده و یک نامه ضمیمه که در تاریخ هشتم مردادماه ۱۳۴۹ مطابق با سی‌ام ژوئیه ۱۹۷۰ در مسکو بامضاء نمایندگان دولتین رسیده تصویب و بدولت اجازه داده می‌شود مفاد آنرا بمورد اجرا بگذارد.
classes:
prev: N
تجارت >> 0.9625149965286255
صنعـت >> 0.015858706086874008
نظامی و انتظامی >> 0.0039641372859478
@ -257,6 +274,7 @@ classes:
18
qs925237 : بند ‌الف از ماده واحده قانون بودجه اصلاحی سال ۱۳۵۲ و بودجه سال ۱۳۵۳ کل کشور عبارت است از: الف - ماده واحده قانون سال ۱۳۵۲ کل کشور بشرح زیر اصلاح می‌شود: بودجه سال ۱۳۵۲ کل کشور از حیث درآمدها و سایر منابع تأمین اعتبار بالغ بر هشتصد و بیست و چهار میلیارد و چهارصد و هفده میلیون و ششصد و‌شانزده هزار (۰۰۰ ر ۶۱۶ ر ۴۱۷ ر ۸۲۴) ریال و از حیث هزینه و سایر پرداختها بالغ بر هشتصد و بیست و چهار میلیارد و چهارصد هفده میلیون و ششصد و‌شانزده هزار (۰۰۰ ر ۶۱۶ ر ۴۱۷ ر ۸۲۴) ریال می‌باشد. بودجه عمومی دولت که از لحاظ درآمدها و سایر منابع تأمین اعتبار بالغ بر پانصد و نود و هشت میلیارد و هشتصد و بیست و چهار میلیون و هشتصد و‌دوازده هزار (۰۰۰ ر ۸۱۲ ر ۸۲۴ ر ۵۹۸) ریال و از حیث هزینه‌ها و سایر پرداختها بالغ بر پانصد و نود و هشت میلیارد و هشتصد و بیست و چهار میلیون و‌هشتصد و دوازده هزار (۰۰۰ ر ۸۱۲ ر ۸۲۴ ر ۵۹۸) ریال و بشرح زیر است: ۱ - درآمد عمومی سایر منابع تأمین اعتبار بالغ بر پانصد و هشتاد میلیارد و چهار صد و شش میلیون و پانصد و نوزده هزار (۰۰۰ ر ۵۱۹ ر ۴۰۶ ر ۵۸۰) ریال و هزینه‌ها و سایر پرداختها از آن محل بالغ بر پانصد و هشتاد میلیارد و چهار صد و شش میلیون و پانصد و نوزده هزار (۰۰۰ ر ۵۱۹ ر ۴۰۶ ر ۵۸۰) ریال. ۲ - درآمد اختصاصی وزارتخانه‌ها و موسسات دولتی بالغ بر هجده میلیارد و چهارصد و هجده میلیون و دویست و نود و سه هزار (۰۰۰ ر ۲۹۳ ر ۴۱۸ ر ۱۸) ریال و هزینه‌ها و سایر پرداختها از آن محل بالغ بر هجده میلیارد و چهارصد و هجده میلیون و دویست و نود و سه هزار (۰۰۰ ر ۲۹۳ ر ۴۱۸ ر ۱۸) ریال.
classes:
prev: N
کشاورزی و دامپروری >> 43.855292534465214
منابع طبیعی >> 36.92041480801022
حمل و نقل >> 18.357979791474705
@ -272,6 +290,7 @@ classes:
19
qs999331 : بند 1 از ماده 2 از باب اول قانون مالیاتهای مستقیم عبارت است از: ۱ - وزارتخانه‌ها و موسسات دولتی؛
classes:
prev: محاسبات عمومی
کشاورزی و دامپروری >> 0.4238981604576111
ایثـارگران >> 0.16577759385108948
اموال و معاملات دولتی >> 0.11651881039142609
@ -287,6 +306,7 @@ classes:
20
qs1073335 : بخش دوم قانون تصویب احکام و مصوبات بیستمین کنگره پست جهانی منعقد شده در واشنگتن ۱۹۸۹ عبارت است از: بخش دوم - موافقتنامه‌ها و آیین‌نامه‌های اجرایی جدید
classes:
prev: N
مالیات >> 0.193024680018425
آموزش عالی، پژوهش و فناوری >> 0.16323581337928772
انتخابات >> 0.08114974945783615
@ -302,6 +322,7 @@ classes:
21
qs2964496 : متن پروگرام کابینه آقای مشیروالدوله عبارت است از: چون بعقیده هیئت وزرا پروگرامی که از طرف دولت تقدیم مجلس شورای ملی می‌شود باید شامل اصول اقداماتی باشد که هیئت دولت در نظر دارد و ذکر جزئیات امور را در پروگرام غیر لازم می‌داند علیهذا فقرات ذیل را که روس مسائل و منظورات هیئت وزراء است بعنوان پرگرام تقدیم مجلی مقدس نموده خاطر نمایندگان محترم را متوجه می‌سازد که در ترتیب این پرگرام از ذکر فروع و نیز از پیشنهاد نمودن اموری که بآمال و آرزو نزذیکتر از حقیقت و عمل است احتراز جسته و ضمنا ذکر چند فقره مطلب را هم که از اصول است از قبیل تأسیس مجلس سنا و شورای مملکتی و نسخ قانون بیست و سوم جوزا غیر لازم دانسته‌اند بواسطه اینکه در جزء پرگرام هیئت وزراء سابق بمجلس مقدس اظهار شده و نمایندگان محترم بتصویب سواد مزبوره نظر خود را معلوم داشته و هیئت وزراء حاضر هم همان نظر را تعقیب خواهند نمود بلکه یک ماده از آنرا که نسخ قانون بیست و سوم جوزاباشد قبلا بموقع عمل گذاشته‌اند نظر بمقدمات فوق پرگرامی که هیئت حاضره مصمم به تعقیب آن می‌باشند از قراری است که ذیلا بنظر نمایندگان محترم می‌رسد:
classes:
prev: N
تجارت >> 21.259536508666137
کشاورزی و دامپروری >> 18.707207231092717
تشکل‌های مدنی و احزاب >> 12.62134999690913
@ -317,6 +338,7 @@ classes:
22
qs2652755 : تبصره از ماده 1 الحاقی قانون لغو مالکیت اراضی موات شهری و کیفیت عمران آن عبارت است از: تبصره: مقررات فوق ناظر بر اراضی موضوع قانون تأیید واگذاریهای انجام‌شده توسط بنیاد مسکن انقلاب مصوب ۱۳ / ۱۱ / ۵۸ می‌باشد. مشرو ط بر آنکه تاریخ پرداخت وجه طبق فیش بانکی حداکثر پایان اردیبهشت‌ماه ۵۹ باشد، ضمنا در مورد اراضی واگذاری قبلی سازمانهای عمران اراضی شهری و همچنین تعیین معوض اراضی موضوع ماده ۱۴ آئین نامه اجرائی قانون لغو مالکیت اراضی موات شهری و کیفت عمران آن و قانون اصلاحی ماده یاد شده نیز بترتیب مذکور در ماده فوق عمل خواهد شد.
classes:
prev: مسکن و شهر سازی
مالیات >> 0.46761295199394226
مسکن و شهرسازی >> 0.41371071338653564
برق و انرژی‌های نو >> 0.049660831689834595
@ -332,6 +354,7 @@ classes:
23
qs2241523 : تفسیر از ماده 5 قانون تبدیل شورای سرپرستی زندانها و اقدامات تأمینی و تربیتی کشور به «سازمان زندانها و اقدامات تأمینی و تربیتی کشور» عبارت است از: نظر مجلس ماده واحده - با عنایت به عموم ماده ۵ قانون تبدیل شورای سرپرستی زندانها و اقدامات تأمینی و تربیتی کشور به سازمان زندانها و اقدامات تأمینی و تربیتی کشور، مقصود از کلیه اموال غیر منقول، اعم از ساختمانهایی است که بعنوان زندان ساخته‌شده یا به این عنوان از آنها استفاده می‌شده است.
classes:
prev: تشکیلات و امور اداری قوه قضائیه
مسکن و شهرسازی >> 0.8458563685417175
کشاورزی و دامپروری >> 0.10034866631031036
برق و انرژی‌های نو >> 0.025295786559581757
@ -347,6 +370,7 @@ classes:
24
qs939369 : تبصره 2 از ماده 33 از فصل ششم آئین نامه معاملات شهرداری پایتخت [آئین‌نامه معاملات شهرداری تهران] عبارت است از: تبصره ۲ - حد نصابهای تعیین‌شده در موارد فوق متناسب با شرایط اقتصاد کشور و هماهنگ با نصابهای معاملات دولتی بنا به پیشنهاد وزارت کشور و‌با تصویب هیأت‌وزیران قابل تجدید نظر خواهد بود.
classes:
prev: اموال و معاملات دولتی
اموال و معاملات دولتی >> 0.9305490255355835
انتخابات >> 0.017535323277115822
ایثـارگران >> 0.007566640619188547
@ -362,6 +386,7 @@ classes:
25
qs894037 : تبصره از بند 1 از متن بازنگری مصوبات شورای عالی درخصوص مراکز وابسته به آن عبارت است از: تبصره: تأیید صلاحیت عضویت افرادی که به نمایندگی از دستگاه‌ها و مجلس شورای‏اسلامی برای عضویت در مراکز و شوراهای وابسته معرفی می‏شوند نیازی به‏طرح در شورای عالی ندارد. این‏گونه موارد با هماهنگی دبیر و رییس محترم‏شورای عالی - پس از احراز صلاحیت آنها توسط دبیرخانه از طریق مراجع‏ذی‏ربط - انجام گیرد.
classes:
prev: N
ایثـارگران >> 0.4003925025463104
میراث فرهنگی و گردشگری >> 0.14277344942092896
تعـاون >> 0.09686044603586197
@ -377,6 +402,7 @@ classes:
26
qs2148972 : تبصره 1 از ماده 241 از بخش 10 از مبحث اول لایحه قانونی اصلاح قسمتی از قانون تجارت عبارت است از: تبصره ۱ - شرکتهای دولتی، مشمول مقررات این ماده در خصوص پاداش هیأت مدیره نیستند و تابع حکم مقرر در ماده (۷۸) قانون مدیریت خدمات کشوری مصوب ۸ / ۷ / ۱۳۸۶ می‌باشند.
classes:
prev: تجارت
کشاورزی و دامپروری >> 0.36307963728904724
ایثـارگران >> 0.29673585295677185
برق و انرژی‌های نو >> 0.16899415850639343
@ -392,6 +418,7 @@ classes:
27
qs885382 : تبصره 1 از ماده واحده قانون ایجاد استان قزوین عبارت است از: تبصره ۱ - با انتزاع واحدها و شهرستانهای فوق از محدوده استان تهران و زنجان پرسنل سازمانی، وسایل و تجهیزات، بودجه و اعتبارات مربوط، به تناسب جمعیت و وضعیت جغرافیایی از محل امکانات قبلی کسر و به استان جدید منتقل می‌شود و اختصاص می‌یابد. معاون اول رییس‌جمهور، وزرای کشور و امور اقتصادی و دارایی و روسای سازمانهای برنامه و بودجه و امور اداری و استخدامی کشور مسوول اجرای‌مفاد این تبصره خواهند بود.
classes:
prev: N
تعـاون >> 0.511970579624176
کشاورزی و دامپروری >> 0.30197373032569885
ایثـارگران >> 0.06804371625185013
@ -407,6 +434,7 @@ classes:
28
qs929738 : متن مصوبه شورای عالی انقلاب فرهنگی درباره سقف پرداخت حق مدیریت اعضای هیأت علمی دانشگاه‌ها عبارت است از: تعیین سقف پرداخت حق مدیریت اعضای هیأت علمی دانشگاه‌ها که تصدی مسوولیتهای اجرایی را برعهده دارند با هیأت دولت باشد، آقای دکتر حسن حبیبی طی گزارشی اعلام کرد که: در هیأت دولت تصویب شد سقف پرداخت فوق‏العاده مدیریت ماهانه به روسای دانشگاه‌ها و موسسات پژوهشی براساس سقف فوق‏العاده مدیریت رئیس دانشگاه تهران در سال ۱۳۷۵ تعیین شود. سپس ایشان پیشنهاد کردند سقف حق مدیریت سایر مدیران دانشگاه‌ها (غیر از روسای دانشگاه‌ها و موسسات پژوهشی) در هیأتهای امنای دانشگاه‌ها تعیین شود شورایعالی با این پیشنهاد موافقت کرد.
classes:
prev: N
آموزش عالی، پژوهش و فناوری >> 0.9930219054222107
مالیات >> 0.0015865582972764969
ایثـارگران >> 0.0015401211567223072
@ -422,6 +450,7 @@ classes:
29
qs886389 : ماده واحده قانون افزایش میزان صدور نفت خام موضوع تبصره ۲۶ قانون بودجه سال ۱۳۷۲ کل کشور عبارت است از: ماده واحده - افزایش صدور نفت خام مندرج در بند (الف) تبصره (۲۶) قانون بودجه سال ۱۳۷۲ کل کشور از ۱۹۰۰۰۰ بشکه به ۲۸۵۰۰۰ بشکه در روز تائید می‌گردد.
classes:
prev: N
نفت و گاز >> 0.9262102246284485
برق و انرژی‌های نو >> 0.06533491611480713
خانواده >> 0.0024248186964541674
@ -437,6 +466,7 @@ classes:
30
qs2580013 : ماده 1 اساسنامه جهاد دانشگاهی عبارت است از: ماده ۱ - تعریف: جهاد دانشگاهی نهادی انقلابی و برخاسته از انقلاب فرهنگی است که در جهت تحقق بخشیدن به اهداف انقلاب فرهنگی در چهارچوب وظایف تعیین‌شده زیر نظر شورایعالی انقلاب فرهنگی فعالیت می‌کند.
classes:
prev: N
آموزش عالی، پژوهش و فناوری >> 0.8507444262504578
ایثـارگران >> 0.05938662961125374
خانواده >> 0.03077419102191925
@ -452,6 +482,7 @@ classes:
31
qs898204 : تبصره 1 از ماده 7 قانون توسعه صنعت ایرانگردی و جهانگردی عبارت است از: تبصره ۱ - مرجع صدور، تمدید، تعلیق یا لغو مجوز تأسیس دفاتر خدمات مسافرتی وزارت راه و شهرسازی است.
classes:
prev: صنعت
میراث فرهنگی و گردشگری >> 0.9490106701850891
تعـاون >> 0.02477101795375347
کار >> 0.008096547797322273
@ -467,6 +498,7 @@ classes:
32
qs2305848 : فصل اول اساسنامه سازمان حمایت مصرف کنندگان و تولیدکنندگان عبارت است از: فصل اول - کلیات
classes:
prev: N
مصرف >> 0.8221377730369568
نظام‌های صنفی و حرفه‌ای >> 0.171229287981987
برق و انرژی‌های نو >> 0.0015397026436403394

View File

@ -1,3 +1,4 @@
12 مورد اشتباه
1
qs2737382 : تبصره 1 از ماده دوم قانون راجع به ورود و اقامت اتباع خارجه در ایران عبارت است از: تبصره [۱] - دولت می‌تواند در موارد استثنائی ترتیب خاصی بدهد.

File diff suppressed because it is too large Load Diff

112158
data/test_log_60e_hoosh_fp2.txt Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,78 +0,0 @@
from transformers import pipeline
from normalizer import cleaning
import transformers
import json
from transformers import AutoTokenizer
print(transformers.__version__)
# model_checkpoint = "./BERT/findtuned_classification_model_15"# 15 epoch
model_checkpoint = '/home/gpu/tnlp/jokar/Classifier/Models/findtuned_classification_model-15'
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
window_size = 200#512
step_size = 100
with open('./data/errors.txt', 'r', encoding='utf-8') as input_file:
error_sections_id = input_file.read().splitlines()
sections = []
with open('./data/final_sections_class.json', 'r', encoding='utf-8') as input_file:
sections = json.load(input_file)
error_sections = []
for item in sections:
if item['id'] in error_sections_id:
error_sections.append(item)
sections = error_sections
classifier = pipeline("text-classification", model_checkpoint, framework="pt")
def get_class(sentences, top_k:int=4):
# sentences = cleaning(sentences)
out = classifier(sentences, top_k=top_k)
return out
def get_window_classes(text):
text_classes = []
tokens = tokenizer(text)['input_ids'][1:-1]
#print(len(tokens))
if len(tokens) > window_size:
for i in range(0, len(tokens) - window_size + 1, step_size):
start_window_slice = tokens[0: i]
window_slice = tokens[i: i + window_size]
start_char = len(tokenizer.decode(start_window_slice))
char_len = len(tokenizer.decode(window_slice))
context_slice = text[start_char: start_char + char_len]
tokens_len = len(tokenizer(context_slice)['input_ids'][1:-1])
print(f'token-len: {tokens_len}', flush=True)
results = get_class(context_slice)
text_classes.append(results)
else:
text_classes.append(get_class(text))
return text_classes
errors = ''
for index, item in enumerate(sections):
# if index > 11:
# break
id = item['id']
content = item['content']
try:
section_classes = get_window_classes(content)
except Exception as e:
error = e
errors+= id + "\n"
continue
item['classes'] = section_classes
print(f'section: {len(sections)}/{index+1}', flush=True)
with open('./data/error_sections_classes.json', 'w', encoding='utf-8') as output_file:
json_data = json.dumps(sections, indent=4, ensure_ascii=False)
output_file.write(json_data)
with open('./data/errors.txt', 'w', encoding='utf-8') as output_file:
output_file.write(errors)
print('finished!')

View File

@ -1,124 +0,0 @@
from transformers import pipeline
from normalizer import cleaning
from elastic_helper import ElasticHelper
import transformers
import json
import datetime
import pandas as pd
from transformers import AutoTokenizer
print(transformers.__version__)
#model_checkpoint = "./BERT/findtuned_classification_model_15"# 15 epoch
model_checkpoint = '/home/gpu/tnlp/jokar/Classifier/Models/findtuned_classification_model-15'
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
window_size = tokenizer.model_max_length#512#200
step_size = 350#100
# with open('./data/errors.txt', 'r', encoding='utf-8') as input_file:
# error_sections_id = input_file.read().splitlines()
eh_obj = ElasticHelper()
path = "/home/gpu/data_11/mj_qa_section.zip"
sections = eh_obj.iterateJsonFile(path, True)
classifier = pipeline("text-classification", model_checkpoint, framework="pt")
def get_class(sentences, top_k:int=4):
# sentences = cleaning(sentences)
out = classifier(sentences, top_k=top_k, truncation=True, max_length=window_size)
return out
def mean_classes(input_classes):
pass
all_classes = []
for cclass in input_classes:
for item in cclass:
all_classes.append({
'label': item['label'],
'score': item['score']
})
# sorted_classes = sorted(all_classes, key=lambda x: x['class'])
classes_df = pd.DataFrame(all_classes)
# گروه بندی بر اساس کلاس
grouped_df = classes_df.groupby("label").agg(
total_value=("score", "sum"), # مجموع امتیازها
count=("score", "count") # تعداد تکرار هر کلاس
).reset_index()
# تعریف فاکتور وزن بر اساس تعداد تکرار کلاس
grouped_df["weight"] = grouped_df["count"]
# بازسازی امتیاز با دخالت دادن وزن
grouped_df["score"] = grouped_df["total_value"] * grouped_df["weight"]
# حذف ستون‌های اضافی و ایجاد دیتافریم نهایی
final_df = grouped_df[["label", "count", "score"]]
# مرتب سازی دیتافریم نهایی بر اساس بالاترین امتیاز کلاسها
sorted_df = final_df.sort_values(by="score", ascending=False)
# تبدیل دیتافریم به دیکشنری
top_4_classes = sorted_df.head(4).to_dict(orient="records")
for item in top_4_classes:
# تبدیل امتیاز در مبنای درصد
item['score'] = (item['score']*100)/sorted_df['score'].sum()
item.pop('count')
return top_4_classes
def get_window_classes(text):
text_classes = []
tokens = tokenizer(text)['input_ids'][1:-1]
#print(len(tokens))
if len(tokens) > window_size:
for i in range(0, len(tokens) - window_size + 1, step_size):
start_window_slice = tokens[0: i]
window_slice = tokens[i: i + window_size]
start_char = len(tokenizer.decode(start_window_slice).replace('[UNK]', ''))
char_len = len(tokenizer.decode(window_slice).replace('[UNK]', ''))
context_slice = text[start_char: start_char + char_len]
tokens_len = len(tokenizer(context_slice)['input_ids'][1:-1])
# print(f'i: {i},token-len: {tokens_len}', flush=True)
results = get_class(context_slice)
text_classes.append(results)
text_classes = mean_classes(text_classes)
else:
text_classes = get_class(text)
return text_classes
print(f'start: {datetime.datetime.now()}')
all = 282671
new_sections_dict = {}
for index, item in enumerate(sections):
# if index > 100:
# break
id = item['id']
source = item['source']
content0 = source['content']
try:
content = cleaning(content0)
except Exception as e:
with open('./data/errors_log.txt', 'a', encoding='utf-8') as output_file:
output_file.write(id + "\n => " + str(e) + "\n\n")
continue
try:
section_classes = get_window_classes(content)
except Exception as e:
error = e
with open('./data/errors.txt', 'a', encoding='utf-8') as output_file:
output_file.write(id + "\n")
continue
# item['classes'] = section_classes
new_sections_dict[id] ={
"best-class":section_classes[0],
"other-classes": section_classes[1:]
}
print(f'section: {all}/{id}/{index+1}', flush=True)
with open('./data/all_sections_classes.json', 'w', encoding='utf-8') as output_file:
json_data = json.dumps(new_sections_dict, indent=4, ensure_ascii=False)
output_file.write(json_data)
print(f'end: {datetime.datetime.now()}')
print('finished!')

View File

@ -1,3 +1,6 @@
"""
این سورس برای خواندن کل سکشن های قانون و پیشنهاد تعدادی کلاس بر اساس مدل آموزش دیده جهت این ماموریت مورد استفاده قرار می گیرد
"""
from transformers import pipeline
from normalizer import cleaning
from elastic_helper import ElasticHelper
@ -22,19 +25,36 @@ print(transformers.__version__)
# model_checkpoint = '/home/gpu/NLP/MLM/CODES/BERT/similarity/findtuned_classification_model_with_path_v2_cleaning_60/checkpoint-3660'
# آموزش با 120 ایپاک بدون پیش پردازش
model_checkpoint = '/home/gpu/NLP/MLM/CODES/BERT/similarity/findtuned_classification_model_with_path_v2__120/checkpoint-7320'
# model_checkpoint = '/home/gpu/NLP/MLM/CODES/BERT/similarity/findtuned_classification_model_with_path_v2__120/checkpoint-7320'
# آخرین مدل فاین تیون شده
model_checkpoint = '/home/gpu/NLP/MLM/CODES/BERT/similarity/findtuned_classification_hoosh_with_path_v2__30/checkpoint-1680'
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
window_size = tokenizer.model_max_length#512#200
# window_size = tokenizer.model_max_length#512#200
window_size = 512
"""
(یعنی سایز پنجره) به این دلیل که تعداد توکن های ورودی به مدل، محدود به متغیر بالاست
متن هایی که سایز آنها بیشتر از این مقدار باشد را از طریق یک پنجره لغزان که روی کل متن حرکت می کند، به چند قسمت تقسیم می کنیم و برای هر پنجره، به صورت جداگانه، کلاس دریافت می کنیم.
سایز این قسمت ها را در step_size معین کرده ایم
"""
step_size = 350#100
Top_k = 10
# تعداد کلاس هایی که بازای هر سکشن از مدل درخواست می کنیم
Top_k = 4
# with open('./data/errors.txt', 'r', encoding='utf-8') as input_file:
# error_sections_id = input_file.read().splitlines()
# فایل 350 ماده با توزیع 41 دسته ای
# path = './data/main-data-350.json'
# with open(path, 'r', encoding='utf-8') as d_file:
# sections_350 = json.load(d_file)
# ids350 = [itm['id'] for itm in sections_350]
# خواندن کل ماده های قانون به منظور پردازش
eh_obj = ElasticHelper()
path = "/home/gpu/data_11/mj_qa_section.zip"
path = "/home/gpu/data_11/14040423/mj_qa_section.zip"
sections = eh_obj.iterateJsonFile(path, True)
classifier = pipeline("text-classification", model_checkpoint, framework="pt")
@ -101,79 +121,104 @@ def get_window_classes(text):
return text_classes
print(f'start: {datetime.datetime.now()}')
cc_counter = 1
test_counter = 1
all = 282671
qanon_title_list = []
new_sections_dict = {}
for index, item in enumerate(sections):
if index > 500:
break
id = item['id']
source = item['source']
if source['other_info']['full_path'] == 'عنوان' or source['other_info']['full_path'] == 'موخره' or source['other_info']['full_path'] == 'امضاء':
new_sections_dict[id] ={
"best-class":{},
"other-classes": []
}
qanon_title_list.append(qanon_title)
print(f'section: {all}/{id}/{index+1}', flush=True)
print(cc_counter)
cc_counter += 1
continue
def full_path_text_maker(full_path):
"""
این متد مسیر یک سکشن را می گیرد و متنی را بر اساس ترتیب بخش های آن از جزء به کل بازسازی می کند و بر می گرداند
content0 = source['content']
qanon_title = source['qanon_title']
full_path = source['other_info']['full_path'].split(">")
full_path_text = ''
full_path_text متن بازسازی شده از مسیر یک سکشن
"""
full_path_text = ""
for i, path_item in enumerate(reversed(full_path)):
if i == len(full_path) - 1:
full_path_text += ''.join(f'{path_item}')
break
full_path_text += ''.join(f'{path_item} از ')
full_path_text = full_path_text.strip()
return full_path_text
print(f'start: {datetime.datetime.now()}')
_counter = 1
test_counter = 1
# all = تعداد سکشن های فایل قبلی 282671
all = 285839
# لیستی جهت ذخیره عناوین قانون ها
qanon_title_list = []
# دیکشنری برای ذخیره نتایج که شامل شناسه سکشن ها و 4 کلاس به ترتیب اولویت است
new_sections_dict = {}
selectedids = []
for index, item in enumerate(sections):
if index < 2900:
continue
if index > 10000:
break
id = item['id']
source = item['source']
# اگر نوع سکشن، عنوان یا موخره یا امضاء باشد، نیازی به فرایند کلاسبندی نیست و لیست کلاس های مربوط به این سکشن را خالی قرار می دهیم
if source['other_info']['full_path'] == 'عنوان' or source['other_info']['full_path'] == 'موخره' or source['other_info']['full_path'] == 'امضاء':
new_sections_dict[id] ={
"best-class":{},
"other-classes": []}
print(f'section: {all}/{index+1}/{id}', flush=True)
continue
content = source['content']
qanon_title = source['qanon_title']
# این متغیر ریشه سکشن اخیر تا رسیدن به قانون را مشخص می کند
# مثلا: ماده5>تبصره یک>بند الف
full_path = source['other_info']['full_path'].split(">")
# بازسازی متن مسیر سکشن از جزء به کل
full_path_text = full_path_text_maker(full_path)
"""
به دلیل اینکه متن برخی از سکشن ها به تنهایی معنادار نیستند، مسیر جزء به کل ماده و عنوان قانون را به اول همه سکشن ها اضافه می کنیم تا هم نقیصه معنادار نبودن موارد این چنینی را برطرف کنیم و هم برای کلاس بندی، انتخاب مدل را بر اساس عنوان قانون جهت دهی کنیم. به این صورت، مدل، عنوان قانون را هم در کلاس بندی دخیل خواهد کرد
"""
pre_content = f"محتوای {full_path_text} {cleaning(qanon_title)} متن زیر است."
try:
content = cleaning(content0)
pre_content = f"{full_path_text} {cleaning(qanon_title)} عبارت است از: "
content = cleaning(content)
except Exception as e:
with open('./data/errors_log.txt', 'a', encoding='utf-8') as output_file:
# شناسه ماده هایی که محتوای آنها خالی است در این مسیر ذخیره می شوند
with open('./data/empty_content_log.txt', 'a', encoding='utf-8') as output_file:
output_file.write(id + " >> " + str(e) + "\n")
continue
try:
# دریافت کلاس های مربوط به یک سکشن
section_classes = get_window_classes(f"{pre_content} {content}")
#region collect data for evaluation
""" این قسمت تا 7 خط بعدی، صرفا جهت جمع آوری و ذخیره تعدادی از سکشن ها و کلاس های پیش بینی شده برای آنها، به منظور ارزیابی عملکرد مدل توسط کاربر انسانی است و دخیل در فرایند کلاسبندی نیست"""
if (len(tokenizer(f"{pre_content} {content}")['input_ids'][1:-1]) < 1500) and not qanon_title in qanon_title_list:
with open('./data/test_log.txt', 'a', encoding='utf-8') as output_file:
with open('./data/test_log_60e_hoosh_fp3.txt', 'a', encoding='utf-8') as output_file:
message = f"\n{test_counter}\n{id} : {pre_content} {content}\nclasses:\n"
for cls in section_classes:
message += f"{cls['label']} >> {cls['score']}\n"
output_file.write(message + "\n")
test_counter+=1
#endregion
except Exception as e:
error = e
with open('./data/errors.txt', 'a', encoding='utf-8') as output_file:
output_file.write(id + "\n")
output_file.write(f"{id} -- Error Content:{error}\n")
continue
# item['classes'] = section_classes
# ساماندهی کلاس های پیش بینی شده در عنوان بهترین کلاس و دیگر کلاسها بر اساس امتیاز تخمین مدل و ذخیره در دیکشنری
new_sections_dict[id] ={
"content": f"{pre_content} {content}",
"best-class":section_classes[0],
"other-classes": section_classes[1:]
}
""" برای حالت تست که می خواهیم عملکرد مدل کلاسیفایر را ارزیابی کنیم، بدین جهت که تنوعی از قوانین مختلف را بررسی کنیم، عنوان قوانین را ذخیره می کنیم تا از تکرار بررسی سکشن های متعدد از یک قانون پرهیز شود"""
qanon_title_list.append(qanon_title)
print(f'section: {all}/{id}/{index+1}', flush=True)
# with open('./data/all_sections_classes_new2.json', 'w', encoding='utf-8') as output_file:
# json_data = json.dumps(new_sections_dict, indent=4, ensure_ascii=False)
# output_file.write(json_data)
with open('./data/all_sections_classes_tttttesttttt.json', 'w', encoding='utf-8') as output_file:
print(f'section: {all}/{index+1}/{id}', flush=True)
# ذخیره دیکشنری شناسه های قانون و کلاس های تخمین زده شده در فایل جیسون
with open('./data/all_sections_classes_new_140405.json', 'w', encoding='utf-8') as output_file:
json_data = json.dumps(new_sections_dict, indent=4, ensure_ascii=False)
output_file.write(json_data)
# with open('./data/all_sections_classes_tttttesttttt.json', 'w', encoding='utf-8') as output_file:
# json_data = json.dumps(new_sections_dict, indent=4, ensure_ascii=False)
# output_file.write(json_data)
print(f'end: {datetime.datetime.now()}')
print('finished!')

89
temp.py Normal file
View File

@ -0,0 +1,89 @@
import json
from elastic_helper import ElasticHelper
def list_classes():
sections = ["qs2737382", "qs894826", "qs1043309", "qs894807", "qs887945", "qs1023813", "qs1988520", "qs997880", "qs919411", "qs3012247", "qs1036224", "qs1636663", "qs1704019", "qs1555153", "qs895753", "qs1024032", "qs3024418", "qs925237", "qs999331", "qs1073335", "qs2964496", "qs2652755", "qs2241523", "qs939369", "qs894037", "qs2148972", "qs885382", "qs929738", "qs886389", "qs2580013", "qs898204", "qs2305848"]
from elastic_helper import ElasticHelper
eh_obj = ElasticHelper()
path = "/home/gpu/data_11/mj_qa_section.zip"
all_sections = eh_obj.iterateJsonFile(path, True)
classes_list = ''
for item in all_sections:
id = item['id']
if not id in sections:
continue
source = item['source']
try:
class_ = source['code-ai']['label']
except:
class_ = 'None'
classes_list += id + " - " + class_ + "\n"
with open('./data/classes_list.txt', 'w') as file:
file.write(classes_list.strip())
def classification_error_handler():
with open('./data/all_sections_classes_new_140405.json', 'r', encoding='utf-8') as _file:
sections = json.load(_file)
with open('./data/errors.txt', 'r', encoding='utf-8') as _file:
error_sections = _file.read()
errors = error_sections.splitlines()
counter = 1
for item, value in sections.items():
id = item
if not id in errors:
continue
errors.remove(id)
result = f'id: {id} -- best-class: {value["best-class"]["label"]}\n'
with open('./data/errors_classes.txt', 'a', encoding='utf-8') as _file:
_file.write(result)
print(errors)
def find_large_sections_in_classified():
with open('./data/all_sections_classes_new_140405.json', 'r', encoding='utf-8') as _file:
sections = json.load(_file)
classified_ids = [item for item in sections]
classified_ids_set = set(classified_ids)
large_not_classified = []
with open('./data/large_sections.json', 'r', encoding='utf-8') as _file:
large_sections = json.load(_file)
for item in large_sections:
if not item in classified_ids:
large_not_classified.append(item)
return large_not_classified
def classified_sections():
with open('./data/all_sections_classes_new_140405.json', 'r', encoding='utf-8') as _file:
classified_sections = json.load(_file)
print(len(classified_sections))
eh_obj = ElasticHelper()
path = "/home/gpu/data_11/14040423/mj_qa_section.zip"
all_sections = eh_obj.iterateJsonFile(path, True)
# count = 285839
for index, item in enumerate(all_sections):
print(index+1)
print(len(all_sections))
classified_ids = [item for item in sections]
classified_ids_set = set(classified_ids)
large_not_classified = []
with open('./data/large_sections.json', 'r', encoding='utf-8') as _file:
large_sections = json.load(_file)
for item in large_sections:
if not item in classified_ids:
large_not_classified.append(item)
return large_not_classified
if __name__ == '__main__':
result = classified_sections()
print(len(result))