• Stars
    star
    190
  • Rank 203,739 (Top 5 %)
  • Language
    Python
  • Created over 4 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

本项目用于展示三元组抽取后形成的知识图谱,包括几本小说的实体关系,以及README.md,介绍这方面的一篇文章。

关系抽取

  信息抽取(Information Extraction, IE)旨在从大规模非结构或半结构的自然语言文本中抽取结构化信息。关系抽取(Relation Extraction, RE)是其中的重要子任务之一,主要目的是从文本中识别实体并抽取实体之间的语义关系,是自然语言处理(NLP)中的一项基本任务。比如,我们可以从下面的一段话中,

鸿海集团董事长郭台铭25日表示,阿里巴巴集团董事局主席马云提的新零售、新制造中的「新制造」,是他给加上的。网易科技报导,郭台铭在2018深圳IT领袖峰会谈到工业互联网时表示,眼睛看的、脑筋想的、嘴巴吃的、耳朵听的,都在随着互联网的发展而蓬勃发展,当然互联网不是万能的,比如说刚才李小加要水喝,在手机上一按就能出一瓶水吗?当然做不到,还是得有实体经济。

可以抽取出如下三元组,用来表示实体之间的关系:

['鸿海集团', '董事长', '郭台铭']
['阿里巴巴集团', '主席', '马云']

并且能够形成如下的简单的知识图谱(Knowledge Graph)。

  关于知识图谱,笔者已经在文章SPARQL入门(一)SPARQL简介与简单使用中给出了一些介绍,而利用关系抽取,我们可以从一些非结构化数据中,提取出实体之间的关系,形成知识图谱,这在很大程度上可以帮助我们减轻构建知识图谱的成本。非结构化数据越多,关系抽取效果越好,我们构建的知识图谱就会越庞大,实体之间的关系也会越丰富。

如何做好关系抽取?

   目前,网络上有许多与关系抽取相关的公开比赛,比如:

  常用的关系抽取语料如下:

  • MUC关系抽取任务数据集;
  • ACE关系抽取任务数据集;
  • TAC-KBP数据集。

  现阶段,关系抽取的办法主要如下:

  • 基于规则的模式匹配;
  • 基于监督学习的方法;
  • 半监督和无监督学习方法;
  • 远程监督的方法;
  • 深度学习模型。

  接着,笔者想说下,为什么最近会研究关系抽取。在一个偶然的机会,笔者看到了这个网站:https://www.wisers.ai/zh-cn/browse/relation-extraction/demo/ ,截图如下:

这个图给人以一种非常炫酷的感觉,因此,笔者就被它所吸引了。但笔者在这个demo网站上尝试了几篇新的语料,有些效果好,有些效果不尽如人意,因此,笔者决定自己动手实现一个关系抽取的模型!   虽然网上已经有许多现成的很好的关系抽取的模型,但笔者还是希望能够按照自己的意愿和想法来实现一下,当然,仅仅是作为一次尝试。笔者的思路如下:

  • 以句子级别进行标注,标注出句子中的主语,谓语,宾语,形成标注序列;
  • 利用标注好的语料,采用bert+dl的方法进行训练;
  • 对新的语料,预测主语,谓语,宾语,然后利用一定的策略,形成实体关系;
  • 对新语料的实体关系进行可视化展示。

如果你对笔者的尝试感兴趣,请尝试这阅读下去。

如何标注?

  按照笔者的惯例,还是自己进行标注。那么,对于关系抽取,该如何进行标注呢?比如,下面这句话:

应日本国首相安倍晋三邀请,出席二十国集团领导人第十四次峰会。

我们需要的实体关系应该是: 日本国-->首相-->安倍晋三,那么我们可以选择主语为日本,谓语为首相,宾语为安倍晋三,形成的标注序列如下:

应	O
日	B-SUBJ
本	I-SUBJ
国	I-SUBJ
首	B-PRED
相	I-PRED
安	B-OBJ
倍	I-OBJ
晋	I-OBJ
三	I-OBJ
邀	O
请	O
,	O
出	O
席	O
二	O
十	O
国	O
集	O
团	O
领	O
导	O
人	O
第	O
十	O
四	O
次	O
峰	O
会	O
。	O

对于句子中出现多主语,多谓语,多宾语的情况,也可以照此进行标注,比如下面这句:

齐鹏飞同志任中共中国人民大学委员会常委、副书记。

