commit 2c66a42a7b34fec9c4b4371e26bcf74dd922f9bd Author: s.nazari Date: Sun Dec 14 15:26:02 2025 +0330 [initial commit] data extraction with example data folder diff --git a/data_example/cleaned_data_docx/12-5شخصیت های واقع گرایانه فیلم extracted.json b/data_example/cleaned_data_docx/12-5شخصیت های واقع گرایانه فیلم extracted.json new file mode 100644 index 0000000..0948cb1 --- /dev/null +++ b/data_example/cleaned_data_docx/12-5شخصیت های واقع گرایانه فیلم extracted.json @@ -0,0 +1,102 @@ +{ + "document_info": { + "title": "", + "source_file": "c:\\Users\\HP\\Desktop\\extract_data\\data\\12-5شخصیت های واقع گرایانه فیلم.docx", + "extraction_date": "2025-12-09T14:04:02.316571", + "total_chapters": 5 + }, + "chapters": [ + { + "chapter_title": "Introduction", + "chapter_metadata": { + "generated": true + }, + "chapter_number": 1, + "chapter_content": [ + { + "text": "منبع : مجله انستیتیوی", + "metadata": { + "content_type": "merged_paragraph" + }, + "element_type": "content" + } + ] + }, + { + "chapter_title": "شخصیت های واقع گرایانه فیلم های جدید ایرانی", + "chapter_metadata": { + "tag": "p", + "classes": [], + "id": "", + "content_type": "heading" + }, + "chapter_number": 2, + "chapter_content": [ + { + "text": "شی کی یانگ (Shi ke yang) کانگ سی چی (Kang si qi) [1]\nچکیده : فیلم جدید ایرانی که در صنعت فیلم سازی بین المللی بسیار مشهور است، الگویی از فیلم ملی است و شخصیت واقع گرایانه بی نظیر آن اساسی ترین ویژگی فیلم جدید ایرانی است. شخصیت واقع گرایانه در فیلم های جدید ایران عمدتاً از سه جنبه منعکس می شود: نخست انتخاب مضامین است، از مضامین کودکان تا مضامین زنان تا موضوعات طبقه متوسط، فیلمهای جدید ایرانی همیشه دور از واقعیت واقعی جامعه ایرانی به توصیه می پردازند؛ ثانیا، در مورد تاکتیک روایی، فیلم جدید ایران روشی ساده را دنبال می کند، و تنظیمات تعلیق غیر دراماتیک را اتخاذ می کند، و آن را از طریق زبان صوتی و تصویری آرام و عینی ارائه می کند؛ ثالثا، در مورد بیان موضوع، فیلم جدید ایران واقعیت گرایانه ی خود را از سه سطح مورد بررسی قرار می دهد: مراقبت انسانی برای افراد، بحث درباره معضلات اخلاقی در درگیری های سنتی و مدرن و تحقیق در مورد سوال نهایی بقا و مرگ.\nبه عنوان الگویی از فیلمهای ملی و فیلمهای جهان سوم، فیلمهای جدید ایران در مسیر خلاقانه ای قرار گرفته اند که ملیت را با جهان بینی، جهانی سازی و بومی سازی با مشاهده واقعیت بی نظیر و احساسات اومانیستی خود در هم می آمیزند. این امر روشنگری و مرجع مهمی برای فیلم های چینی است که هم اکنون در دوره گذار هستند.\nفیلم جدید ایرانی اصطلاحی کلی برای فیلمهای ملی ایران پس از انقلاب اسلامی در سال 1979 است. بعد از سال 1979، فیلم های ایرانی دستخوش تغییرات اساسی در موضوع، سبک و مفهوم فرهنگی شده اند و بارها و بارها جوایز مهمی در سطح بین المللی کسب کرده اند.\nپس از انقلاب اسلامی، ایران سیستم وحدت سیاست و دین ایجاد کرد، قوانین و مقررات دینی در همه ابعاد زندگی فرهنگی آن نفوذ کرده است، و همچنین به طور مداوم و عمیق در ساخت فیلم ایرانی تأثیر گذاشته است. از آن زمان تاکنون جامعه ایران دستخوش تغییرات اساسی شده است که هر کدام تأثیر مستقیم و عمیقی در ساخت فیلم دارند. بنابراین، توسعه فیلم های جدید ایرانی را می توان به سه مرحله تقسیم کرد: (1) قبل و بعد از جنگ ایران و عراق ، آثار نمایدنگی شامل « خانه دوست من کجا است»، «زیر درخت زیتون» است. (2) در هشت سال دولت محمد خاتمی قبل از سال 1997 به عنوان رئیس جمهوری نسبتاً ملایم و روشنفکر، فضای سیاسی و فرهنگی ایران در دوره تصدی خود نسبتاً سست بود. آثار نمایندگی در این دوره شامل «طعم گیلاس»، «کندهار»، «ساعت 5 بعد از ظهر»؛ (3) پس از انتخاب محمود احمدی نژاد به عنوان رئیس جمهوری محافظه کار در سال 2005، اوضاع سیاسی و محیط فرهنگی ایران محافظه کارتر و خشن تر شده است. آثار نمایندگی فیلم در این دوره شامل «نادر و سمین : جدایی»، «فروشنده»، «تاکسی». در مراحل مختلف تاریخی، اگرچه فضای سیاسی و فرهنگی تغییر کرده است، اما فیلم های ایرانی همیشه با محدودیت های سخت روبرو بوده اند. با این حال، سازندگان فیلم های جدید ایرانی در این اکتشاف دشوار به نتایج شکوهمند رسیده اند: کارگردانان مشهور بین المللی مانند عباس، پناهی، مجیدی، سمیرا ماکمباف و فرهادی ظاهر شده اند؛ و تقریباً همه جوایز مهم جشنواره بین المللی فیلم برنده شده اند.\nموفقیت فیلم جدید ایران تا حد زیادی به دلیل شخصیت واقع گرایانه آن است که عمیقاً در خاک فرهنگ خودش ریشه گرفته و عمیقاً نگران شرایط واقعی اجتماعی است. این شخصیت واقع گرایانه به طور مداوم در فیلم های جدید ایران در دوره های مختلف ظاهر می شود، که تأثیر عمیقی در خلق آن دارد و به یک تجربه مشترک برای فیلم ملی و ساخت فیلم جهان سوم تبدیل شده است که می تواند به عنوان مرجع استفاده شود.", + "metadata": { + "content_type": "merged_paragraph" + }, + "element_type": "content" + } + ] + }, + { + "chapter_title": "الف : سطح موضوع: تجسم واقعی از آسان به مشکل", + "chapter_metadata": { + "tag": "p", + "classes": [], + "id": "", + "content_type": "heading" + }, + "chapter_number": 3, + "chapter_content": [ + { + "text": "واقعیت اجتماعی مضمون ابدی فیلمهای جدید ایران است و در ساخت فیلم دوره های مختلف، نویسندگان فیلم های جدید ایران همواره اصرار داشته اند که با دیدگاه هنری بی نظیر و مراقبت انسان دوستانه به فکر وضع موجود اجتماعی واقعی ایران باشند. اگرچه آنها با محدودیتهای فشارهای سیاسی و مذهبی روبرو هستند، اما هوشمندانه چشم انداز موضوعی را پیدا کردند که به بهترین وجه منعکس کننده مشکلات واقعی و فرهنگ ملی در فضای بیان محدود است.\nداستان های کودکان مظهر اصلی فیلمهای جدید اوایل ایرانی و نیز نشانه اصلی فیلمهای جدید ایرانی است، بسیاری از شاهکارهای مهم از جمله « خانه دوست من کجا است»، «کفش های کوچک»، «بادکنک سفید» و غیره بر این اساس استوار است. بیشتر فیلم های کودکان مورد تحسین قرار گرفته اند که این امر تا حد زیادی به درک اولیه مردم از فیلمهای جدید ایران کمک کرده است و همچنین عباس، پناهی، مجیدی و سایر کارگردانان مشهور فیلم را به صحنه بین المللی رسانده است. موضوعات کودک نه تنها می تواند به طور مؤثر از خطرات دقیق مقامات ایرانی دوری کند، بلکه مفهوم انسان گرایی را نیز از منظری ناب و ایده آل تر جلوه می دهد.\nبا ظهور فیلمهای جدید ایرانی در جهان و تغییر در خود جامعه ایرانی، پس از قرن جدید، به تدریج شروع به بررسی موضوعات جدید در مورد این موضوع کرد. علاوه بر موضوعات کودک، موضوعات زن به یک زمینه مهم خلاقیت دیگر تبدیل شده است. در ایران، زنان مدتهاست که تحت ستم مضاعف دینداری و مردسالاری قرار دارند و نمی توانند سرنوشت خود را کنترل کنند.؟؟؟ در مقررات مربوط به فیلم در ایران به صراحت آمده است که قرار گرفتن در معرض قسمت های بدن زنان غیر از دست و صورت ممنوع باشد و هیچ گونه تماس جسمی با جنس مخالف در فیلم مجاز نیست. در همین زمان، یک سری مقررات روشن در مورد لباس و رفتار بازیگران آقایان و خانمان وجود دارد. در تقابل تند با سیاست پر فشار مقامات ایران، آشفتگی حقوق و منافع زنان در جامعه ایران است: پس از شروع جنگ ایران و عراق، تعداد زیادی از مردان برای شرکت در جنگ به جبهه اعزام شدند، نیروی کار اجتماعی ایران به شدت از دست رفت و بسیاری از زنان در تولید اجتماعی بازگشتند و وضعیت اقتصادی استقلال به دست آوردند و پایه و اساس وضعیت سیاسی خود را به دست گرفتند. از آن زمان، بحث در مورد حقوق زنان ادامه داشته است و جنبش اصلاحی قانون اساسی که در سال 2009 آغاز شد، مبارزه برای حقوق زنان در جامعه ایران را به اوج سوق داد. بین روند رو به رشد اندیشه اجتماعی و سیاست های اجباری مقامات، سازندگان فیلم های جدید ایران هوشمندانه روشی نسبتاً ملایم و مبهم را برای بیان مسائل زنان انتخاب کرده اند. فیلم های که در این جنبه نمایندگی می کنند شامل «حوا»، «سکس و فلسفه»، «پشت چادر» و غیره. است\nاضطراب طبقه متوسط موضوعی است که فیلمهای جدید ایران در سالهای اخیر به آن توجه داشته اند. چندین اثر مهم از جمله «چهارشنبه سوری»، «نادر و سمین: جدایی»، «فروشنده» و غیره. در مقایسه با فیلمهای جدید قبلی ایرانی، که به مراقبت از سطح پایین توجه می کنند، اضطراب طبقه متوسط که در سالهای اخیر بر آن تأکید شده است، راهی برای بازتاب بهتر اسطوره های سازندگان در مورد آینده و سرنوشت ایران در روند جهانی سازی است. این موضوع عمدتاً به روایت زندگی ازدواج طبقه متوسط می پردازد و سنت های سنگین فرهنگی ایرانیان در جامعه مدرن را نشان می دهد. از این فیلم ها می توان دریافت که سازندگان فیلمهای جدید ایران تأملات دیالکتیکی عمیق تری نسبت به واقعیت اجتماعی ایران داشته اند. درک آنها از رابطه بین سنت و مدرنیته از بُعد تحسین و نکوهش فراتر رفته است ، اما در عوض، یک چشم انداز بازتر و بردبارتر دارد تا واقعاً آشفتگی مدرنیته جامعه ایران را نشان دهد.\nاز منظر محدود مضامین کودکان تا بحث مستقیم در مورد موضوعات زنان، تا بیان طبقه متوسط از سردرگمی مدرنیته، فیلم جدید ایران در انتخاب موضوع، فرایند توسعه ای از سطح به عمیق، از بیرون به درون را پشت سر گداشته است. همچنان منهیاب مختلفی را درهم شکست و به اوضاع واقع جامعه به طور عمیق مشاهده کرده است.", + "metadata": { + "content_type": "merged_paragraph" + }, + "element_type": "content" + } + ] + }, + { + "chapter_title": "ب : سطح روایت: شکل دهی چند بُعدی واقع گرایانه", + "chapter_metadata": { + "tag": "p", + "classes": [], + "id": "", + "content_type": "heading" + }, + "chapter_number": 4, + "chapter_content": [ + { + "text": "به عنوان الگویی از سینمای ملی، فیلمهای جدید ایران در سبک روایت کلی خود سازگارتر هستند: آنها ادراک های سمعی و بصری هیجان انگیز، صحنه های بزرگ و داستان های پیچیده را دنبال نمی کنند، ریتم روایت کُند است و زبان شنوایی و تصویری ساده است. اما ریشه در وضع موجود جامعه واقعی دارد و این روحیه و شجاعت را دارد که با معضل زندگی روبرو شود.\nاز نظر زمان روایت، فیلم های جدید ایرانی اساساً حالت روایی خطی را اتخاذ می کنند و داستان فیلم به طور جدی از زمان فیزیکی این رویداد پیروی می کند. بیشتر داستان ها در یک دوره زمانی کوتاه اتفاق می افتند، معمولاً بیشتر از یک سال، و بسیاری از داستانها حتی در یک یا چند روز تمرکزمی کنند. فیلم های نماینده ی این زمینه شامل: «طعم گیلاس»، «شاهزاده خانم شیرین»، «زیر درخت زیتون»، «کپی اصلی» و غیره است.\nساخت و ساز تعلیق غیر دراماتیک یکی دیگر از ویژگی های برجسته روایت فیلم جدید ایران است. تعلیق برای روایت فیلم از اهمیت بالایی برخوردار است و این یک عنصر بسیار مهم برای ارتقاء پیشرفت طرح فیلم، تغییر رابطه بین شخصیت ها و بسیج مشارکت مخاطبان است. فیلمهای جدید ایرانی برای تعلیق برخی تناقضات که در روایات کلاسیک مهم هستند استفاده می شوند و عجله ای برای گسترش یا پاسخ دادن به آنها ندارند، به عنوان مثال، چرا شخصیت بادی در فیلم «طعم گیلاس» خودکشی می کند، چرا در فیلم «نادر و شیرین: جدایی» خانم بازیگر عمده با دخترش باید کشور خود را ترک می کنند و غیره. در مواجهه با این نوع تنش شگرف، سازندگان فیلمهای جدید ایران، خودداری و آرامش شدید را حفظ کرده اند، و به سادگی منطق زندگی روزمره را در سرنخ روایت کلی جاسازی کرده اند و به آرامی این موضوعات را در روایت ساده تحلیل کرده اند.\nپذیرش عینی و آرام زبان سمعی و بصری ویژگی بارز فیلم جدید ایران در روایت ویدیویی است. توسعه آن عمیقا تحت تأثیر فیلمهای نئو رئالیسم ایتالیایی است.این امر به ثبت صادقانه فیلم از واقعیت اهمیت می دهد، اصالت زندگی را دنبال می کند و در تلاش است تا زیبایی دست نخورده را خلق کند. پشت سبک یکپارچه زبان سمعی و بصری مفهوم هنری است که توسط سازندگان فیلمهای جدید ایران ساخته و شناخته شده است ، یعنی زندگی واقعی معنای و علاقه بی نهایت خود را دارد. آنچه فیلم جدید ایران به دنبال آن است واقعیت احساسات است نه واقعیت شکلی. بیان کامل واقعیت، پیگیری مداوم فیلمهای جدید ایرانی است و برای دستیابی به این بیان هنری، سازندگان فیلم های جدید ایرانی تلاش می کنند تا واقعیت بی نهایت نزدیک به زندگی واقعی را در ابعاد مختلف روایت فیلم شکل دهند.", + "metadata": { + "content_type": "merged_paragraph" + }, + "element_type": "content" + } + ] + }, + { + "chapter_title": "پ : سطح موضوع: مراقبت واقع گرایانه عمیق", + "chapter_metadata": { + "tag": "p", + "classes": [], + "id": "", + "content_type": "heading" + }, + "chapter_number": 5, + "chapter_content": [ + { + "text": "روایات آثار فیلم برای بیان موضوع است و تصاویر ساده فیلم جدید ایرانی نشانگر مراقبت عمیق واقع گرایانه سازندگان است. ویژگی های مراقبت واقع گرایانه از این فیلم جدید ایرانی را می توان به سه سطح تقسیم کرد:\nموضوع سطح اول ، مراقبت از زندگی عاطفی و افراد عادی است.\nاز نظر سازندگان فیلم های جدید ایرانی، بقای انسان واقعیتی است که سزاوار توجه و توجه است. بنابراین، فیلم جدید ایرانی بیشتر به زندگی عاطفی و انضمامی توجه دارد و این نوع نگرانی را در مورد جوهره خود در این توجه منعکس می کند. اکثر کارگردانان ایرانی حقیقت، مهربانی و زیبایی را مبتنی بر انسان دوستانه و وجدان انسانی نشان می دهند، ابراز مراقبت از کودکان، همدلی و دلسوزی برای گروه های آسیب پذیر، شکایت از جنگ، شلاق زدن به شر، مناجات و تمجید زندگی، بیان انگیزه نیکی در قلب مردم، و کشف نکات برجسته بشریت. آنها یا با احساسات بشردوستانه، همدردی و مراقبت از مردم در پایین و گروه های آسیب پذیر را نشان می دهند؛ یا درگیری و انتخاب بین محبت اخلاقی و اعتقادات مذهبی را از طریق کارهای خانوادگی نشان می دهند؛ یا فکر در مورد ارزش نهایی زندگی را نشان دهید. بزرگترین ویژگی فیلم جدید ایران توجه آن به مردم است و مفهوم اومانیسم پیشینه محکم رئالیسم آن است.\nموضوع سطح دوم، ارائه معضل اخلاقی در زمینه درگیری شدید بین سنت و مدرنیته است.\nدر روند نوسازی، کل جامعه ایران بیش از پیش احساس کرده است که سنت تاریخی و فرهنگی بی نظیر ادغام سیاست و دین به تدریج در حال تبدیل شدن به نوعی قید و بند و محدودیت در راه آنهاست. درست مانند خانواده نادر در فیلم «نادر و سمین : جدایی» با انتخاب های دشوار روبرو شد: از یک طرف، آرزو به داشتن زندگی آزادتر و شادتر، از طرف دیگر، این احساس ریشه های فرهنگی است که رها کردن آنها دشوار است. فیلمهای جدید ایرانی پس از قرن جدید بر معضل اخلاقی مبارزه دردناک ایرانیان متمرکز شده اند. در فیلم «فروشنده» مجید مجیدی، این معضل اخلاقی را بیشتر ترسیم کرده است. چگونگی برخورد با رابطه بین سنت و مدرنیته موضوعی اساسی است که ایران در حال حاضر در نظر دارد و فیلم جدید ایرانی با محوریت بحث معضل اخلاقی در زندگی مردم عادی متمرکز است تا واقعیت جامعه ایرانی را بازتاب دهد.\nموضوع سطح سوم، تحقیق نهایی در مورد زندگی و مرگ است.\nاگرچه فیلم های ایرانی به جزئیات خاص و لطیف زندگی و توصیف واقعیت زندگی توجه دارند، اما هنوز هم جستجوی مداوم برای متعالیه زندگی هستند. نماینده ترین اثر بدون شک «طعم گیلاس» عباس است. شخصیت اصلی فیلم آقای بادی، به دلایلی تصمیم به خودکشی گرفت. کارگردان به دلایلی که چرا او تصمیم به مرگ گرفت، تمرکز نکرد، بلکه با جزئیات نشان داد که چگونه او از پیگیری مرگ به سمت تحقق زندگی رفت. سؤالات مربوط به زندگی و مرگ نه تنها در بسیاری از فیلم های عباس پیدا می شود، بلکه اغلب به منبع مهمی در خلق هنری وی تبدیل می شود.\nعلاوه بر عباس، در آثار بسیاری از کارگردانان نماینده در فیلم های جدید ایران، مانند پناهی، مجیدی و فرهادی نیز می توانند سؤالات مربوط به زندگی و مرگ را ببینند. فیلم جدید ایرانی مبتنی بر زندگی عادی مردم عادی، در روایت ساده واقع گرایانه، همیشه جستجوی ارزش و تعالی جاودانه وجود دارد، که باعث می شود مضمون روایت آن مستقیماً به اوج فلسفه برسد و از علاقه زیبایی شناسی بالایی برخوردار است.\nمحتوای فیلم جدید فعلی ایرانی بیشتر با ادعای معروف محقق آمریکایی فر جیمز مطابقت دارد: \" تمام متون جهان سوم تمثیلی و خاص هستند: ما باید این متون را به عنوان تمثیل ملی بخوانیم. متون جهان سوم، حتی متونی که به نظر می رسد مربوط به افراد هستند، همیشه نوعی سیاست را در قالب داستانهای ملی طرح ریزی می کنند: داستانهای مربوط به سرنوشت شخصی شامل افسانه های فرهنگ و جامعه عامه پسند جهان سوم است\" [2] . در این دوره از فیلمهای جهانی تحت سلطه تمدن غربی، فیلم های هالیوود تقریبا بر بازار جهانی فیلم حکم هستند، آنها نه تنها به شدت ساختار صنعتی سایر کشورها و مناطق را تغییر می دهند، بلکه در ایجاد فیلم و زیبایی شناسی آن نیز مؤثر هستند. با این حال، در این شرایط، فیلم های جدید ایرانی هنوز شخصیت منحصر به فرد خود را حفظ می کنند، همیشه از شخصیت رئالیستی حمایت می کنند و همچنان به گسترش و توسعه سبک و مفهوم خود ادامه می دهند. جستجوی فیلم جدید ایرانی برای شخصیت واقع گرایانه، نه تنها به آن اجازه داده است تا با موفقیت در سنت های زیبایی شناسی خود پایبند باشد، بلکه به یک روش مؤثر برای زنده ماندن در موج فیلم های جهانی شده نیز پرداخته است. این تجربیات موفق بدون شک ارزش یادگیری و آموختن از بسیاری از کشورها را دارد.\n- شی کی یانگ : پروفسور دانشکده هنر و رسانه دانشگاه تربیت معلم پکن.\nکانگ سی چی : دانشجوی دکتری دانشکده هنر و رسانه دانشگاه تربیت معلم پکن. ↑\n- [آمریكا] فر جیمز: \"ادبیات جهان سوم در عصر سرمایه داری فراملی\"، به «تاریخگرایی جدید و نقد ادبی» تالیف شده توسط ژانگ جینگ یوان ، پكن: انتشارات دانشگاه پكن ، چاپ 1993 ، صفحه 235 ↑", + "metadata": { + "content_type": "merged_paragraph" + }, + "element_type": "content" + } + ] + } + ] +} \ No newline at end of file diff --git a/data_example/cleaned_data_pdf/اعیاد مخصوص زنان18-1extracted.txt b/data_example/cleaned_data_pdf/اعیاد مخصوص زنان18-1extracted.txt new file mode 100644 index 0000000..fd4d05e --- /dev/null +++ b/data_example/cleaned_data_pdf/اعیاد مخصوص زنان18-1extracted.txt @@ -0,0 +1,78 @@ + ﺍﻋﯿﺎﺩ ﻣﺨﺼﻮﺹ ﺯﻧﺎﻥ + ﺩﺭ ﺍﻗﻠﯿﺘﻬﺎﯼ ﻣﻠﯽ ﭼﯿﻦ , ﺍﻋﯿﺎﺩ ﻣﺘﻨﻮﻋﯽ ﻭﺟﻮﺩ ﺩﺍﺭﺩ ﮐﻪ ﺩﺭ ﺁﻥ ﺯﯾﺒﺎﺋﯽ ﻭ ﺷﻌﻮﺭ ﺯﻧﺎﻥ +ﺭﺍ ﺑﺨﻮﺑﯽ ﺑﻪ ﻧﻤﺎﯾﺶ ﻣﯽ ﮔﺬﺍﺭﺩ. +ﻋﯿﺪ ﺯﻧﺎﻥ ﻣﻠﺖ ﻫﻮﻧﮓ ﺩﻭﻧﮓ + . ﻫﺮ ﺳﺎﻝ ﺭﻭﺯ ﻫﺸﺘﻢ ﺍﺯ ﻣﺎﻩ ﭼﻬﺎﺭﻡ ﻗﻤﺮﯼ ﻋﯿﺪ ﺯﻧﺎﻥ ﻣﻠﺖ ﻫﻮﻧﮓ ﺩﻭﻧﮓ ﺍﺳﺖ +ﻣﯽ ﮔﻮﯾﻨﺪ ﮐﻪ ﺍﯾﻦ ﻋﯿﺪ ﺍﺯ ﺧﺎﻧﻮﺍﺩﻩ ﯾﺎﻧﮓ ﻗﻮﻡ ﺩﻭﻧﮓ ﺳﺮﭼﺸﻤﻪ ﮔﺮﻓﺘﻪ ﺍﺳﺖ . ﺩﺭ ﺯﻣﺎﻥ +( ﻗﻬﺮﻣﺎﻥ ﺯﻧﺎﻥ ﻣﻠﺖ ﺩﻭﻧﮓ , ﺑﻪ ﻋﻠﺖ ﺷﮑﺴﺖ Yang bamei) " ﻗﺪﯾﻢ " ﯾﺎﻧﮓ ﺑﺎﻣﺌﯽ +ﻗﯿﺎﻡ ﮐﺸﺎﻭﺭﺯﺍﻥ ﮐﻪ ﺗﺤﺖ ﺭﻫﺒﺮﯼ ﺍﻭ ﺑﻮﺩ ﺯﻧﺪﺍﻧﯽ ﺷﺪ. ﺭﻭﺯﯼ ﯾﺎﻧﮓ ﺑﺎﻣﺌﯽ ﺑﺮﺍﯼ ﺩﯾﺪﺍﺭ +ﺑﺎ ﺑﺮﺍﺩﺭ ﺧﻮﺩ ﺑﻪ ﺯﻧﺪﺍﻥ ﺭﻓﺖ . ﺍﻭ ﺩﯾﺪ ﭼﻬﺮﻩ ﺑﺮﺍﺩﺭ ﺑﺴﯿﺎﺭ ﺭﻧﮓ ﭘﺮﯾﺪﻩ ﺍﺳﺖ. ﺍﺯ ﺍﻭ +ﭘﺮﺳﯿﺪ ﻫﻨﻮﺯ ﺟﺮﺃﺕ ﻭ ﺷﺠﺎﻋﺖ ﺩﺭ ﺗﻮ ﺑﺎﻗﯽ ﻣﺎﻧﺪﻩ ﯾﺎ ﺧﯿﺮ؟ ﻭﯼ ﭘﺎﺳﺦ ﺩﺍﺩ, ﺟﺮﺃﺕ ﺩﺍﺭﻡ +ﻭﻟﯽ ﭼﻮﻥ ﺩﺭ ﺯﻧﺪﺍﻥ ﻫﯿﭻ ﻭﻗﺖ ﻏﺬﺍﯼ ﮐﺎﻓﯽ ﻧﺨﻮﺭﺩﻩ ﺍﻡ ﻫﻤﯿﺸﻪ ﺍﺣﺴﺎﺱ ﮔﺮﺳﻨﮕﯽ ﮐﺮﺩﻩ +ﺍﻡ . ﯾﺎﻧﮓ ﺑﺎﻣﺌﯽ ﭘﺲ ﺍﺯ ﺑﺮﮔﺸﺖ ﺑﻪ ﺧﺎﻧﻪ , ﺑﺎ ﺑﺮﻧﺞ ﻭ ﺳﺎﯾﺮ ﺧﻮﺭﺍﮐﯽ ﻫﺎ ﻏﺬﺍﻫﺎﯾﯽ +ﺭﺍ ﭘﺨﺖ ﻭ ﺩﺭ ﺭﻭﺯ ﻫﺸﺘﻢ ﺍﺯ ﻣﺎﻩ ﭼﻬﺎﺭﻡ ﻗﻤﺮﯼ ﺁﻥ ﺭﺍ ﺑﺮﺍﯼ ﺑﺮﺍﺩﺭ ﺧﻮﺩ ﺑﺮﺩ. ﻭﯼ ﭘﺲ ﺍﺯ +ﺧﻮﺭﺩﻥ ﻏﺬﺍﻫﺎ, ﺷﺠﺎﻋﺖ ﻭ ﺩﻟﯿﺮﯼ ﺧﻮﺩ ﺭﺍ ﺑﺎﺯﯾﺎﻓﺖ .ﭘﺲ ﺍﺯ ﺁﻥ ﻓﻮﺭﺍ ﺳﻼﺡ ﭘﻨﻬﺎﻥ ﺷﺪﻩ +ﺧﻮﺩ ﺭﺍ ﺑﯿﺮﻭﻥ ﺁﻭﺭﺩﻧﺪ ﻭ ﺑﺎ ﻫﻤﮑﺎﺭﯼ ﻣﺮﺩﻡ ﮐﻪ ﺩﺭ ﺧﺎﺭﺝ ﺍﺯ ﺯﻧﺪﺍﻥ ﺑﻮﺩﻧﺪ , ﺍﺯ ﺯﻧﺪﺍﻥ +ﻣﺘﻮﺍﺭﯼ ﻭ ﺷﻬﺮ ﻟﯿﻮﺟﺌﻮ ﺭﺍ ﺍﺷﻐﺎﻝ ﮐﺮﺩﻧﺪ ﻭ ﺍﺯ ﺍﯾﻦ ﭘﯿﺮﻭﺯﯼ ﺍﺣﺴﺎﺱ ﺷﺎﺩﻣﺎﻧﯽ ﮐﺮﺩﻧﺪ . + ﺍﺯ ﺍﯾﻦ ﺗﺎﺭﯾﺦ ﺑﻪ ﺑﻌﺪ , ﺯﻧﺎﻥ ﻣﻠﺖ ﺩﻭﻧﮓ ﻫﺮ ﺳﺎﻝ ﺩﺭ ﺍﯾﻦ ﺭﻭﺯ ﺑﺮﺍﯼ ﺟﺸﻦ ﭘﯿﺮﻭﺯﯼ +ﺑﺮ ﻋﻠﯿﻪ ﺣﺎﮐﻤﺎﻥ ﻇﺎﻟﻢ ، ﻏﺬﺍ ﭘﺨﺘﻪ ﻭ ﺑﻪ ﺧﻮﯾﺸﺎﻭﻧﺪﺍﻥ ﻭ ﺩﻭﺳﺘﺎﻥ ﺧﻮﺩ ﺗﻮﺯﯾﻊ ﻣﯽ ﮐﻨﻨﺪ ﺗﺎ +ﺩﺭﺍﯾﻦ ﭘﯿﺮﻭﺯﯼ ﻭ ﺷﺎﺩﯼ ﺷﺮﯾﮏ ﺑﺎﺷﻨﺪ.ﺍﺯ ﺍﯾﻦ ﺭﻭ ﺍﯾﻦ ﺭﻭﺯ ﺭﺍ ﻋﯿﺪ ﺯﻧﺎﻥ ﻣﻠﺖ ﺩﻭﻧﮓ +ﻧﺎﻣﯿﺪﻩ ﺍﻧﺪ. + (Mosuo) ﻋﯿﺪ ﺧﺪﺍﯼ ﺯﻥ ﺍﻫﺎﻟﯽ ﻣﻮﺳﻮﻭ + .( ﺭﺍ ﺗﺠﺴﻤﯽ ﺍﺯ ﺧﺪﺍﯼ ﺯﻥ ﺗﻠﻘﯽ ﻣﯽ ﮐﻨﻨﺪGemu) ﺍﻫﺎﻟﯽ ﻣﻮﺳﻮﻭ , ﮐﻮﻩ ﮔﻪ ﻣﻮ + ﺳﺎﻝ ﺳﺎﺑﻘﻪ ﺩﺍﺭﺩ . ﻫﺮ ﺳﺎﻝ ﺩﺭ ۱۰۰۰ ﻗﺮﺑﺎﻧﯽ ﮐﺮﺩﻥ ﺑﺮﺍﯼ ﺧﺪﺍﯼ ﮐﻮﻩ ﮔﻪ ﻣﻮ ﺑﯿﺶ ﺍﺯ + ﻗﻤﺮﯼ ﺍﻫﺎﻟﯽ ﻣﻮﺳﻮﻭ ﺩﺭ ﺭﺍﻩ ﺧﺪﺍﯼ ﺯﻥ ﻗﺮﺑﺎﻧﯽ ﮐﺮﺩﻩ ﻭ ﺁﻥ ﺭﻭﺯ ﺭﺍ ۷ ﻣﺎﻩ۲۵ ﺭﻭﺯ +ﻋﯿﺪﯼ ﺑﺎﺷﮑﻮﻩ ﻣﯽ ﻧﺎﻣﻨﺪ. + ﺩﺭ ﺻﺒﺢ ﺍﻫﺎﻟﯽ ﻣﻮﺳﻮﻭ ﺧﻮﺩ ﺭﺍ ﺑﺮﺍﯼ ﻗﺮﺑﺎﻧﯽ ﺧﺪﺍﯼ ﺯﻥ ﺁﻣﺎﺩﻩ ﻣﯽ ﮐﻨﻨﺪ . ﻭﻗﺘﯿﮑﻪ +ﺭﺍﻫﺒﺎﻥ ﺳﻮﺍﺭ ﺑﺮﺍﺳﺐ ﺩﺭ ﺟﺎﺩﻩ ﻇﺎﻫﺮ ﻣﯽ ﺷﻮﻧﺪ , ﺍﻫﺎﻟﯽ ﻣﻮﺳﻮﻭ ﺑﺪﻧﺒﺎﻝ ﺁﻧﻬﺎ ﺑﻪ ﭘﺎﯼ +ﮐﻮﻩ ﻣﯽ ﺭﻭﻧﺪ . ﺗﻮﺩﻩ ﻫﺎﯼ ﻣﺮﺩﻡ ﻣﻮﺳﻮﻭ ﺩﺭ ﺻﺪﺍﯼ ﻗﺮﺍﺋﺖ ﮐﺘﺎﺏ ﺁﯾﯿﻦ ﺑﻮﺩﺍﺋﯽ، ﺩﺭ +ﺟﻠﻮﯼ ﻗﺮﺑﺎﻧﮕﺎﻩ ﺳﺮ ﺑﻪ ﺯﻣﯿﻦ ﻧﻬﺎﺩﻩ ﻭ ﺩﺭ ﻣﻌﺒﺪ ﺧﺪﺍﯼ ﺯﻥ ﺑﺨﻮﺭ ﺳﻮﺯﺍﻧﺪﻩ ﻭ ﺍﺷﯿﺎﺀ ﻗﺮﺑﺎﻧﯽ +ﺭﺍ ﻫﺪﯾﻪ ﻣﯽ ﮐﻨﻨﺪ . ﺳﭙﺲ ﺁﻧﻬﺎ ﺭﻭﯼ ﺯﻣﯿﻦ , ﭼﻤﻦ ﺯﺍﺭ ﻧﺸﺴﺘﻪ ﻭ ﺁﺗﺶ ﺭﺍ ﺭﻭﺷﻦ ﻣﯽ ﮐﻨﻨﺪ +ﻭ ﭼﺎﯼ ﻭ ﻏﺬﺍ ﺭﺍ ﻣﻬﯿﺎ ﻣﯽ ﮐﻨﻨﺪ . + . " ﺭﻗﺺ ﺳﯿﻤﺮﻍ " ﺗﻮﺩﻩ ﻫﺎﯼ ﻣﺮﺩﻡ ﺭﺍ ﺑﻪ ﻣﺤﯿﻂ ﺷﺎﺩﯼ ﻭ ﺧﻮﺷﺤﺎﻟﯽ ﻣﯽ ﺑﺮﺩ +ﺩﺧﺘﺮﺍﻥ ﻣﻮﺳﻮﻭ ﺑﺎ ﻟﺒﺎﺳﻬﺎﯼ ﺯﯾﺒﺎ ﻭ ﺑﺎ ﺩﺭﺩﺳﺖ ﺩﺍﺷﺘﻦ ﮔﻞ ﻫﺎ ﺩﺭ ﻣﯿﺎﻥ " ﺳﯿﻤﺮﻍ " ﻭ" +ﺷﯿﺮ" ﺭﻓﺖ ﻭ ﺁﻣﺪ ﻣﯽ ﮐﻨﻨﺪ . ﻫﻨﮕﺎﻡ ﻏﺮﻭﺏ ﺁﻓﺘﺎﺏ ﭘﺴﺮﺍﻥ ﻭ ﺩﺧﺘﺮﺍﻥ ﺩﺳﺖ ﺑﻪ ﺩﺳﺖ +ﯾﮑﺪﯾﮕﺮﺩﺍﺩﻩ ﻭ ﺑﺎ ﺁﻭﺍﺯ ﺧﻮﺍﻧﯽ , ﺑﺎ ﺷﺎﺩﯼ ﻭ ﺧﻮﺷﺤﺎﻟﯽ ﺑﻪ ﺭﻗﺺ ﻣﺸﻐﻮﻝ ﻣﯽ ﺷﻮﻧﺪ . + +.ﺍﯾﻦ ﺭﻭﺯ ﺟﺸﻦ ﮐﺎﺭﻧﺎﻭﺍﻝ ﺯﻧﺎﻥ ﻭ ﻣﺮﺩﺍﻥ ﻣﻮﺳﻮﻭ ﺍﺳﺖ + (Nu) ﻋﯿﺪ ﺯﻥ ﺁﺳﻤﺎﻧﯽ ﻣﻠﺖ ﻧﻮ + ﻋﯿﺪ ﺯﻥ ﺁﺳﻤﺎﻧﯽ ﻋﯿﺪ ﺳﻨﺘﯽ ﻣﺮﺩﻡ ﻧﻮ ﺍﺳﺖ ﻭ ﺍﯾﻦ ﻋﯿﺪ ﻫﻢ ﺑﻪ ﻧﺎﻡ ﻋﯿﺪ ﮔﻞ ﺧﻮﺍﻧﺪﻩ + +ﻣﯽ ﺷﻮﺩ ﻭ ﻣﺮﺩﻡ ﻫﺮ ﺳﺎﻝ ﺩﺭ ﺭﻭﺯ ﭘﺎﻧﺰﺩﻫﻢ ﺍﺯ ﻣﺎﻩ ﺳﻮﻡ ﻗﻤﺮﯼ ﺟﺸﻦ ﻣﯽ ﮔﯿﺮﻧﺪ. +ﻣﻠﺖ ﻧﻮ ﺩﺭ ﺁﻥ ﺭﻭﺯ ﺑﻪ ﯾﮏ ﻏﺎﺭ ﻣﯽ ﺭﻭﻧﺪ ﺗﺎ ﮔﻠﻬﺎ ﺭﺍ ﺑﻪ ﺯﻥ ﺁﺳﻤﺎﻧﯽ ﺗﻘﺪﯾﻢ ﮐﻨﻨﺪ. ﺷﺎﯾﻊ +( ﺳﯿﻢ ﻧﻘﺎﻟﻪ ﺍﯼ ﺭﺍ ﺭﻭﯼ ﺭﻭﺩﺧﺎﻧﻪ ﻧﻮ Arong) ﺑﻮﺩ ﮐﻪ ﯾﮏ ﺩﺧﺘﺮ ﺯﯾﺒﺎ ﺑﻨﺎﻡ ﺍﺭﻭﻧﮓ +( ﺳﺎﺧﺘﻪ ﻭ ﺁﺏ ﺷﯿﺮﯾﻨﯽ ﺭﺍ ﺑﺮﺍﯼ ﻣﺮﺩﻡ ﺍﯾﻦ ﻧﺎﺣﯿﻪ ﮐﺸﯿﺪ. ﺳﭙﺲ ﺍﻭ ﺑﺮﺍﯼ ﭘﺮﻫﯿﺰ ﺍﺯ Nu) + ﺍﺯﺩﻭﺍﺝ ﺑﺎ ﺳﺮﮐﺮﺩﻩ , ﻓﺮﺍﺭ ﮐﺮﺩ ﻭ ﺩﺭ ﻏﺎﺭﯼ ﭘﻨﻬﺎﻥ ﺷﺪ ﮐﻪ ﺳﭙﺲ ﺑﻪ ﯾﮏ ﻣﺠﺴﻤﻪ ﺳﻨﮕﯽ +ﺗﺒﺪﯾﻞ ﺷﺪ . ﺍﯾﻦ ﺍﺗﻔﺎﻕ ﺩﺭ ﻫﻤﺎﻥ ﺭﻭﺯ ﭘﺎﻧﺰﺩﻫﻢ ﺍﺯ ﻣﺎﻩ ﺳﻮﻡ ﻗﻤﺮﯼ ﺍﻓﺘﺎﺩﻩ ﺍﺳﺖ . ﻣﺮﺩﻡ +ﻣﻠﺖ ﻧﻮ ﺑﺮﺍﯼ ﯾﺎﺩﺑﻮﺩ ﺍﯾﻦ ﺩﺧﺘﺮ ﻋﺎﻗﻞ ﻭ ﺗﻮﺍﻧﺎ ﻭ ﻧﯿﺮﻭﻣﻨﺪ ﻫﺮﺳﺎﻝ ﺩﺭ ﺍﯾﻦ ﺭﻭﺯ ﺩﺭ ﺭﺍﻩ ﺍﻭ +ﺩﺭ ﺍﯾﻦ ﺭﻭﺯ, ﺯﻧﺎﻥ ﻭ ﻣﺮﺩﺍﻥ ﻭ ﭘﯿﺮﺍﻥ ﻭ ﮐﻮﺩﮐﺎﻥ ﻫﻤﻪ ﺑﻪ ﺍﯾﻦ ﻏﺎﺭ +ﻗﺮﺑﺎﻧﯽ ﻣﯽ ﮐﻨﻨﺪ . +ﺭﻓﺘﻪ ﻭ ﺑﻪ" ﺍﺳﺘﺎﻻﮐﺘﯿﺖ "ﮐﻪ ﻧﺸﺎﻧﻪ ﺯﻥ ﺁﺳﻤﺎﻧﯽ ﺍﺳﺖ , ﮔﻞ ﺗﻘﺪﯾﻢ ﻣﯽ ﮐﻨﻨﺪ ﻭ ﺳﻼﻣﺘﯽ ﻭ +ﺧﻮﺷﺒﺨﺘﯽ ﺭﺍ ﺑﺮﺍﯼ ﯾﮑﺪﯾﮕﺮ ﺁﺭﺯﻭ ﻣﯽ ﮐﻨﻨﺪ ﻭ ﺳﭙﺲ ﺑﻪ ﻧﻮﺷﯿﺪﻥ ﻭ ﺧﻮﺭﺩﻥ ﻭ ﺷﺎﺩﯼ ﻣﯽ +ﭘﺮﺩﺍﺯﻧﺪ . ﺩﺭ ﺭﻭﺯ ﺑﻌﺪ ﻧﻤﺎﯾﺶ ﻗﺎﯾﻖ ﺭﺍﻧﯽ ﻭ ﻣﺴﺎﺑﻘﻪ ﻫﺎﯼ ﺗﯿﺮﺍﻧﺪﺍﺯﯼ ﺑﺮﮔﺰﺍﺭ ﻣﯽ ﺷﻮﺩ. + (Miao) ﻋﯿﺪ ﺧﻮﺍﻫﺮ ﻣﻠﺖ ﻣﯿﺎﺋﻮ + ﺭﻭﺯ ﻋﯿﺪ ﺧﻮﺍﻫﺮ , ﻋﯿﺪ ﺳﻨﺘﯽ۳ ﻫﺮ ﺳﺎﻝ ﺩﺭ ﺭﻭﺯ ﭘﺎﻧﺰﺩﻫﻢ ﺍﺯ ﻣﺎﻩ ﺳﻮﻡ ﻗﻤﺮﯼ ﺑﺮﺍﯼ +( ﺍﺳﺘﺎﻥ ﮔﻮﯼ ﺟﺌﻮ ﺍﺳﺖ Ching shui) ﻣﻠﺖ ﻣﯿﺎﺋﻮ ﮐﻪ ﺩﺭ ﮐﻨﺎﺭ ﺭﻭﺩﺧﺎﻧﻪ ﭼﯿﻨﮓ ﺷﻮﯼ +ﺑﺮﮔﺰﺍﺭ ﻣﯽ ﺷﻮﺩ. ﺍﮐﻨﻮﻥ ﺍﯾﻦ ﻋﯿﺪ ﺗﻨﻬﺎ ﻋﯿﺪ ﺯﻧﺎﻥ ﻣﻠﺖ ﻣﯿﺎﺋﻮ ﻧﺒﻮﺩﻩ , ﺑﻠﮑﻪ ﻋﯿﺪ ﻣﺸﺘﺮﮎ +ﻣﻠﺖ ﻣﯿﺎﺋﻮ ﮐﻪ ﺩﺭ ﮐﻨﺎﺭ ﺭﻭﺧﺎﻧﻪ ﭼﯿﻨﮓ ﺷﻮﯼ ﺯﻧﺪﮔﯽ ﻣﯽ ﮐﻨﻨﺪ ﻣﯽ ﺑﺎﺷﺪ. ﺩﺭ ﺭﻭﺯ ﻗﺒﻞ +ﺍﺯ ﻋﯿﺪ ﻫﺮﯾﮏ ﺍﺯ ﺩﺧﺘﺮﺍﻥ ﻣﻠﺖ ﻣﯿﺎﺋﻮ ﺑﺎﯾﺪ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ ﺭﺍ ﺩﺭﺳﺖ ﮐﺮﺩﻩ ﻭ ﮔﻞ +ﻭﺣﺸﯽ ﻭ ﻣﯿﻮﻩ ﻭﺣﺸﯽ ﺭﺍ ﺍﺯ ﮐﻮﻩ ﻓﺮﺍﻫﻢ ﮐﻨﻨﺪ . ﭘﺴﺮﯼ ﮐﻪ ﺍﺯ ﺭﺍﻩ ﺩﻭﺭ ﺁﻣﺪﻩ ﺑﺎﯾﺪ ﺑﻪ +ﻫﻤﺮﺍﻩ ﺩﺧﺘﺮ ﺩﺭ ﺟﻤﻊ ﺁﻭﺭﯼ ﮔﻞ ﻭﺣﺸﯽ ﻭ ﻣﯿﻮﻩ ﻭﺣﺸﯽ ﺑﻪ ﻭﯼ ﮐﻤﮏ ﮐﻨﺪ ﺗﺎ ﺑﺎ ﺍﯾﻦ +ﺑﻬﺎﻧﻪ ﺑﺎ ﻫﻢ ﺁﺷﻨﺎ ﺷﻮﻧﺪ . ﺑﺰﺭﮔﺘﺮﯾﻦ ﻭﯾﮋﮔﯽ ﻋﯿﺪ ﺧﻮﺍﻫﺮ، ﺧﻮﺭﺩﻥ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ +ﺍﺳﺖ . ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ ﭘﺨﺘﻪ ﺷﺪﻩ ﭼﻨﯿﻦ ﺍﺳﺖ ﮐﻪ ﻭﯼ ﮔﻞ ﻭ ﻣﯿﻮﻩ ﻭﺣﺸﯽ ﺭﺍ ﮐﻪ ﺍﺯ ﺭﻧﮓ +ﻫﺎﯼ ﻣﺨﺘﻠﻒ ﻣﯽ ﺑﺎﺷﺪ ﺟﻤﻊ ﺁﻭﺭﯼ ﮐﺰﺩﻩ ﺩﺭ ﺩﺯﻭﻥ ﺁﺏ ﺭﯾﺨﺘﻪ ﺳﭙﺲ ﺑﺮﻧﺞ ﭼﺴﺒﻨﺎﮎ ﺭﺍ +ﺑﻮﺳﯿﻠﻪ ﺁﻧﻬﺎ ﺭﻧﮓ ﮐﺮﺩﻩ ﮐﻪ ﺩﺭ ﺍﯾﻦ ﺻﻮﺭﺕ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ ﺑﻪ ﺭﻧﮓ ﻗﺮﻣﺰ , ﺯﺭﺩ +ﻭ ... ﺗﺒﺪﯾﻞ ﺷﺪﻩ ﻭ ﺭﻧﮓ ﻭ ﺑﻮﯼ ﺧﻮﺑﯽ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ .ﺩﺭ ﺭﻭﺯ ﻋﯿﺪ, ﺩﺧﺘﺮ ﻏﺬﺍﯼ +ﺧﻮﺍﻫﺮ ﺭﺍ ﺗﻮﯼ ﺩﺳﺘﻤﺎﻝ ﯾﺎ ﺳﺒﺪ ﮔﺬﺍﺷﺘﻪ ﻭ ﺑﻪ ﭘﺴﺮ ﻫﻤﺮﺍﻩ ﺧﻮﺩ ﻫﺪﯾﻪ ﻣﯽ ﺩﻫﺪ. ﺍﮔﺮ ﺩﻭ +ﭼﻮﺏ ﻗﺮﻣﺰ ﻏﺬﺍﺧﻮﺭﯼ ﺭﻭﯼ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ ﮔﺬﺍﺷﺘﻪ ﺷﺪﻩ , ﻧﺸﺎﻥ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﺩﺧﺘﺮ ﭘﺴﺮ +ﺭﺍ ﺩﻭﺳﺖ ﺩﺍﺭﺩ ﻭ ﻣﯿﻞ ﺩﺍﺭﺩ ﺑﺎ ﺍﻭ ﺩﻭﺳﺖ ﺑﺎﺷﺪ. ﺍﮔﺮ ﻓﻠﻔﻞ ﻭ ﭘﯿﺎﺯ ﺭﻭﯼ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ +ﮔﺬﺍﺷﺘﻪ ﺷﻮﺩ , ﻧﺸﺎﻧﺪﻫﻨﺪﻩ ﺍﯾﻦ ﺍﺳﺖ ﮐﻪ ﺩﺧﺘﺮ ﺁﻥ ﭘﺴﺮ ﺭﺍ ﺩﻭﺳﺖ ﻧﺪﺍﺭﺩ . ﭘﺴﺮ ﺑﺎﯾﺪ ﺁﻥ +ﺩﺧﺘﺮ ﺭﺍ ﺗﺮﮎ ﮔﻔﺘﻪ ﻭ ﺑﻪ ﺩﻧﺒﺎﻝ ﻓﺮﺩ ﺩﯾﮕﺮﯼ ﺑﺎﺷﺪ . ﺍﮔﺮ ﺑﺮﮒ ﺩﺭﺧﺖ ﻭ ﺳﻮﺯﺍﻧﺪﻥ ﮐﺎﺝ +ﺭﻭﯼ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ ﮔﺬﺍﺷﺘﻪ ﺷﻮﺩ , ﻧﺸﺎﻥ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﭘﺴﺮ ﻫﻤﭽﻨﺎﻥ ﺍﻣﯿﺪ ﻭﺍﺭ ﺑﺎﯾﺪ ﺑﺎﺷﺪ . +ﺩﺭ ﺍﯾﻦ ﺻﻮﺭﺕ , ﭘﺴﺮ ﺑﺎﯾﺪ ﺑﻪ ﺩﺧﺘﺮ ﻫﺪﯾﻪ ﺩﻫﺪ ﻭ ﺍﺭﺗﺒﺎﻁ ﺑﯿﺸﺘﺮﯼ ﺑﺎ ﻭﯼ ﺑﺮﻗﺮﺍﺭ ﮐﻨﺪ . +ﭘﺲ ﺍﺯ ﺧﻮﺩﺭﻥ ﻏﺬﺍﯼ ﺧﻮﺍﻫﺮ , ﺩﺧﺘﺮﺍﻥ ﺑﺎ ﭘﺴﺮﺍﻥ ﺑﺎ ﻫﻢ ﻧﻤﺎﯾﺶ ﮔﺎﻭﺑﺎﺯﯼ ﻭ ﺧﺮﻭﺱ +ﺑﺎﺯﯼ ﺭﺍ ﺗﻤﺎﺷﺎ ﻣﯽ ﮐﻨﻨﺪ ﻭ ﺑﺎ ﻫﻢ ﺑﻪ ﺁﻭﺍﺯﺧﻮﺍﻧﯽ ﻭ ﺭﻗﺺ ﻣﯽ ﭘﺮﺩﺍﺯﻧﺪ . ﺍﺯ ﺍﯾﻦ + + . ﺟﻬﺖ ﺍﯾﻦ ﻋﯿﺪ ﯾﮑﯽ ﺍﺯ ﺍﻋﯿﺎﺩ ﺷﺎﺩﯼ ﻭ ﺳﺮﻭﺭ ﺟﻮﺍﻧﺎﻥ ﻣﻠﺖ ﻣﯿﺎﺋﻮ ﻣﺤﺴﻮﺏ ﻣﯽ ﮔﺮﺩﺩ +۲۰۰۹ ﻣﺎﺭﺱ۶ ﻣﻨﺒﻊ : ﺭﻭﺯﻧﺎﻣﻪ ﻫﺎﯼ ﭼﯿﻦ ﺭﻭﺯ + diff --git a/data_example/raw_date/12-5شخصیت های واقع گرایانه فیلم.docx b/data_example/raw_date/12-5شخصیت های واقع گرایانه فیلم.docx new file mode 100644 index 0000000..7e6d581 Binary files /dev/null and b/data_example/raw_date/12-5شخصیت های واقع گرایانه فیلم.docx differ diff --git a/data_example/raw_date/اعیاد مخصوص زنان18-1.pdf b/data_example/raw_date/اعیاد مخصوص زنان18-1.pdf new file mode 100644 index 0000000..6d6a30a Binary files /dev/null and b/data_example/raw_date/اعیاد مخصوص زنان18-1.pdf differ diff --git a/extract_doc_files.py b/extract_doc_files.py new file mode 100644 index 0000000..f881969 --- /dev/null +++ b/extract_doc_files.py @@ -0,0 +1,298 @@ +import mammoth +from pathlib import Path +from bs4 import BeautifulSoup +import json +import re +from datetime import datetime + +ROOT_PATH = Path(__file__).parent +DATA_DIR_PATH = ROOT_PATH / "data" +CLEANED_DIR_PATH = ROOT_PATH / "cleaned_dir" + + + +def detect_headding(elem): + + if elem.name != "p": + return False + + strongs = elem.find_all(["strong", "b"]) + if len(strongs) != 1: + return False + + strong_text = strongs[0].get_text(" ", strip=True) + full_text = elem.get_text(" ", strip=True) + + return strong_text == full_text + + + +def get_element_metadata(elem): + metadata = { + "tag": elem.name, + "classes": elem.get("class", []), + "id": elem.get("id", "") + } + + if detect_headding(elem): + metadata["content_type"] = "heading" + + elif elem.name == "p" and not detect_headding(elem): + metadata["content_type"] = "paragraph" + + + return metadata + + +def merge_consecutive_paragraphs(elements): + + if not elements: + return [] + + + texts = [elem.get("text", "") for elem in elements if elem.get("text")] + if not texts: + return [] + + combined = "\n".join(texts) + merged = { + "text": combined, + "metadata": {"content_type": "merged_paragraph"}, + "element_type": "content" + } + return [merged] + + +def extract_book_structure(soup: BeautifulSoup, input_file: Path): + farsi_pattern = re.compile(r"[\u0600-\u06FF]+") + book_data = { + "document_info": { # fixed spelling + "title": "", + "source_file": str(input_file), + "extraction_date": datetime.now().isoformat(), + "total_chapters": 0 + }, + "chapters": [] + } + + + all_elem = soup.find_all(['p']) + + + filtered_elem = [ + elem for elem in all_elem + if elem.get_text(strip=True) and farsi_pattern.search(elem.get_text(strip=True)) + ] + + current_chapter = None + + for elem in filtered_elem: + text = elem.get_text(" ", strip=True) + metadata = get_element_metadata(elem) + + # If this element is detected as heading -> start new chapter + if metadata.get("content_type") == "heading": + # finalize previous chapter (merge content) if exists + if current_chapter is not None: + # merge paragraph content (only if there are elements) + if current_chapter.get("chapter_content"): + current_chapter["chapter_content"] = merge_consecutive_paragraphs( + current_chapter["chapter_content"] + ) + book_data["chapters"].append(current_chapter) + + # start a new chapter + current_chapter = { + "chapter_title": text, + "chapter_metadata": metadata, + "chapter_number": len(book_data["chapters"]) + 1, + "chapter_content": [] + } + continue + + # Otherwise it's a paragraph element + element_data = { + "text": text, + "metadata": metadata, + "element_type": "content" + } + + # If we have a current chapter, append; else create an "Introduction" chapter + if current_chapter: + current_chapter["chapter_content"].append(element_data) + else: + # create a default intro chapter to hold leading paragraphs + current_chapter = { + "chapter_title": "Introduction", + "chapter_metadata": {"generated": True}, + "chapter_number": len(book_data["chapters"]) + 1, + "chapter_content": [element_data] + } + + if current_chapter is not None: + if current_chapter.get("chapter_content"): + current_chapter["chapter_content"] = merge_consecutive_paragraphs( + current_chapter["chapter_content"] + ) + book_data["chapters"].append(current_chapter) + + book_data["document_info"]["total_chapters"] = len(book_data["chapters"]) + return book_data + + +def process_one_docx(input_file: Path, output_file: Path, verbose=False): + + try: + if verbose: + print(f"Processing file: {input_file}") + + with open(input_file, 'rb') as docx_file: + result = mammoth.convert_to_html(docx_file) + html = result.value + soup = BeautifulSoup(html, 'html.parser') + + book_structure = extract_book_structure(soup, input_file) + + if verbose: + print(f"Saving to output file: {output_file}") + + with open(output_file, "w", encoding="utf-8") as out_file: + json.dump(book_structure, out_file, ensure_ascii=False, indent=2) + + return True + + except FileNotFoundError as e: + raise FileNotFoundError(f"File not found - {e}") + except PermissionError as e: + raise PermissionError(f"Permission denied - {e}") + except UnicodeDecodeError as e: + raise UnicodeDecodeError(f"unable to decode file. Try a different encoding - {e}") + except Exception as e: + raise Exception(f"An exception error occurred - {e}") + + + + +def process_all_files(raw_dir: Path, cleaned_dir: Path): + Path(cleaned_dir).mkdir(parents=True, exist_ok=True) + + docx_files = [file for file in raw_dir.glob("*.docx")] + + if not docx_files: + print(f"No .docx files found in directory: {raw_dir}") + return 0 + + print(f"Found {len(docx_files)} .docx files in directory: {raw_dir}") + + for docx_file in docx_files: + json_file = cleaned_dir / f"{docx_file.stem} extracted.json" + + print(f"Converting {docx_file} to {json_file}") + + process_one_docx(docx_file, json_file, verbose=True) + + print(f"All done. Processed {len(docx_files)} .docx files.") + +if __name__ == "__main__": + process_all_files(DATA_DIR_PATH, CLEANED_DIR_PATH) + + + +# from docx import Document +# from datetime import datetime +# from pathlib import Path +# import re +# import json + + + +# def process_single_docx(input_file: Path, output_file: Path, verbose=False): +# # process a single docx file +# try: +# if verbose: +# print(f"Loading docx file: {input_file}") + +# doc = Document(input_file) + + +# except Exception as e: +# print(f"Error loading docx file {input_file}: {e}") + +# def show_docx_props(doc: Document): + +# props = doc.core_properties + +# print(props.author) +# print(props.title) +# print(props.created) +# print(props.last_modified_by) +# print(props.subject) +# print(props.keywords) + +# files = [file for file in Path(".").glob("*.docx")] +# for file in files: +# doc = Document(file) + # print(file) + # print(f"Properties for file: {file}") + # show_docx_props(doc) + # print("-" * 40) + + # for section in doc.sections: + +# for para in doc.paragraphs: +# print(para.text, para.style.name) +# for run in para.runs: +# data.append({ +# "text": run.text, +# "bold": run.bold, +# "italic": run.italic, +# "under_line": run.underline +# }) + +# print(data) + + +# import mammoth +# from pathlib import Path + +# files = [file for file in Path(".").glob("*.docx")] +# for file in files: +# print(file) + +# with open(file, "rb") as docx_file: +# result = mammoth.convert_to_html(docx_file) +# html = result.value + + +# filepath = f"{file.stem}.html" +# with open(filepath, "w", encoding="utf-8") as html_file: +# html_file.write(html) + + +# from docx import Document +# import re +# from pathlib import Path + + +# def paragraph_with_styles(doc: Document): +# out = [] +# for i, para in enumerate(doc.paragraphs): +# style = None + +# style = para.style.name + +# out.append({ +# "index": i, +# "text": para.text, +# "style": style +# }) + +# return out + +# files = [file for file in Path(".").glob("*.docx")] +# for file in files: +# doc = Document(file) + +# p = paragraph_with_styles(doc) +# for item in p: +# print(item["index"], item["style"], item["text"]) diff --git a/extract_pdf_files.py b/extract_pdf_files.py new file mode 100644 index 0000000..bdb222f --- /dev/null +++ b/extract_pdf_files.py @@ -0,0 +1,155 @@ +from pathlib import Path +from PyPDF2 import PdfReader +import pymupdf as pm + +ROOT_PATH = Path(__file__).parent +DATA_PATH = ROOT_PATH / "data" +OUTPUT_PAHT = ROOT_PATH / "output" + + + + +def pdf_is_readable(input_file): + reader = PdfReader(input_file) + for page in reader.pages: + text = page.extract_text() + if text and text.strip(): + return True + return False + + +# def read_pdf_file(input_file): + +# reader = PdfReader(input_file) +# pages = reader.pages +# print(len(pages), type(pages)) +# page0 = pages[0] +# text = page0.extract_text() +# print(text) + + +# with open("output.txt", "w", encoding="utf-8") as file: +# file.write(text) + +def process_one_file(input_file): + + if not pdf_is_readable(input_file): + return + + docs = pm.open(input_file) + + all_text = "" + for page in docs: + text = page.get_text("text") + all_text += text + "\n" + + return all_text + + + +def process_all_files(input_dir, output_dir: Path): + output_dir.mkdir(parents=True, exist_ok=True) + + files = {} + for file in input_dir.iterdir(): + ext = file.suffix.replace(".", "") + + if ext not in files: + files[ext] = [] + + files[ext].append(file) + + + for file in files["pdf"]: + file_text = process_one_file(file) + + output_file = output_dir / f"{file.stem} extracted.txt" + + with open(output_file, "w", encoding="utf-8") as file: + file.write(file_text) + + +# src = pm.open("ocr_needed_sample.pdf") +# res = pm.open() + +# for page in src: +# pix = page.get_pixmap() +# pdfbytes = pix.pdfocr_tobytes(language="eng") +# imgpdf = pm.open("pdf", pdfbytes) +# res.insert_pdf(imgpdf) + +# res.save("exported-document.pdf") + + + +process_all_files(DATA_PATH, OUTPUT_PAHT) + + + + + +# file = files["pdf"][7] +# if not pdf_is_readable(file): +# print("file is not readable") +# # print(pdf_is_readable("ocr_needed_sample.pdf")) +# print(file) +# # read_pdf_file(file) +# all_text = "" +# doc = pm.open(file) +# all_text = "" +# for page in doc: +# for block in page.get_text("dict")["blocks"]: +# print(block) +# print() +# print() + +# # for page in doc: +# # text = page.get_text("text") +# # all_text += text + "\n" +# # with open("output.txt", "w", encoding="utf-8") as file: +# # file.writelines(all_text) + +# all_spans = [] + +# for page in doc: + +# spans = [ +# { +# "text": span["text"], +# "flags": span["flags"], +# "page": page.number + 1 +# } +# for block in page.get_text("dict")["blocks"] if block.get("") +# for line in block["lines"] +# for span in line["spans"] +# ] + +# all_spans.extend(spans) + +# for s in all_spans: +# if s["flags"] > 4: +# print(s) + + + + +# with open("output.txt", "w", encoding="utf-8") as file: +# file.writelines(all_text) + +# blocks = page.get_text("blocks") # for larger text blocks + +# texts = [] +# # Extract detailed info with font +# for block in page.get_text("dict")["blocks"]: +# for line in block.get("lines", []): +# for span in line["spans"]: +# text = span["text"] +# font = span["font"] # font name +# size = span["size"] # font size +# flags = span["flags"] +# texts.append({ +# "text": text, "font": font, "size": size, "flags": flags +# }) + +# for elem in texts: +# print(elem)