কীওয়ার্ড এক্সট্রাকশন কি?
মূলশব্দ নিষ্কাশন স্বয়ংক্রিয়ভাবে একটি পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে একটি পাঠ্য থেকে সর্বাধিক ব্যবহৃত এবং সবচেয়ে গুরুত্বপূর্ণ শব্দ এবং অভিব্যক্তিগুলিকে বের করে। এটি পাঠ্যের বিষয়বস্তু সংক্ষিপ্ত করতে এবং আলোচিত প্রধান বিষয়গুলিকে চিনতে সাহায্য করে, যা বাজার গবেষণা, অনুভূতি বিশ্লেষণ এবং অন্যান্য ধরণের ডেটা বিশ্লেষণের জন্য সহায়ক। এই কৌশলটি বাক্য এমবেডিংয়ের সুবিধা দেয় এবং রিয়েল-টাইমে ডেটার বড় সেট বিশ্লেষণ করতে পারে।
প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (এনএলপি) (কম্পিউটার বিজ্ঞানের একটি ক্ষেত্র) সহ মেশিন লার্নিং কৃত্রিম বুদ্ধিমত্তা (এআই) মানুষের ভাষাকে ভেঙে দেয় যাতে মেশিনগুলি এটি বুঝতে এবং বিশ্লেষণ করতে পারে। কীওয়ার্ড নিষ্কাশন কর্মপ্রবাহকে স্বয়ংক্রিয় করে যেমন আগত সমীক্ষার প্রতিক্রিয়া ট্যাগ করা বা গ্রাহকের জরুরী প্রশ্নের উত্তর দেওয়া। এই কৌশলটি পাঠ্য এবং সেগুলিতে থাকা শব্দগুলি সম্পর্কে ভাষাগত এবং শব্দার্থিক তথ্য ব্যবহার করে। একটি পাঠ্যের মধ্যে সবচেয়ে প্রাসঙ্গিক কীওয়ার্ডগুলি বের করার জন্য বিভিন্ন মেশিন লার্নিং অ্যালগরিদম এবং কৌশল রয়েছে।
কেন কীওয়ার্ড নিষ্কাশন গুরুত্বপূর্ণ?
কীওয়ার্ড নিষ্কাশন এবং কীফ্রেজ নিষ্কাশন বিভিন্ন কারণে গুরুত্বপূর্ণ:
- সার্চ ইঞ্জিন অপ্টিমাইজেশান (SEO) : কীওয়ার্ড নিষ্কাশন একটি নথিতে সবচেয়ে গুরুত্বপূর্ণ শব্দ এবং বাক্যাংশ সনাক্ত করতে সাহায্য করে, যা সার্চ ইঞ্জিনের জন্য ওয়েবসাইটের বিষয়বস্তু অপ্টিমাইজ করতে ব্যবহার করা যেতে পারে।
- পাঠ্য সংক্ষিপ্তকরণ: পাঠ্যের মূল বিষয়বস্তুকে প্রতিনিধিত্ব করে এমন সবচেয়ে গুরুত্বপূর্ণ শব্দ এবং বাক্যাংশগুলি সনাক্ত করে একটি নথির সংক্ষিপ্তসারের জন্য কীওয়ার্ড নিষ্কাশন ব্যবহার করা যেতে পারে।
- টেক্সট শ্রেণীবিভাগ: কীওয়ার্ড এক্সট্রাকশন টেক্সট ডকুমেন্টগুলিকে তাদের মধ্যে থাকা কীওয়ার্ডগুলির উপর ভিত্তি করে বিভিন্ন বিভাগে শ্রেণীবদ্ধ করতে ব্যবহার করা যেতে পারে। এটি অনুভূতি বিশ্লেষণের মতো অ্যাপ্লিকেশনগুলিতে কার্যকর।
- তথ্য পুনরুদ্ধার: ব্যবহারকারীর অনুসন্ধান প্রশ্নের সাথে মেলে এমন প্রাসঙ্গিক কীওয়ার্ডগুলি সনাক্ত করে তথ্য পুনরুদ্ধার সিস্টেমের নির্ভুলতা উন্নত করতে কীওয়ার্ড নিষ্কাশন ব্যবহার করা যেতে পারে।
R-এ কীওয়ার্ড এক্সট্রাকশন কীভাবে করবেন?
এখানে কিছু কীওয়ার্ড নিষ্কাশন কৌশল এবং তাদের ব্যবহারের ক্ষেত্রে রয়েছে:
- বিশেষ্য সনাক্ত করার জন্য পার্টস অফ স্পিচ ট্যাগিং করে কীওয়ার্ড খুঁজুন
- সংকলন এবং সহ-ঘটনার উপর ভিত্তি করে কীওয়ার্ড খুঁজুন
- Textrank অ্যালগরিদমের উপর ভিত্তি করে কীওয়ার্ড খুঁজুন
- RAKE (দ্রুত স্বয়ংক্রিয় কীওয়ার্ড নিষ্কাশন) এর উপর ভিত্তি করে কীওয়ার্ড খুঁজুন
- নির্ভরতা পার্সিংয়ের ফলাফলের উপর ভিত্তি করে কীওয়ার্ড খুঁজুন (পাঠ্যের বিষয় পাওয়া)
বিশেষ্য নিষ্কাশন
কীওয়ার্ড খোঁজার একটি সহজ উপায় হল বিশেষ্যের দিকে তাকানো। যেহেতু আপনি udpipe প্যাকেজ ব্যবহার করে টেক্সট টীকা করলে প্রতিটি শব্দের একটি পার্টস অফ স্পিচ ট্যাগ থাকে:
কোড:
stats <- subset(x, upos %in% "NOUN")
stats <- txt_freq(x = stats$lemma)
library(lattice)
stats$key <- factor(stats$key, levels = rev(stats$key))
barchart(key ~ freq, data = head(stats, 30), col = "cadetblue", main = "Most occurring nouns", xlab = "Freq")
সংযোজন এবং সহ-সংঘটন
একাধিক শব্দের অভিব্যক্তি পান কোলোকেশন (শব্দগুলি একে অপরকে অনুসরণ করে), প্রতিটি বাক্যের মধ্যে শব্দের সহ-সংঘটনের দিকে, অথবা শব্দের সহ-সংঘটনগুলি যা একে অপরের কাছাকাছি রয়েছে।
কোড:
Collocation (words following one another)
stats <- keywords_collocation(x = x,
term = "token", group = c("doc_id", "paragraph_id", "sentence_id"),
ngram_max = 4)
Co-occurrences: How frequent do words occur in the same sentence, in this case only nouns or adjectives
stats <- cooccurrence(x = subset(x, upos %in% c("NOUN", "ADJ")),
term = "lemma", group = c("doc_id", "paragraph_id", "sentence_id"))
## Co-occurrences: How frequent do words follow one another
stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"))
## Co-occurrences: How frequent do words follow one another even if we would skip 2 words in between
stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"), skipgram = 2)
টেক্সট্র্যাঙ্ক (গুগল পেজর্যাঙ্ক দ্বারা আদেশকৃত শব্দ নেটওয়ার্ক)
Textrank হল কীওয়ার্ডের জন্য আরেকটি নিষ্কাশন পদ্ধতি। Textrank R প্যাকেজ Textrank অ্যালগরিদম প্রয়োগ করে। টেক্সট্র্যাঙ্ক অ্যালগরিদম পাঠ্যের সংক্ষিপ্তকরণ এবং কীওয়ার্ড নিষ্কাশনের অনুমতি দেয়। একটি শব্দ নেটওয়ার্ক তৈরি করতে, অ্যালগরিদম শব্দগুলি একে অপরকে অনুসরণ করে কিনা তা পরীক্ষা করে। ‘গুগল পেজর্যাঙ্ক’ অ্যালগরিদম প্রাসঙ্গিক শব্দ বের করছে। প্রাসঙ্গিক শব্দ যা একে অপরকে অনুসরণ করে কীওয়ার্ড পেতে একত্রিত হয়। TextRank মূল পাঠ্য থেকে উদ্ভূত হয় না, কারণ এটি একটি গ্রাফ-ভিত্তিক পদ্ধতি।
কোড:
stats <- textrank_keywords(x$lemma, relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 8, sep = " ")
stats <- subset(stats$keywords, ngram > 1 & freq >= 5) library(wordcloud) wordcloud(words = stats$keyword, freq = stats$freq)
দ্রুত স্বয়ংক্রিয় কীওয়ার্ড নিষ্কাশন: RAKE
RAKE হল পরবর্তী মৌলিক অ্যালগরিদম যা Rapid Automatic Keyword Extraction এর সংক্ষিপ্ত রূপ। RAKE প্রাকৃতিক ভাষা প্রক্রিয়াকরণে একটি ডোমেন-স্বাধীন কীওয়ার্ড নিষ্কাশন অ্যালগরিদম।
-
প্রতিটি শব্দের জন্য একটি স্কোর গণনা করা যা কোনো প্রার্থীর কীওয়ার্ডের অংশ, দ্বারা সম্পন্ন হয়
- প্রার্থীর কীওয়ার্ডের শব্দগুলির মধ্যে, অ্যালগরিদম দেখায় যে প্রতিটি শব্দ কতবার ঘটছে এবং কতবার এটি অন্যান্য শব্দের সাথে মিলিত হচ্ছে
- প্রতিটি শব্দ একটি স্কোর পায় যা শব্দ ডিগ্রির অনুপাত (এটি কতবার অন্যান্য শব্দের সাথে ঘটে) শব্দের ফ্রিকোয়েন্সি
- পূর্ণ প্রার্থীর কীওয়ার্ডের জন্য একটি RAKE স্কোর প্রতিটি শব্দের স্কোর যোগ করে গণনা করা হয় যা প্রার্থীর কীওয়ার্ডকে সংজ্ঞায়িত করে।
কোড:
stats <- keywords_rake(x = x, term = "token", group = c("doc_id", "paragraph_id", "sentence_id"), relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 4)
head(subset(stats, freq > 3))
নামমাত্র বিষয় এবং এটির বিশেষণ পেতে নির্ভরতা পার্সিং আউটপুট ব্যবহার করুন
আপনি যখন udpipe ব্যবহার করে টীকাটি সম্পাদন করেন, তখন dep_rel ক্ষেত্র নির্দেশ করে যে শব্দগুলি কীভাবে একে অপরের সাথে সম্পর্কিত। একটি টোকেন token_id এবং head_token_id ব্যবহার করে পিতামাতার সাথে সম্পর্কিত। dep_rel ক্ষেত্র নির্দেশ করে কিভাবে শব্দ একে অপরের সাথে লিঙ্ক করে। সম্পর্কের ধরন http://universaldependencies.org/u/dep/index.html এ রয়েছে৷
কোড:
stats <- merge(x, x, by.x = c("doc_id", "paragraph_id", "sentence_id", "head_token_id"), by.y = c("doc_id", "paragraph_id", "sentence_id", "token_id"), all.x = TRUE, all.y = FALSE, suffixes = c("", "_parent"), sort = FALSE)
stats <- subset(stats, dep_rel %in% "nsubj" & upos %in% c("NOUN") & upos_parent %in% c("ADJ"))
stats$term <- paste(stats$lemma_parent, stats$lemma, sep = " ")
stats <- txt_freq(stats$term)
library(wordcloud)
wordcloud(words = stats$key, freq = stats$freq, min.freq = 3, max.words = 100, random.order = FALSE, colors = brewer.pal(6, "Dark2"))
টেক্সট মাইনিং কি?
R-এ টেক্সট মাইনিং বলতে R প্রোগ্রামিং ভাষা এবং সংশ্লিষ্ট লাইব্রেরি এবং প্যাকেজ ব্যবহার করে টেক্সট ডেটা থেকে অন্তর্দৃষ্টি বিশ্লেষণ এবং বের করার প্রক্রিয়াকে বোঝায়। টেক্সট মাইনিংয়ে ডেটা পরিষ্কার এবং প্রিপ্রসেসিং, বৈশিষ্ট্য নিষ্কাশন, পরিসংখ্যানগত মডেলিং এবং ভিজ্যুয়ালাইজেশন সহ বেশ কয়েকটি ধাপ জড়িত।
দ্য
tm
প্যাকেজ পাঠ্য ডেটা পড়া, ডেটা পরিষ্কার এবং প্রিপ্রসেসিং এবং ডকুমেন্ট-টার্ম ম্যাট্রিক্স তৈরি করার জন্য ফাংশন সরবরাহ করে, যা সাধারণত পাঠ্য ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়। দ্য
tidytext
প্যাকেজ পাঠ্য ডেটাকে পরিপাটি ডেটা ফ্রেমে রূপান্তর করার জন্য সরঞ্জাম সরবরাহ করে।
টেক্সট মাইনিংয়ের কিছু সাধারণ কাজের মধ্যে রয়েছে অনুভূতি বিশ্লেষণ, টপিক মডেলিং, ডকুমেন্ট ক্লাস্টারিং এবং টেক্সট ক্লাসিফিকেশন। এই কাজগুলির মধ্যে পাঠ্য ডেটার মধ্যে নিদর্শন এবং সম্পর্ক সনাক্ত করতে পরিসংখ্যানগত এবং মেশিন-লার্নিং কৌশল প্রয়োগ করা জড়িত।
কীওয়ার্ড এক্সট্রাকশন এপিআই হল সফ্টওয়্যার ইন্টারফেস যা ডেভেলপারদের প্রাক-নির্মিত অ্যালগরিদম এবং মেশিন লার্নিং মডেল ব্যবহার করে পাঠ্য থেকে কীওয়ার্ড এবং মূল বাক্যাংশ বের করতে দেয়। এই APIগুলি কীওয়ার্ড নিষ্কাশন প্রক্রিয়া স্বয়ংক্রিয় করার জন্য একটি সহজে ব্যবহারযোগ্য এবং মাপযোগ্য সমাধান প্রদান করে, বিকাশকারীদের তাদের নিজস্ব মডেল তৈরি এবং প্রশিক্ষণের প্রয়োজন ছাড়াই।
R হল পরিসংখ্যানগত কম্পিউটিং, ডেটা বিশ্লেষণ এবং গ্রাফিক্সের জন্য একটি ওপেন সোর্স প্রোগ্রামিং ভাষা এবং সফ্টওয়্যার পরিবেশ। পরিসংখ্যানগত মডেলিং, ডেটা ভিজ্যুয়ালাইজেশন, মেশিন লার্নিং এবং ডেটা মাইনিংয়ের মতো কাজের জন্য লোকেরা একাডেমিয়া, গবেষণা এবং শিল্পে ব্যাপকভাবে R ব্যবহার করে। এটির অন্যান্য প্রোগ্রামিং ভাষার সাথে ইন্টারফেস রয়েছে যেমন পাইথন এবং C++ । GitHub-এ অনলাইন টিউটোরিয়াল সহ আরও বিস্তারিত তথ্য খুঁজুন।