形成的标注序列如下:

齐	B-OBJ
鹏	I-OBJ
飞	I-OBJ
同	O
志	O
任	O
中	B-SUBJ
共	I-SUBJ
中	I-SUBJ
国	I-SUBJ
人	I-SUBJ
民	I-SUBJ
大	I-SUBJ
学	I-SUBJ
委	I-SUBJ
员	I-SUBJ
会	I-SUBJ
常	B-PRED
委	I-PRED
、	O
副	B-PRED
书	I-PRED
记	I-PRED
。	O

对此,我们希望形成两个三元组,分别为:中共中国人民大学委员会-->常委-->齐鹏飞, 中共中国人民大学委员会-->副书记-->齐鹏飞。   笔者利用自己的标注平台(后续会在Github开源),一共标注了950分语料,其中80%作为训练集,10%作为验证集,另外10%作为测试集。当然,标注的过程是很痛苦的,这些标注量也还远远不够,后续会持续不断地更新。

模型训练

  由于是小样本量的标注数量,因此,在模型的选择上,需要预训练模型,笔者的预训练模型选择BERT。在预训练的基础上,选择BiLSTM+CRF深度学习模型,对上述语料进行训练,共训练100次,在验证集和测试集上的效果如下:

验证集:

项目 precision recall f1
全部 71.08% 78.27% 74.50%
宾语 78.95% 88.24% 83.33%
谓语 68.00% 74.56% 71.13%
主语 67.18% 73.33% 70.12%

测试集

项目 precision recall f1
全部 75.07% 82.18% 78.46%
宾语 78.33% 85.45% 81.74%
谓语 73.23% 82.30% 77.50%
主语 73.88% 79.20% 76.45%

效果并没有达到很好,一方面是标注策略的问题,另一方面是标注的数量问题(因为这是一个通用模型),后续我们可以看看,当标注数量提上去后,模型训练的效果是否会有提升。

模型预测

  接着,我们利用刚才训练好的模型,对新的句子进行预测,记住,预测的级别为句子。当然,预测的结果,只是序列标注模型识别出的结果,我们还要采用一定的策略,将其形成三元组。比如以下的句子:

英媒称,美国农业部长桑尼·珀杜在6月25日播出的一个访谈节目中承认,美国农民是特朗普总统对华贸易战的“受害者”。

预测的结果如下:

[{'word': '美国', 'start': 4, 'end': 6, 'type': 'SUBJ'}, {'word': '农业部长', 'start': 6, 'end': 10, 'type': 'PRED'}, {'word': '桑尼·珀杜', 'start': 10, 'end': 15, 'type': 'OBJ'}, {'word': '美国', 'start': 34, 'end': 36, 'type': 'SUBJ'}]

可以看到,模型识别出主语为美国,谓语为农业部长,宾语为桑尼·珀杜,这是一个完美的三元组。

  我们再来对下面的语句进行预测:

6月25日,华为常务董事、运营商事业部总裁丁耘表示,华为已在全球范围内获得50个5G商用合同,其中2/3是由华为协助其构建的。

预测结果为:

[{'word': '华为', 'start': 6, 'end': 8, 'type': 'SUBJ'}, {'word': '常务董事', 'start': 8, 'end': 12, 'type': 'PRED'}, {'word': '运营商事业部', 'start': 13, 'end': 19, 'type': 'SUBJ'}, {'word': '总裁', 'start': 19, 'end': 21, 'type': 'PRED'}, {'word': '丁耘', 'start': 21, 'end': 23, 'type': 'OBJ'}, {'word': '华为', 'start': 26, 'end': 28, 'type': 'SUBJ'}, {'word': '华为', 'start': 54, 'end': 56, 'type': 'SUBJ'}]

这就需要一定的策略,才能识别出具体的三元组了。笔者采用的策略如下:

  • 按主语,谓语,宾语进行归类,形成主体集合{华为, 运营商事业部},谓语集合{常务董事, 总裁}以及宾语集合{丁耘}
  • 接着,按照各个元素在句子出现的位置进行组合,比如华为的位置,离常务董事挨得近,那么形成一个三元组['华为', '常务董事', '丁耘'],同理,形成另一个三元组['运营商事业部', '总裁', '丁耘'];
  • 将句子按照逗号进行分割,形成小句子集合,看三元组的三个元素是否都在一个小句子中,如果是,则提取该三元组,如果不是,则放弃该三元组。

