深度學習之文字特徵值抽取
阿新 • • 發佈:2021-02-01
技術標籤:Python
首先構建三個字串: str1="疫情之下,全球化的道路將得到更多支援票還是反對票?人類社將更渴求一個相容幷包、相互支撐、分工合作的共生體,還是各自封閉,在保護主義和單邊主義的矯飾中飲鴆止渴?2020,突如其來的疫情對全球政治經濟乃至文化都形成了劇烈衝擊,從思想到行為,從理論到現實,都在呼喚人們對全球化道路予以更加深度而清醒的思考。" str2 ="經濟一體化和全球治理一直是世界政治經濟秩序在國際層面的重要組成部分,在疫情不斷擴散,又不斷引發人類為了疫苗、治療方案、物質生產及分配的道高一尺魔高一丈中,人們愈加發現:應對危機,人類社會更加迫切地需要某種程度的共同步調、齊心協力。從歐洲大陸,到中日韓與東盟,從聯合國到公共衛生國際合作,疫情也為全球化提供了這樣一個顯見的答案——沒有一個人或一個國家能獨善其身,也沒有任何任何個體可以真正擺脫他人而生存。" str3 ="2020,本報專欄《環球論壇》的學者專家,為2020的國際大事件提供了從經濟基礎到國際政治上層建築的多樣視角,對全球化進行了更加鞭辟入裡的分析。誰的全球化視野更開闊、道路更堅定,誰就擁有更光明的經濟前景,更積極的抗疫成果。在以下文章中,我們可以看到這些觀點"
這裡首先匯入一個模組:jieba,用它來進行分詞:如不瞭解jieba的同學,可以參考該篇文章:https://www.cnblogs.com/aloiswei/p/11567616.html
呼叫jieba進行分詞:
直接列印輸出:其返回的是一個generator的迭代器:可以使用for將其遍歷或使用list直接將其轉換為list物件。這裡我們使用list將其轉換為list物件。
然後使用join將其轉換為字串,以空格分割如下:
進行文字抽取:
data = cv.fit_transform([c1,c2,c3])
程式碼:
def cutword(): #進行分詞 返回是一個生成器 可以直接使用list()進行轉換 con1 = jieba.cut("疫情之下,全球化的道路將得到更多支援票還是反對票?人類社將更渴求一個相容幷包、相互支撐、分工合作的共生體,還是各自封閉,在保護主義和單邊主義的矯飾中飲鴆止渴?2020,突如其來的疫情對全球政治經濟乃至文化都形成了劇烈衝擊,從思想到行為,從理論到現實,都在呼喚人們對全球化道路予以更加深度而清醒的思考。") con2 = jieba.cut("經濟一體化和全球治理一直是世界政治經濟秩序在國際層面的重要組成部分,在疫情不斷擴散,又不斷引發人類為了疫苗、治療方案、物質生產及分配的道高一尺魔高一丈中,人們愈加發現:應對危機,人類社會更加迫切地需要某種程度的共同步調、齊心協力。從歐洲大陸,到中日韓與東盟,從聯合國到公共衛生國際合作,疫情也為全球化提供了這樣一個顯見的答案——沒有一個人或一個國家能獨善其身,也沒有任何任何個體可以真正擺脫他人而生存。") con3 = jieba.cut("2020,本報專欄《環球論壇》的學者專家,為2020的國際大事件提供了從經濟基礎到國際政治上層建築的多樣視角,對全球化進行了更加鞭辟入裡的分析。誰的全球化視野更開闊、道路更堅定,誰就擁有更光明的經濟前景,更積極的抗疫成果。在以下文章中,我們可以看到這些觀點") print("conall--->",type(con1)) # 轉換成列表 content1 = list(con1) content2 = list(con2) content3 = list(con3) print("content3--->", content3) # 把列表轉換為字串 c1 = ' '.join(content1) c2 = ' '.join(content2) c3 = ' '.join(content3) print("c3--->", c3) return c1, c2, c3
def countvec():
cv = CountVectorizer()
c1,c2,c3 = cutword()
j = cutword()
print("*"*100)
print(j,type(j))
print("*" * 100)
data = cv.fit_transform([c1,c2,c3])
print(cv.get_feature_names())
print(data.toarray())
return None
if __name__ == "__main__": countvec()
輸出: