استخراج اطلاعات از متن، تجزیه و تحلیل احساسات و موضوع بندی متن با Pandas
Pandas به عنوان یک کتابخانه قدرتمند Python برای تجزیه و تحلیل داده ها، ابزارهایی را برای استخراج اطلاعات از متن، تجزیه و تحلیل احساسات و موضوع بندی متن ارائه می دهد. با استفاده از Pandas می توانید به طور موثر متن را پردازش کنید، اطلاعات کلیدی را استخراج کنید، احساسات و موضوعات را شناسایی کنید و بینش های ارزشمندی از داده های متنی خود به دست آورید.
۱. استخراج اطلاعات از متن:
- از عبارات منظم یا کتابخانه هایی مانند
spaCy
یاNLTK
برای استخراج اطلاعات ساختاریافته مانند نام ها، مکان ها، تاریخ ها و اعداد از متن استفاده کنید. - اطلاعات استخراج شده را در DataFrame های Pandas ذخیره کنید تا بتوانید به طور موثر آنها را تجزیه و تحلیل کنید.
Python
import pandas as pd
import spacy
# استفاده از spaCy برای استخراج نام ها از متن
nlp = spacy.load("en_core_web_sm")
text = "John Doe lives in New York City and works as a software engineer at Google."
doc = nlp(text)
# استخراج نام ها و ذخیره آنها در DataFrame
names = []
for ent in doc.ents:
if ent.label_ == "PERSON":
names.append(ent.text)
data = pd.DataFrame({"Name": names})
print(data)
۲. تجزیه و تحلیل احساسات:
- از کتابخانه هایی مانند
TextBlob
یاVaderSentiment
برای تجزیه و تحلیل احساسات متن و تعیین اینکه آیا مثبت، منفی یا خنثی است، استفاده کنید. - نتایج تجزیه و تحلیل احساسات را به DataFrame های Pandas اضافه کنید.
Python
import pandas as pd
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
# استفاده از VaderSentiment برای تجزیه و تحلیل احساسات متن
analyzer = SentimentIntensityAnalyzer()
text = "I am very happy with this product. It is amazing and I would definitely recommend it to others."
sentiment = analyzer.polarity_scores(text)
data = pd.DataFrame({"Sentiment": sentiment})
print(data)
۳. موضوع بندی متن:
- از کتابخانه هایی مانند
gensim
یاTopicModeling
برای شناسایی موضوعات کلیدی در یک مجموعه اسناد متنی استفاده کنید. - موضوعات استخراج شده را به DataFrame های Pandas اضافه کنید.
Python
import pandas as pd
from gensim.models import LdaModel
# استفاده از LDA برای موضوع بندی متن
documents = [
"This document is about machine learning.",
"This document is about natural language processing.",
"This document is about artificial intelligence."
]
corpus = [[word for word in doc.split()] for doc in documents]
dictionary = gensim.corpora.Dictionary(corpus)
corpus_bow = [dictionary.doc2bow(doc) for doc in corpus]
lda_model = LdaModel(corpus_bow, num_topics=۲, id2word=dictionary)
topics = lda_model.print_topics()
data = pd.DataFrame(topics)
print(data)
نکات:
- از کتابخانه های مناسب برای وظایف خاص خود استفاده کنید.
- قبل از استفاده از هر کتابخانه ای، مستندات آن را به دقت مطالعه کنید.
- داده های متنی خود را به طور کامل تمیز و پیش پردازش کنید تا از نتایج دقیق اطمینان حاصل کنید.
- نتایج تجزیه و تحلیل متن خود را به طور بصری با نمودارها و پلات ها نمایش دهید.
با تسلط بر تکنیک های پردازش متن با Pandas، می توانید از داده های متنی خود برای استخراج اطلاعات ارزشمند، درک احساسات و موضوعات و کسب بینش های عملی استفاده کنید.