8559 位酷友已加入
计算机圈子中包含常用的技术文档、源代码、模型、数据集、学习教程、技术报告等干货资料,加入圈子可以上传、下载资料,也可以使用提问来寻求资料或分享你认为有价值的站外链接~
词汇增强的NER 这是对于论文“Simplify the Usage of Lexicon in Chinese NER”的实现,该论文没有在中文NER中合并单词词典的复杂操作,而是将词典加入到中文NER中,这十分简单有效。 源代码说明 要求 Python 3.6 Pytorch 0.4.1 输入格式 CoNLL格式,每个字符及其标签由一行中的空格分隔。 首选“ BMES”标签方案。 别 O 错 O 过 O 邻 O 近 O 大 B-LOC 鹏 M-LOC 湾 E-LOC 的 O 湿 O 地 O 预训练的嵌入 预训练的嵌入(单词嵌入,char嵌入和bichar嵌入)与Lattice LSTM相同 运行代码 1.从Lattice LSTM 下载字符嵌入和单词嵌入,然后将它们放在data文件夹中。 2.分别在data / MSRANER,data / OntoNotesNER,data / ResumeNER和data / WeiboNER中下载四个数据集。 3.训练四个数据集: 在OntoNotes上进行训练: python main.py --train data/OntoNotesNER/train.char.bmes --dev data/OntoNotesNER/dev.char.bmes --test data/OntoNotesNER/test.char.bmes --modelname OntoNotes --savedset data/OntoNotes.dset 在Resume上进行训练: python main.py --train data/ResumeNER/train.char.bmes --dev data/ResumeNER/dev.char.bmes --test data/ResumeNER/test.char.bmes --modelname Resume --savedset data/Resume.dset --hidden_dim 200 在微博上训练: python main.py --train data/WeiboNER/train.all.bmes --dev data/WeiboNER/dev.all.bmes --test data/WeiboNER/test.all.bmes --modelname Weibo --savedset data/Weibo.dset --lr=0.005 --hidden_dim 200 在MSRA上进行训练: python main.py --train data/MSRANER/train.char.bmes --dev data/MSRANER/dev.char.bmes --test data/MSRANER/test.char.bmes --modelname MSRA --savedset data/MSRA.dset 4.训练/测试自己的数据:使用文件路径修改命令并运行。 来源https://github.com/v-mipeng/LexiconAugmentedNER
基于Transformers的文本分类 基于 huggingface 出品的 transformers v2.2.2代码进行重构。为了保证代码日后可以直接复现而不出现兼容性问题,这里将 transformers 放在本地进行调用。 Highlights 支持transformer模型后接各种特征提取器 支持测试集预测代码 精简原始transformers代码,使之更适合文本分类任务 优化logging终端输出,使之输出内容更加合理 Support model_type: ✔ bert ✔ bert_cnn ✔ bert_lstm ✔ bert_gru ▢ xlnet ✔ xlnet_cnn ✔ xlnet_lstm ✔ xlnet_gru ▢ albert Content dataset:存放数据集 pretrained_models:存放预训练模型 transformers:transformers文件夹 results:存放训练结果 Usage 1. 使用不同模型 在shell文件中修改model_type参数即可指定模型 如,BERT后接FC全连接层,则直接设置model_type=bert;BERT后接CNN卷积层,则设置model_type=bert_cnn. 在本README的Support中列出了本项目中各个预训练模型支持的model_type。 最后,在终端直接运行shell文件即可,如: 注:在中文RoBERTa、ERNIE、BERT_wwm这三种预训练语言模型中,均使用BERT的model_type进行加载。 2. 使用自定义数据集 在dataset文件夹里存放自定义的数据集文件夹,如TestData. 在根目录下的utils.py中,仿照class THUNewsProcessor写一个自己的类,如命名为class TestDataProcessor,并在tasks_num_labels, processors, output_modes三个dict中添加相应内容. 最后,在你需要运行的shell文件中修改TASK_NAME为你的任务名称,如TestData. Environment one 2080Ti, 12GB RAM Python: 3.6.5 PyTorch: 1.3.1 TensorFlow: 1.14.0(仅为了支持TensorBoard,无其他作用) Numpy: 1.14.6 Performance 数据集: THUNews/5_5000 epoch:1 train_steps: 5000 model dev set best F1 and Acc remark bert_base 0.9308869881728941, 0.9324 BERT接FC层, batch_size 8, learning_rate 2e-5 bert_base+cnn 0.9136314735833212, 0.9156 BERT接CNN层, batch_size 8, learning_rate 2e-5 bert_base+lstm 0.9369254464106703, 0.9372 BERT接LSTM层, batch_size 8, learning_rate 2e-5 bert_base+gru 0.9379539112313108, 0.938 BERT接GRU层, batch_size 8, learning_rate 2e-5 roberta_large RoBERTa接FC层, batch_size 2, learning_rate 2e-5 xlnet_mid 0.9530066512880131, 0.954 XLNet接FC层, batch_size 2, learning_rate 2e-5 xlnet_mid+lstm 0.9269927348553552, 0.9304 XLNet接LSTM层, batch_size 2, learning_rate 2e-5 xlnet_mid+gru 0.9494631023945569, 0.9508 XLNet接GRU层, batch_size 2, learning_rate 2e-5 Download Chinese Pre-trained Models NPL_PEMDC 来源https://github.com/zhanlaoban/Transformers_for_Text_Classification
我发现消除斑点噪声的简单方法是均值滤波器,但是我找不到产生噪声的方法。 请问在哪里可以了解斑点噪声如何产生?
图像中文描述 图像中文描述 + 视觉注意力的 PyTorch 实现。 Show, Attend, and Tell 是令人惊叹的工作,这里是作者的原始实现。 这个模型学会了“往哪瞅”:当模型逐词生成标题时,模型的目光在图像上移动以专注于跟下一个词最相关的部分。 依赖 Python 3.5 PyTorch 0.4 数据集 使用 AI Challenger 2017 的图像中文描述数据集,包含30万张图片,150万句中文描述。训练集:210,000 张,验证集:30,000 张,测试集 A:30,000 张,测试集 B:30,000 张。 下载点这里:图像中文描述数据集,放在 data 目录下。 网络结构 用法 数据预处理 提取210,000 张训练图片和30,000 张验证图片: 训练 可视化训练过程,执行: 演示 下载 预训练模型 放在 models 目录,然后执行: 原图 注意力 来源https://github.com/foamliu/Image-Captioning-PyTorch
代码说明 本实验主要是对dBeker的Faster-RCNN-TensorFlow-Python3GitHub仓库代码进行学习和一定的修改,从而实现了双流篡改检测。 参考链接: https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3 部署说明 首先修改_lib文件夹为lib。 由于文件上传大小的限制,预处理网络和训练好的模型请从网盘下载: 链接: https://pan.baidu.com/s/1eav5wfVrHFzeP1xCsp_fsQ 提取码: pm8m 分享包括两个文件夹: vgg16网络 训练好的网络参数 将vgg16网络文件夹下的.ckpt文件放在Learning-Rich-Features-for-Image-Manipulation-Detection/data/imagenet_weights/文件夹下; 将训练好的网络参数文件夹下的四个文件放在Learning-Rich-Features-for-Image-Manipulation-Detection/default/gene_2007_trainval/default/文件夹下。 然后直接运行双流Faster R-CNN.ipynb文件。 运行异常处理 生成数据集时,如果出现: 需要下载tensorflow模块,在命令行输入: 缺失cython_bbox函数 需要对你所在环境下重新编译bbox.c,生成cython_bbox.so文件,在命令行执行: 转载自:https://github.com/WaLittleMoon/Learning-Rich-Features-for-Image-Manipulation-Detection
项目介绍 由于工作原因,该项目已停止维护。因此项目代码仅供参考,项目中包含的数据可免费用于学术等非商业用途。 相关工作请引用paper: AgriKG: An Agricultural Knowledge Graph and Its Applications[C]. DASFAA (3) 2019: 533-537 作者信息: 本项目是上海市《农业信息服务平台及农业大数据综合利用研究》子课题《上海农业农村大数据共享服务平台建设和应用》的研究成果。 该课题是由上海市农业委员会信息中心主持,以“致富农民、服务市民、提高行政管理效能”为目标,充分发挥大数据在农业农村发展中的重要功能和巨大潜力,重点建设上海市级农业农村大数据中心,促进信息资源的共建共享和创新应用。 华东师范大学数据科学与工程学院(以下简称华师大数据学院)作为课题主要参与单位以实现智慧农业为目标,探索农业大数据分析、挖掘和综合应用。华师大课题组在前期国家重点研发计划《大数据知识工程基础理论及其应用研究》研究基础上,在本项目中,基于碎片化农业大数据,构建面向智慧农业的知识图谱及其应用系统。 目录结构 可复用资源 hudong_pedia.csv : 已经爬好的农业实体的百科页面的结构化csv文件 labels.txt: 5000多个手工标注的实体类别 predict_labels.txt: KNN算法预测的15W多个实体的类别 /wikidataSpider/wikidataProcessing/wikidata_relation.csv: predict_labels.txt中实体在wikidata中对应的三元组关系 attributes.csv: 部分实体的属性(互动百科页面中直接得到) wikidataSpider/weatherData/static_weather_list.csv: 气候类型列表 wikidataSpider/weatherData/weather_plant.csv:气候与植物的种植关系 wikidataSpider/weatherData/city_weather.csv:城市与气候的关系 项目配置 安装基本环境: 确保安装好python3和Neo4j(任意版本) 安装一系列pip依赖: cd至项目根目录,运行 sudo pip3 install -r requirement.txt 导入数据: 将hudong_pedia.csv导入neo4j:开启neo4j,进入neo4j控制台。将hudong_pedia.csv放入neo4j安装目录下的/import目录。在控制台依次输入: 以上两步的意思是,将hudong_pedia.csv导入neo4j作为结点,然后对titile属性添加UNIQUE(唯一约束/索引) (如果导入的时候出现neo4j jvm内存溢出,可以在导入前,先把neo4j下的conf/neo4j.conf中的dbms.memory.heap.initial_size 和dbms.memory.heap.max_size调大点。导入完成后再把值改回去) 进入/wikidataSpider/wikidataProcessing中,将new_node.csv,wikidata_relation.csv,wikidata_relation2.csv三个文件放入neo4j的import文件夹中(运行relationDataProcessing.py可以得到这3个文件),然后分别运行 导入实体属性(数据来源: 互动百科) 将attributes.csv放到neo4j的import目录下,然后执行 导入气候名称 wikidataSpider/weatherData/static_weather_list.csv放在指定的位置(import文件夹下) 导入气候与植物的关系 以上步骤是导入爬取到的关系 下载词向量模型:(如果只是为了运行项目,步骤2可以不做,预测结果已经离线处理好了) http://s3-us-west-1.amazonaws.com/fasttext-vectors/wiki.zh.zip 将wiki.zh.bin放入 KNN_predict 目录 。 修改Neo4j用户 进入demo/Model/neo_models.py,修改第9行的neo4j账号密码,改成你自己的 启动服务 进入demo目录,然后运行脚本: sudo sh django_server_start.sh 这样就成功的启动了django。进入8000端口主页面,输入文本,即可看到以下命名实体和分词的结果(确保django和neo4j都处于开启状态) 更新 添加了农业知识问答: 修改部分配置信息 关系查询中,添加了2个实体间的最短路查询,从而挖掘出实体之间一些奇怪的隐含关系 结果展示 农业实体识别+实体分类 点击实体的超链接,可以跳转到词条页面(词云采用了词向量技术): 实体查询 实体查询部分,本项目能够搜索出与某一实体相关的实体,以及它们之间的关系 关系查询 关系查询即查询三元组关系entity1-[relation]->entity2 , 分为如下几种情况: 指定第一个实体entity1 指定第二个实体entity2 指定第一个实体entity1和关系relation 指定关系relation和第二个实体entity2 指定第一个实体entity1和第二个实体entity2 指定第一个实体entity1和第二个实体entity2以及关系relation 下图所示,是指定关系relation和第二个实体entity2的查询结果 知识的树形结构 农业知识概览部分,我们能够列出某一农业分类下的词条列表,这些概念以树形结构组织在一起: 农业分类的树形图: 训练集标注 本项目还制作了训练集的手动标注页面,每次会随机的跳出一个未标注过的词条。链接:http://localhost:8000/tagging-get , 手动标注的结果会追加到/label_data/labels.txt文件末尾: 作者将这部分做成了小工具,可复用:https://github.com/qq547276542/LabelMarker 同样的,作者还制作了标注关系提取训练集的工具,如下图所示 如果Statement的标签是对的,点击True按钮;否则选择一个关系,或者输入其它关系。若当前句子无法判断,则点击Change One按钮换一条数据。 说明: Statement是/wikidataSpider/TrainDataBaseOnWiki/finalData中train_data.txt中的数据,作者将它转化成json,导入到mongoDB中。标注好的数据同样存在MongoDB中另一个Collection中。关于Mongo的使用方法可以参考官方tutorial,或者利用这篇文章简单了解一下MongoDB 作者在MongoDB中使用两个Collections,一个是train_data,即未经人工标注的数据;另一个是test_data,即人工标注好的数据。 思路 命名实体识别: 使用thulac工具进行分词,词性标注,命名实体识别(仅人名,地名,机构名) 为了识别农业领域特定实体,我们需要: 分词,词性标注,命名实体识别 以识别为命名实体(person,location,organzation)的,若实体库没有,可以标注出来 对于非命名实体部分,采用一定的词组合和词性规则,在O(n)时间扫描所有分词,过滤掉不可能为农业实体的部分(例如动词肯定不是农业实体) 对于剩余词及词组合,匹配知识库中以分好类的实体。如果没有匹配到实体,或者匹配到的实体属于0类(即非实体),则将其过滤掉。 实体的分类算法见下文。 实体分类 特征提取: 分类器:KNN算法 无需表示成向量,比较相似度即可 K值通过网格搜索得到 定义两个页面的相似度sim(p1,p2) title之间的词向量的余弦相似度(利用- --fasttext计算的词向量能够避免out of vocabulary) 2组openType之间的词向量的余弦相似度的平均值 相同的baseInfoKey的IDF值之和(因为‘中文名’这种属性贡献应该比较小) 相同baseInfoKey下baseInfoValue相同的个数 预测一个页面时,由于KNN要将该页面和训练集中所有页面进行比较,因此每次预测的复杂度是O(n),n为训练集规模。在这个过程中,可以统计各个分相似度的IDF值,均值,方差,标准差,然后对4个相似度进行标准化:(x-均值)/方差 上面四个部分的相似度的加权和为最终的两个页面的相似度,权值由向量weight控制,通过10折叠交叉验证+网格搜索得到 Labels:(命名实体的分类) 关系抽取 使用远程监督方法构建数据集,利用tensorflow训练PCNN模型 详情见: relationExtraction 转载自:https://github.com/qq547276542/Agriculture_KnowledgeGraph
CLGE Chinese Language Generation Evaluation 中文生成任务基准测评 为中文生成任务提供数据集、基准(预训练)模型和排行榜。 一键运行 文本生成方法 LSTM-seq2seq 参考:苏剑林. (2018, Sep 01). 《玩转Keras之seq2seq自动生成标题 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/5861 BERT-UNILM 方案 参考:苏剑林. (2019, Sep 18). 《从语言模型到Seq2Seq:Transformer如戏,全靠Mask 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/6933 测评指标 Rouge-1 rouge-1 比较生成文本和参考文本之间的重叠词(字)数量 Rouge-2 rouge-2 比较生成文本和参考文本之间的 2-gram 重叠的数量 Rouge-L rouge-l 根据生成文本和参考文本之间的最长公共子序列得出 BLEU Bilingual Evaluation Understudy 数据集介绍 1.CSL 中长文本摘要生成 百度网盘 提取码: u6mc 中文科学文献数据(CSL),选取 10k 条计算机相关领域论文及其标题作为训练集。 运行结果 模型 Rouge-L Rouge-1 Rouge-2 BLEU 训练参数 ALBERT-tiny 48.11 52.75 37.96 21.63 batch_size=8, length=256, epoch=10, lr=1e-5 BERT-base 59.76 63.83 51.29 41.45 batch_size=8, length=256, epoch=10, lr=1e-5 BERT-wwm-ext 59.40 63.44 51.00 41.19 batch_size=8, length=256, epoch=10, lr=1e-5 RoBERTa-wwm-ext 58.99 63.23 50.74 41.31 batch_size=8, length=256, epoch=10, lr=1e-5 RoBERTa-wwm-large - - - - batch_size=4, length=256, epoch=10, lr=1e-5 LSTM-seq2seq 41.80 46.48 30.48 22.00 batch_size=64, length=256, epoch=20, lr=1e-3 来源https://github.com/CLUEbenchmark/CLGE
数据来源 百度WebQA 1.0数据集 百度Dureader数据集 训练方法 整理后形成类似squad数据集的形式,包含训练数据705139条,验证数据69638条。基于google提供的albert chinese large模型进行finetune。最终f1约0.7 参数 learning_rate 1e-5 max_seq_length 512 max_query_length 50 max_answer_length 300 doc_stride 256 num_train_epochs 2 warmup_steps 1000 per_gpu_train_batch_size 8 gradient_accumulation_steps 3 n_gpu 2 (Nvidia Tesla P100) Metric 使用方法 存在的问题 transformers实现的SquadExample类缺乏对中文的支持,导致其推理结果会存在问题,所以Metric中的F1和Exact会比真实结果低。但是这个不会影响到训练。 来源https://github.com/wptoux/albert-chinese-large-webqa
内容 AI场景数量的爆发催生AI中台,为AI应用开发提供快速构建能力支持。Al 中台以平台化开发模式替代“烟囱式”开发架构,结合自动化、低门槛的建模方式提升投入产出比。企业应从顶层规划开始,设定用例规划,完善数据基础设施,并明确厂商选型评价指标,选择符合自身需求的供应商,按需求落地AI中台各模块。 在推进数字化和智能化转型的过程中,企业逐步构建数据中台等数据资产管理与服务基础设施,以及机器学习平台等AI模型开发基础设施,AI 中台逐渐形成。基于调研,爱分析认为,AI中台是为企业智能应用提供AI能力支撑的统-共享服务平台,主要包括开发平台层、资产层(算法库&样本库)、业务逻辑层和平台管理层。 在实际落地过程中, Al中台多采取分布式微服务架构,各模块间耦合度较低,企业会结合自身业务需求,调整AI中台架构。 Al中台是数据中台的进一步延伸。数据中台为智能化应用开发提供了数据存储和数据计算的能力,但未涉及Al工程能力建设问题。此外,数据中台的数据治理依赖于人工操作,且难以满足不同场景的个性化需求。因此,随着智能化应用数量的增长,企业在提升自身AI工程能力的过程中,把单场景开发下的数据接入、存储、分析、训练和发布的模型开发流水线自动化,逐步形成了Al中台架构。 在AI中台实际落地的过程中,企业往往会根据业务需要,优先侧重某一AI 技术能力的建设。机器学习平台、NLP 平台等皆为构建AI中台的重要模块。由于数据分析相关应用于前台业务场景耦合度更高,企业一般会从机器学习平台出发,构建AI中台架构,并逐步加入NLP、计算机视觉等其他Al功能模块。 目录 1 企业智能化需求与挑战 2 AI中台助力企业智能化落地 3 AI中台应用场景与实践案例 4 AI中台未来趋势展望 结语 发布单位:爱分析 发布时间:2020年11月
内容 跌宕起伏的 2020 年, 似乎如梦如幻。但这一转折之年,对于 AI领域却无比关键,先后出现了诸多颠覆性的进展。譬如 5 月份诞生的 GPT-3, 让人们看到了通用人工智能的希望 ; 再如 11 月底AlphaFold2 的出现,让人惊叹“它将改变一切”,人们意识到 AI正在以及将要颠覆传统学科。 岁末年初,AI热潮仍然汹涌,应用前景依然广阔。在这样一个时间节点,全体智源学者经过商讨复盘,从科学、系统、算法等层面总结出 2020年AI领域的十大进展,并从人工智能的基础理论、算法、 类脑计算、算力支撑等方面进行预测, 提出 2021 年AI领域十大技术趋势, 共同展望人工智能未来的发展方向。我们相信,人工智能技术的逐渐成熟将能够更好地帮助人类应对后疫情时代的各种不确定性,助力构建充满希望与变化的世界。 目录 序言 2020年人工智能十大技术进展 进展1:OpenAI发布全球规模最大的预训练语言模型GPT-3 进展2:DeepMind的AlphaFold2破解蛋白质结构预测难题 进展3:深度势能分子动力学研究获得戈登·贝尔奖 进展4:DeepMind等用深度神经网络求解薛定谔方程促进量子化学发展 进展5:美国贝勒医学院通过动态颅内电刺激实现高效“视皮层打印” 进展6:清华大学首次提出类脑计算完备性概念及计算系统层次结构 进展7:北京大学首次实现基于相变存储器的神经网络高速训练系统 进展8:MIT仅用19个类脑神经元实现控制自动驾驶汽车 进展9:Google与Facebook团队分别提出全新无监督表征学习算法 进展10:康内尔大学提出可缓解检索排序马太效应问题的无偏公平排序模型 2021年人工智能十大技术趋势 趋势1:科学计算中的数据与机理融合建模 趋势2:深度学习理论迎来整合与突破 趋势3:机器学习向分布式隐私保护方向演进 趋势4:大规模自监督预训练方法进一步发展 趋势5:基于因果学习的信息检索模型与系统成为重要发展方向 趋势6:类脑计算系统从“专用”向“通用”逐步演进 趋势7:类脑计算从散点独立研究向多点迭代发展迈进 趋势8:神经形态硬件特性得到进一步的发掘并用于实现更为先进的智能系统 趋势9:人工智能从脑结构启发走向结构与功能启发并重 趋势10:人工智能计算中心成为智能化时代的关键基础设施 发布单位:北京智源人工智能研究院 发布时间:2021