বিগ্রাম হল একটি বাক্য থেকে প্রতিটি দুটি ক্রমাগত শব্দের জোড়া তৈরি করা। পাইথনে এই টেকনিকটি টেক্সট এনালিটিক্সে ব্যাপকভাবে ব্যবহৃত হয়। নিচে দুটি পদ্ধতি দেখানো হলো।
enumerate এবং split ব্যবহার করে
এই দুটি মেথড ব্যবহার করে প্রথমে বাক্যটিকে একাধিক শব্দে ভাগ করা হয় এবং তারপর enumerate ফাংশন ব্যবহার করে ক্রমাগত শব্দ থেকে শব্দের জোড়া তৈরি করা হয়।
উদাহরণ
list = ['Stop. look left right. go']
print("The given list is : \n" + str(list))
# Using enumerate() and split() for Bigram formation
output = [(k, m.split()[n + 1]) for m in list for n, k in enumerate(m.split()) if n < len(m.split()) - 1]
print("Bigram formation from given list is: \n" + str(output))
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাওয়া যায়:
The given list is : ['Stop. look left right. go']
Bigram formation from given list is: [('Stop.', 'look'), ('look', 'left'), ('left', 'right.'), ('right.', 'go')]
zip() এবং split() ব্যবহার করে
আমরা zip() এবং split() ফাংশনও ব্যবহার করে বিগ্রাম তৈরি করতে পারি। zip() ফাংশন split() দিয়ে বাক্য থেকে তৈরি শব্দগুলোকে ক্রমাগতভাবে জোড়ায়।
উদাহরণ
list = ['Stop. look left right. go']
print("The given list is : \n" + str(list))
# Using zip() and split() for Bigram formation
output = [m for n in list for m in zip(n.split(" ")[:-1], n.split(" ")[1:])]
print("Bigram formation from given list is: \n" + str(output))
আউটপুট
উপরোক্ত কোডটি রান করলে নিচের ফলাফল পাওয়া যায়:
The given list is : ['Stop. look left right. go']
Bigram formation from given list is: [('Stop.', 'look'), ('look', 'left'), ('left', 'right.'), ('right.', 'go')]