知识图谱学习笔记(1)

学习教程:https://www.bilibili.com/video/BV14a4y1j7mg?from=search&seid=16134259823066613142

image.png

因为后来这个视频用的是py2neo但是我们老板要用spacy所以就不看了。
额外知识:jupyter使用。
image.png

加感叹号就等于终端

1python安装的包都去哪儿了

https://cloud.tencent.com/developer/article/1546218
使用pip安装包就会自动安装到<path_prefix>/lib/pythonX.Y/site-packages下(<path_prefix>是从上一段里得到的),可执行程序安装到<path_prefix>/bin下,

2

<path_prefix>/lib(标准库路径)
<path_prefix>/lib/pythonX.Y/site-packages(三方库路径,X.Y是对应Python的主次版本号,如3.7, 2.6)

3

python有时候import不了当前的包
问题描述:
ImportError: No module named ‘XXXX’

解决方式一:
将XXXX包放在python的site-package文件夹下
解决方式二:
可能是XXXX包没有新建init.py
解决方式三:
init.py需要声明包含XXXX包的函数

解决方式四:
sys.path.append(Ur ‘XXXX’s path)

但是,有些时候python解释器可能脑抽。。。。明明上述操作都有,但是就是找不到。

ImportError: No module named ‘XXXX’
ImportError: No module named ‘XXXX’
ImportError: No module named ‘XXXX’
ImportError: No module named ‘XXXX’
ImportError: No module named ‘XXXX’

这个时候解决方式:
1.可能是上一级不是包的文件夹也新建了init.py,将其删去即可。
2.或者最高级路径不是指上一级文件夹,举例:
环境:pycharm2017.2.3
教程:https://blog.csdn.net/a5186050/article/details/77966095

当你将一个包作为模块导入(比如从 xml 导入 dom )的时候,实际上导入了它的init.py 文件。

python从浏览器下载包后

下载下来的.tar.gz可以直接pip install /路径/包.tar.gz:https://stackoverflow.com/questions/49019784/timed-out-message-using-python-install-command
EOFError: Compressed file ended before the end-of-stream marker was reached

python在下载时,出现上述错误提示,一般这种问题都是因为所下载文件已经存在或下载了部分。若再重新下载,这会出现上述错误。
重新删了安装包,在下载一次,然后在pip install ,就可以了,

学习spacy的结合模型与规则

但是这篇教程没看懂:https://course.spacy.io/zh/chapter2

image.png

pattern = [{'LOWER': 'hello'}, {'IS_PUNCT': True}, {'LOWER': 'world'}]
matcher.add('HelloWorld', None, pattern)
matches = matcher(doc)

我们现在可以调用matcher.add()和一个ID和我们的定制模式。第二个参数允许您传递一个可选的回调函数,以调用成功的匹配。现在,我们将它设置为None。

可获取的token属性
attribute description
ORTH token精确的文本
LOWER, UPPER token文本的大小写形式
IS_ALPHA, IS_ASCII, IS_DIGIT token文本由字母数字字符、ASCII字符、数字组成
IS_LOWER, IS_UPPER, IS_TITLE token文本为大写,小写,标题格式
IS_PUNCT, IS_SPACE, IS_STOP token文本是标点,空白,停用词
LIKE_NUM, LIKE_URL, LIKE_EMAIL token文本类似于数字,网址,邮件地址
POS, TAG, DEP, LEMMA, SHAPE token文本的词性之类的……

tqdm模块

Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。


image.png

将dataframe导出为csv、xlsx、txt文件

https://blog.csdn.net/Jarry_cm/article/details/99633562

#其中:index是否要索引,header是否要列名,True就是需要
outputpath='d:/Users/chen_lib/Desktop/fenci.csv'
df.to_csv(outputpath,sep=',',index=False,header=False)

但是这个df报错了,懒得不想解决了。。。

outputpath='d:/Users/chen_lib/Desktop/fenci.xlsx'
df.to_excel(outputpath,sep='\t',index=False,header=False)

df.to_csv('d:/Users/chen_lib/Desktop/fenci_result.txt',sep='\t',index=False)

如果,你处理完的数据不是DataFrame,是list的话,那只需要一句代码,就可以转为DataFrame

import pandas as pd
ret=[1,2,3,4,5]
df = pd.DataFrame(ret, columns=['colname'])

还有一个对于python数据输入输出的一个教程:https://blog.csdn.net/cxmscb/article/details/54729191很不错
所以保存下来直接:

#kg_df
# 保存数据到csv文件
kg_df.to_csv('sample1.csv')

就行

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容