Skip to content

Latest commit

 

History

History
172 lines (109 loc) · 27.2 KB

File metadata and controls

172 lines (109 loc) · 27.2 KB

ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ ಪರಿಚಯ

ಈ ಪಾಠವು ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ ಎಂಬ ಉಪಕ್ಷೇತ್ರವಾದ ಗಣನಾತ್ಮಕ ಭಾಷಾಶಾಸ್ತ್ರ ನ ಸಂಕ್ಷಿಪ್ತ ಇತಿಹಾಸ ಮತ್ತು ಪ್ರಮುಖ ತತ್ವಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಪರಿಚಯ

NLP, ಸಾಮಾನ್ಯವಾಗಿ ತಿಳಿದಿರುವಂತೆ, ಯಂತ್ರ ಅಧ್ಯಯನವನ್ನು ಅನ್ವಯಿಸಿ ಉತ್ಪಾದನಾ ಸಾಫ್ಟ್‌ವೇರ್‌ನಲ್ಲಿ ಬಳಸಲಾಗಿರುವ ಅತ್ಯಂತ ಪ್ರಸಿದ್ಧ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

✅ ನೀವು ಪ್ರತಿದಿನವೂ ಬಳಸುವ ಯಾವುದೇ ಸಾಫ್ಟ್‌ವೇರ್‌ನಲ್ಲಿ ಕೆಲವು NLP ಅಳವಡಿಸಲಾಗಿದೆ ಎಂದು ನೀವು ಭಾವಿಸುತ್ತೀರಾ? ನಿಮ್ಮ ಪದ ಸಂಸ್ಕರಣಾ ಕಾರ್ಯಕ್ರಮಗಳು ಅಥವಾ ನೀವು ನಿಯಮಿತವಾಗಿ ಬಳಸುವ ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಬಗ್ಗೆ ಏನು?

ನೀವು ತಿಳಿಯಲಿರುವುದು:

  • ಭಾಷೆಗಳ ಕಲ್ಪನೆ. ಭಾಷೆಗಳು ಹೇಗೆ ಅಭಿವೃದ್ಧಿ ಹೊಂದಿದವು ಮತ್ತು ಅಧ್ಯಯನದ ಪ್ರಮುಖ ಕ್ಷೇತ್ರಗಳು ಯಾವುವು.
  • ವ್ಯಾಖ್ಯಾನ ಮತ್ತು ತತ್ವಗಳು. ಕಂಪ್ಯೂಟರ್‌ಗಳು ಪಠ್ಯವನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತವೆ ಎಂಬುದರ ಬಗ್ಗೆ ವ್ಯಾಖ್ಯಾನಗಳು ಮತ್ತು ತತ್ವಗಳನ್ನು ನೀವು ಕಲಿಯುತ್ತೀರಿ, ಇದರಲ್ಲಿ ಪಾರ್ಸಿಂಗ್, ವ್ಯಾಕರಣ ಮತ್ತು ನಾಮಪದ ಮತ್ತು ಕ್ರಿಯಾಪದಗಳನ್ನು ಗುರುತಿಸುವುದು ಸೇರಿದೆ. ಈ ಪಾಠದಲ್ಲಿ ಕೆಲವು ಕೋಡಿಂಗ್ ಕಾರ್ಯಗಳಿವೆ ಮತ್ತು ಕೆಲವು ಪ್ರಮುಖ ತತ್ವಗಳನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತದೆ, ಅವುಗಳನ್ನು ನೀವು ಮುಂದಿನ ಪಾಠಗಳಲ್ಲಿ ಕೋಡ್ ಮಾಡಲು ಕಲಿಯುತ್ತೀರಿ.

ಗಣನಾತ್ಮಕ ಭಾಷಾಶಾಸ್ತ್ರ

