IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)

对于这个问题,我们有两个解决方案:自己写代码解决和IEEE自带的高级搜索。

目录

一.问题描述

二.高级搜索

三.自己动手,丰衣足食


一.问题描述

在IEEE搜索时,查找关键词时,若选择相关度

搜索后的文章是语义上较为接近的,但可能被引用量很低,对想要阅读经典的高引用文章的同学不太友好;若选择

可能搜索出来的结果引用量很高,但可能拆了我们的关键词,如我们搜索自监督学习(self-supervised learning),选择相关度,出来的第一个

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第1张图片

 不是高引用文章;选择高引用,出来的第一个是这玩意,好像和自监督学习没啥关系~

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第2张图片

二.高级搜索

 对于这种问题,有的同学说了,可以使用高级搜索

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第3张图片

 于是我们实验了一下,先不带and,康康啥情况

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第4张图片

第一页都是自监督学习,不拆分关键词完成~

 IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第5张图片

 但是我们满怀着高兴的心情点了一下

第一篇又变成了这个,让人非常的高兴(doge)

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第6张图片

 但如果我们把不想拆的关键词写到高级搜索and的两边

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第7张图片

 第一篇又是这个,满足了要求

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第8张图片

但是一旦点了

他,又来了!!

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第9张图片

 所以高级搜索只能解决一部分问题,要想不拆关键词,还想要高引用,只能自己动手啦~

三.自己动手,丰衣足食

我们要做的就是导出搜索结果,使用pandas洗数据,然后......就没有然后了(doge)

一.导出数据

点这玩意儿

然后download

 IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第10张图片

 如果下载有问题,emmmm,我就不知道啦(狗头保命)

不过这种小几百个的没啥问题,下载完了大概这样

 打开这个文件,上pandas,为了方便,把文件改名为ssl.csv(与某协议重名了)

import pandas as pd
import numpy as np

frame = pd.read_csv('ssl.csv')
print(frame.head())
print(frame.columns)

出来了我们的columns

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第11张图片

 我们惊奇地发现,'Document Title','Author Affiliations','Article Citation Count', 'Patent Citation Count','Reference Count'正好是我们想要的,文档名,作者影响因子,被文章和专利引用数量和相关性。那还客气啥

head_picked_columns = ['Document Title','Author Affiliations','Article Citation Count', 'Patent Citation Count','Reference Count']
frame = frame[head_picked_columns]

后面的代码是对于self-supervised learning的搜索

a = 'self-supervised'
b = 'learning'
match_list_index = []
for i in frame.index:
    title = frame['Document Title'][i]
    title = title.lower()
    if (a in title) and (b in title):
        match_list_index.append(i)

result = frame.loc[match_list_index,:]

如果只想要不拆关键词,把result print一下就行啦~

但是对于追求完美的同学们,还要继续写有关引用的呀,我们希望对两个引用写一个排序

result['Article Citation Count'].fillna(0,inplace = True) #没有的话是nan,当然用0来填坑
result['Patent Citation Count'].fillna(0,inplace = True)

citation_count = result.sort_values(by = 'Article Citation Count')
citation_count['citation_sort'] = [i for i in range(len(citation_count.index))]

patent_citation_count = citation_count.sort_values(by = 'Patent Citation Count')
patent_citation_count['patent_citation_sort'] = [i for i in range(len(citation_count.index))]

出结果

reference_count = patent_citation_count
reference_count['all_sort'] =  reference_count['patent_citation_sort'] + reference_count['citation_sort']

result = reference_count.sort_values(by = 'all_sort',ascending = False)
document_title = result['Document Title']

print(document_title.head())

如果不写head,使用print大法的话

结果是这个,看着不错

IEEE论文搜索多单词关键字/关键词不被拆分的个性化搜索方法(IEEE的自定义搜索)_第12张图片

-----------------------------分隔线-----------------------------------------

结语:本文中,我们使用pandas洗了导出数据,拿到了我们想要的结果

所以对于这个问题,两个解决方案

1.高级搜索,非常简单,但在按下载量排序那边翻车啦

2.自己导出数据然后数据清洗,虽然麻烦,但有效果

申明:虽然我比较菜,但代码是我自己写的啦,转的话加本文链接吧,喜欢的话点个免费的赞吧(白嫖怪震怒)

你可能感兴趣的:(IEEE,python,pandas,ieee论文,pandas,模式识别,搜索引擎,python)