关系抽取可视化

  对于关系抽取后的节后,我们将三元组导入至Neo4J中,查看可视化的效果。我们一共选择三篇文章进行测试,为了取得较好的效果,我们选择了程序处理+人工check(过滤)的过程,稍微有点工作量。   第一篇文章来自微信公众号,标题为:哈工大社会计算与信息检索研究中心(HIT-SCIR)拟于7月20日在哈工大举办首届事理图谱研讨会, 访问网址为:https://mp.weixin.qq.com/s/9H7rxsPdo5S5trwz_CASZw, 我们抽取出来的实体关系(带原文)如下:

原文,s,p,o 2017年10月,研究中心主任刘挺教授在中国计算机大会(CNCC)上正式提出事理图谱的概念,2018年9月,在研究中心丁效老师的主持下,研制出中文金融事理图谱1.0版本。,研究中心,老师,丁效
2017年10月,研究中心主任刘挺教授在中国计算机大会(CNCC)上正式提出事理图谱的概念,2018年9月,在研究中心丁效老师的主持下,研制出中文金融事理图谱1.0版本。,研究中心,教授,刘挺
2017年10月,研究中心主任刘挺教授在中国计算机大会(CNCC)上正式提出事理图谱的概念,2018年9月,在研究中心丁效老师的主持下,研制出中文金融事理图谱1.0版本。,研究中心,主任,刘挺
白硕(上海证券交易所前任总工程师,中科院计算所博导),上海证券交易所,前任总工程师,白硕
荀恩东(北京语言大学信息学院院长),北京语言大学信息学院,院长,荀恩东
赵军(中科院自动化所研究员),中科院自动化所,研究员,赵军
吴华(百度技术委员会主席),百度技术,主席,吴华
吴华(百度技术委员会主席),百度技术,委员,吴华
宋阳秋(香港科技大学助理教授),香港科技大学,助理教授,宋阳秋
李金龙(招商银行人工智能实验室负责人),招商银行人工智能实验室,负责人,李金龙
李世奇(北京西亚财信人工智能科技有限责任公司CEO),北京西亚财信人工智能科技有限责任公司,CEO,李世奇

