1.å¦pythonç¨ä»ä¹ä¹¦
2.中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
3.å¦ä½ç³»ç»å°èªå¦ Python
4.NLP修炼系列之Bert(二)Bert多分类&多标签文本分类实战(附源码)
å¦pythonç¨ä»ä¹ä¹¦
1. ãPYTHONåºç¡æç¨(第2çæ¬)ã
è¿æ¬ä¹¦é常çéåé¶åºç¡æè åªæä¸ç¹ç¼ç¨ç»éªçæåï¼å®ä»baiPythonç¨åºçå®è£ ï¼äº¤äºå¼è§£éå¨ç使ç¨ï¼åºç¡æ°æ®ç±»åï¼åç§æ¡ä»¶è¯å¥çæ¹æ¹é¢é¢çåºç¡ç¥è¯é½è®²å°äºï¼èä¸å¨ä¹¦çæåå ä¸ªç« èï¼è¿æ个ç»ä¹ çå®æ项ç®ï¼é常éåæ°æå ¥é¨æ¥å¦ä¹ ã
2.ãPython Cookbookï¼ç¬¬2çï¼ä¸æçãè¿æ¬ä¹¦ç®æ¯ä»äºPythonç¼ç¨å·¥ä½äººå人æä¸æ¬çå¿ å¤ä¹¦ç±ï¼è¿æ¬ä¹¦éè¦å¨çå®åé¢çPythonåºç¡æç¨ï¼ææ¡åºæ¬çPythonç¥è¯ã
该书ä¸æ¯å¾ªåºæ¸è¿çå¨è®²Pythonç¼ç¨è¯è¨ç书ï¼èæ¯é对æäºç¹å®pythoné®é¢åä»»å¡ï¼æåºä¸äºç¹å«çæ¹æ³åæå·§ãå°ç¼è®¤ä¸ºæ è®ºä½ ç®åæ¯å¤å¨åªä¸ªé¶æ®µçPythonç±å¥½è ï¼è¿æ¬ä¹¦é½ä¼è®©äººè·å¾é常å¤æä»·å¼çç¼ç¨ç¥è¯ã
3.ãPythonç¼ç¨å¿«éä¸æââ让ç¹çå·¥ä½èªå¨åãç¾äºç éPython 3ç¼ç¨å¾ä¹¦ï¼å¸®å©ä½ éè¿ç¼ç¨å¿«éå®ç°å·¥ä½èªå¨å ãå¨æ¬ä¹¦ä¸ï¼ä½ å°å¦ä¹ å©ç¨Python ç¼ç¨ï¼å¨å åéå å®ææå·¥éè¦å å°æ¶çå·¥ä½ï¼èäºå å´æ éå ·å¤ç¼ç¨ç»éªãä¸æ¦ææ¡äºç¼ç¨çåºç¡ç¥è¯ï¼ä½ å°±å¯ä»¥æ¯«ä¸è´¹åå°å建Python ç¨åºï¼å®æé«æçèªå¨åå·¥ä½ã
4.ãPythonæ ¸å¿ç¼ç¨ï¼ç¬¬3çï¼ãæ¬ä¹¦æ¶µçäºæ为ä¸åææ¯å ¨é¢çPythonå¼å人åæéçä¸åå 容ãæ¬ä¹¦è®²è§£äºåºç¨å¼åç¸å ³çå¤ä¸ªé¢åï¼èä¸ä¹¦ä¸çå 容å¯ä»¥ç«å³åºç¨å°é¡¹ç®å¼åä¸ãæ¤å¤ï¼æ¬ä¹¦è¿å å«äºä¸äºä½¿ç¨Python 2åPython 3ç¼åç代ç æ¡ä¾ï¼ä»¥åä¸äºä»£ç 移æ¤æå·§ãæäºä»£ç ç段çè³æ 须修æ¹å°±å¯ä»¥è¿è¡å¨Python 2.xæPython 3.xä¸ãæ¬ä¹¦éåå ·æä¸å®ç»éªçPythonå¼å人åé 读ã
è¯»ä¹¦ç ´ä¸å·ï¼ä¸ç¬å¦æç¥ãè¿å¥å¤è¯è¯´æ¥æ¯æéççãå¦pythonæ¨èè¿äºä¹¦ç±ï¼å¤§å®¶ä¹å¯ä»¥å å¤å»ççï¼è¿æ ·å¯¹èªå·±æ¥ä¸æ¥çæ·±å ¥å¦ä¹ æ¯ååæ帮å©çã
对äºPythonå¼åæå ´è¶£çå°ä¼ä¼´ä»¬ï¼ä¸å¦¨å ä»ççPythonå¼å书ç±å¼å§å ¥é¨ï¼Bç«ä¸æå¾å¤çPythonæå¦è§é¢ï¼ä»åºç¡å°é«çº§çé½æï¼è¿æºä¸éçï¼ç¥è¯ç¹è®²çå¾ç»è´ï¼è¿æå®æ´ççå¦ä¹ 路线å¾ãä¹å¯ä»¥èªå·±å»ççï¼ä¸è½½å¦ä¹ è¯è¯ã中文分词工具在线PK新增:FoolNLTK、LTP、StanfordCoreNLP
中文分词在线PK之旅持续推进,继上篇《五款中文分词工具在线PK: Jieba,川软和源码时代 SnowNLP, PkuSeg, THULAC, HanLP》之后,此次又新增了三个中文分词工具,分别是FoolNLTK、哈工大LTP(pyltp, ltp的python封装)和斯坦福大学的CoreNLP(stanfordcorenlp is a Python wrapper for Stanford CoreNLP),现在可在AINLP公众号进行测试:中文分词 我爱自然语言处理。
以下是在Python3.x & Ubuntu. 的环境下测试及安装这些中文分词器:6)FoolNLTK:github.com/rockyzhengwu...
特点:可能不是最快的开源中文分词,但很可能是sonic源码最准的开源中文分词。基于BiLSTM模型训练而成,包含分词,词性标注,实体识别,都有比较高的准确率。用户自定义词典,可训练自己的模型,批量处理,定制自己的模型。get clone github.com/rockyzhengwu... cd FoolNLTK/train 详细训练步骤可参考文档。
仅在linux Python3 环境测试通过。coderwhy源码
安装,依赖TensorFlow, 会自动安装:pip install foolnltk
中文分词示例:
7) LTP: github.com/HIT-SCIR/ltp
pyltp: github.com/HIT-SCIR/pyl...
pyltp 是语言技术平台(Language Technology Platform, LTP)的Python封装。
安装 pyltp 注:由于新版本增加了新的第三方依赖如dynet等,不再支持 windows 下 python2 环境。使用 pip 安装 使用 pip 安装前,请确保您已安装了 pip $ pip install pyltp 接下来,需要下载 LTP 模型文件。下载地址 - `模型下载 ltp.ai/download.html`_ 当前模型版本 - 3.4.0 注意在windows下 3.4.0 版本的语义角色标注模块模型需要单独下载,具体查看下载地址链接中的说明。请确保下载的模型版本与当前版本的 pyltp 对应,否则会导致程序无法正确加载模型。AriaNg源码从源码安装 您也可以选择从源代码编译安装 $ git clone github.com/HIT-SCIR/pyl... $ git submodule init $ git submodule update $ python setup.py install 安装完毕后,也需要下载相应版本的 LTP 模型文件。
这里使用"pip install pyltp"安装,安装完毕后在LTP模型页面下载模型数据:ltp.ai/download.html,我下载的是 ltp_data_v3.4.0.zip ,压缩文件有多M,解压后1.2G,里面有不同NLP任务的模型。
中文分词示例:
8) Stanford CoreNLP: stanfordnlp.github.io/C... stanfordcorenlp: github.com/Lynten/stanf...
这里用的是斯坦福大学CoreNLP的python封装:stanfordcorenlp
stanfordcorenlp is a Python wrapper for Stanford CoreNLP. It provides a simple API for text processing tasks such as Tokenization, Part of Speech Tagging, Named Entity Reconigtion, Constituency Parsing, Dependency Parsing, and more.
安装很简单,pip即可:pip install stanfordcorenlp
但是要使用中文NLP模块需要下载两个包,在CoreNLP的usleep源码下载页面下载模型数据及jar文件,目前官方是3.9.1版本:nlp.stanford.edu/softwa...
第一个是:stanford-corenlp-full---.zip 第二个是:stanford-chinese-corenlp----models.jar
前者解压后把后者也要放进去,否则指定中文的时候会报错。
中文分词使用示例:
最后再说一下,原本计划加上对NLPIR中文分词器的支持,但是发现它的license需要定期更新,对于长久放server端测试不太方便就放弃了;另外之所以选择python,因为我用了Flask restful api框架,也欢迎推荐其他的中文分词开源框架,如果它们有很好的Python封装的话,这里可以继续添加。
å¦ä½ç³»ç»å°èªå¦ Python
æ¯å¦é常æ³å¦å¥½ Pythonï¼ä¸æ¹é¢è¢«çäºçº ç¼ ï¼ä¸ç´æ²¡è½å¨æï¼å¦ä¸æ¹é¢ï¼æ å¿å¦ä¹ ææ¬å¤ªé«ï¼å¿éé»é»æ²çéå é¼ï¼
幸è¿çæ¯ï¼Python æ¯ä¸é¨åå¦è å好çç¼ç¨è¯è¨ï¼æ³è¦å®å ¨ææ¡å®ï¼ä½ ä¸å¿ è±ä¸å¤ªå¤çæ¶é´åç²¾åã
Python ç设计å²å¦ä¹ä¸å°±æ¯ç®åæå¦ï¼ä½ç°å¨ä¸¤ä¸ªæ¹é¢ï¼
è¯æ³ç®æ´æäºï¼ç¸å¯¹ Ruby å Perlï¼å®çè¯æ³ç¹æ§ä¸å¤ä¸å°ï¼å¤§å¤æ°é½å¾ç®åç´æ¥ï¼ä¸ç©å¿çå¦ã
åå ¥ç¹å¾å¤ï¼Python å¯ä»¥è®©ä½ å¯ä»¥åå¾å¤äºæ ï¼ç§å¦è®¡ç®åæ°æ®åæãç¬è«ãWeb ç½ç«ã游æãå½ä»¤è¡å®ç¨å·¥å ·ççççï¼æ»æä¸ä¸ªæ¯ä½ æå ´è¶£å¹¶ä¸æ¿ææå ¥æ¶é´çã
åºè¯ä¸å¤è¯´ï¼å¦ä¼ä¸é¨è¯è¨çæ·å¾åªæä¸ä¸ªï¼ Getting Started
¶ èµ·æ¥é¶æ®µ
ä»»ä½ä¸ç§ç¼ç¨è¯è¨é½å å«ä¸¤ä¸ªé¨åï¼ç¡¬ç¥è¯å软ç¥è¯ï¼èµ·æ¥é¶æ®µç主è¦ä»»å¡æ¯ææ¡ç¡¬ç¥è¯ã
°1 硬ç¥è¯
â硬
ç¥è¯âæçæ¯ç¼ç¨è¯è¨çè¯æ³ãç®æ³åæ°æ®ç»æãç¼ç¨èå¼çï¼ä¾å¦ï¼åéåç±»åã循ç¯è¯å¥ãåæ¯ãå½æ°ãç±»ãè¿é¨åç¥è¯ä¹æ¯å ·ææ®éæ§çï¼çä¸å»æ¯ææ¡äºä¸
ç§è¯æ³ï¼å®é æ¯å»ºç«äºä¸ç§æç»´ãä¾å¦ï¼è®©ä¸ä¸ª Java ç¨åºåå»å¦ä¹ Pythonï¼ä»å¯ä»¥å¾å¿«çå° Java ä¸çå¦å°çé¢å对象çç¥è¯ map å°
Python ä¸æ¥ï¼å æ¤è½å¤å¿«éææ¡ Python ä¸é¢å对象çç¹æ§ã
å¦æä½ æ¯åå¼å§å¦ä¹ ç¼ç¨çæ°æï¼ä¸æ¬å¯é çè¯æ³ä¹¦æ¯é常éè¦çãå®çä¸å»å¯è½é常æ¯ç¥ä¹å³ï¼ä½å¯¹äºå»ºç«ç¨³åºçç¼ç¨æç»´æ¯å¿ ä¸å¯å°ã
ä¸é¢ååºäºä¸äºéååå¦è å ¥é¨çæå¦ææï¼
❖ã笨æ¹æ³å¦ Pythonãï¼http://learnpythonthehardway.org/book/
è¿æ¬ä¹¦å¨è®²è§£ Python çè¯æ³æåæ¶ï¼è¿é带大éå¯å®è·µçä¾åï¼é常éåå¿«éèµ·æ¥ã
❖ãå»éªå³°ç Python 2.7 æç¨ãï¼Home - å»éªå³°çå®æ¹ç½ç«
Python ä¸ææç¨çç¿æ¥ï¼ä¸ä¸ºååæ¥å ¥ç¨åºä¸ççå°ç½æé ã
❖ãThe Hitchhikerâs Guide to Python!ãï¼The Hitchhikerâs Guide to Python!
è¿æ¬æåçéäº Python çæä½³å®è·µï¼ä¸ç®¡ä½ æ¯ Python ä¸å®¶è¿æ¯æ°æï¼é½è½è·å¾æ大ç帮å©ã
❖ãPython å®æ¹ææ¡£ãï¼Our Documentation
å®è·µä¸å¤§é¨åé®é¢ï¼é½å¯ä»¥å¨å®æ¹ææ¡£ä¸æ¾å°çæ¡ã
❖ è¾ å©å·¥å ·ï¼Python Tutor
ä¸ä¸ª Python 对象å¯è§åç项ç®ï¼ç¨å¾å½¢è¾ å©ä½ ç解 Python ä¸çåç§æ¦å¿µã
Python çå²å¦ï¼
ç¨ä¸ç§æ¹æ³ï¼æ好æ¯åªæä¸ç§æ¹æ³æ¥åä¸ä»¶äºã
å¦ä¹ ä¹æ¯ä¸æ ·ï¼è½ç¶æ¨èäºå¤ç§å¦ä¹ èµæï¼ä½å®é å¦ä¹ çæ¶åï¼æ好åªéæ©å ¶ä¸çä¸ä¸ªï¼åæçå®ã
å¿ è¦çæ¶åï¼å¯è½éè¦é 读讲解æ°æ®ç»æåç®æ³ç书ï¼è¿äºç¥è¯å¯¹äºç解åä½¿ç¨ Python ä¸ç对象模åæçå¾å¤§ç帮å©ã
°2 软ç¥è¯
â软ç¥è¯âåæ¯ç¹å®è¯è¨ç¯å¢ä¸çè¯æ³æå·§ãç±»åºç使ç¨ãIDEçéæ©ççãè¿ä¸é¨åï¼å³ä½¿å®å ¨ä¸äºè§£ä¸ä¼ä½¿ç¨ï¼ä¹ä¸ä¼å¦¨ç¢ä½ å»ç¼ç¨ï¼åªä¸è¿ååºçç¨åºï¼çä¸å»æ¾å¾âå»âäºäºã
对
è¿äºç¥è¯çå¦ä¹ ï¼åå³äºä½ å°è¯è§£å³çé®é¢çé¢åå深度ã对åå¦è èè¨ï¼èµ·æ¥é¶æ®µææèµ°ç«ï¼æè å¨éæ© Python çæ¬æ¶å¾å¾ä¸å³ï¼ä¸ä¼å¿ç 2.7
ä¸ä¼å¿åè½¬å° 3.0ï¼æè å¾å¾å¨ç±»åºç大海ä¸æ æ³èªæï¼Scrapyï¼Numpyï¼Django
ä»ä¹é½è¦è¯è¯ï¼æè åä¸ç¼è¾å¨å£æã大æ¬å·ç¼©è¿æ¢ç©¶ãæä½ç³»ç»è¾©è®ºèµçæ æä¹æ´»å¨ï¼æè æ´å¤©è·ªèè¯æ³ç³ï¼èæ³çæä¹ä¸è¡ä»£ç æææçäºæ åå®ï¼æè å»ææ³
å£æ´çæ§è½å®å ¨éç¨æ§å¥å£®æ§å ¨é¨æ»¡åç解å³æ¹æ¡ã
å¾å¤â大çâé½ä¼å诫åå¦è ï¼ç¨è¿ä¸ªç¨é£ä¸ªï¼å°èµ°å¼¯è·¯ï¼è¿æ ·åèæåå¦è æ¨åäºçæ£ç弯路ã
è¿ä¸å¦åè¯åå¦è ï¼å¦ä¹ æ¬æ¥å°±æ¯ä¸ªéè¦ä½ å»èµ°å¼¯è·¯åº Bugï¼åªè½èè¸å®å°ï¼æ²¡æå¥è¿¹åªæçå±çè¿ç¨ã
éæ©ä¸ä¸ªæ¹åå èµ°ä¸å»ï¼åªæèä¸å·®ï¼èµ°ä¸å¨äºåççæ没ææ´å¥½ç解å³éå¾ã
èªå·±èµ°äºå¼¯è·¯ï¼ä½ æç¥éè¿ä¹åç好å¤ï¼æè½ç解为ä»ä¹äººä»¬å¯ä»¥æåç¶ææºå»å¹é å´åè¦åææ£å表达å¼ï¼ä¸ºä»ä¹é¢åè¿ç¨å¯ä»¥è§£å³å´åè¦é¢å对象ï¼ä¸ºä»ä¹æå¯ä»¥æ纵æ¯ä¸æ ¹æéå´åè¦èªå¨ç®¡çå åï¼ä¸ºä»ä¹æå¯ä»¥åµå¥åè°å´åè¦ç¨ Promise...
æ´éè¦çæ¶ï¼ä½ ä¼æç½ï¼é«å±æ¬¡ç解å³æ¹æ³é½æ¯å¯¹ä½å±æ¬¡çå°è£ ï¼å¹¶ä¸æ¯ä»»ä½æ åµä¸é½æ¯ææææåéçã
ææ¯æ¶è¿å°±å波浪ä¸æ ·ï¼é£äºéæ§çå°åå·²ä¹ çææ¯ï¼æ¶éäºè¿æ©è¿ä¼æ¶åçãå°±åç°å¨ç§»å¨ç«¯åºç¨ãæ游å HTML5 çç«çï¼æäºæ¹é¢ä¸æ£å¨éæ¼è¿å» PC çé£äºåå²ä¹ï¼
å æ¤ï¼ä¸è¦æ å¿èªå·±èµ°é路误äºç»èº«ï¼åæ并ä¿æè¿æ¥ææ¯æ£éã
èµ·æ¥é¶æ®µçæ ¸å¿ä»»å¡æ¯ææ¡ç¡¬ç¥è¯ï¼è½¯ç¥è¯åéå½äºè§£ï¼æäºç¨³åºçæ ¹ï¼ç²å£®çæå¹²ï¼æè½é¿åºæµå¯çå¶åï¼ç»åºçç¾çæå®ã
¶ åå±é¶æ®µ
å®æäºåºç¡ç¥è¯çå¦ä¹ ï¼å¿ å®ä¼æå°ä¸éµç©ºèï¼æçè¿äºè¯æ³ç¥è¯æ¯ä¸æ¯ççæç¨ã
没éï¼ä½ çæçæ¯é常æ£ç¡®çãè¦è®© Python åæ¥åºå®çä»·å¼ï¼å½ç¶ä¸è½åçå¨è¯æ³å±é¢ã
åå±é¶æ®µçæ ¸å¿ä»»å¡ï¼å°±æ¯âè·³åº Pythonï¼æ¥æ±ä¸çâã
å¨ä½ é¢åä¼æå¤ä¸ªåæ¯ï¼ç§å¦è®¡ç®åæ°æ®åæãç¬è«ãWeb ç½ç«ã游æãå½ä»¤è¡å®ç¨å·¥å ·ççççï¼è¿äºé½ä¸æ¯ä» ä» ç¥é Python è¯æ³å°±è½è§£å³çé®é¢ã
æ¿
ç¬è«ä¸¾ä¾ï¼å¦æä½ å¯¹è®¡ç®æºç½ç»ï¼HTTPåè®®ï¼HTMLï¼ææ¬ç¼ç ï¼JSONä¸æ æç¥ï¼ä½ è½å好è¿é¨åçå·¥ä½ä¹ï¼èä½ å¨èµ·æ¥é¶æ®µçåºç¡ç¥è¯ä¹åæ ·éè¦ï¼å¦
æä½ è¿å¾ªç¯éå½æä¹åé½è¿è¦æ¥ææ¡£ï¼è¿ BFS é½ä¸ç¥éæä¹å®ç°ï¼è¿å°±åå·¥å åç³å³æ¯æ¬¡èµ·é¤é½è¦æèé¤åæä¹ä½¿ç¨ä¸æ ·ï¼é常ä½æã
å¨è¿ä¸ªé¶æ®µï¼ä¸å¯é¿å è¦æ¥è§¦å¤§éç±»åºï¼é 读大é书ç±çã
°1 ç±»åºæ¹é¢
ãAwesome Python 项ç®ãï¼vinta/awesome-python · GitHub
è¿éååºäºä½ å¨å°è¯è§£å³åç§å®é é®é¢æ¶ï¼Python 社åºå·²æçå·¥å ·åç±»åºï¼å¦ä¸å¾æ示ï¼
ä½ å¯ä»¥æç §å®é éæ±ï¼å¯»æ¾ä½ éè¦çç±»åºã
è³äºç¸å ³ç±»åºå¦ä½ä½¿ç¨ï¼å¿ é¡»ææ¡çæè½ä¾¿æ¯é 读ææ¡£ãç±äºå¼æºç¤¾åºå¤§å¤æ°ææ¡£é½æ¯è±æåæçï¼æ以ï¼è±è¯ä¸å¥½çåå¦ï¼éè¦æ¶è¡¥ä¸ã
°2 书ç±æ¹é¢ï¼
è¿éæåªååºä¸äºæè§å¾æ¯è¾æä¸äºå¸®å©ç书ç±ï¼è¯¦ç»ç请çè±ç£ç书è¯ï¼
ç§å¦åæ°æ®åæï¼
❖ãéä½æºæ §ç¼ç¨ãï¼éä½æºæ §ç¼ç¨ (è±ç£)
❖ãæ°å¦ä¹ç¾ãï¼æ°å¦ä¹ç¾ (è±ç£)
❖ãç»è®¡å¦ä¹ æ¹æ³ãï¼ç»è®¡å¦ä¹ æ¹æ³ (è±ç£)
❖ãPattern Recognition And Machine Learningãï¼Pattern Recognition And Machine Learning (è±ç£)
❖ãæ°æ®ç§å¦å®æãï¼æ°æ®ç§å¦å®æ (è±ç£)
❖ãæ°æ®æ£ç´¢å¯¼è®ºãï¼ä¿¡æ¯æ£ç´¢å¯¼è®º (è±ç£)
ç¬è«ï¼
❖ãHTTP æå¨æåãï¼HTTPæå¨æå (è±ç£)
Web ç½ç«ï¼
❖ãHTML & CSS 设计ä¸æ建ç½ç«ãï¼HTML & CSS设计ä¸æ建ç½ç« (è±ç£)
...
åå°è¿éå·²ç»ä¸éè¦ç»§ç»äºã
èªæçä½ ä¸å®ä¼åç°ä¸é¢ç大é¨å书ç±ï¼å¹¶ä¸æ¯è®² Python ç书ï¼èæ´å¤çæ¯ä¸ä¸ç¥è¯ã
äºå®ä¸ï¼è¿éæè°âè·³åº Pythonï¼æ¥æ±ä¸çâï¼å ¶å®æ¯åç° Python åä¸ä¸ç¥è¯ç¸ç»åï¼è½å¤è§£å³å¾å¤å®é é®é¢ãè¿ä¸ªé¶æ®µè½èµ°å°ä»ä¹ç¨åº¦ï¼æ´å¤çåå³äºèªå·±çä¸ä¸ç¥è¯ã
¶ æ·±å ¥é¶æ®µ
è¿ä¸ªé¶æ®µçä½ ï¼å¯¹ Python å ä¹äºå¦ææï¼é£ä¹ä½ ä¸å®ç¥é Python æ¯ç¨ C è¯è¨å®ç°çã
å¯æ¯ Python 对象çâå¨æç¹å¾âæ¯æä¹ç¨ç¸å¯¹åºå±ï¼è¿èªå¨å å管çé½æ²¡æçCè¯è¨å®ç°çå¢ï¼è¿æ¶åå°±ä¸è½åçå¨è¡¨é¢äºï¼åæ¢çæå¼ Python çé»çåï¼æ·±å ¥å°è¯è¨çå é¨ï¼å»çå®çåå²ï¼è¯»å®çæºç ï¼æè½çæ£ç解å®ç设计æè·¯ã
è¿éæ¨èä¸æ¬ä¹¦ï¼
ãPython æºç åæãï¼Pythonæºç åæ (è±ç£)
è¿æ¬ä¹¦æ Python æºç ä¸ææ ¸å¿çé¨åï¼ç»åºäºè¯¦ç»çééï¼ä¸è¿é 读æ¤ä¹¦éè¦å¯¹ C è¯è¨å å模ååæéæçå¾å¥½çç解ã
å¦
å¤ï¼Python æ¬èº«æ¯ä¸é¨æç³ å¤ç§èå¼çå¨æè¯è¨ï¼ä¹å°±æ¯è¯´ï¼ç¸å¯¹äº C çè¿ç¨å¼ã Haskell ççå½æ°å¼ãJava
åºäºç±»çé¢å对象èè¨ï¼å®é½ä¸å¤çº¯ç²¹ãæ¢èè¨ä¹ï¼ç¼ç¨è¯è¨çâéå¦âï¼å¨ Python
ä¸åªè½æéçä½æãå¦ä¹ æç§ç¼ç¨èå¼æ¶ï¼ä»é£äºé¢åè¿ç§èå¼æ´å 纯粹çè¯è¨åºåï¼æè½ææ´æ·±å»çç解ï¼ä¹è½äºè§£å° Python è¯è¨çæ ¹æºã
è¿éæ¨èä¸é¨å ¬å¼è¯¾
ãç¼ç¨èå¼ãï¼æ¯å¦ç¦å¤§å¦å ¬å¼è¯¾ï¼ç¼ç¨èå¼
讲å¸é«å±å»ºç´ï¼ä»åç§ç¼ç¨èå¼ç代表è¯è¨åºåï¼ç»åºäºæ¯ç§ç¼ç¨èå¼ææ ¸å¿çææ³ã
å¼å¾ä¸æçæ¯ï¼è¿é¨è¯¾ç¨å¯¹Cè¯è¨æéå¸¸æ·±å ¥ç讲解ï¼ä¾å¦Cè¯è¨çèååå å管çãè¿äºç¥è¯ï¼å¯¹é 读 Python æºç ä¹æ大æ帮å©ã
Python ç许å¤æä½³å®è·µé½éèå¨é£äºä¼æå¨ç¥çæ¡æ¶åç±»åºä¸ï¼ä¾å¦ DjangoãTornado ççãå¨å®ä»¬çæºä»£ç ä¸æ·éï¼ä¹æ¯ä¸ªä¸éçéæ©ã
¶ æåçè¯
æ¯ä¸ªäººå¦ç¼ç¨çéè·¯é½æ¯ä¸ä¸æ ·çï¼å ¶å®å¤§é½æ®éåå½ï¼æ²¡æè¿·è·¯ç人åªæä¸è½åæç人ãè½ç¶å¬ä¸å»æç¹é¸¡æ±¤ï¼ä½æ¯è¿æ¯äºå®ã
å¸ææ³å¦ Python æ³å¦ç¼ç¨çåå¦ï¼ä¸è¦ç¹è±«äºï¼çå®è¿ç¯æç« ï¼Just getting startedï½
NLP修炼系列之Bert(二)Bert多分类&多标签文本分类实战(附源码)
在NLP修炼系列之Bert(二)的上一篇文章中,我们对Bert的背景和预训练模型进行了深入讲解。现在,我们将步入实战环节,通过Bert解决文本的多分类和多标签分类任务。本文将介绍两个实际项目,一个是基于THUCNews数据集的类新闻标题分类,另一个是我们公司业务中的意图识别任务,采用多标签分类方式。 1.1 数据集详解多分类项目使用THUCNews数据集,包含万个新闻标题,长度控制在-个字符,共分为财经、房产等个类别,每个类别有2万个样本。训练集包含万个样本,验证集和测试集各1万个,每个类别条。
多标签任务数据集来自公司业务,以对话形式的json格式存在,用于意图识别。由于隐私原因,我们无法提供,但网上有很多公开的多标签数据集,稍加调整即可适用。
1.2 项目结构概览项目包含Bert预训练模型文件、配置文件和词典等,可以从Huggingface官网下载。
datas 目录下存放数据集、日志和模型。
models 包含模型定义和超参数配置,还包括混合模型如Bert+CNN等。
run.py 是项目入口,负责运行训练。
train_eval.py 负责模型训练、验证和测试。
utils 提供数据预处理和加载工具。
2. 项目流程和环境要求 通过run.py调用argparse工具配置参数。安装环境要求Python 3.8,项目中已准备好requirements.txt文件。 3. 项目实战步骤 从构建数据集到模型定义,包括数据预处理、数据迭代器的创建、配置定义以及训练、验证和测试模块的实现。 4. 实验与总结 我们尝试了以下实验参数:num_epochs、batch_size、pad_size和learning_rate。在fine-tune模式下,Bert表现最佳,否则效果不佳。项目代码和数据集可通过关注布尔NLPer公众号获取,回复相应关键词获取多分类和多标签分类项目源码。