IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 在项目原数据集上运行Position Rank代码存在的问题 -> 正文阅读

[人工智能]在项目原数据集上运行Position Rank代码存在的问题

2021SC@SDUSC

简介

在github上关于position rank的项目中提供了三个数据集,分别是“www”、”KDD“、”Nguyen“,本周的主要任务是在这三个数据集上跑通代码。目前存在的问题包括:1.数据集的读取方式未知。2.因实验室要求,将项目环境从python2修改为python3.7后部分库存在不兼容的情况。

根据python版本更新库函数

futures3.2.0

在安装futures3.2.0时,pip报错提示没有符合要求的包

CRITICAL:pip.index:Could not find a version that satisfies the requirement futures==3.2.0 (from versions: 0.2.python3, 0.1, 0.2, 1.0, 2.0, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.1.0, 3.1.1)

在pypi.org上找到如下内容:

futures3.2.0 is a backport of the concurrent.futures standard library module to Python 2.

It does not work on Python 3 due to Python 2 syntax being used in the codebase. Python 3 users should not attempt to install it, since the package is already included in the standard library.

从中可以看出futures3.2.0不兼容python3.7,可以使用如下命名重装适用于python3的futures3 1.0.0

pip install futures3

其他部分依赖库存在的问题也可通过这种方式解决,这里不做过多赘述。

nltk

在使用nltk提供的分句、分词工具时出现如下错误

Please use the NLTK Downloader to obtain the resource:
nltk.download(‘punkt’)
Attempted to load [93mtokenizers/punkt/english.pickle[0m

经过分析,发现安装nltk后还需联网下载资源包。按照提示操作后又出现提示无法连接到服务器。在采用科学上网方式后下载正常。经过查阅资料,我发现还可以通过离线下载资源包,拷贝到nltk资源目录的方式解决该问题。

数据集读取

数据集路径可以作为参数传入运行指令,但是要注意路径中要避免使用中文路径来避免某些包不兼容中文路径读取的情况。

PositionRank
--input_data
D:\Desktop\PositionRank\PositionRank-master\data\data\WWW\docs
--input_gold
D:\Desktop\PositionRank\PositionRank-master\data\data\WWW\gold

Nguyen数据集部分内容读取失败

在读取Nguyen数据集时,编译器提示某些字符无法被utf-8解码,错误如下:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 121: invalid start byte

将错误定位到如下代码:

 if os.path.exists(this_file):
        with codecs.open(this_file, "r", encoding='utf-8') as f:
            text = f.read()
    else:
        text = None

这里采用的是读取时使用utf-8译码的操作,这种方式并不能解决编码错误的问题。因此我们需要一种能够将读取和译码分开的方式,同时这种方式能够解决乱码的问题。

python中bytes对象有decode方法,该方法的第一个参数是解码字符集,第二个参数是乱码的处理方式,‘ignore’忽略乱码的字符。

修改后的代码如下:

 if os.path.exists(this_file):
        with codecs.open(this_file, "rb") as f:
            b = f.read()
            # 忽略存在问题的编码
            text = b.decode('utf-8','ignore')
    else:
        text = None

在读取关键短语文件时也出现了类似的问题:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 19: invalid start byte

定位到如下代码:

    if os.path.exists(this_gold):
        with codecs.open(this_gold, "r", encoding='utf-8') as f:
            gold_list = f.readlines()
        f.close()
    else:
        gold_list = None

我们需要将读取到的关键词以列表的形式返回,因此借助了一个for循环,在译码的同时生成结果列表。

    if os.path.exists(this_gold):
        with codecs.open(this_gold, "rb") as f:
            b_list = f.readlines()
            gold_list = []
            for b in b_list:
                s = b.decode('utf-8','ignore')
                gold_list.append(s)
        f.close()
    else:
        gold_list = None

小结

在解决上述问题后代码在三个数据集上均顺利运行,得到了position rank模型在WWW、KDD、Nguyen上的表现情况。

例如在WWW数据集上结果如下:

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:29:39  更:2021-10-20 12:31:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:33:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码