Total Pageviews

Monday, December 16, 2024

पाइथन में प्राकृतिक भाषा संसाधन, भाग : 4. पदबंध चिह्नन (Phrase Marking) और चंकिंग (Chunking)

पाइथन में प्राकृतिक भाषा संसाधन, भाग : 4. पदबंध चिह्नन (Phrase Marking) और चंकिंग (Chunking)

§  पदबंध चिह्नन (Phrase Marking) या चंकिंग (Chunking) वाक्य में एक प्रकार्य को संपन्न करने वाले पद-समूहों को एक साथ चिह्नित करने की प्रक्रिया है।

§  उस पद-समूह को चंक कहते हैं। कंप्यूटर की दृष्टि से परिभाषित करते हुए कहा गया है कि ‘चंक वह सबसे छोटी इकाई हैजिसे संसाधित किया जा सकता है।’ 

§  वाक्य में पदबंध ही चंक का कार्य करते हैं। इसलिए कहा जा सकता है कि चंकिंग के अंतर्गत ‘पदबंध चिह्नन’ का कार्य किया जाता है।

§  इसके लिए पदबंध स्तर के टैगों (Tags) की आवश्यकता पड़ती हैचंक टैग (chunk tags) कहते हैंजैसे-

o   संज्ञा पदबंध               = NP

o   क्रिया पदबंध             = VP

o   परसर्गीय पदबंध         = PP

o   विशेषण पदबंध          = JJP

§  पदबंध चिह्नन (Phrase Marking) या चंकिंग (Chunking) का कार्य टैगिंग के बाद किया जाता हैक्योंकि जब वाक्य के सभी शब्द टैग कर लिए जाते हैं तो उनके संयोजन के आधार पर ही पदबंध या चंक निर्धारित किए जाते हैं। उदाहरण के लिए निम्नलिखित हिंदी वाक्य को देखें-

इनपुट वाक्य-

बड़ा लड़का मीठे आम खाता है।

टैगिंग -

बड़ा<JJ> लड़का<NN> मीठे<JJ> आम<NN> खाता<VM> है<AUX> <PM>

पदबंध चिह्नन (Phrase Marking) या चंकिंग (Chunking)-

(NP बड़ा<JJ> लड़का<NN>)

(NP मीठे<JJ> आम<NN>)

(VP खाता<VM> है<AUX>)

(. <PM>)

पाइथन में चंकिंग (Chunking)

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

!pip install indic-nlp-library

 

from indicnlp.tokenize import sentence_tokenize

 

def chunk_hindi_text(text, chunk_size):

  """

  Chunks Hindi text into smaller pieces.

 

  Args:

    text: The Hindi text to chunk.

    chunk_size: The desired size of each chunk (in sentences).

 

  Returns:

    A list of text chunks.

  """

 

  sentences = sentence_tokenize.sentence_split(text, lang='hi')

  chunks = []

  for i in range(0, len(sentences), chunk_size):

    chunks.append(' '.join(sentences[i:i + chunk_size]))

  return chunks

 

# Example usage:

text = """यह एक उदाहरण है। इसमें कई वाक्य हैं। हम इसे छोटे-छोटे टुकड़ों में विभाजित करेंगे।"""

chunks = chunk_hindi_text(text, 1)

for chunk in chunks:

  print(chunk)

यह अभी वाक्य स्तर पर ही चंक बना रहा है।


No comments:

Post a Comment