Total Pageviews

Monday, December 16, 2024

पाइथन में प्राकृतिक भाषा संसाधन, भाग : 5. पद-विच्छेदन/पार्सिंग (Parsing)

 पाइथन में प्राकृतिक भाषा संसाधन, भाग : 5. पद-विच्छेदन/पार्सिंग (Parsing)

§  किसी वाक्य को उसकी संरचना के अनुसार विश्लेषित करने की प्रक्रिया पद-विच्छेदन है।

§  पद-विच्छेदन के लिए सर्वप्रथम वाक्य की टैगिंग करना आवश्यक होता है।

§  टैगिंग के बाद चंकिंग (पदबंध-चिह्नन) का कार्य किया जाता है।

§  इसके पश्चात पद-विच्छेदित वाक्य निर्मित होता है। अतः इसे क्रमानुसार निम्नलिखित प्रकार से देखा जा सकता है-


पाइथन में पद-विच्छेदन/पार्सिंग

इसके लिए निम्नलिखित कोड करें-

!pip install nltk

!pip install indic-nlp-library

import nltk

nltk.download('punkt')

import nltk

from nltk.tokenize import word_tokenize

from indicnlp.tokenize import indic_tokenize  # Use Indic NLP for better Hindi tokenization

 

# Set up Indic NLP resources

import os

os.environ["INDIC_RESOURCES_PATH"] = "/path/to/indic_nlp_resources"

text = "My son is a very good boy"

 

# Tokenize the text

words = indic_tokenize.trivial_tokenize(text)

 

# Perform parsing (example: chunking)

grammar = r"""

  NP: {<NN.*><JJ.*>*}  # Noun Phrase

  VP: {<VB.*><NP|PP>*}  # Verb Phrase

  PP: {<IN><NP>}       # Prepositional Phrase

"""

cp = nltk.RegexpParser(grammar)

tree = cp.parse(nltk.pos_tag(words))

 

print(tree)

 

 

हिंदी पाठ के लिए :

नोट : अभी नहीं हो रहा है

!pip install nltk

!pip install indic-nlp-library

import nltk

nltk.download('punkt')

import nltk

from nltk.tokenize import word_tokenize

from indicnlp.tokenize import indic_tokenize  # Use Indic NLP for better Hindi tokenization

 

# Set up Indic NLP resources

import os

os.environ["INDIC_RESOURCES_PATH"] = "/path/to/indic_nlp_resources"

text = "मैं आज बाजार जा रहा हूँ।"

 

# Tokenize the text

words = indic_tokenize.trivial_tokenize(text)

 

# Perform parsing (example: chunking)

grammar = r"""

  NP: {<NN.*><JJ.*>*}  # Noun Phrase

  VP: {<VB.*><NP|PP>*}  # Verb Phrase

  PP: {<IN><NP>}       # Prepositional Phrase

"""

cp = nltk.RegexpParser(grammar)

tree = cp.parse(nltk.pos_tag(words))

 

print(tree)

NLTK Treebank से वाक्य का पद-विच्छेदन :

NLTK में उपलब्ध Treebanks का प्रयोग करते हुए पार्सिंग भी की जा सकती है। यहाँ ट्रीबैंक के पार्स किए हुए वाक्य को प्रोग्राम से जोड़कर दिखाया गया है-


 


No comments:

Post a Comment