ಗಣನಾತ್ಮಕ ಭಾಷಾಶಾಸ್ತ್ರವು ಹಲವು ದಶಕಗಳ ಸಂಶೋಧನೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ಕ್ಷೇತ್ರವಾಗಿದ್ದು, ಕಂಪ್ಯೂಟರ್‌ಗಳು ಭಾಷೆಗಳೊಂದಿಗೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡಬಹುದು, ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು, ಅನುವಾದ ಮಾಡಬಹುದು ಮತ್ತು ಸಂವಹನ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಅಧ್ಯಯನ ಮಾಡುತ್ತದೆ. ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆ (NLP) ಎಂಬುದು ಸಂಬಂಧಿತ ಕ್ಷೇತ್ರವಾಗಿದ್ದು, ಕಂಪ್ಯೂಟರ್‌ಗಳು 'ನೈಸರ್ಗಿಕ' ಅಥವಾ ಮಾನವ ಭಾಷೆಗಳನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆ ಮಾಡಬಹುದು ಎಂಬುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿದೆ.

ಉದಾಹರಣೆ - ಫೋನ್ ಡಿಕ್ಟೇಶನ್

ನೀವು ಟೈಪ್ ಮಾಡುವ ಬದಲು ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಮಾತಾಡಿದ್ದರೆ ಅಥವಾ ವರ್ಚುವಲ್ ಸಹಾಯಕನಿಗೆ ಪ್ರಶ್ನೆ ಕೇಳಿದ್ದರೆ, ನಿಮ್ಮ ಮಾತು ಪಠ್ಯ ರೂಪಕ್ಕೆ ಪರಿವರ್ತಿತಗೊಂಡು ನಂತರ ನೀವು ಮಾತನಾಡಿದ ಭಾಷೆಯಿಂದ ಪಾರ್ಸ್ ಮಾಡಲಾಯಿತು. ಪತ್ತೆಯಾದ ಪ್ರಮುಖ ಪದಗಳನ್ನು ನಂತರ ಫೋನ್ ಅಥವಾ ಸಹಾಯಕನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಕ್ರಮ ಕೈಗೊಳ್ಳಲು ಸಾಧ್ಯವಾದ ಸ್ವರೂಪಕ್ಕೆ ಪ್ರಕ್ರಿಯೆ ಮಾಡಲಾಯಿತು.

comprehension

ನಿಜವಾದ ಭಾಷಾಶಾಸ್ತ್ರದ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕಷ್ಟ! ಚಿತ್ರವನ್ನು ಜೆನ್ ಲೂಪರ್ ಒದಗಿಸಿದ್ದಾರೆ

ಈ ತಂತ್ರಜ್ಞಾನ ಹೇಗೆ ಸಾಧ್ಯವಾಯಿತು?

ಇದು ಸಾಧ್ಯವಾಯಿತು ಏಕೆಂದರೆ ಯಾರೋ ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಂ ಬರೆಯುವ ಮೂಲಕ ಇದನ್ನು ಮಾಡಿದರು. ಕೆಲವು ದಶಕಗಳ ಹಿಂದೆ, ಕೆಲವು ವಿಜ್ಞಾನ ಕಲ್ಪನೆ ಲೇಖಕರು ಜನರು ತಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ಗಳಿಗೆ ಮುಖ್ಯವಾಗಿ ಮಾತಾಡುತ್ತಾರೆ ಮತ್ತು ಕಂಪ್ಯೂಟರ್‌ಗಳು ಯಾವಾಗಲೂ ಅವರ ಅರ್ಥವನ್ನು ನಿಖರವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತವೆ ಎಂದು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಿದ್ದರು. ದುಃಖಕರವಾಗಿ, ಇದು ಅನೇಕರು ಊಹಿಸಿದಕ್ಕಿಂತ ಕಠಿಣ ಸಮಸ್ಯೆಯಾಗಿದ್ದು, ಇಂದು ಇದು ಬಹಳ ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲ್ಪಟ್ಟ ಸಮಸ್ಯೆಯಾಗಿದ್ದರೂ, ವಾಕ್ಯದ ಅರ್ಥವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಾಗ 'ಪೂರ್ಣ' ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸಾಧಿಸುವಲ್ಲಿ ಪ್ರಮುಖ ಸವಾಲುಗಳಿವೆ. ವಿಶೇಷವಾಗಿ ಹಾಸ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಾಗ ಅಥವಾ ವಾಕ್ಯದಲ್ಲಿ ವ್ಯಂಗ್ಯವನ್ನು ಪತ್ತೆಹಚ್ಚುವಾಗ ಇದು ಕಠಿಣ ಸಮಸ್ಯೆಯಾಗುತ್ತದೆ.