对于这篇文章,我们没有抽取出李斌阳(国际关系学院副教授)中的实体关系,并且吴华(百度技术委员会主席这句为抽取有误,正确的应为:百度技术委员会,主席,吴华。   将上述关系修改下,导入至Neo4J中,得到的实体关系图如下:

  第二篇文章为凤凰网的新闻,标题为南阳“水氢车”风波:一个中部城市的招商突围战,访问网址为:https://news.ifeng.com/c/7ntawxhCDvj ,我们抽取出来的实体关系(带原文)如下表:

原文,s,p,o 2017年,因巴铁所属企业北京华赢凯来资产管理有限公司涉嫌非法集资活动,北京警方将“巴铁之父”白丹青依法刑拘。,巴铁,之父,白丹青
南阳“神车”下线之后,界面新闻约访南阳市委书记张文深,被告知张文深与市长双双出差,工作人员并不确定张文深何时回到南阳,他的手机则处于忙线状态。,南阳,市委书记,张文深
南阳洛特斯新能源汽车有限公司实际控制人庞青年说,水氢汽车并未下线,媒体的报道使他措手不及。,南阳洛特斯新能源汽车有限公司,实际控制人,庞青年
从2006年开始,前湖北工业大学学者董仕节带领的团队开始研发一项车载铝合金水解制氢技术,并获得国家973前期研究项目和国家自然基金的支持。,湖北工业大学,学者,董仕节
南阳市高新区投资公司负责人尹召翼在接受央视采访时表示,庞青年经常拿“水氢”来混淆“水解制氢”的概念。,南阳市高新区投资公司,负责人,尹召翼
南阳市招商局招商二科科长赵怿接受界面新闻采访时表示,他只知道这个项目不是招商科引进的。,南阳市招商局招商二科,科长,赵怿
庞青年告诉界面新闻,南阳市高新区投资有限公司已经为他提供了9600万元,用途是南阳高新区投资有限公司给南阳市洛特斯新能源汽车有限公司的注册资金,占股49%。,南阳高新区投资有限公司,南阳市,洛特斯新能
曾先后在南阳市委党校、南阳市发改委任职的退休干部张一江(化名)说,“走工业突围道路的冲动在南阳早已有之,所以这几年的巴铁神车项目、加水就能跑的神车项目能被引进南阳,我觉得算不上奇怪。”,南阳市发改委,退休干部,张一江
以此次南阳神车项目为例,南阳市科技局局长张梅明确告诉界面新闻,庞青年的企业进入南阳时未有任何部门邀请科技局鉴别其“新能源技术”。,南阳市科技局,局长,张梅
官方报道显示,2012年6月18日,一位时任南阳市委主要领导在南阳宾馆会见了青年汽车董事局主席庞青年一行,双方就如何发挥自身优势,谋求合作共赢进行了交流,“南阳的发展需要大项目的带动和支撑,我们欢迎中国青年汽车集团这样有实力、有影响的大企业来南阳投资兴业。,青年汽车,董事局主席,庞青年
早在当年5月,在第十九届中国北京国际科技博览会上,时任南阳市副市长郑茂杰与巴铁科技发展有限公司总工程师宋有洲签署战略合作协议。,巴铁科技发展有限公司,总工程师,宋有洲
早在当年5月,在第十九届中国北京国际科技博览会上,时任南阳市副市长郑茂杰与巴铁科技发展有限公司总工程师宋有洲签署战略合作协议。,南阳市,副市长,郑茂杰

对于这篇文章,我们没有抽取出一些关系,比如南阳市发展和改革委员会主任乔长恩受访时承认,招商引入南阳洛斯特之前“掌握这个情况。”等,并且庞青年告诉界面新闻,南阳市高新区投资有限公司已经为他提供了9600万元,用途是南阳高新区投资有限公司给南阳市洛特斯新能源汽车有限公司的注册资金,占股49%。这句为抽取有误,应当删除。   将上述关系修改下,导入至Neo4J中,得到的实体关系图如下:

  最后一篇为长篇小说——著名作家路遥的《平凡的世界》第一部。利用我们的关系抽取模型,一共在该小说中抽取了169对实体关系,其中有效实体关系100对。由于我们在该小说中抽取的实体关系过多,因此只展示前10条原文及抽取的实体关系:

原文,s,p,o 每天来回二十里路,与他一块上学的金波和大队书记田福堂的儿子润生都有自行车,只有他是两条腿走路。,田福堂,儿子,润生
不过,他对润生的姐姐润叶倒怀有一种亲切的感情。,润生,姐姐,润叶
“金波是金俊海的小子。”,金俊海,小子,“金波
脑子里把前后村庄未嫁的女子一个个想过去,最后选定了双水村孙玉厚的大女子兰花。,双水村孙玉厚,大女子,兰花
玉亭是大队党支部委员、农田基建队队长、贫下中农管理学校委员会主任,一身三职,在村里也是一个人物。,贫下中农管理学校,主任,玉亭
玉亭是大队党支部委员、农田基建队队长、贫下中农管理学校委员会主任,一身三职,在村里也是一个人物。,农田基建队,队长,玉亭
玉亭是大队党支部委员、农田基建队队长、贫下中农管理学校委员会主任,一身三职,在村里也是一个人物。,大队,党支部委员,玉亭
会战总指挥是公社副主任徐治功,副总指挥是公社武装专干杨高虎。,公社,武装,杨高虎
会战总指挥是公社副主任徐治功,副总指挥是公社武装专干杨高虎。,公社,副主任,徐治功
这时候,双水村妇女主任贺凤英,正领着本村和外村的一些“铁姑娘”,忙碌地布置会场。,双水村,妇女主任,贺凤英
……

  将上述关系修改下,导入至Neo4J中,得到的实体关系图如下:

总结

  本次关系抽取仅仅作为笔者的一次尝试,在实际的应用中还存在着许多的不足之处,比如:

  • 对语料的标注,是否可以采用其他更好的办法;
  • 作为通用模型,标注的数量还远远不够;
  • 模型的选择方面,是否可以其他更好的模型;
  • 对预测的结果,如何能更好地提取出三元组;
  • 将三元组扫入至图数据库中,能否做到实体对齐,且能做一些实体关系的分析与推理。

  本文用到的语料以及模型会在后续的文章中公开,希望大家能继续关注~   注意:不妨了解下笔者的微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注~

More Repositories

1

people_relation_extract

结合BERT+GRU+ATT模型,对自己收集的人物关系数据进行模型训练,用于人物关系抽取。
Python
319
star
2

spo_extract_platform

本项目是利用深度学习技术来构建知识图谱方向上的一次尝试,作为开放领域的关系抽取,算是笔者的一次创新,目前在这方面的文章和项目都很少。
Python
304
star
3

embedding_rerank_retrieval

本项目是针对RAG中的Retrieve阶段的召回技术及算法效果所做评估实验。使用主体框架为LlamaIndex.
Jupyter Notebook
152
star
4

ccks_triple_extract

限定领域的三元组抽取的一次尝试,本文将会介绍笔者在2019语言与智能技术竞赛的三元组抽取比赛方面的一次尝试。
Python
132
star
5

multi-label-classification-4-event-type

multi-label-classification-4-event-type
Python
127
star
6

ALBERT_text_classification

利用ALBERT实现文本二分类,判别是否属于政治上的出访类事件,提升模型训练和预测速度。
Python
71
star
7

keras_bert_multi_label_cls

本项目采用Keras和Keras-bert实现文本多标签分类任务,对BERT进行微调。
Python
64
star
8

bert_doc_binary_classification

文本二分类任务,是否文档是否属于政治上的出访类事件,利用BERT提取特征,模型采用简单的DNN。
Python
62
star
9

ALBERT_4_Time_Recognition

使用ALBERT预训练模型,用于识别文本中的时间,同时验证模型的预测耗时是否有显著提升。
Python
56
star
10

keras_bert_text_classification

本项目采用Keras和Keras-bert实现文本多分类任务,对BERT进行微调。
Python
46
star
11

keras_bert_sequence_labeling

本项目采用Keras和Keras-bert实现中文序列标注,对BERT进行微调,并在多个命名实体识别数据集上进行测试。
Python
46
star
12

-word-

利用文本分析算法和Python脚本,自动纠正word中的英语单词拼写错误
Python
44
star
13

Sentiment_Analysis

using LSTM model for sentiment analysis.
Python
37
star
14

llm_math_solver

本项目用于大模型数学解题能力方面的数据集合成,模型训练及评测,相关文章记录。
Python
37
star
15

UniLM_Chinese_DEMO

本项目使用云问科技训练的中文版UniLM模型对微博数据集进行自动标题生成。
Python
35
star
16

CNN_4_Verifycode

使用Keras搭建CNN模型,破解简单的网页验证码
Python
34
star
17

Chinese_Time_Recogniztion

利用深度学习模型,在小标注量数据上,进行文本中的时间识别。
Python
33
star
18

transformers_chinese_text_classification

本项目采用transformers模块,使用bert-base-chinese模型实现文本多分类。
Python
32
star
19

DL_4_NER

Using Bi-LSTM model for NER in English.
Python
32
star
20

pytorch_english_mltc

PyTorch使用BERT进行英语多标签文本分类
Python
32
star
21

PyTorch_Learning

learning pytorch step by step
Jupyter Notebook
26
star
22

entity_tagging_platform

A simple and useful platform for entity tagging using tornado.
HTML
25
star
23

cnews_text_classification

利用kashgari轻松搭建文本分类模型。
Python
25
star
24

pytorch_transformer_chinese_text_classification

本项目演示如何在PyTorch中使用Transformer模型进行中文文本分类
Python
23
star
25

R-BERT_for_people_relation_extraction

使用R-BERT模型对人物关系模型进行分类,效果有显著提升。
Python
23
star
26

huggingface_translation_model

使用HuggingFace翻译模型的一次尝试
Jupyter Notebook
21
star
27

llm_4_doc_qa

本项目用于文档问答,使用向量嵌入 + ES 做召回,使用Rerank模型作为精排,再使用LLM做文档问答,Web框架使用Flask。
Python
21
star
28

CRF_4_NER

Using CRF++ for NER
Python
20
star
29

pytorch_transformers_english_ner

本项目采用PyTorch和transformers模块实现英语序列标注,其中对BERT进行微调。
Python
19
star
30

Neo4j_movie_demo

Using Neo4j and Py2neo to demonstrate Chinese top 20 movies and their actor, visualized by graph.
Python
19
star
31

llm_open_triplet_extraction

本项目使用大语言模型(LLM)进行开放领域三元组抽取。
Python
18
star
32

Shicijielong

Using Python spider to complete a funny game named Shicijielong.
HTML
17
star
33

embedding_model_exp

本项目用于Embedding模型的相关实验,包括Embedding模型评估、Embedding模型微调、Embedding模型量化等。
Python
17
star
34

keras_albert_text_classification

本项目采用Keras和ALBERT实现文本多分类任务,其中对ALBERT进行微调。
Python
17
star
35

personal_travel_map

使用Pyecharts绘制个人足迹地图。
HTML
16
star
36

keras_bert_multiple_choice_MRC

本项目采用BERT等预训练模型实现多项选择型阅读理解任务(Multiple Choice MRC)
Python
14
star
37

llm_evaluation_4_mmlu

Using LLM to evaluate MMLU dataset.
Python
14
star
38

multi-modal-image-search

本项目使用LLaVA 1.6多模态模型实现以文搜图和以图搜图功能。
Python
14
star
39

WSD_With_Text_Extraction

抽取式NLP模型(阅读理解模型,MRC)实现词义消歧(WSD)
Python
12
star
40

yi_vl_experiment

本项目是关于Yi的多模态系列模型,如Yi-VL-6B/34B等的实验与应用。
Python
12
star
41

tensorflow-serving_4_kashgari

Using tensorflow/serving to deploy kashgari model for time training and predicting.
Python
12
star
42

keras_albert_multi_label_cls

本项目采用Keras和ALBERT实现文本多标签分类任务,其中对ALBERT进行微调。
Python
11
star
43

tensorflow_serving_examples

利用tensorflow/serving进行单模型、多模型、同一模型多版本的部署,并进行模型预测,并用Prothemus进行服务监控。
Python
11
star
44

alias_find_system

别名发现系统
Python
11
star
45

Keras_Transformer_Text_Classification

本项目使用Keras实现Transformer模型来进行文本分类(中文、英文均支持)。
Python
10
star
46

Keras_R_BERT

本项目使用Keras实现R-BERT,在人物关系数据集上进行测试验证。
Python
10
star
47

resnet_4_cifar10

Using Keras ResNet model to classify CIFAR-10 dataset.
Python
9
star
48

Docker_env_test

该项目用于演示如何构建Python开发环境的Docker镜像,并使用PyCharm连接Docker镜像进行开发测试。
Python
9
star
49

CRF_Chinese_NER

利用CRF++实现中文命名实体识别
Python
9
star
50

keras_bert_english_sequence_labeling

本项目采用Keras和Keras-bert实现英语序列标注,其中对BERT进行微调。
Python
9
star
51

document_qa_with_llm

本项目用于文档问答,使用向量嵌入 + ES 做召回,再使用LLM做文档问答。
Python
8
star
52

Movie_graphknowledge

利用2019年语言和智能比赛的数据和训练的模型,对开放的影视新闻进行三元组抽取,形成影视知识图谱。
Python
8
star
53

keras_bert_cloze

本项目采用keras-bert加载BERT模型,进行完形填空。
Python
8
star
54

CRF-Chinese-Word-Segment

利用CRF模型实现中文分词功能
Python
7
star
55

Keras_4_multiclass

Using Keras to create a DNN model to solve classical multiclass problem using IRIS data.
Python
7
star
56

celery_example

two examples for celery with python, one for math operation, the other for web scraping.
Python
7
star
57

keras_bert_short_text_match

本项目采用Keras和Keras-bert实现短文本匹配任务。
Python
7
star
58

CAPTCHA-Recognizition

Using CNN model to recognize CAPTCHA by using Keras.
Python
7
star
59

pdf-llm_series

The project is for PDF Python learning with Large Language Model.
Python
7
star
60

keras_roberta_text_classificaiton

Use English Roberta PLM to do text classification(TC) task with GLUE dataset: SST-2.
Python
6
star
61

tf_hub_english_text_classification

本项目使用tensorflow_hub中的BERT模型,对英语电影评论数据集(IMDB)进行文本二分类。
Python
6
star
62

text_corrector_corpus_auto_generation

该项目致力于从中文文字版PDF文档中,自动化构建出高质量的中文文本纠错语料。
Python
6
star
63

ES_Learning

Example codes for Elasticsearch learning with Python.
Python
6
star
64

llama-2-multiple-choice-mrc

本项目采用Firefly模型训练框架,使用LLAMA-2模型对多项选择阅读理解任务(Multiple Choice MRC)进行微调,取得了显著的进步。
Python
6
star
65

relation_extract_people

关系抽取之人物关系抽取,采用Pipeline方式。
Python
5
star
66

docker_image_demo

该项目用于显示如何使用Docker进行镜像打包,用于初学者入门。
Python
5
star
67

Examples-of-Python-Spiders

There are three Python Spiders written by myself using PhantomJS, Selenium, and AutoIt.
Python
5
star
68

Keras-K-fold-test

本项目以iris.csv和DNN模型为例,演示如何在Keras中使用K-fold交叉验证。
Python
5
star
69

panas_usage_25_tricks

使用pandas的25个技巧。
HTML
4
star
70

keras_albert_sequence_labeling

本项目采用Keras和ALBERT实现序列标注,其中对ALBERT进行微调。
Python
4
star
71

vllm_learning

本项目用于大模型部署工具vLLM的研究与学习。
Python
4
star
72

roberta_torch_2_tf

本项目用于将HuggingFace提供的Roberta的Torch版本的模型转化为Tensorflow1.X版本的ckpt格式。
Python
4
star
73

bert_finetune_text_classification

利用BERT微调进行文本分类。
Python
4
star
74

CPM-LM-TF2-DEMO

本项目使用清源预训练模型CPM,并给出一些模型使用的例子。
Python
4
star
75

RoBERTa_and_DCMN_plus_for_RACE

I use RoBERTaMultipleChoiceModel and DCMN+ RoBERTa for RACE dataset.
Python
4
star
76

Keras_quasi_Mul_BERT

本项目使用Keras实现quasi Mul-BERT,在人物关系数据集上进行测试验证,其中quasi的意思为近似,因为Mul-BERT模型的论文还未发表,更多模型的细节还未知,因此为近似Mul-BERT。
Python
4
star
77

bert_sougou_qa

本项目利用keras-bert和tokenizers模块,对BERT进行微调,对搜狗问答数据集实现抽取式问答。
Python
4
star
78

Sudoku-Solver-JavaScript-Version

This Sudoku Solver is written purely by HTML and JavaScript, which becomes more friendly for users to operate.
HTML
3
star
79

ORM_test

本项目用于演示如何使用SQLAlchemy来操作MySQL数据库,简单的CRUD操作。
Python
3
star
80

dynamic_quantization_on_bert

本项目使用动态量化(Dynamic Quantization)技术对BERT模型进行量化,并实验量化后的模型在推理性能和效果上的表现。
Jupyter Notebook
3
star
81

keras_bert_DCMN

使用DCMN模型完成多项选择阅读理解型任务。
Python
3
star
82

formIntoMySQL

This project use Spring Boot to interactive with form on the web and submit the result to MySQL database.
HTML
3
star
83

Poem-Search

web框架使用tornado, 后端数据库采用MongoDB, 诗词数据集使用爬虫。
Python
3
star
84

Sudoku-Solver

This program is written by Python Django, and used to solve Sudoku from other places.
HTML
2
star
85

phoneSpider

Scrapy phone information from baidu research using scrapy-splash, this is a simple version.
Python
2
star
86

machine_learning_text_classification

利用ALBERT+机器学习算法进行文本分类。
Python
2
star
87

llm_relation_classification

使用LLM对人物关系进行分类,记录模型训练、部署及评估结果。
Python
2
star
88

doubanMovieSpider

This project is simply a tutorial for downloading pictures from website and rename them.
Python
2
star
89

MathOperation

MathOperation
HTML
2
star
90

percent4.github.io

my personal blog with github + hexo
HTML
2
star
91

josephus

test
HTML
1
star
92

keras_train_visualization

Keras模型训练实时可视化
Python
1
star
93

csv_file_review

使用tornado上传Excel、CSV文件,并可以在线浏览。
HTML
1
star
94

unittest_example

Python单元测试使用例子
Python
1
star
95

protobuf_learning

Protobuf入门学习项目
Python
1
star
96

audio_recognizition

Using Xunfei and Baidu API to recognize audio in wav format
Python
1
star
97

WDS_With_Text_Extraction

使用Text Extraction模型进行词义消歧(WSD)
Python
1
star
98

Kaggle_Competition

some thoughts about a Kaggle competition
1
star
99

document_reviewer

常见文档格式的预览,比如txt,log,csv,image,pdf,markdown,python,html等。
JavaScript
1
star
100

Numeric_Analysis

This project is mainly to introduce some classical methods in Numeric Analysis using Python.
Python
1
star