关键词短语生成的无监督方法02——Extract.py

本文分析了Python项目中的Extract.py文件,该文件主要实现AutoKeyGen方法的前半部分,包括短语库构建、关键词短语提取和排名。重点讲解了nltk库的使用,如停用词列表、词干提取和n-gram模型,并介绍了Doc2Vec模型在语义相似度计算中的应用。

2021SC@SDUSC


在第一篇博客中,对本课题研究的背景、目的以及具体实现方法有了初步的介绍与分析。
如下是对其关键实现方法“ AutoKeyGen”的回顾:
AutoKeyGen
在这里插入图片描述

一、项目概览

在这里插入图片描述
本课题共含6个py文件,围绕对“AutoKeyGen”方法的实现展开。
Extract.py实现“AutoKeyGen”方法训练模型这一功能的第1、2、3步,构建出短语库,通过短语库找到文档的present、absent关键词短语然后对其进行排名,选出silver label。
Train.py实现训练模型的最后一步,生成Seq2Seq模型。
Model.py是对使用模型功能的具体实现。
utils.py中封装了extract_candidates、get_ngram、reduce、get_fscore等工具函数供其他文件调用。

接下来对Extract.py展开分析。

二、Extract.py

Extract.py内定义deal()、Extract()两个函数,总共139行代码。考虑到课程对同组成员分析不同代码的要求,我将对关键包的导入以及Extract()函数展开分析。deal()函数由另一同组成员展开具体分析。

(1)关键包的导入及其说明

包的导入整体代码:

import os
import json
from collections import defaultdict
import pandas as pd
import numpy as np
# from utils import *
from nltk.stem.porter import PorterStemmer
import nltk
import math
from gensim.models.doc2vec import Doc2Vec
from gensim.test.utils import get_tmpfile
from nltk.corpus import stopwords
from utils import *

nltk.download('averaged_perceptron_tagger') 
nltk.download('stopwords')
nltk.download(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值