ಈ ಸಮಯದಲ್ಲಿ, ನೀವು ಶಾಲಾ ತರಗತಿಗಳನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಬಹುದು, ಅಲ್ಲಿ ಶಿಕ್ಷಕರು ವಾಕ್ಯದ ವ್ಯಾಕರಣ ಭಾಗಗಳನ್ನು ಕಲಿಸುತ್ತಿದ್ದರು. ಕೆಲವು ದೇಶಗಳಲ್ಲಿ ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ವ್ಯಾಕರಣ ಮತ್ತು ಭಾಷಾಶಾಸ್ತ್ರವನ್ನು ವಿಶೇಷ ವಿಷಯವಾಗಿ ಕಲಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಬಹುತೇಕ ದೇಶಗಳಲ್ಲಿ ಈ ವಿಷಯಗಳು ಭಾಷೆ ಕಲಿಕೆಯ ಭಾಗವಾಗಿ ಸೇರಿವೆ: ಪ್ರಾಥಮಿಕ ಶಾಲೆಯಲ್ಲಿ ನಿಮ್ಮ ಮೊದಲ ಭಾಷೆಯನ್ನು (ಓದಲು ಮತ್ತು ಬರೆಯಲು ಕಲಿಯುವುದು) ಮತ್ತು ನಂತರದ ಶಾಲೆಯಲ್ಲಿ ಎರಡನೇ ಭಾಷೆಯನ್ನು ಕಲಿಯುವಾಗ. ನಾಮಪದಗಳನ್ನು ಕ್ರಿಯಾಪದಗಳಿಂದ ಅಥವಾ ಕ್ರಿಯಾವಿಶೇಷಣಗಳನ್ನು ವಿಶೇಷಣಗಳಿಂದ ವಿಭಜಿಸುವಲ್ಲಿ ನೀವು ಪರಿಣತಿ ಹೊಂದಿರದಿದ್ದರೂ ಚಿಂತೆ ಮಾಡಬೇಡಿ!

ಸರಳ ವರ್ತಮಾನ ಮತ್ತು ವರ್ತಮಾನ ಪ್ರಗತಿಶೀಲ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಹಿಂಜರಿದರೆ, ನೀವು ಏಕಾಂತವಲ್ಲ. ಇದು ಅನೇಕ ಜನರಿಗೆ, ಭಾಷೆಯ ಸ್ಥಳೀಯ ಭಾಷಣಕಾರರಿಗೂ ಸವಾಲಾಗಿರುವ ವಿಷಯ. ಒಳ್ಳೆಯ ಸುದ್ದಿ ಎಂದರೆ ಕಂಪ್ಯೂಟರ್‌ಗಳು ಅಧಿಕೃತ ನಿಯಮಗಳನ್ನು ಅನ್ವಯಿಸುವಲ್ಲಿ ಬಹಳ ಚೆನ್ನಾಗಿವೆ, ಮತ್ತು ನೀವು ಮಾನವನಂತೆ ವಾಕ್ಯವನ್ನು ಪಾರ್ಸ್ ಮಾಡಬಲ್ಲ ಕೋಡ್ ಬರೆಯಲು ಕಲಿಯುತ್ತೀರಿ. ನಂತರ ನೀವು ಪರಿಶೀಲಿಸುವ ದೊಡ್ಡ ಸವಾಲು ಎಂದರೆ ವಾಕ್ಯದ ಅರ್ಥ ಮತ್ತು ಭಾವನೆ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು.

ಪೂರ್ವಾಪೇಕ್ಷಿತಗಳು

