從文本中提取關鍵字


就在前幾天的任務中用到了從文本描述中提取關鍵字的操作,特意從網上找到了一些提取關鍵字的方法。

總結如下:需要引入jieba這個庫文件

基於TF-IDF算法進行關鍵詞提取

 

import jieba.analyse

 sentence = "人工智能(Artificial Intelligence),英文縮寫為AI。它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。人工智能是計算機科學的一個分支,它企圖了解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。人工智能從誕生以來,理論和技術日益成熟,應用領域也不斷擴大,可以設想,未來人工智能帶來的科技產品,將會是人類智慧的“容器”。人工智能可以對人的意識、思維的信息過程的模擬。人工智能不是人的智能,但能像人那樣思考、也可能超過人的智能。人工智能是一門極富挑戰性的科學,從事這項工作的人必須懂得計算機知識,心理學和哲學。人工智能是包括十分廣泛的科學,它由不同的領域組成,如機器學習,計算機視覺等等,總的說來,人工智能研究的一個主要目標是使機器能夠勝任一些通常需要人類智能才能完成的復雜工作。但不同的時代、不同的人對這種“復雜工作”的理解是不同的。 [1]  2017年12月,人工智能入選“2017年度中國媒體十大流行語”。"
 keywords = " ".join(jieba.analyse.extract_tags(sentence=sentence, topK=20, withWeight=False, allowPOS=()))
 print(keywords)

 keywords = jieba.analyse.extract_tags(sentence, topK=10, withWeight=True, allowPOS=(['n', 'v']))   # 只提取前10個名詞和動詞
 print(keywords)

 

基於TextRank算法進行關鍵詞提取

import jieba.analyse
sentence  = "人工智能(Artificial Intelligence),英文縮寫為AI。它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。人工智能是計算機科學的一個分支,它企圖了解智能的實質,並生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。人工智能從誕生以來,理論和技術日益成熟,應用領域也不斷擴大,可以設想,未來人工智能帶來的科技產品,將會是人類智慧的“容器”。人工智能可以對人的意識、思維的信息過程的模擬。人工智能不是人的智能,但能像人那樣思考、也可能超過人的智能。人工智能是一門極富挑戰性的科學,從事這項工作的人必須懂得計算機知識,心理學和哲學。人工智能是包括十分廣泛的科學,它由不同的領域組成,如機器學習,計算機視覺等等,總的說來,人工智能研究的一個主要目標是使機器能夠勝任一些通常需要人類智能才能完成的復雜工作。但不同的時代、不同的人對這種“復雜工作”的理解是不同的。2017年12月,人工智能入選“2017年度中國媒體十大流行語”。"
result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')))
print(result)
# 只需要名詞和動詞
result = "  ".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('n','v')))
print(result)

基於pyhanlp進行關鍵詞提取(這一部分我測試失敗了,好像是說我的Java包引入錯誤,因為hanlp是一個Java項目,所以無法運行)

from pyhanlp import *

result = HanLP.extractKeyword(sentence, 20)
print(result)

 

 

 

參考地址:https://blog.csdn.net/cdlwhm1217096231/article/details/94566936?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

參考的博文還有一個比較全面的方法,他在例子中用到了

  • (1)文件加載
  • (2)jieba分詞
  • (3)去停用詞
  • (4)構建詞袋模型
  • (5)LDA模型訓練
  • (6)結果可視化

等多中方式,有興趣的可以參考上面的博文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM