Younes13 commited on
Commit
c34f193
·
verified ·
1 Parent(s): 4b84e82

Create test.py

Browse files
Files changed (1) hide show
  1. test.py +250 -0
test.py ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # دیتاست جامع سوالات دانشجویی و روزمره فارسی
2
+ # Dataset for Persian Student Questions and Daily Conversations
3
+
4
+ persian_student_dataset = {
5
+
6
+ # ==== بخش 1: سوالات دانشگاهی و آموزشی ====
7
+
8
+ # ثبت نام و پذیرش
9
+ "چگونه می‌توانم در دانشگاه ثبت نام کنم؟": "برای ثبت نام در دانشگاه، ابتدا باید در آزمون سراسری شرکت کنید و سپس از طریق سایت سازمان سنجش اقدام به انتخاب رشته کنید.",
10
+ "مدارک مورد نیاز برای ثبت نام چیست؟": "مدارک شامل کارنامه دیپلم، کارت ملی، عکس، فیش بانکی و گواهی پزشکی می‌باشد.",
11
+ "آخرین مهلت ثبت نام کی است؟": "مهلت ثبت نام معمولاً تا پایان شهریور ماه است، اما بهتر است از سایت دانشگاه اطلاع دقیق کسب کنید.",
12
+ "چگونه وضعیت پذیرش خود را بررسی کنم؟": "از طریق سایت سازمان سنجش و با وارد کردن کد داوطلبی خود می‌توانید وضعیت پذیرش را بررسی کنید.",
13
+
14
+ # انتخاب واحد
15
+ "چه زمانی انتخاب واحد شروع می‌شود؟": "انتخاب واحد معمولاً در بهمن ماه برای ترم بهار و شهریور ماه برای ترم پاییز شروع می‌شود.",
16
+ "حداکثر واحد قابل برداشت چقدر است؟": "دانشجویان عادی حداکثر 20 واحد و دانشجویان ممتاز حداکثر 24 واحد می‌توانند برداشت کنند.",
17
+ "چه معدلی برای گرفتن 24 واحد لازم است؟": "برای برداشت 24 واحد، معدل حداقل 17 در ترم قبل ضروری است.",
18
+ "چگونه می‌توانم واحد حذف کنم؟": "تا قبل از پایان مهلت حذف و اضافه، می‌توانید از سیستم آموزش دانشگاه واحد حذف کنید.",
19
+ "آیا می‌توانم واحد مشروط برداشت کنم؟": "بله، اما باید پیش‌نیاز آن را در همان ترم یا قبل از آن بگذرانید.",
20
+
21
+ # امتحانات و نمرات
22
+ "برنامه امتحانات نهایی کی اعلام می‌شود؟": "برنامه امتحانات معمولاً دو هفته قبل از شروع امتحانات در سایت دانشگاه اعلام می‌شود.",
23
+ "چگونه می‌توانم نمرات خود را ببینم؟": "از طریق سیستم آموزش دانشگاه و با وارد کردن نام کاربری و رمز عبور خود.",
24
+ "حداقل نمره قبولی در درس چقدر است؟": "حداقل نمره قبولی 10 برای اکثر دروس و 12 برای دروس اصلی رشته است.",
25
+ "چگونه می‌توانم اعتراض نمره کنم؟": "از طریق سیستم آموزش دانشگاه و در مهلت تعیین شده می‌توانید درخواست تجدید نظر دهید.",
26
+ "آیا می‌توانم در امتحان مشروطی شرکت کنم؟": "بله، اگر نمره شما بین 8 تا 10 باشد، می‌توانید در امتحان مشروطی شرکت کنید.",
27
+
28
+ # خوابگاه و رفاه
29
+ "چگونه می‌توانم برای خوابگاه درخواست بدهم؟": "از طریق سیستم رفاه دانشگاه و با ارائه مدارک مالی می‌توانید درخواست خوابگاه دهید.",
30
+ "هزینه خوابگاه چقدر است؟": "هزینه خوابگاه بسته به نوع اتاق و امکانات متفاوت است، از سایت رفاه دانشگاه اطلاع کسب کنید.",
31
+ "چگونه می‌توانم وام دانشجویی بگیرم؟": "از طریق صندوق رفاه دانشجویان و با ارائه ضامن می‌توانید وام دریافت کنید.",
32
+ "آیا می‌توانم در رستوران دانشگاه غذا بخورم؟": "بله، با داشتن کارت دانشجویی می‌توانید از رستوران دانشگاه استفاده کنید.",
33
+
34
+ # مسائل اداری
35
+ "چگونه می‌توانم گواهی دانشجویی بگیرم؟": "از طریق سیستم آموزش دانشگاه یا مراجعه به آموزش دانشکده می‌توانید گواهی دریافت کنید.",
36
+ "مدت انتظار برای صدور گواهی چقدر است؟": "معمولاً 3 تا 5 روز کاری برای صدور گواهی‌های معمولی زمان می‌برد.",
37
+ "چگونه می‌توانم کارت دانشجویی بگیرم؟": "با مراجعه به واحد کارت دانشجویی و ارائه عکس و کارت ملی می‌توانید کارت دریافت کنید.",
38
+ "آیا می‌توانم ترم تحصیلی را تعطیل کنم؟": "بله، با درخواست رسمی و تایید دانشکده می‌توانید ترم را تعطیل کنید.",
39
+
40
+ # ==== بخش 2: سوالات عمومی و روزمره ====
41
+
42
+ # احوال‌پرسی
43
+ "سلام": "سلام! چطور می‌تونم کمکتون کنم؟",
44
+ "درود": "درود بر شما! چه سوالی دارید؟",
45
+ "صبح بخیر": "صبح بخیر! امیدوارم روز خوبی داشته باشید.",
46
+ "ظهر بخیر": "ظهر بخیر! چگونه می‌تونم راهنمایی کنم؟",
47
+ "عصر بخیر": "عصر بخیر! چه کمکی می‌تونم بکنم؟",
48
+ "شب بخیر": "شب بخیر! چطور می‌تونم مفید باشم؟",
49
+ "حال شما چطور است؟": "ممنون از لطفتون! آماده‌ام تا به سوالاتتون پاسخ بدم.",
50
+ "چه خبر؟": "سلام! آماده‌ام برای پاسخ به سوالاتتون.",
51
+
52
+ # تشکر و خداحافظی
53
+ "ممنون": "خواهش می‌کنم! اگر سوال دیگری دارید، بپرسید.",
54
+ "متشکرم": "قابل نداشت! همیشه در خدمتتون هستم.",
55
+ "سپاس": "خواهش می‌کنم! خوشحالم که تونستم کمک کنم.",
56
+ "مرسی": "خواهش می‌کنم! اگر چیز دیگری نیاز دارید، بگید.",
57
+ "خداحافظ": "خداحافظ! موفق باشید.",
58
+ "فعلاً": "فعلاً! هر وقت سوالی داشتید، برگردید.",
59
+
60
+ # اطلاعات عمومی ایران
61
+ "پایتخت ایران کجاست؟": "تهران پایتخت ایران است.",
62
+ "جمعیت ایران چقدر است؟": "جمعیت ایران حدود 84 میلیون نفر است.",
63
+ "زبان رسمی ایران چیست؟": "فارسی زبان رسمی ایران است.",
64
+ "واحد پول ایران چیست؟": "ریال واحد پول ایران است.",
65
+ "مساحت ایران چقدر است؟": "مساحت ایران حدود 1.6 میلیون کیلومتر مربع است.",
66
+ "آب و هوای ایران چگونه است؟": "آب و هوای ایران در مناطق مختلف متفاوت است، از کوهستانی تا بیابانی.",
67
+
68
+ # فرهنگ و تاریخ
69
+ "نوروز چه زمانی است؟": "نوروز در اول فروردین و آغاز بهار جشن گرفته می‌شود.",
70
+ "شب یلدا چیست؟": "شب یلدا طولانی‌ترین شب سال است که در آخرین شب پاییز جشن گرفته می‌شود.",
71
+ "چند پاره چیست؟": "چهارده پاره یا چهل تکه یکی از سنت‌های نوروزی ایران است.",
72
+ "تخت جمشید کجاست؟": "تخت جمشید در نزدیکی شهر شیراز در استان فارس قرار دارد.",
73
+
74
+ # وقت و تاریخ
75
+ "امروز چه روزی است؟": "برای اطلاع از تاریخ دقیق امروز، لطفاً تقویم خود را بررسی کنید.",
76
+ "فردا چه روزی است؟": "فردا روز بعد از امروز است، می‌توانید از تقویم اطلاع دقیق کسب کنید.",
77
+ "چه ساعتی است؟": "برای اطلاع از ساعت دقیق، لطفاً ساعت خود را بررسی کنید.",
78
+ "چه ماهی هستیم؟": "برای اطلاع از ماه جاری، لطفاً تقویم خود را بررسی کنید.",
79
+
80
+ # آب و هوا
81
+ "آب و هوا چطور است؟": "برای اطلاع از آب و هوا، لطفاً پیش‌بینی هواشناسی را بررسی کنید.",
82
+ "امروز بارانی است؟": "برای اطلاع از وضعیت بارندگی، لطفاً گزارش هواشناسی را چک کنید.",
83
+ "فردا هوا چطور است؟": "برای پیش‌بینی هوای فردا، لطفاً سایت هواشناسی را بررسی کنید.",
84
+
85
+ # تکنولوژی و اینترنت
86
+ "اینترنت چیست؟": "اینترنت شبکه‌ای جهانی از کامپیوترهای متصل به یکدیگر است.",
87
+ "چگونه ایمیل بسازم؟": "می‌توانید از سرویس‌هایی مثل Gmail یا Yahoo برای ساخت ایمیل استفاده کنید.",
88
+ "شبکه‌های اجتماعی چیست؟": "شبکه‌های اجتماعی پلتفرم‌هایی هستند که افراد را به یکدیگر متصل می‌کنند.",
89
+ "چگونه رمز عبور قوی بسازم؟": "رمز عبور قوی باید شامل حروف کوچک و بزرگ، اعداد و علائم باشد.",
90
+
91
+ # سلامت و پزشکی
92
+ "چگونه سلامت خود را حفظ کنم؟": "ورزش منظم، تغذیه سالم و خواب کافی برای سلامتی ضروری است.",
93
+ "چگونه از سرما خوردگی جلوگیری کنم؟": "شستن مرتب دست‌ها، ا��تناب از تماس با افراد بیمار و تقویت سیستم ایمنی مفید است.",
94
+ "چه زمانی باید به پزشک مراجعه کنم؟": "در صورت احساس ناخوشی مداوم یا علائم جدی، حتماً به پزشک مراجعه کنید.",
95
+
96
+ # غذا و آشپزی
97
+ "چگونه برنج بپزم؟": "برنج را بشویید، در آب بجوشانید و بعد از کشیدن آب، دم کنید.",
98
+ "قرمه سبزی چگونه درست می‌شود؟": "قرمه سبزی با سبزی قورمه، گوشت، لوبیا قرمز و آلوی خشک تهیه می‌شود.",
99
+ "چای چگونه دم کنم؟": "آب را بجوشانید، چای را اضافه کنید و 5 دقیقه دم کنید.",
100
+
101
+ # حمل و نقل
102
+ "چگونه بلیط اتوبوس بگیرم؟": "می‌توانید از پایانه‌های اتوبوسرانی یا سایت‌های آنلاین بلیط تهیه کنید.",
103
+ "کرایه تاکسی چقدر است؟": "کرایه تاکسی بسته به مسافت و نوع تاکسی متفاوت است.",
104
+ "چگونه مترو سوار شوم؟": "بلیط یا کارت مترو تهیه کنید و از طریق گیت‌ها وارد ایستگاه شوید.",
105
+
106
+ # ==== بخش 3: سوالات تخصصی دانشگاهی ====
107
+
108
+ # علوم کامپیوتر
109
+ "برنامه نویسی چیست؟": "برنامه نویسی فرآیند نوشتن دستورالعمل‌هایی برای کامپیوتر است.",
110
+ "پایتون چیست؟": "پایتون یک زبان برنامه نویسی سطح بالا و آسان برای یادگیری است.",
111
+ "جاوا چیست؟": "جاوا یک زبان برنامه نویسی شی گرا و پلتفرم مستقل است.",
112
+ "پایگاه داده چیست؟": "پایگاه داده مجموعه‌ای سازمان یافته از اطلاعات است.",
113
+ "هوش مصنوعی چیست؟": "هوش مصنوعی شاخه‌ای از علوم کامپیوتر برای شبیه‌سازی هوش انسانی است.",
114
+
115
+ # ریاضی
116
+ "مشتق چیست؟": "مشتق نرخ تغییر یک تابع نسبت به متغیر مستقل آن است.",
117
+ "انتگرال چیست؟": "انتگرال عکس عمل مشتق‌گیری و محاسبه مساحت زیر منحنی است.",
118
+ "ماتریس چیست؟": "ماتریس آرایه‌ای مستطیلی از اعداد یا عبارات است.",
119
+ "احتمال چیست؟": "احتمال اندازه‌گیری عدم قطعیت در وقوع یک رویداد است.",
120
+
121
+ # فیزیک
122
+ "نیوتن چه قوانینی کشف کرد؟": "نیوتن سه قانون حرکت و قانون جاذبه عمومی را کشف کرد.",
123
+ "نور چیست؟": "نور نوعی تابش الکترومغناطیسی است که چشم انسان آن را می‌بیند.",
124
+ "الکتریسیته چیست؟": "الکتریسیته جریان الکترون‌ها در یک هادی است.",
125
+
126
+ # شیمی
127
+ "اتم چیست؟": "اتم کوچک‌ترین واحد ماده است که خواص عنصر را حفظ می‌کند.",
128
+ "مولکول چیست؟": "مولکول گروهی از اتم‌هاست که به یکدیگر متصل شده‌اند.",
129
+ "واکنش شیمیایی چیست؟": "واکنش شیمیایی فرآیندی است که در آن مواد تبدیل به مواد جدید می‌شوند.",
130
+
131
+ # ==== بخش 4: سوالات کاربردی و عملی ====
132
+
133
+ # کار و شغل
134
+ "چگونه رزومه بنویسم؟": "رزومه باید شامل اطلاعات شخصی، تحصیلات، تجربیات و مهارت‌ها باشد.",
135
+ "چگونه برای مصاحبه آماده شوم؟": "درباره شرکت تحقیق کنید، سوالات محتمل را تمرین کنید و لباس مناسب بپوشید.",
136
+ "چگونه مهارت‌هایم را بهبود دهم؟": "با مطالعه، تمرین، شرکت در دوره‌ها و تجربه عملی می‌توانید مهارت‌ها را بهبود دهید.",
137
+
138
+ # پول و بانکداری
139
+ "چگونه حساب بانکی باز کنم؟": "با مراجعه به بانک، ارائه مدارک شناسایی و تکمیل فرم می‌توانید حساب باز کنید.",
140
+ "کارت اعتباری چیست؟": "کارت اعتباری وسیله‌ای برای خرید با امکان پرداخت بعدی است.",
141
+ "چگونه پس‌انداز کنم؟": "با کنار گذاشتن بخشی از درآمد و سرمایه‌گذاری هوشمندانه می‌توانید پس‌انداز کنید.",
142
+
143
+ # خانه و زندگی
144
+ "چگونه خانه اجاره کنم؟": "از طریق آگهی‌ها، مشاوران املاک یا سایت‌های آنلاین می‌توانید خانه اجاره کنید.",
145
+ "چگونه قب��‌ها را پرداخت کنم؟": "از طریق بانک، اینترنت، تلفن یا دستگاه‌های خودپرداز می‌توانید قبض پرداخت کنید.",
146
+ "چگونه خانه تمیز کنم؟": "با استفاده از مواد تمیز کننده مناسب و ابزار مناسب می‌توانید خانه را تمیز کنید.",
147
+
148
+ # ==== بخش 5: سوالات کمکی و راهنمایی ====
149
+
150
+ # درخواست کمک
151
+ "کمک می‌خوام": "البته! چه کمکی می‌تونم بکنم؟",
152
+ "میشه کمکم کنی؟": "حتماً! چه سوالی دارید؟",
153
+ "نمی‌دونم چی کار کنم": "نگران نباشید! بگید چه مشکلی دارید تا بتونم راهنمایی کنم.",
154
+ "سردرگمم": "درک می‌کنم. اگر سوال خود را دقیق‌تر بگید، بهتر می‌تونم کمک کنم.",
155
+
156
+ # سوالات نامشخص
157
+ "چی؟": "لطفاً سوال خود را کامل‌تر بپرسید تا بتونم پاسخ مناسب بدم.",
158
+ "چجوری؟": "برای راهنمایی بهتر، لطفاً موضوع مورد نظر را دقیق‌تر بیان کنید.",
159
+ "کجا؟": "لطفاً مشخص کنید که درباره کجا سوال دارید.",
160
+ "چرا؟": "برای توضیح دلایل، لطفاً موضوع خاصی را مطرح کنید.",
161
+
162
+ # تایید و رد
163
+ "بله": "خوب! چه کمک دیگری می‌تونم بکنم؟",
164
+ "نه": "باشه! اگر سوال دیگری دارید، بپرسید.",
165
+ "درسته": "خوشحالم که مفید بود! چیز دیگری نیاز دارید؟",
166
+ "اشتباهه": "ببخشید! می‌تونید دوباره سوال کنید تا بهتر پاسخ بدم؟",
167
+
168
+ # ==== بخش 6: سوالات فرهنگی و اجتماعی ====
169
+
170
+ # اداب و رسوم
171
+ "چگونه با بزرگترها رفتار کنم؟": "با احترام، ادب و شنیدن حرف‌هایشان رفتار کنید.",
172
+ "آداب غذا خوردن چیست؟": "با دست راست، آرام و با احترام غذا بخورید.",
173
+ "چگونه میهمان پذیرایی کنم؟": "با گرمی، مهربانی و ارائه بهترین چیزها از میهمان پذیرایی کنید.",
174
+
175
+ # روابط اجتماعی
176
+ "چگونه دوست پیدا کنم؟": "با شرکت در فعالیت‌های اجتماعی، باشگاه‌ها و گروه‌های علاقه‌مند می‌توانید دوست پیدا کنید.",
177
+ "چگونه رابطه خوب داشته باشم؟": "با صداقت، احترام، گوش دادن و درک متقابل می‌توانید رابطه خوب داشته باشید.",
178
+ "چگونه با تعارف برخورد کنم؟": "تعارف بخشی از فرهنگ ایرانی است، اما باید متعادل و منطقی باشد.",
179
+ }
180
+
181
+ # تبدیل به فرمت مناسب برای fine-tuning
182
+ def convert_to_training_format(dataset):
183
+ """
184
+ تبدیل دیتاست به فرمت مناسب برای fine-tuning
185
+ """
186
+ training_data = []
187
+
188
+ for question, answer in dataset.items():
189
+ # فرمت JSON برای fine-tuning
190
+ training_example = {
191
+ "instruction": "به سوال زیر به فارسی پاسخ دهید:",
192
+ "input": question,
193
+ "output": answer
194
+ }
195
+ training_data.append(training_example)
196
+
197
+ return training_data
198
+
199
+ # تولید فایل‌های مختلف
200
+ def generate_files():
201
+ """
202
+ تولید فایل‌های مختلف برای استفاده
203
+ """
204
+
205
+ # 1. فایل JSON برای fine-tuning
206
+ import json
207
+ training_data = convert_to_training_format(persian_student_dataset)
208
+
209
+ with open('persian_student_dataset.json', 'w', encoding='utf-8') as f:
210
+ json.dump(training_data, f, ensure_ascii=False, indent=2)
211
+
212
+ # 2. فایل CSV برای استفاده ساده
213
+ import csv
214
+
215
+ with open('persian_student_dataset.csv', 'w', newline='', encoding='utf-8') as f:
216
+ writer = csv.writer(f)
217
+ writer.writerow(['question', 'answer'])
218
+ for question, answer in persian_student_dataset.items():
219
+ writer.writerow([question, answer])
220
+
221
+ # 3. فایل متنی برای مرور
222
+ with open('persian_student_dataset.txt', 'w', encoding='utf-8') as f:
223
+ for question, answer in persian_student_dataset.items():
224
+ f.write(f"سوال: {question}\n")
225
+ f.write(f"پاسخ: {answer}\n")
226
+ f.write("-" * 50 + "\n")
227
+
228
+ # اجرای تولید فایل‌ها
229
+ if __name__ == "__main__":
230
+ generate_files()
231
+ print(f"دیتاست شامل {len(persian_student_dataset)} سوال و پاسخ تولید شد.")
232
+ print("فایل‌های زیر تولید شدند:")
233
+ print("- persian_student_dataset.json (برای fine-tuning)")
234
+ print("- persian_student_dataset.csv (برای استفاده عمومی)")
235
+ print("- persian_student_dataset.txt (برای مرور)")
236
+
237
+ # نمایش آمار
238
+ categories = {
239
+ "سوالات دانشگاهی": 0,
240
+ "سوالات عمومی": 0,
241
+ "سوالات تخصصی": 0,
242
+ "سوالات کاربردی": 0,
243
+ "سوالات کمکی": 0,
244
+ "سوالات فرهنگی": 0
245
+ }
246
+
247
+ print(f"\n📊 آمار کلی:")
248
+ print(f"تعداد کل سوال و پاسخ: {len(persian_student_dataset)}")
249
+ print(f"متوسط طول سوال: {sum(len(q) for q in persian_student_dataset.keys()) // len(persian_student_dataset)} کاراکتر")
250
+ print(f"متوسط طول پاسخ: {sum(len(a) for a in persian_student_dataset.values()) // len(persian_student_dataset)} کاراکتر")