ಈ ಪಾಠಕ್ಕಾಗಿ ಮುಖ್ಯ ಪೂರ್ವಾಪೇಕ್ಷಿತವು ಈ ಪಾಠದ ಭಾಷೆಯನ್ನು ಓದಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯ. ಯಾವುದೇ ಗಣಿತ ಸಮಸ್ಯೆಗಳು ಅಥವಾ ಸಮೀಕರಣಗಳನ್ನು ಪರಿಹರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಮೂಲ ಲೇಖಕ ಈ ಪಾಠವನ್ನು ಇಂಗ್ಲಿಷ್‌ನಲ್ಲಿ ಬರೆದಿದ್ದರೂ, ಇದು ಇತರ ಭಾಷೆಗಳಿಗೆ ಅನುವಾದಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ನೀವು ಅನುವಾದವನ್ನು ಓದುತ್ತಿರಬಹುದು. ವಿವಿಧ ಭಾಷೆಗಳ ವ್ಯಾಕರಣ ನಿಯಮಗಳನ್ನು ಹೋಲಿಸಲು ಕೆಲವು ಉದಾಹರಣೆಗಳಲ್ಲಿ ವಿವಿಧ ಭಾಷೆಗಳು ಬಳಸಲ್ಪಟ್ಟಿವೆ. ಅವುಗಳು ಅನುವಾದಿಸಲ್ಪಟ್ಟಿಲ್ಲ, ಆದರೆ ವಿವರಣಾತ್ಮಕ ಪಠ್ಯವನ್ನು ಅನುವಾದಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಅರ್ಥ ಸ್ಪಷ್ಟವಾಗಿರಬೇಕು.

ಕೋಡಿಂಗ್ ಕಾರ್ಯಗಳಿಗಾಗಿ, ನೀವು Python ಬಳಸುತ್ತೀರಿ ಮತ್ತು ಉದಾಹರಣೆಗಳು Python 3.8 ಬಳಕೆ ಮಾಡುತ್ತಿವೆ.

ಈ ವಿಭಾಗದಲ್ಲಿ ನೀವು ಬೇಕಾಗಿರುವುದು ಮತ್ತು ಬಳಸುವದು:

  • Python 3 ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ. Python 3 ನಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ, ಈ ಪಾಠದಲ್ಲಿ ಇನ್‌ಪುಟ್, ಲೂಪ್‌ಗಳು, ಫೈಲ್ ಓದುವುದು, ಅರೆಗಳು ಬಳಸಲಾಗುತ್ತವೆ.

  • Visual Studio Code + ವಿಸ್ತರಣೆ. ನಾವು Visual Studio Code ಮತ್ತು ಅದರ Python ವಿಸ್ತರಣೆಯನ್ನು ಬಳಸುತ್ತೇವೆ. ನೀವು ನಿಮ್ಮ ಆಯ್ಕೆಯ Python IDE ಕೂಡ ಬಳಸಬಹುದು.

  • TextBlob. TextBlob Python ಗಾಗಿ ಸರಳೀಕೃತ ಪಠ್ಯ ಪ್ರಕ್ರಿಯೆ ಗ್ರಂಥಾಲಯವಾಗಿದೆ. ನಿಮ್ಮ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಇದನ್ನು ಸ್ಥಾಪಿಸಲು TextBlob ಸೈಟ್‌ನ ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸಿ (ಕೆಳಗಿನಂತೆ ಕಾರ್ಪೋರಾ ಸಹ ಸ್ಥಾಪಿಸಿ):

    pip install -U textblob
    python -m textblob.download_corpora

💡 ಟಿಪ್: ನೀವು Python ಅನ್ನು ನೇರವಾಗಿ VS Code ಪರಿಸರಗಳಲ್ಲಿ ಚಾಲನೆ ಮಾಡಬಹುದು. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಪರಿಶೀಲಿಸಿ.

ಯಂತ್ರಗಳೊಂದಿಗೆ ಮಾತಾಡುವುದು

ಕಂಪ್ಯೂಟರ್‌ಗಳು ಮಾನವ ಭಾಷೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುವ ಇತಿಹಾಸವು ದಶಕಗಳ ಹಿಂದೆ ಆರಂಭವಾಯಿತು, ಮತ್ತು ನೈಸರ್ಗಿಕ ಭಾಷಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪರಿಗಣಿಸಿದ ಮೊದಲ ವಿಜ್ಞಾನಿಗಳಲ್ಲಿ ಒಬ್ಬರು ಆಲನ್ ಟ್ಯೂರಿಂಗ್.

'ಟ್ಯೂರಿಂಗ್ ಪರೀಕ್ಷೆ'

1950ರ ದಶಕದಲ್ಲಿ ಟ್ಯೂರಿಂಗ್ ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆ ಕುರಿತು ಸಂಶೋಧನೆ ಮಾಡುತ್ತಿದ್ದಾಗ, ಮಾನವ ಮತ್ತು ಕಂಪ್ಯೂಟರ್ (ಟೈಪ್ ಮಾಡಿದ ಪತ್ರಚರ್ಯೆಯ ಮೂಲಕ) ನಡುವೆ ಸಂಭಾಷಣಾ ಪರೀಕ್ಷೆಯನ್ನು ನೀಡಬಹುದೇ ಎಂದು ಪರಿಗಣಿಸಿದರು, ಅಲ್ಲಿ ಸಂಭಾಷಣೆಯಲ್ಲಿರುವ ಮಾನವನು ಅವರು ಮತ್ತೊಬ್ಬ ಮಾನವನೊಂದಿಗೆ ಮಾತನಾಡುತ್ತಿದ್ದಾರೋ ಅಥವಾ ಕಂಪ್ಯೂಟರ್‌ನೊಂದಿಗೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲಾರರು.

ನಿರ್ದಿಷ್ಟ ಸಮಯದ ಸಂಭಾಷಣೆಯ ನಂತರ, ಮಾನವನು ಉತ್ತರಗಳು ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಬಂದವೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಆ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಚಿಂತಿಸುವುದಾಗಿ ಹೇಳಬಹುದೇ?

ಪ್ರೇರಣೆ - 'ನಕಲಿ ಆಟ'

ಈ ಕಲ್ಪನೆ ಒಂದು ಪಕ್ಷದ ಆಟದಿಂದ ಬಂದಿದೆ, ಅದನ್ನು ನಕಲಿ ಆಟ ಎಂದು ಕರೆಯುತ್ತಾರೆ, ಅಲ್ಲಿ ಒಂದು ಪ್ರಶ್ನೆಗಾರನು ಒಬ್ಬನಾಗಿ ಕೊಠಡಿಯಲ್ಲಿ ಇರುತ್ತಾನೆ ಮತ್ತು ಇನ್ನೊಂದು ಕೊಠಡಿಯಲ್ಲಿ ಇರುವ ಇಬ್ಬರಲ್ಲಿ ಯಾರು ಪುರುಷ ಮತ್ತು ಯಾರು ಮಹಿಳೆ ಎಂದು ನಿರ್ಧರಿಸುವ ಕಾರ್ಯವನ್ನು ಹೊಂದಿರುತ್ತಾನೆ. ಪ್ರಶ್ನೆಗಾರನು ಟಿಪ್ಪಣಿಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಬರೆಯಲಾದ ಉತ್ತರಗಳು ರಹಸ್ಯ ವ್ಯಕ್ತಿಯ ಲಿಂಗವನ್ನು ಬಹಿರಂಗಪಡಿಸುವಂತಹ ಪ್ರಶ್ನೆಗಳನ್ನು ಯೋಚಿಸಬೇಕು. ಖಂಡಿತವಾಗಿ, ಇನ್ನೊಂದು ಕೊಠಡಿಯಲ್ಲಿ ಇರುವ ಆಟಗಾರರು ಪ್ರಶ್ನೆಗಾರನನ್ನು ತಪ್ಪುಮಾಡಲು ಅಥವಾ ಗೊಂದಲಕ್ಕೆ ಒಳಪಡಿಸಲು ಉತ್ತರಿಸುತ್ತಾರೆ, ಆದರೆ ಸತ್ಯವಂತಿಕೆಯಿಂದ ಉತ್ತರಿಸುತ್ತಿರುವಂತೆ ಕಾಣಿಸುವ ಪ್ರಯತ್ನ ಮಾಡುತ್ತಾರೆ.

ಎಲಿಜಾ ಅಭಿವೃದ್ಧಿ

1960ರ ದಶಕದಲ್ಲಿ MIT ವಿಜ್ಞಾನಿ ಜೋಸೆಫ್ ವೈಜನ್‌ಬಾಮ್ ಎಲಿಜಾ ಎಂಬ ಕಂಪ್ಯೂಟರ್ 'ಥೆರಪಿಸ್ಟ್' ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದರು, ಅದು ಮಾನವನಿಗೆ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿ ಅವರ ಉತ್ತರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡಂತೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತಿತ್ತು. ಆದರೆ, ಎಲಿಜಾ ವಾಕ್ಯವನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ಕೆಲವು ವ್ಯಾಕರಣ ರಚನೆಗಳು ಮತ್ತು ಪ್ರಮುಖ ಪದಗಳನ್ನು ಗುರುತಿಸಬಹುದು, ಆದರೂ ವಾಕ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದೆ ಎಂದು ಹೇಳಲಾಗುವುದಿಲ್ಲ. ಎಲಿಜಾ "ನಾನು ದುಃಖಿತ" ಎಂಬ ವಾಕ್ಯವನ್ನು ಪಡೆದರೆ, ಅದು ವಾಕ್ಯದಲ್ಲಿ ಪದಗಳನ್ನು ಮರುಕ್ರಮಿಸಿ "ನೀವು ಎಷ್ಟು ಕಾಲ ದುಃಖಿತ ಇದ್ದೀರಿ" ಎಂಬ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ರೂಪಿಸಬಹುದು.

ಇದು ಎಲಿಜಾ ವಾಕ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡು ಮುಂದಿನ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳುತ್ತಿರುವಂತೆ ಭಾಸ ನೀಡಿತು, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ ಅದು ಕಾಲವನ್ನು ಬದಲಾಯಿಸಿ ಕೆಲವು ಪದಗಳನ್ನು ಸೇರಿಸುತ್ತಿತ್ತು. ಎಲಿಜಾ ಪ್ರತಿಕ್ರಿಯೆ ಹೊಂದಿರುವ ಪ್ರಮುಖ ಪದವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಅದು ಬದಲಾಗಿ ಅನೇಕ ವಿಭಿನ್ನ ಹೇಳಿಕೆಗಳಿಗೆ ಅನ್ವಯಿಸುವ ಸಾಧ್ಯವಿರುವ ಯಾದೃಚ್ಛಿಕ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತಿತ್ತು. ಉದಾಹರಣೆಗೆ, ಬಳಕೆದಾರನು "ನೀವು ಒಂದು ಸೈಕಲ್" ಎಂದು ಬರೆದರೆ, ಅದು "ನಾನು ಎಷ್ಟು ಕಾಲ ಸೈಕಲ್ ಆಗಿದ್ದೇನೆ?" ಎಂದು ಪ್ರತಿಕ್ರಿಯಿಸಬಹುದು, ಬದಲಾಗಿ ಹೆಚ್ಚು ಯುಕ್ತಿಪೂರ್ಣ ಪ್ರತಿಕ್ರಿಯೆಯ ಬದಲು.

ಎಲಿಜಾ ಜೊತೆ ಚಾಟ್

🎥 ಮೂಲ ELIZA ಪ್ರೋಗ್ರಾಂ ಕುರಿತು ವೀಡಿಯೋಗಾಗಿ ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ

ಗಮನಿಸಿ: ನೀವು 1966 ರಲ್ಲಿ ಪ್ರಕಟಿತ ಎಲಿಜಾ ಮೂಲ ವಿವರಣೆಯನ್ನು ಓದಲು ACM ಖಾತೆ ಹೊಂದಿದ್ದರೆ ಓದಬಹುದು. ಬದಲಾಗಿ, ಎಲಿಜಾ ಬಗ್ಗೆ ವಿಕಿಪೀಡಿಯಾ ನಲ್ಲಿ ಓದಿ.

ವ್ಯಾಯಾಮ - ಮೂಲಭೂತ ಸಂಭಾಷಣಾ ಬಾಟ್ ಕೋಡಿಂಗ್

ಎಲಿಜಾ ಹೋಲುವ ಸಂಭಾಷಣಾ ಬಾಟ್ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಆಗಿದ್ದು, ಬಳಕೆದಾರರ ಇನ್‌ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಪ್ರತಿಕ್ರಿಯಿಸುವಂತೆ ಕಾಣುತ್ತದೆ. ಎಲಿಜಾ ಹೋಲುವಂತೆ, ನಮ್ಮ ಬಾಟ್‌ ಬಳಿ ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಸಂಭಾಷಣೆ ನಡೆಸುತ್ತಿರುವಂತೆ ಕಾಣಿಸುವ ಹಲವು ನಿಯಮಗಳಿರಲಾರವು. ಬದಲಾಗಿ, ನಮ್ಮ ಬಾಟ್‌ಗೆ ಒಂದೇ ಸಾಮರ್ಥ್ಯವಿದೆ, ಅದು ಯಾವುದೇ ಸರಳ ಸಂಭಾಷಣೆಯಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಹುದಾದ ಯಾದೃಚ್ಛಿಕ ಪ್ರತಿಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಸಂಭಾಷಣೆಯನ್ನು ಮುಂದುವರಿಸುವುದು.

ಯೋಜನೆ

ಸಂಭಾಷಣಾ ಬಾಟ್ ನಿರ್ಮಿಸುವಾಗ ನಿಮ್ಮ ಹಂತಗಳು:

  1. ಬಳಕೆದಾರರಿಗೆ ಬಾಟ್ ಜೊತೆ ಹೇಗೆ ಸಂವಹನ ಮಾಡಬೇಕೆಂದು ಸೂಚನೆಗಳನ್ನು ಮುದ್ರಿಸಿ
  2. ಲೂಪ್ ಪ್ರಾರಂಭಿಸಿ
    1. ಬಳಕೆದಾರ ಇನ್‌ಪುಟ್ ಸ್ವೀಕರಿಸಿ
    2. ಬಳಕೆದಾರನಿಗೆ ನಿರ್ಗಮಿಸಲು ಕೇಳಿದ್ದರೆ, ನಿರ್ಗಮಿಸಿ
    3. ಬಳಕೆದಾರ ಇನ್‌ಪುಟ್ ಪ್ರಕ್ರಿಯೆ ಮಾಡಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ನಿರ್ಧರಿಸಿ (ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರತಿಕ್ರಿಯೆ ಸಾಧ್ಯವಿರುವ ಸಾಮಾನ್ಯ ಪ್ರತಿಕ್ರಿಯೆಗಳ ಪಟ್ಟಿಯಿಂದ ಯಾದೃಚ್ಛಿಕ ಆಯ್ಕೆ)
    4. ಪ್ರತಿಕ್ರಿಯೆ ಮುದ್ರಿಸಿ
  3. ಹಂತ 2 ಗೆ ಮರುಹೊಂದಿಸಿ

ಬಾಟ್ ನಿರ್ಮಾಣ

ಮುಂದೆ ಬಾಟ್ ರಚಿಸೋಣ. ನಾವು ಕೆಲವು ವಾಕ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದರಿಂದ ಪ್ರಾರಂಭಿಸೋಣ.

  1. ಕೆಳಗಿನ ಯಾದೃಚ್ಛಿಕ ಪ್ರತಿಕ್ರಿಯೆಗಳೊಂದಿಗೆ Python ನಲ್ಲಿ ಈ ಬಾಟ್ ಅನ್ನು ನೀವು ಸ್ವತಃ ರಚಿಸಿ:

    random_responses = ["That is quite interesting, please tell me more.",
                        "I see. Do go on.",
                        "Why do you say that?",
                        "Funny weather we've been having, isn't it?",
                        "Let's change the subject.",
                        "Did you catch the game last night?"]

    ಮಾರ್ಗದರ್ಶನಕ್ಕಾಗಿ ಕೆಲವು ಉದಾಹರಣಾ ಔಟ್‌ಪುಟ್ (ಬಳಕೆದಾರ ಇನ್‌ಪುಟ್ > ಚಿಹ್ನೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸಾಲುಗಳಲ್ಲಿ):

    Hello, I am Marvin, the simple robot.
    You can end this conversation at any time by typing 'bye'
    After typing each answer, press 'enter'
    How are you today?
    > I am good thanks
    That is quite interesting, please tell me more.
    > today I went for a walk     
    Did you catch the game last night?
    > I did, but my team lost
    Funny weather we've been having, isn't it?
    > yes but I hope next week is better
    Let's change the subject.
    > ok, lets talk about music
    Why do you say that?
    > because I like music!
    Why do you say that?
    > bye
    It was nice talking to you, goodbye!
    

    ಈ ಕಾರ್ಯಕ್ಕೆ ಒಂದು ಸಾಧ್ಯವಾದ ಪರಿಹಾರವನ್ನು ಇಲ್ಲಿ ನೋಡಬಹುದು

    ✅ ನಿಲ್ಲಿಸಿ ಮತ್ತು ಪರಿಗಣಿಸಿ

    1. ಯಾದೃಚ್ಛಿಕ ಪ್ರತಿಕ್ರಿಯೆಗಳು ಯಾರನ್ನಾದರೂ ಬಾಟ್ ಅವರನ್ನು ನಿಜವಾಗಿಯೂ ಅರ್ಥಮಾಡಿಕೊಂಡಿದೆ ಎಂದು ಭಾವಿಸುವಂತೆ 'ತಪ್ಪಿಸುವುದೇ' ಎಂದು ನೀವು ಭಾವಿಸುತ್ತೀರಾ?
    2. ಬಾಟ್ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಲು ಯಾವ ವೈಶಿಷ್ಟ್ಯಗಳು ಬೇಕಾಗುತ್ತವೆ?
    3. ಒಂದು ಬಾಟ್ ವಾಕ್ಯದ ಅರ್ಥವನ್ನು ನಿಜವಾಗಿಯೂ 'ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದರೆ', ಅದು ಸಂಭಾಷಣೆಯ ಹಿಂದಿನ ವಾಕ್ಯಗಳ ಅರ್ಥವನ್ನು 'ಸ್ಮರಿಸಬೇಕಾಗುತ್ತದೆಯೇ'?

