面向特定问题的开源算法管理和推荐(五)

本文档详细介绍了PKE(Python Keyphrase Extraction)模型的背景、安装步骤及使用方法。PKE是一个用于关键字提取的Python库,支持多种无监督和监督模型,包括TopicRank。在安装过程中,涉及nltk的特殊配置,如下载数据包和模型。PKE的使用包括加载文档、候选词选择、权重计算和N-best关键短语提取。文章还简要概述了后续任务和模型性能对比分析。
摘要由CSDN通过智能技术生成

2021SC@SDUSC




系列文章目录

(一)组内分工情况

(二)任务一爬虫部分代码分析(上)

(三)任务一爬虫部分代码分析(下)

(四)任务一数据集统计代码分析

(五)任务二及PKE模型解读

目录

系列文章目录

前言

一、准备阶段

二、模型介绍

总结


前言

回顾任务二:

任务二:不同模型性能对比分析

实验中所使用的对比模型如下:PostionRank、Embedrank、PKE、ELSKE

 通过小组合作,补充完整下面表格:

我负责的是pke模型

PKE:该模型在多部分图结构中对主题信息进行编码,模型在单个图中表示候选关键词和主题,并利用它们的相互加强关系来提高候选排名,引入了一种新机制,将关键词选择偏好纳入模型。

论文:Unsupervised Keyphrase Extraction with Multipartite Graphs

代码:GitHub - boudinfl/pke: Python Keyphrase Extraction module

 


一、准备阶段

(一)安装pke

1.安装

        参考:GitHub - boudinfl/pke: Python Keyphrase Extraction module

        根据README.md

        To pip install pke from github: pip install git+https://github.com/boudinfl/pke.git

2.报错 

        参考:pip install git+https://github.com/XXX/XXX”报错_夏心桔的博客-CSDN博客

        ERROR: Command errored out with exit status 128: git clone -q https://github.com…

        解决办法:进入https://github.com/boudinfl/pke.git,下载code选择Download ZIP格式,保存至自己的电脑,然后解压,可以看见文件中有setup.py文件,win+r,cmd,进入对应目录

python setup.py install

        即可

(二)安装requirements

six、spacy、nltk、networkx、numpy、scipy、scikit-learn、unidecode、future、joblib

其中nltk有些特殊

(三)安装nltk

1.nltk是什么

NLTK是构建Python程序以处理人类语言数据的领先平台。它为超过50个语料库和词汇资源(如WordNet)提供了易于使用的接口,还提供了一套用于分类、标记化、词干提取、标记、解析和语义推理的文本处理库,用于工业级NLP库的包装器,以及一个活跃的讨论论坛。

NLTK提供了一个实用的指南,介绍了编程基础和计算语言学的主题,以及全面的API文档,适合于语言学家、工程师、学生、教育工作者、研究人员和行业用户。NLTK适用于Windows、Mac OS X和Linux。最重要的是,NLTK是一个免费的、开源的、社区驱动的项目。

NLTK被称为“一个使用Python教授和研究计算语言学的奇妙工具”,以及“一个使用自然语言的神奇库”。

使用Python进行自然语言处理提供了语言处理编程的实用介绍。它由NLTK的创建者编写,指导读者了解编写Python程序、使用语料库、对文本进行分类、分析语言结构等基本知识。该书的在线版本已经针对Python 3和nltk3进行了更新。(最初的Python 2版本仍然可以在https://www.nltk.org/book_1ed上找到。)

2.安装nltk

pip install nltk即可

参考:NLTK :: Natural Language Toolkit

(四)安装nltk数据包

参考README.md:Pke还需要外部资源,可以通过以下方式获得:

python -m nltk.downloader stopwords
python -m nltk.downloader universal_tagset
python -m spacy download en_core_web_sm # download the english model

报错,参考:NLTK数据包快速安装_MirrorN的博客-CSDN博客_nltk安装

                     GitHub - nltk/nltk_data: NLTK Data

进入https://github.com/nltk/nltk_data,下载code选择Download ZIP格式,保存至自己的电脑,然后解压,将packages改名为nltk_data,然后在Anaconda Prompt中,进入对应环境,输入

import nltk
from nltk.book import *

 这时候由于没有找到数据包,报错信息中会提示搜索的路径:

 将刚刚的nltk_data放入任意一个路径下,这样就可以使用nltk的数据了,例如,重复上面的测试代码:

 

二、模型介绍

1.pke是什么

Pke是一个基于python的开源关键字提取工具包。它提供了一个端到端的关键字提取管道,其中每个组件都可以轻松修改或扩展,以开发新的模型。pke还允许对最先进的关键字提取模型进行简单的基准测试,并使用SemEval-2010数据集上训练的监督模型。

Pke目前实现的关键字提取模型如下:

2.pke如何使用

pke提供了一个标准化的API,用于从文档中提取关键字。首先输入下面的5行。要使用另一个模型,只需将pke.unsupervised.TopicRank替换为另一个模型(已实现的模型列表)。

import pke

# initialize keyphrase extraction model, here TopicRank
extractor = pke.unsupervised.TopicRank()

# load the content of the document, here document is expected to be in raw
# format (i.e. a simple text file) and preprocessing is carried out using spacy
extractor.load_document(input='/path/to/input.txt', language='en')

# keyphrase candidate selection, in the case of TopicRank: sequences of nouns
# and adjectives (i.e. `(Noun|Adj)*`)
extractor.candidate_selection()

# candidate weighting, in the case of TopicRank: using a random walk algorithm
extractor.candidate_weighting()

# N-best selection, keyphrases contains the 10 highest scored candidates as
# (keyphrase, score) tuples
keyphrases = extractor.get_n_best(n=10)

具体教程和代码文档可以在https://boudinfl.github.io/pke/上找到。


总结

本次粗略的介绍了接下来的任务和需要用到的模型,具体请见下一篇博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值