KeyBERT进行中文关键词提取

原文链接

KeyBERTLeveraging BERT to extract important keywordsKeyBERT进行中文关键词提取_第1张图片https://maartengr.github.io/KeyBERT/index.html

        一种基于BERT的极简关键词提取方法。
        关键词提取是通过查找文档中与文档本身最相似的词来完成的。首先,用BERT提取文档嵌入,得到文档级表示。然后,提取N-gram单词/短语的单词嵌入。最后,使用余弦相似性来查找与文档最相似的单词/短语。
        那么,最相似的词可以被识别为最能描述整个文档的词。

使用BERT进行中文关键词提取

1.安装keyBert

pip install keybert

2.安装中文分词器-jieba

pip install jieba

3.提取中文关键词

3.1 文本转化成词共现矩阵

from sklearn.feature_extraction.text import CountVectorizer
import jieba

def tokenize_zh(text):
    words = jieba.lcut(text)
    return words

vectorizer = CountVectorizer(tokenizer=tokenize_zh)

3.1 提取关键词

from keybert import KeyBERT

kw_model = KeyBERT()
doc = "我爱北京天安门"
keywords = kw_model.extract_keywords(doc, vectorizer=vectorizer)

3.2 输出关键词

[('天安门', 0.7936), ('北京', 0.64), ('我', 0.5716), ('爱', 0.4095)]
 

4 预训练模型下载问题

解决方案1:

从SentenceTransformer下载

from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]

model = SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2')
解决方案2:

参考留言回复从huggingface下载如何从huggingface官网下载模型_薰珞婷紫小亭子的博客-CSDN博客_huggingface模型下载

kw_model = SentenceTransformer('./model_path/paraphrase-multilingual-MiniLM-L12-v2')

kw_model = KeyBERT(model=kw_model)

你可能感兴趣的:(Deep,Learning,自然语言处理,深度学习)