diff --git "a/Sample-Input/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt" "b/Sample-Input/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..68e297a5a9182a3bc5c28d29f9d98d0e2b5deb0c
--- /dev/null
+++ "b/Sample-Input/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt"
@@ -0,0 +1,48 @@
+ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ತು ( ಎಐಸಿಟಿಇ ) ( All India Council for Technical Education ( AICTE ) ) ಎಂಬುದು ಮಾನವ ಸಂಪನ್ಮೂಲ ಸಂಪನ್ಮೂಲ ಸಚಿವಾಲಯದ , ಉನ್ನತ ಶಿಕ್ಷಣ ಇಲಾಖೆಯ ಅಡಿಯಲ್ಲಿ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣಕ್ಕಾಗಿ ರಾಷ್ಟ್ರೀಯ ಮಟ್ಟದ ಸಂಸ್ಥೆಯಾಗಿದೆ. [ ೩ ನವೆಂಬರ್ 1945 ರಲ್ಲಿ ಸ್ಥಾಪನೆಯಾದ ಸಲಹಾ ಮಂಡಳಿ ಮತ್ತು ನಂತರ 1987 ರಲ್ಲಿ ಸಂಸತ್ತಿನ ಕಾಯಿದೆಯಡಿ ಶಾಸನಬದ್ಧ ಸ್ಥಾನಮಾನವನ್ನು ನೀಡಲ್ಪಟ್ಟಿತು , ಭಾರತದಲ್ಲಿ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಮತ್ತು ನಿರ್ವಹಣಾ ಶಿಕ್ಷಣ ವ್ಯವಸ್ಥೆಯ ಸರಿಯಾದ ಯೋಜನೆ ಮತ್ತು ಸಂಘಟಿತ ಅಭಿವೃದ್ಧಿಗೆ ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ತು ( ಎಐಸಿಟಿಇ ) ಯು ಕಾರಣವಾಗಿದೆ .
+ಎಐಸಿಟಿಇ ( AICTE ) ಯು ಭಾರತೀಯ ಸಂಸ್ಥೆಗಳ ನಿರ್ದಿಷ್ಟ ವಿಭಾಗಗಳ ಅಡಿಯಲ್ಲಿ ಸ್ನಾತಕೋತ್ತರ ಮತ್ತು ಪದವಿ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಅದರ ಕಾಯ್ದೆಯ ಪ್ರಕಾರ ಮಾನ್ಯಮಾಡುತ್ತದೆ. [ ೪
+ಇದು ಇಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ತಂತ್ರಜ್ಞಾನ ಸ್ನಾತಕ ಆಧ್ಯಯನ , ಇಂಜಿನಿಯರಿಂಗ್ ಮತ್ತು ತಂತ್ರಜ್ಞಾನ ಸ್ನಾತಕೋತ್ತರ ಮತ್ತು ಸಂಶೊಧನಾ ಆಧ್ಯಯನ .
+ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ , ಔಷಧೀಯ ಶಿಕ್ಷಣ , ವಾಸ್ತುಶಿಲ್ಪ , ಹೋಟೆಲ್ ನಿರ್ವಹಣೆ ಮತ್ತು ಅಡುಗೆ ತಂತ್ರಜ್ಞಾನ , ಮಾಹಿತಿ ತಂತ್ರಜ್ಞಾನ , ಪಟ್ಟಣ ಮತ್ತು ದೇಶ ಯೋಜನೆ ಮುಂತಾದ ಹತ್ತು ಶಾಸನಬದ್ಧ ಆಧ್ಯಯನ ಮಂಡಳಿಗಳ ಸಹಾಯ ಪಡೆಯುತ್ತದೆ .
+ಎಐಸಿಸಿಟಿ ತನ್ನ ನೂತನ ಪ್ರಧಾನ ಕಛೇರಿಯನ್ನು ನೆಲ್ಸನ್ ಮಂಡೇಲಾ ರಸ್ತೆ , ವಸಂತ್ ಕುಂಜ್ , ನವದೆಹಲಿ , 110 067 ಯಲ್ಲಿ ಹೊಂದಿದೆ .
+ಇಲ್ಲಿ ಅಧ್ಯಕ್ಷರು , ಉಪಾಧ್ಯಕ್ಷರು ಮತ್ತು ಸದಸ್ಯ ಕಾರ್ಯದರ್ಶಿಗಳ ಕಚೇರಿಗಳು ಇವೆ , ಜೊತೆಗೆ ಇದು ಕಾನ್ಪುರ್ , ಚಂಡೀಗಢ , ಗುರಗಾಂವ್ , ಮುಂಬೈ , ಭೋಪಾಲ್ , ಬರೋಡಾ , ಕೊಲ್ಕತ್ತಾ , ಗುವಾಹಟಿ , ಬೆಂಗಳೂರು , ಹೈದರಾಬಾದ್ , ಚೆನ್ನೈ ಮತ್ತು ತಿರುವನಂತಪುರಂ ನಲ್ಲಿ ಪ್ರಾದೇಶಿಕ ಕಚೇರಿಗಳನ್ನು ಹೊಂದಿದೆ , [ ೫
+ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣದ ಗುಣಮಟ್ಟವನ್ನು ಉತ್ತೇಜಿಸುವುದು .
+ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ವ್ಯವಸ್ಥೆಯ ಯೋಜನೆ ಮತ್ತು ಸಂಯೋಜಿತ ಅಭಿವೃದ್ಧಿ .
+ನಿಯಂತ್ರಣಗಳು ಮತ್ತು ನಿರ್ವಹಣೆ ನಿಯಮಗಳು ಮತ್ತು ಮಾನದಂಡಗಳು.ಇ - ಆಡಳಿತ ದಳ
+ಅನುಮೋದನಾ ದಳ
+ಯೊಜನಾ , ಸಹಕಾರ ಮತ್ತು ಶೈಕ್ಷಣಿಕ ದಳ
+ವಿಶ್ವವಿದ್ಯಾಲಯ ದಳ
+ಆಡಳಿತ ದಳ
+ಹಣಕಾಸು ದಳ
+ಸಂಶೋದನೆ , ಸಾಂಸ್ಥಿಕ ಮತ್ತು ಸಿಬ್ಬಂದಿ ಅಬಿವೃದ್ಧಿ ದಳಮೂರು ಪ್ರಮುಖ ಉಪಕ್ರಮಗಳನ್ನು ೨೦೧೬ ರಲ್ಲಿ , ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ ( AICTE ) ಕೈಗೆತ್ತಿಕೊಂಡಿತು .
+ಅವುಗಳಲ್ಲಿ , ಮೊದಲನೆಯದು , ಮಾನವ ಸಂಪನ್ಮೂಲ ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಮಂತ್ರಾಲಯ ( MHRD ) ನೀಡಿದ ಜವಾಬ್ದಾರಿಯಾದ ಸ್ವಯಂ ( SWAYAM ) [ ೭ ಎಂಬ ರಾಷ್ಟ್ರೀಯ ಬೃಹತ್ ಮುಕ್ತ ಅಂತರ್ಜಾಲ ಪಾಠ ಪ್ರವಚನಗಳ ಸರಣಿ ( Massive Open Online Courses ( MOOCs ) ) ವೇದಿಕೆಯನ್ನು ಸಿದ್ದಪಡಿಸುವುದು .
+ಎರಡನೆಯದು , ತಾಂತ್ರಿಕ ಕಾಲೇಜುಗಳ ಯುವ ಜಾಣ ಪ್ರತಿಭಾವಂತ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಸವಾಲಾದ ೨೯ ವಿವಿಧ ಸರ್ಕಾರಿ ಇಲಾಖೆಗಳ ೫೯೮ ಸಮಸ್ಯೆಗಳನ್ನು ಬಗೆಹರಿಸಲು ಸ್ಮಾರ್ಟ್ ಇಂಡಿಯಾ ಹ್ಯಾಕಥಾನ್ - ೨೦೧೭ ( Smart India Hackathon - 2017 ) ನ್ನು ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ್ದು. [ ೮ಮೂರನೆಯದು , ನವೆಂಬರ್ ೧೬ ರಂದು ಸನ್ಮಾನ್ಯ ರಾಷ್ಟ್ರಪತಿಗಳು ರಾಷ್ಟ್ರಪತಿ ಭವನದ ಸಂದರ್ಶಕರ ಸಮಾವೇಶದಲ್ಲಿ ಎ.ಐ.ಸಿ.ಟಿ.ಟಿ.ಯ ವಿದ್ಯಾರ್ಥಿಗಳ ಪ್ರಾರಂಭಿಕೆ ( Start up ) ನೀತಿಯನ್ನು ಕಾರ್ಯಾರಂಭಿಸುವುದು .
+2009 ರಲ್ಲಿ , ಕೇಂದ್ರ ಶಿಕ್ಷಣ ಸಚಿವ ಔಪಚಾರಿಕವಾಗಿ ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ ( AICTE ) ಮತ್ತು ಸಂಬಂಧಿತ ಸಂಸ್ಥೆಯಾದ , ವಿಶ್ವವಿದ್ಯಾನಿಲಯ ಧನಸಹಾಯ ಆಯೋಗ ( ಯುನಿವರ್ಸಿಟಿ ಗ್ರಾಂಟ್ಸ್ ಕಮೀಷನ್ ) ( UGC ) ) ವನ್ನು ಮುಚ್ಚುವ ತನ್ನ ಉದ್ದೇಶಗಳನ್ನು ತಿಳಿಸಿದರು. [ ೯ ಇದು ನಂತರ , ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ ( AICTE ) ಸಂಸ್ಥೆಗಳಿಗೆ ಅನುಮೋದನೆ ನೀಡುವ ರೀತಿಯಲ್ಲಿ ಸುಧಾರಣೆಗೆ ಮತ್ತು ರಾಷ್ಟ್ರೀಯ ಮಾನ್ಯತಾ ಮಂಡಳಿ ( ನ್ಯಾಷನಲ್ ಬೋರ್ಡ್ ಆಫ್ ಅಕ್ರೆಡಿಟೇಶನ್ ( NBA ) ) ಯನ್ನು ಸ್ವತಂತ್ರ ಸಂಸ್ಥೆಯಾಗಿ ಸ್ಥಾಪಿಸಲು ಕಾರಣವಾಯಿತು , [ ೧೦ 2013 ರ ಹೊತ್ತಿಗೆ ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ತು ( AICTE ) ಇನ್ನೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ .
+2017 ರ ಜೂನ್ 6 ರಂದು ಪ್ರಧಾನಿ ನರೇಂದ್ರ ಮೋದಿಯವರು ಅಖಿಲ ಭಾರತೀಯ ತಾಂತ್ರಿಕ ಶಿಕ್ಷಣ ಪರಿಷತ್ತು ಮತ್ತು ವಿಶ್ವವಿದ್ಯಾನಿಲಯ ಧನಸಹಾಯ ಆಯೋಗ ( ಯುನಿವರ್ಸಿಟಿ ಗ್ರಾಂಟ್ಸ್ ಕಮೀಷನ್ ) ( UGC ) ) ರದ್ದಾಗುವುದಲ್ಲದೇ , ಹೈಯರ್ ಎಜುಕೇಶನ್ ಎಂಪವರ್ಮೆಂಟ್ ಎಜೆನ್ಸಿ ( Higher Education Empowerment Regulation Agency ( HEERA ) ) ಎಂಬ ಹೊಸ ಸಂಸ್ಥೆಯಾಗಿ ಬದಲಾಯಿಸಲ್ಪಡುವುದಾಗಿ ತಿಳಿಸಿದರು .
+ಇದು ಇವೆರಡು ಸಂಸ್ಥೆಗಳಿಂದ ಉಂಟಾಗುವ ವಿಪರೀತ ನಿಯಮಾವಳಿಗಳನ್ನು ಸರಳಗೊಳಿಸುವ ಒಂದು ಪ್ರಯತ್ನವಾಗಿದೆ .
+Regional accreditation
+Education in India
+DOEACC
+Science and technology in India
+Indian Institute of Technologyhttps : / / www.aicte - india.org /
+↑ Regional Offices Archived 19 January 2010 at the Wayback Machine .
+AICTE website .
+↑ ೨.೦ ೨.೧ ೨.೨ " Leadership Team " .
+www.aicte - india.org .
+Retrieved 9 April 2018 .
+↑ Technical Education Overview Archived 5 October 2011 at the Wayback Machine .
+Department of Higher Education
+↑ AICTE Act |
+bot = medic } }
+↑ National Level Councils Archived 1 February 2010 at the Wayback Machine .
+Tech Ed. , Department of Higher Education .
+↑ ೬.೦ ೬.೧ [ ೧
+↑ https : / / swayam.gov.in /
+↑ https : / / sih.gov.in /
+↑ " UGC , AICTE to be scrapped : Sibal " .
+iGovernment.in .
+Archived from the original on 9 October 2011 .
+Retrieved 29 November 2011 .
+Unknown parameter |
+deadurl = ignored ( help )
+↑ " AICTE to revamp its approval system next week " .
+Business Standard .
+Retrieved 29 November 2011 .
diff --git "a/Sample-Output/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt" "b/Sample-Output/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt"
new file mode 100644
index 0000000000000000000000000000000000000000..4ad00b12437c222c92c294b51908435bc257c857
--- /dev/null
+++ "b/Sample-Output/\340\262\205\340\262\226\340\262\277\340\262\262_\340\262\255\340\262\276\340\262\260\340\262\244\340\263\200\340\262\257_\340\262\244\340\262\276\340\262\202\340\262\244\340\263\215\340\262\260\340\262\277\340\262\225_\340\262\266\340\262\277\340\262\225\340\263\215\340\262\267\340\262\243_\340\262\252\340\262\260\340\262\277\340\262\267\340\262\244\340\263\215.txt"
@@ -0,0 +1,842 @@
+
+1 ಅಖಿಲ unk
+2 ಭಾರತೀಯ unk
+3 ತಾಂತ್ರಿಕ unk
+4 ಶಿಕ್ಷಣ unk
+5 ಪರಿಷತ್ತು unk
+6 ( unk
+7 ಎಐಸಿಟಿಇ unk
+8 ) unk
+9 ( unk
+10 All unk
+11 India unk
+12 Council unk
+13 for unk
+14 Technical unk
+15 Education unk
+16 ( unk
+17 AICTE unk
+18 ) unk
+19 ) unk
+20 ಎಂಬುದು unk
+21 ಮಾನವ unk
+22 ಸಂಪನ್ಮೂಲ unk
+23 ಸಂಪನ್ಮೂಲ unk
+24 ಸಚಿವಾಲಯದ unk
+25 , unk
+26 ಉನ್ನತ unk
+27 ಶಿಕ್ಷಣ unk
+28 ಇಲಾಖೆಯ unk
+29 ಅಡಿಯಲ್ಲಿ unk
+30 ತಾಂತ್ರಿಕ unk
+31 ಶಿಕ್ಷಣಕ್ಕಾಗಿ unk
+32 ರಾಷ್ಟ್ರೀಯ unk
+33 ಮಟ್ಟದ unk
+34 ಸಂಸ್ಥೆಯಾಗಿದೆ unk
+35 . unk
+
+
+
+1 [ unk
+2 ೩ unk
+3 ನವೆಂಬರ್ unk
+4 1945 unk
+5 ರಲ್ಲಿ unk
+6 ಸ್ಥಾಪನೆಯಾದ unk
+7 ಸಲಹಾ unk
+8 ಮಂಡಳಿ unk
+9 ಮತ್ತು unk
+10 ನಂತರ unk
+11 1987 unk
+12 ರಲ್ಲಿ unk
+13 ಸಂಸತ್ತಿನ unk
+14 ಕಾಯಿದೆಯಡಿ unk
+15 ಶಾಸನಬದ್ಧ unk
+16 ಸ್ಥಾನಮಾನವನ್ನು unk
+17 ನೀಡಲ್ಪಟ್ಟಿತು unk
+18 , unk
+19 ಭಾರತದಲ್ಲಿ unk
+20 ತಾಂತ್ರಿಕ unk
+21 ಶಿಕ್ಷಣ unk
+22 ಮತ್ತು unk
+23 ನಿರ್ವಹಣಾ unk
+24 ಶಿಕ್ಷಣ unk
+25 ವ್ಯವಸ್ಥೆಯ unk
+26 ಸರಿಯಾದ unk
+27 ಯೋಜನೆ unk
+28 ಮತ್ತು unk
+29 ಸಂಘಟಿತ unk
+30 ಅಭಿವೃದ್ಧಿಗೆ unk
+31 ಅಖಿಲ unk
+32 ಭಾರತೀಯ unk
+33 ತಾಂತ್ರಿಕ unk
+34 ಶಿಕ್ಷಣ unk
+35 ಪರಿಷತ್ತು unk
+36 ( unk
+37 ಎಐಸಿಟಿಇ unk
+38 ) unk
+39 ಯು unk
+40 ಕಾರಣವಾಗಿದೆ unk
+41 . unk
+
+
+
+1 ಎಐಸಿಟಿಇ unk
+2 ( unk
+3 AICTE unk
+4 ) unk
+5 ಯು unk
+6 ಭಾರತೀಯ unk
+7 ಸಂಸ್ಥೆಗಳ unk
+8 ನಿರ್ದಿಷ್ಟ unk
+9 ವಿಭಾಗಗಳ unk
+10 ಅಡಿಯಲ್ಲಿ unk
+11 ಸ್ನಾತಕೋತ್ತರ unk
+12 ಮತ್ತು unk
+13 ಪದವಿ unk
+14 ಕಾರ್ಯಕ್ರಮಗಳನ್ನು unk
+15 ಅದರ unk
+16 ಕಾಯ್ದೆಯ unk
+17 ಪ್ರಕಾರ unk
+18 ಮಾನ್ಯಮಾಡುತ್ತದೆ unk
+19 . unk
+
+
+
+1 [ unk
+2 ೪ unk
+
+
+
+1 ಇದು unk
+2 ಇಂಜಿನಿಯರಿಂಗ್ unk
+3 ಮತ್ತು unk
+4 ತಂತ್ರಜ್ಞಾನ unk
+5 ಸ್ನಾತಕ unk
+6 ಆಧ್ಯಯನ unk
+7 , unk
+8 ಇಂಜಿನಿಯರಿಂಗ್ unk
+9 ಮತ್ತು unk
+10 ತಂತ್ರಜ್ಞಾನ unk
+11 ಸ್ನಾತಕೋತ್ತರ unk
+12 ಮತ್ತು unk
+13 ಸಂಶೊಧನಾ unk
+14 ಆಧ್ಯಯನ unk
+15 . unk
+
+
+
+1 ತಾಂತ್ರಿಕ unk
+2 ಶಿಕ್ಷಣ unk
+3 , unk
+4 ಔಷಧೀಯ unk
+5 ಶಿಕ್ಷಣ unk
+6 , unk
+7 ವಾಸ್ತುಶಿಲ್ಪ unk
+8 , unk
+9 ಹೋಟೆಲ್ unk
+10 ನಿರ್ವಹಣೆ unk
+11 ಮತ್ತು unk
+12 ಅಡುಗೆ unk
+13 ತಂತ್ರಜ್ಞಾನ unk
+14 , unk
+15 ಮಾಹಿತಿ unk
+16 ತಂತ್ರಜ್ಞಾನ unk
+17 , unk
+18 ಪಟ್ಟಣ unk
+19 ಮತ್ತು unk
+20 ದೇಶ unk
+21 ಯೋಜನೆ unk
+22 ಮುಂತಾದ unk
+23 ಹತ್ತು unk
+24 ಶಾಸನಬದ್ಧ unk
+25 ಆಧ್ಯಯನ unk
+26 ಮಂಡಳಿಗಳ unk
+27 ಸಹಾಯ unk
+28 ಪಡೆಯುತ್ತದೆ unk
+29 . unk
+
+
+
+1 ಎಐಸಿಸಿಟಿ unk
+2 ತನ್ನ unk
+3 ನೂತನ unk
+4 ಪ್ರಧಾನ unk
+5 ಕಛೇರಿಯನ್ನು unk
+6 ನೆಲ್ಸನ್ unk
+7 ಮಂಡೇಲಾ unk
+8 ರಸ್ತೆ unk
+9 , unk
+10 ವಸಂತ್ unk
+11 ಕುಂಜ್ unk
+12 , unk
+13 ನವದೆಹಲಿ unk
+14 , unk
+15 110 unk
+16 067 unk
+17 ಯಲ್ಲಿ unk
+18 ಹೊಂದಿದೆ unk
+19 . unk
+
+
+
+1 ಇಲ್ಲಿ unk
+2 ಅಧ್ಯಕ್ಷರು unk
+3 , unk
+4 ಉಪಾಧ್ಯಕ್ಷರು unk
+5 ಮತ್ತು unk
+6 ಸದಸ್ಯ unk
+7 ಕಾರ್ಯದರ್ಶಿಗಳ unk
+8 ಕಚೇರಿಗಳು unk
+9 ಇವೆ unk
+10 , unk
+11 ಜೊತೆಗೆ unk
+12 ಇದು unk
+13 ಕಾನ್ಪುರ್ unk
+14 , unk
+15 ಚಂಡೀಗಢ unk
+16 , unk
+17 ಗುರಗಾಂವ್ unk
+18 , unk
+19 ಮುಂಬೈ unk
+20 , unk
+21 ಭೋಪಾಲ್ unk
+22 , unk
+23 ಬರೋಡಾ unk
+24 , unk
+25 ಕೊಲ್ಕತ್ತಾ unk
+26 , unk
+27 ಗುವಾಹಟಿ unk
+28 , unk
+29 ಬೆಂಗಳೂರು unk
+30 , unk
+31 ಹೈದರಾಬಾದ್ unk
+32 , unk
+33 ಚೆನ್ನೈ unk
+34 ಮತ್ತು unk
+35 ತಿರುವನಂತಪುರಂ unk
+36 ನಲ್ಲಿ unk
+37 ಪ್ರಾದೇಶಿಕ unk
+38 ಕಚೇರಿಗಳನ್ನು unk
+39 ಹೊಂದಿದೆ unk
+40 , unk
+41 [ unk
+42 ೫ unk
+
+
+
+1 ತಾಂತ್ರಿಕ unk
+2 ಶಿಕ್ಷಣದ unk
+3 ಗುಣಮಟ್ಟವನ್ನು unk
+4 ಉತ್ತೇಜಿಸುವುದು unk
+5 . unk
+
+
+
+1 ತಾಂತ್ರಿಕ unk
+2 ಶಿಕ್ಷಣ unk
+3 ವ್ಯವಸ್ಥೆಯ unk
+4 ಯೋಜನೆ unk
+5 ಮತ್ತು unk
+6 ಸಂಯೋಜಿತ unk
+7 ಅಭಿವೃದ್ಧಿ unk
+8 . unk
+
+
+
+1 ನಿಯಂತ್ರಣಗಳು unk
+2 ಮತ್ತು unk
+3 ನಿರ್ವಹಣೆ unk
+4 ನಿಯಮಗಳು unk
+5 ಮತ್ತು unk
+6 ಮಾನದಂಡಗಳು.ಇ unk
+7 - unk
+8 ಆಡಳಿತ unk
+9 ದಳ unk
+
+
+
+1 ಅನುಮೋದನಾ unk
+2 ದಳ unk
+
+
+
+1 ಯೊಜನಾ unk
+2 , unk
+3 ಸಹಕಾರ unk
+4 ಮತ್ತು unk
+5 ಶೈಕ್ಷಣಿಕ unk
+6 ದಳ unk
+
+
+
+1 ವಿಶ್ವವಿದ್ಯಾಲಯ unk
+2 ದಳ unk
+
+
+
+1 ಆಡಳಿತ unk
+2 ದಳ unk
+
+
+
+1 ಹಣಕಾಸು unk
+2 ದಳ unk
+
+
+
+1 ಸಂಶೋದನೆ unk
+2 , unk
+3 ಸಾಂಸ್ಥಿಕ unk
+4 ಮತ್ತು unk
+5 ಸಿಬ್ಬಂದಿ unk
+6 ಅಬಿವೃದ್ಧಿ unk
+7 ದಳಮೂರು unk
+8 ಪ್ರಮುಖ unk
+9 ಉಪಕ್ರಮಗಳನ್ನು unk
+10 ೨೦೧೬ unk
+11 ರಲ್ಲಿ unk
+12 , unk
+13 ಅಖಿಲ unk
+14 ಭಾರತೀಯ unk
+15 ತಾಂತ್ರಿಕ unk
+16 ಶಿಕ್ಷಣ unk
+17 ಪರಿಷತ್ unk
+18 ( unk
+19 AICTE unk
+20 ) unk
+21 ಕೈಗೆತ್ತಿಕೊಂಡಿತು unk
+22 . unk
+
+
+
+1 ಅವುಗಳಲ್ಲಿ unk
+2 , unk
+3 ಮೊದಲನೆಯದು unk
+4 , unk
+5 ಮಾನವ unk
+6 ಸಂಪನ್ಮೂಲ unk
+7 ಮತ್ತು unk
+8 ಅಭಿವೃದ್ಧಿ unk
+9 ಮಂತ್ರಾಲಯ unk
+10 ( unk
+11 MHRD unk
+12 ) unk
+13 ನೀಡಿದ unk
+14 ಜವಾಬ್ದಾರಿಯಾದ unk
+15 ಸ್ವಯಂ unk
+16 ( unk
+17 SWAYAM unk
+18 ) unk
+19 [ unk
+20 ೭ unk
+21 ಎಂಬ unk
+22 ರಾಷ್ಟ್ರೀಯ unk
+23 ಬೃಹತ್ unk
+24 ಮುಕ್ತ unk
+25 ಅಂತರ್ಜಾಲ unk
+26 ಪಾಠ unk
+27 ಪ್ರವಚನಗಳ unk
+28 ಸರಣಿ unk
+29 ( unk
+30 Massive unk
+31 Open unk
+32 Online unk
+33 Courses unk
+34 ( unk
+35 MOOCs unk
+36 ) unk
+37 ) unk
+38 ವೇದಿಕೆಯನ್ನು unk
+39 ಸಿದ್ದಪಡಿಸುವುದು unk
+40 . unk
+
+
+
+1 ಎರಡನೆಯದು unk
+2 , unk
+3 ತಾಂತ್ರಿಕ unk
+4 ಕಾಲೇಜುಗಳ unk
+5 ಯುವ unk
+6 ಜಾಣ unk
+7 ಪ್ರತಿಭಾವಂತ unk
+8 ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ unk
+9 ಸವಾಲಾದ unk
+10 ೨೯ unk
+11 ವಿವಿಧ unk
+12 ಸರ್ಕಾರಿ unk
+13 ಇಲಾಖೆಗಳ unk
+14 ೫೯೮ unk
+15 ಸಮಸ್ಯೆಗಳನ್ನು unk
+16 ಬಗೆಹರಿಸಲು unk
+17 ಸ್ಮಾರ್ಟ್ unk
+18 ಇಂಡಿಯಾ unk
+19 ಹ್ಯಾಕಥಾನ್ unk
+20 - unk
+21 ೨೦೧೭ unk
+22 ( unk
+23 Smart unk
+24 India unk
+25 Hackathon unk
+26 - unk
+27 2017 unk
+28 ) unk
+29 ನ್ನು unk
+30 ಪ್ರಾರಂಭಿಸುವುದಕ್ಕೆ unk
+31 ಸಂಬಂಧಿಸಿದ್ದು unk
+32 . unk
+
+
+
+1 [ unk
+2 ೮ಮ unk
+3 ೂರನೆಯದು unk
+4 , unk
+5 ನವೆಂಬರ್ unk
+6 ೧೬ unk
+7 ರಂದು unk
+8 ಸನ್ಮಾನ್ಯ unk
+9 ರಾಷ್ಟ್ರಪತಿಗಳು unk
+10 ರಾಷ್ಟ್ರಪತಿ unk
+11 ಭವನದ unk
+12 ಸಂದರ್ಶಕರ unk
+13 ಸಮಾವೇಶದಲ್ಲಿ unk
+14 ಎ.ಐ.ಸಿ.ಟಿ.ಟಿ.ಯ unk
+15 ವಿದ್ಯಾರ್ಥಿಗಳ unk
+16 ಪ್ರಾರಂಭಿಕೆ unk
+17 ( unk
+18 Start unk
+19 up unk
+20 ) unk
+21 ನೀತಿಯನ್ನು unk
+22 ಕಾರ್ಯಾರಂಭಿಸುವುದು unk
+23 . unk
+
+
+
+1 2009 unk
+2 ರಲ್ಲಿ unk
+3 , unk
+4 ಕೇಂದ್ರ unk
+5 ಶಿಕ್ಷಣ unk
+6 ಸಚಿವ unk
+7 ಔಪಚಾರಿಕವಾಗಿ unk
+8 ಅಖಿಲ unk
+9 ಭಾರತೀಯ unk
+10 ತಾಂತ್ರಿಕ unk
+11 ಶಿಕ್ಷಣ unk
+12 ಪರಿಷತ್ unk
+13 ( unk
+14 AICTE unk
+15 ) unk
+16 ಮತ್ತು unk
+17 ಸಂಬಂಧಿತ unk
+18 ಸಂಸ್ಥೆಯಾದ unk
+19 , unk
+20 ವಿಶ್ವವಿದ್ಯಾನಿಲಯ unk
+21 ಧನಸಹಾಯ unk
+22 ಆಯೋಗ unk
+23 ( unk
+24 ಯುನಿವರ್ಸಿಟಿ unk
+25 ಗ್ರಾಂಟ್ಸ್ unk
+26 ಕಮೀಷನ್ unk
+27 ) unk
+28 ( unk
+29 UGC unk
+30 ) unk
+31 ) unk
+32 ವನ್ನು unk
+33 ಮುಚ್ಚುವ unk
+34 ತನ್ನ unk
+35 ಉದ್ದೇಶಗಳನ್ನು unk
+36 ತಿಳಿಸಿದರು unk
+37 . unk
+
+
+
+1 [ unk
+2 ೯ unk
+3 ಇದು unk
+4 ನಂತರ unk
+5 , unk
+6 ಅಖಿಲ unk
+7 ಭಾರತೀಯ unk
+8 ತಾಂತ್ರಿಕ unk
+9 ಶಿಕ್ಷಣ unk
+10 ಪರಿಷತ್ unk
+11 ( unk
+12 AICTE unk
+13 ) unk
+14 ಸಂಸ್ಥೆಗಳಿಗೆ unk
+15 ಅನುಮೋದನೆ unk
+16 ನೀಡುವ unk
+17 ರೀತಿಯಲ್ಲಿ unk
+18 ಸುಧಾರಣೆಗೆ unk
+19 ಮತ್ತು unk
+20 ರಾಷ್ಟ್ರೀಯ unk
+21 ಮಾನ್ಯತಾ unk
+22 ಮಂಡಳಿ unk
+23 ( unk
+24 ನ್ಯಾಷನಲ್ unk
+25 ಬೋರ್ಡ್ unk
+26 ಆಫ್ unk
+27 ಅಕ್ರೆಡಿಟೇಶನ್ unk
+28 ( unk
+29 NBA unk
+30 ) unk
+31 ) unk
+32 ಯನ್ನು unk
+33 ಸ್ವತಂತ್ರ unk
+34 ಸಂಸ್ಥೆಯಾಗಿ unk
+35 ಸ್ಥಾಪಿಸಲು unk
+36 ಕಾರಣವಾಯಿತು unk
+37 , unk
+38 [ unk
+39 ೧೦ unk
+40 2013 unk
+41 ರ unk
+42 ಹೊತ್ತಿಗೆ unk
+43 ಅಖಿಲ unk
+44 ಭಾರತೀಯ unk
+45 ತಾಂತ್ರಿಕ unk
+46 ಶಿಕ್ಷಣ unk
+47 ಪರಿಷತ್ತು unk
+48 ( unk
+49 AICTE unk
+50 ) unk
+51 ಇನ್ನೂ unk
+52 ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ unk
+53 . unk
+
+
+
+1 2017 unk
+2 ರ unk
+3 ಜೂನ್ unk
+4 6 unk
+5 ರಂದು unk
+6 ಪ್ರಧಾನಿ unk
+7 ನರೇಂದ್ರ unk
+8 ಮೋದಿಯವರು unk
+9 ಅಖಿಲ unk
+10 ಭಾರತೀಯ unk
+11 ತಾಂತ್ರಿಕ unk
+12 ಶಿಕ್ಷಣ unk
+13 ಪರಿಷತ್ತು unk
+14 ಮತ್ತು unk
+15 ವಿಶ್ವವಿದ್ಯಾನಿಲಯ unk
+16 ಧನಸಹಾಯ unk
+17 ಆಯೋಗ unk
+18 ( unk
+19 ಯುನಿವರ್ಸಿಟಿ unk
+20 ಗ್ರಾಂಟ್ಸ್ unk
+21 ಕಮೀಷನ್ unk
+22 ) unk
+23 ( unk
+24 UGC unk
+25 ) unk
+26 ) unk
+27 ರದ್ದಾಗುವುದಲ್ಲದೇ unk
+28 , unk
+29 ಹೈಯರ್ unk
+30 ಎಜುಕೇಶನ್ unk
+31 ಎಂಪವರ್ಮೆಂಟ್ unk
+32 ಎಜೆನ್ಸಿ unk
+33 ( unk
+34 Higher unk
+35 Education unk
+36 Empowerment unk
+37 Regulation unk
+38 Agency unk
+39 ( unk
+40 HEERA unk
+41 ) unk
+42 ) unk
+43 ಎಂಬ unk
+44 ಹೊಸ unk
+45 ಸಂಸ್ಥೆಯಾಗಿ unk
+46 ಬದಲಾಯಿಸಲ್ಪಡುವುದಾಗಿ unk
+47 ತಿಳಿಸಿದರು unk
+48 . unk
+
+
+
+1 ಇದು unk
+2 ಇವೆರಡು unk
+3 ಸಂಸ್ಥೆಗಳಿಂದ unk
+4 ಉಂಟಾಗುವ unk
+5 ವಿಪರೀತ unk
+6 ನಿಯಮಾವಳಿಗಳನ್ನು unk
+7 ಸರಳಗೊಳಿಸುವ unk
+8 ಒಂದು unk
+9 ಪ್ರಯತ್ನವಾಗಿದೆ unk
+10 . unk
+
+
+
+1 Regional unk
+2 accreditation unk
+
+
+
+1 Education unk
+2 in unk
+3 India unk
+
+
+
+1 DOEACC unk
+
+
+
+1 Science unk
+2 and unk
+3 technology unk
+4 in unk
+5 India unk
+
+
+
+1 Indian unk
+2 Institute unk
+3 of unk
+4 Technologyhttps unk
+5 : unk
+6 / unk
+7 / unk
+8 www.aicte unk
+9 - unk
+10 india.org unk
+11 / unk
+
+
+
+1 ↑ unk
+2 Regional unk
+3 Offices unk
+4 Archived unk
+5 19 unk
+6 January unk
+7 2010 unk
+8 at unk
+9 the unk
+10 Wayback unk
+11 Machine unk
+12 . unk
+
+
+
+1 AICTE unk
+2 website unk
+3 . unk
+
+
+
+1 ↑ unk
+2 ೨.೦ unk
+3 ೨.೧ unk
+4 ೨.೨ unk
+5 " unk
+6 Leadership unk
+7 Team unk
+8 " unk
+9 . unk
+
+
+
+1 www.aicte unk
+2 - unk
+3 india.org unk
+4 . unk
+
+
+
+1 Retrieved unk
+2 9 unk
+3 April unk
+4 2018 unk
+5 . unk
+
+
+
+1 ↑ unk
+2 Technical unk
+3 Education unk
+4 Overview unk
+5 Archived unk
+6 5 unk
+7 October unk
+8 2011 unk
+9 at unk
+10 the unk
+11 Wayback unk
+12 Machine unk
+13 . unk
+
+
+
+1 Department unk
+2 of unk
+3 Higher unk
+4 Education unk
+
+
+
+1 ↑ unk
+2 AICTE unk
+3 Act unk
+4 | unk
+
+
+
+1 bot unk
+2 = unk
+3 medic unk
+4 } unk
+5 } unk
+
+
+
+1 ↑ unk
+2 National unk
+3 Level unk
+4 Councils unk
+5 Archived unk
+6 1 unk
+7 February unk
+8 2010 unk
+9 at unk
+10 the unk
+11 Wayback unk
+12 Machine unk
+13 . unk
+
+
+
+1 Tech unk
+2 Ed unk
+3 . unk
+
+
+
+1 , unk
+2 Department unk
+3 of unk
+4 Higher unk
+5 Education unk
+6 . unk
+
+
+
+1 ↑ unk
+2 ೬.೦ unk
+3 ೬.೧ unk
+4 [ unk
+5 ೧ unk
+
+
+
+1 ↑ unk
+2 https unk
+3 : unk
+4 / unk
+5 / unk
+6 swayam.gov.in unk
+7 / unk
+
+
+
+1 ↑ unk
+2 https unk
+3 : unk
+4 / unk
+5 / unk
+6 sih.gov.in unk
+7 / unk
+
+
+
+1 ↑ unk
+2 " unk
+3 UGC unk
+4 , unk
+5 AICTE unk
+6 to unk
+7 be unk
+8 scrapped unk
+9 : unk
+10 Sibal unk
+11 " unk
+12 . unk
+
+
+
+1 iGovernment.in unk
+2 . unk
+
+
+
+1 Archived unk
+2 from unk
+3 the unk
+4 original unk
+5 on unk
+6 9 unk
+7 October unk
+8 2011 unk
+9 . unk
+
+
+
+1 Retrieved unk
+2 29 unk
+3 November unk
+4 2011 unk
+5 . unk
+
+
+
+1 Unknown unk
+2 parameter unk
+3 | unk
+
+
+
+1 deadurl unk
+2 = unk
+3 ignored unk
+4 ( unk
+5 help unk
+6 ) unk
+
+
+
+1 ↑ unk
+2 " unk
+3 AICTE unk
+4 to unk
+5 revamp unk
+6 its unk
+7 approval unk
+8 system unk
+9 next unk
+10 week unk
+11 " unk
+12 . unk
+
+
+
+1 Business unk
+2 Standard unk
+3 . unk
+
+
+
+1 Retrieved unk
+2 29 unk
+3 November unk
+4 2011 unk
+5 . unk
+
+
+
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2e235137753067c61a279c36ee5e8912a2fea954
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,23 @@
+# How to run the code
+python3 tokenizer_for_indian_languages_on_files.py --input input_folder --output output_folder --lang 2-digit ISO 639-1 code
+
+input_folder: Contains raw files
+output_folder: Just give a name (no need to create a folder), an output_folder will be created where the tokenized outputs will be saved file wise in SSF format
+language: language codes, please see the list of codes for different languages
+Hindi: hi
+Oriya/Odia: or
+Manipuri: mn
+Assamese: as
+Bengali: bn
+Punjabi: pa
+Urdu: ur
+English: en
+Gujarati: gu
+Marathi: mr
+Malayalam: ml
+Kannada: kn
+Telugu: te
+Tamil: ta
+Sample Run: (Run this code in your terminal)
+python3 tokenizer_for_indian_languages_on_files.py --input Sample-Input --output Sample-Output --lang kn
+
diff --git a/tokenizer_for_indian_languages_on_files.py b/tokenizer_for_indian_languages_on_files.py
new file mode 100644
index 0000000000000000000000000000000000000000..f439cf72bf85772448f284e1427dbf1d473eb8be
--- /dev/null
+++ b/tokenizer_for_indian_languages_on_files.py
@@ -0,0 +1,158 @@
+# how to run the code
+# python3 tokenizer_for_indian_languages_on_files.py --input InputFolder --output OutputFolder --lang 0
+# lang parameter is a 2-digit ISO 639-1 code for languages.
+# for languages ['hi', 'or', 'mn', 'as', 'bn', 'pa'], purna biram as sentence end marker, lang = 0
+# for Urdu, '۔' as sentence end marker, lang = 1
+# for languages ['en', 'gu', 'mr', 'ml', 'kn', 'te', 'ta'], '.' as sentence end marker, lang = 2
+# works at folder and file level
+import re
+import argparse
+import os
+
+
+# patterns for tokenization
+token_specification = [
+ ('datemonth',
+ r'^(0?[1-9]|1[012])[-\/\.](0?[1-9]|[12][0-9]|3[01])[-\/\.](1|2)\d\d\d$'),
+ ('monthdate',
+ r'^(0?[1-9]|[12][0-9]|3[01])[-\/\.](0?[1-9]|1[012])[-\/\.](1|2)\d\d\d$'),
+ ('yearmonth',
+ r'^((1|2)\d\d\d)[-\/\.](0?[1-9]|1[012])[-\/\.](0?[1-9]|[12][0-9]|3[01])'),
+ ('EMAIL1', r'([\w\.])+@(\w)+\.(com|org|co\.in)$'),
+ ('url1', r'(www\.)([-a-z0-9]+\.)*([-a-z0-9]+.*)(\/[-a-z0-9]+)*/i'),
+ ('url', r'/((?:https?\:\/\/|www\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)/i'),
+ ('BRACKET', r'[\(\)\[\]\{\}]'), # Brackets
+ ('NUMBER', r'^(\d+)([,\.]\d+)*(\w)*'), # Integer or decimal number
+ ('ASSIGN', r'[~:]'), # Assignment operator
+ ('END', r'[;!_]'), # Statement terminator
+ ('EQUAL', r'='), # Equals
+ ('OP', r'[+*\/\-]'), # Arithmetic operators
+ ('QUOTES', r'[\"\'‘’]'), # quotes
+ ('Fullstop', r'(\.+)$'),
+ ('ellips', r'\.(\.)+'),
+ ('HYPHEN', r'[-+\|+]'),
+ ('Slashes', r'[\\\/]'),
+ ('COMMA12', r'[,%]'),
+ ('hin_stop', r'।'),
+ ('quotes_question', r'[”\?]'),
+ ('hashtag', r'#')
+]
+# compile regular expressions
+tok_regex = '|'.join('(?P<%s>%s)' % pair for pair in token_specification)
+get_token = re.compile(tok_regex)
+
+
+def tokenize(list_s):
+ """Tokenize a list of tokens."""
+ tkns = []
+ for wrds in list_s:
+ wrds_len = len(wrds)
+ initial_pos = 0
+ end_pos = 0
+ while initial_pos <= (wrds_len-1):
+ mo = get_token.match(wrds, initial_pos)
+ if mo is not None and len(mo.group(0)) == wrds_len:
+ tkns.append(wrds)
+ initial_pos = wrds_len
+ else:
+ match_out = get_token.search(wrds, initial_pos)
+ if match_out is not None:
+ end_pos = match_out.end()
+ if match_out.lastgroup == "NUMBER":
+ aa = wrds[initial_pos:(end_pos)]
+ else:
+ aa = wrds[initial_pos:(end_pos - 1)]
+ if aa != '':
+ tkns.append(aa)
+ if match_out.lastgroup != "NUMBER":
+ tkns.append(match_out.group(0))
+ initial_pos = end_pos
+ else:
+ tkns.append(wrds[initial_pos:])
+ initial_pos = wrds_len
+ return tkns
+
+
+def read_file_and_tokenize(input_file, output_file, lang_type):
+ """Read file and tokenize."""
+ string_sentences = ''
+ file_read = open(input_file, 'r', encoding='utf-8')
+ text = file_read.read().strip().replace(u'0xff', '')
+ if lang_type == 0:
+ sentences = re.findall('.*?।|.*?\n', text + '\n', re.UNICODE)
+ endMarkers = ['?', '।', '!', '|']
+ elif lang_type == 1:
+ sentences = re.findall('.*?\n', text + '\n', re.UNICODE)
+ endMarkers = ['؟', '!', '|', '۔']
+ else:
+ sentences = re.findall('.*?\n', text + '\n', re.UNICODE)
+ endMarkers = ['?', '.', '!', '|']
+ count_sentence = 1
+ for index, sentence in enumerate(sentences):
+ if sentence.strip() != '':
+ list_tokens = tokenize(sentence.split())
+ end_sentence_markers = [index + 1 for index, token in enumerate(list_tokens) if token in ['?', '.', '۔', '؟', '।', '!', '|']]
+ if len(end_sentence_markers) > 0:
+ if end_sentence_markers[-1] != len(list_tokens):
+ end_sentence_markers += [len(list_tokens)]
+ end_sentence_markers_with_sentence_end_positions = [0] + end_sentence_markers
+ sentence_boundaries = list(zip(end_sentence_markers_with_sentence_end_positions, end_sentence_markers_with_sentence_end_positions[1:]))
+ for start, end in sentence_boundaries:
+ individual_sentence = list_tokens[start: end]
+ string_sentences += '\n'
+ mapped_tokens = list(map(lambda token_index: str(
+ token_index[0] + 1) + '\t' + token_index[1].strip() + '\tunk', list(enumerate(individual_sentence))))
+ string_sentences += '\n'.join(mapped_tokens) + \
+ '\n\n\n'
+ count_sentence += 1
+ else:
+ string_sentences += '\n'
+ mapped_tokens = list(map(lambda token_index: str(
+ token_index[0] + 1) + '\t' + token_index[1].strip() + '\tunk', list(enumerate(list_tokens))))
+ string_sentences += '\n'.join(mapped_tokens) + \
+ '\n\n\n'
+ count_sentence += 1
+ write_data_to_file(output_file, string_sentences)
+
+
+def write_data_to_file(output_file, data):
+ """Write data to file."""
+ with open(output_file, 'w', encoding='utf-8') as file_write:
+ file_write.write(data + '\n')
+
+
+def main():
+ """Pass arguments and call functions here."""
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ '--input', dest='inp', help="enter the input file path")
+ parser.add_argument(
+ '--output', dest='out', help="enter the output file path")
+ parser.add_argument(
+ '--lang', dest='lang', help="enter the language: two digit ISO code")
+ args = parser.parse_args()
+ if os.path.isdir(args.inp) and not os.path.isdir(args.out):
+ os.makedirs(args.out)
+ if args.lang in ['hi', 'or', 'mn', 'as', 'bn', 'pa']:
+ lang = 0
+ elif args.lang == 'ur':
+ lang = 1
+ elif args.lang in ['en', 'gu', 'mr', 'ml', 'kn', 'te', 'ta']:
+ lang = 2
+ else:
+ lang = 0
+ if os.path.isdir(args.inp):
+ for root, dirs, files in os.walk(args.inp):
+ for fl in files:
+ input_path = os.path.join(root, fl)
+ output_path = os.path.join(args.out, fl)
+ read_file_and_tokenize(input_path, output_path, lang)
+ else:
+ read_file_and_tokenize(args.inp, args.out, lang)
+
+
+if __name__ == '__main__':
+ main()
+