🚀ಸವಾಲು

ಮೇಲಿನ "ನಿಲ್ಲಿಸಿ ಮತ್ತು ಪರಿಗಣಿಸಿ" ಅಂಶಗಳಲ್ಲಿ ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಅದನ್ನು ಕೋಡ್‌ನಲ್ಲಿ ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ಪೇಪರ್‌ನಲ್ಲಿ ಪ್ಸ್ಯೂಡೋಕೋಡ್ ಬಳಸಿ ಪರಿಹಾರವನ್ನು ಬರೆಯಿರಿ.

ಮುಂದಿನ ಪಾಠದಲ್ಲಿ, ನೀವು ನೈಸರ್ಗಿಕ ಭಾಷೆಯನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ಮತ್ತು ಯಂತ್ರ ಅಧ್ಯಯನದ ಹಲವಾರು ಇತರ ವಿಧಾನಗಳನ್ನು ಕಲಿಯುತ್ತೀರಿ.

ವಿಮರ್ಶೆ ಮತ್ತು ಸ್ವಯಂ ಅಧ್ಯಯನ

ಕೆಳಗಿನ ಉಲ್ಲೇಖಗಳನ್ನು ಹೆಚ್ಚಿನ ಓದು ಅವಕಾಶಗಳಾಗಿ ನೋಡಿ.

ಉಲ್ಲೇಖಗಳು

  1. ಶೂಬರ್ಟ್, ಲೆನ್ಹಾರ್ಟ್, "ಗಣನಾತ್ಮಕ ಭಾಷಾಶಾಸ್ತ್ರ", ಸ್ಟ್ಯಾನ್ಫರ್ಡ್ ತತ್ವಶಾಸ್ತ್ರ ನಿಘಂಟು (ವಸಂತ 2020 ಆವೃತ್ತಿ), ಎಡ್ವರ್ಡ್ ಎನ್. ಜಾಲ್ಟಾ (ಸಂಪಾದಕ), URL = https://plato.stanford.edu/archives/spr2020/entries/computational-linguistics/.
  2. ಪ್ರಿನ್ಸ್ಟನ್ ವಿಶ್ವವಿದ್ಯಾಲಯ "ವರ್ಡ್‌ನೆಟ್ ಬಗ್ಗೆ." WordNet. ಪ್ರಿನ್ಸ್ಟನ್ ವಿಶ್ವವಿದ್ಯಾಲಯ. 2010.

ಹೋಮ್ವರ್ಕ್

ಬಾಟ್ ಹುಡುಕಿ


ಅಸ್ವೀಕರಣ:
ಈ ದಸ್ತಾವೇಜು Co-op Translator ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯತ್ತ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.