[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ckiplab--ckip-transformers":3,"tool-ckiplab--ckip-transformers":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":32,"env_os":75,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":97,"github_topics":99,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":105,"updated_at":106,"faqs":107,"releases":138},5495,"ckiplab\u002Fckip-transformers","ckip-transformers","CKIP Transformers","ckip-transformers 是专为繁体中文自然语言处理打造的开源工具库，由台湾中央研究院资讯科学研究所 CKIP 实验室维护。它基于先进的 Transformers 架构，提供了包括 ALBERT、BERT 和 GPT-2 在内的多种预训练模型，能够高效完成断词、词性标注及命名实体识别等核心任务。\n\n针对繁体中文语境下分词困难、语义理解复杂等痛点，ckip-transformers 利用深度学习技术显著提升了文本分析的准确度与流畅度，填补了高质量繁体中文 NLP 资源的空白。无论是需要快速集成中文处理功能的软件开发者，还是致力于语言模型研究的研究人员，都能从中获益。其独特的亮点在于不仅支持主流的 Transformer 模型，还针对繁体中文特性进行了深度优化，并提供了便捷的在线演示服务与详尽的文档，降低了使用门槛。相比传统的 BiLSTM 方案，它在处理长距离依赖和上下文理解上表现更为出色，是构建繁体中文智能应用的理想选择。","CKIP Transformers\n-----------------\n\n| This project provides traditional Chinese transformers models (including ALBERT, BERT, GPT2) and NLP tools (including word segmentation, part-of-speech tagging, named entity recognition).\n| 這個專案提供了繁體中文的 transformers 模型（包含 ALBERT、BERT、GPT2）及自然語言處理工具（包含斷詞、詞性標記、實體辨識）。\n\nGit\n^^^\n\n| https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\n| |GitHub Version| |GitHub License| |GitHub Release| |GitHub Issues|\n\n.. |GitHub Version| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Freleases\n\n.. |GitHub License| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002FLICENSE\n\n.. |GitHub Release| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease-date\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |GitHub Downloads| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fckiplab\u002Fckip-transformers\u002Ftotal.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Freleases\u002Flatest\n\n.. |GitHub Issues| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\n\n.. |GitHub Forks| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Fork&cacheSeconds=3600\n\n.. |GitHub Stars| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Star&cacheSeconds=3600\n\n.. |GitHub Watchers| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fwatchers\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Watch&cacheSeconds=3600\n\nPyPI\n^^^^\n\n| https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers\n| |PyPI Version| |PyPI License| |PyPI Downloads| |PyPI Python| |PyPI Implementation| |PyPI Format| |PyPI Status|\n\n.. |PyPI Version| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers\n\n.. |PyPI License| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002FLICENSE\n\n.. |PyPI Downloads| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers#files\n\n.. |PyPI Python| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI Implementation| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fimplementation\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI Format| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fformat\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI Status| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fstatus\u002Fckip-transformers.svg?cacheSeconds=3600\n\nDocumentation\n^^^^^^^^^^^^^\n\n| https:\u002F\u002Fckip-transformers.readthedocs.io\n| |ReadTheDocs Home|\n\n.. |ReadTheDocs Home| image:: https:\u002F\u002Fimg.shields.io\u002Fwebsite\u002Fhttps\u002Fckip-transformers.readthedocs.io.svg?cacheSeconds=3600&up_message=online&down_message=offline\n   :target: https:\u002F\u002Fckip-transformers.readthedocs.io\n\nDemo\n^^^^\n\n| https:\u002F\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers\n| |Transformers Demo|\n\n.. |Transformers Demo| image:: https:\u002F\u002Fimg.shields.io\u002Fwebsite\u002Fhttps\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers.svg?cacheSeconds=3600&up_message=online&down_message=offline\n   :target: https:\u002F\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers\n\nContributers\n^^^^^^^^^^^^\n\n* `Mu Yang \u003Chttps:\u002F\u002Fmuyang.pro>`__ at `CKIP \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__ (Author & Maintainer).\n* `Wei-Yun Ma \u003Chttps:\u002F\u002Fwww.iis.sinica.edu.tw\u002Fpages\u002Fma\u002F>`__ at `CKIP \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__ (Maintainer).\n\nRelated Packages\n^^^^^^^^^^^^^^^^\n\n- `CkipTagger \u003Chttps:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckiptagger>`_: An alternative Chinese NLP library with using BiLSTM.\n- `CKIP CoreNLP Toolkit \u003Chttps:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckipnlp>`_: A Chinese NLP library with more NLP tasks and utilities.\n\nModels\n------\n\n| You may also use our pretrained models with HuggingFace transformers library directly: https:\u002F\u002Fhuggingface.co\u002Fckiplab\u002F.\n| 您可於 https:\u002F\u002Fhuggingface.co\u002Fckiplab\u002F 下載預訓練的模型。\n\n- Language Models\n   * `ALBERT Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese>`_: ``ckiplab\u002Falbert-tiny-chinese``\n   * `ALBERT Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese>`_: ``ckiplab\u002Falbert-base-chinese``\n   * `BERT Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese>`_: ``ckiplab\u002Fbert-tiny-chinese``\n   * `BERT Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese>`_: ``ckiplab\u002Fbert-base-chinese``\n   * `GPT2 Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fgpt2-tiny-chinese>`_: ``ckiplab\u002Fgpt2-tiny-chinese``\n   * `GPT2 Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fgpt2-base-chinese>`_: ``ckiplab\u002Fgpt2-base-chinese``\n\n- NLP Task Models\n   * `ALBERT Tiny — Word Segmentation \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-ws>`_: ``ckiplab\u002Falbert-tiny-chinese-ws``\n   * `ALBERT Tiny — Part-of-Speech Tagging \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-pos>`_: ``ckiplab\u002Falbert-tiny-chinese-pos``\n   * `ALBERT Tiny — Named-Entity Recognition \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-ner>`_: ``ckiplab\u002Falbert-tiny-chinese-ner``\n   * `ALBERT Base — Word Segmentation \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-ws>`_: ``ckiplab\u002Falbert-base-chinese-ws``\n   * `ALBERT Base — Part-of-Speech Tagging \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-pos>`_: ``ckiplab\u002Falbert-base-chinese-pos``\n   * `ALBERT Base — Named-Entity Recognition \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-ner>`_: ``ckiplab\u002Falbert-base-chinese-ner``\n   * `BERT Tiny — Word Segmentation \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-ws>`_: ``ckiplab\u002Fbert-tiny-chinese-ws``\n   * `BERT Tiny — Part-of-Speech Tagging \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-pos>`_: ``ckiplab\u002Fbert-tiny-chinese-pos``\n   * `BERT Tiny — Named-Entity Recognition \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-ner>`_: ``ckiplab\u002Fbert-tiny-chinese-ner``\n   * `BERT Base — Word Segmentation \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-ws>`_: ``ckiplab\u002Fbert-base-chinese-ws``\n   * `BERT Base — Part-of-Speech Tagging \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-pos>`_: ``ckiplab\u002Fbert-base-chinese-pos``\n   * `BERT Base — Named-Entity Recognition \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-ner>`_: ``ckiplab\u002Fbert-base-chinese-ner``\n\nModel Usage\n^^^^^^^^^^^\n\n| You may use our model directly from the HuggingFace's transformers library.\n| 您可直接透過 HuggingFace's transformers 套件使用我們的模型。\n\n.. code-block:: bash\n\n   pip install -U transformers\n\n| Please use BertTokenizerFast as tokenizer, and replace ``ckiplab\u002Falbert-tiny-chinese`` and ``ckiplab\u002Falbert-tiny-chinese-ws`` by any model you need in the following example.\n| 請使用內建的 BertTokenizerFast，並將以下範例中的 ``ckiplab\u002Falbert-tiny-chinese`` 與 ``ckiplab\u002Falbert-tiny-chinese-ws`` 替換成任何您要使用的模型名稱。\n\n.. code-block:: python\n\n   from transformers import (\n      BertTokenizerFast,\n      AutoModelForMaskedLM,\n      AutoModelForCausalLM,\n      AutoModelForTokenClassification,\n   )\n\n   # masked language model (ALBERT, BERT)\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForMaskedLM.from_pretrained('ckiplab\u002Falbert-tiny-chinese') # or other models above\n\n   # casual language model (GPT2)\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForCausalLM.from_pretrained('ckiplab\u002Fgpt2-base-chinese') # or other models above\n\n   # nlp task model\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForTokenClassification.from_pretrained('ckiplab\u002Falbert-tiny-chinese-ws') # or other models above\n\nModel Fine-Tunning\n^^^^^^^^^^^^^^^^^^\n\n| To fine tunning our model on your own datasets, please refer to the following example from HuggingFace's transformers.\n| 您可參考以下的範例去微調我們的模型於您自己的資料集。\n\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpytorch\u002Flanguage-modeling\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpytorch\u002Ftoken-classification\n\n| Remember to set ``--tokenizer_name bert-base-chinese`` in order to use Chinese tokenizer.\n| 記得設置 ``--tokenizer_name bert-base-chinese`` 以正確的使用中文的 tokenizer。\n\n.. code-block:: bash\n\n   python run_mlm.py \\\n      --model_name_or_path ckiplab\u002Falbert-tiny-chinese \\ # or other models above\n      --tokenizer_name bert-base-chinese \\\n      ...\n\n   python run_ner.py \\\n      --model_name_or_path ckiplab\u002Falbert-tiny-chinese-ws \\ # or other models above\n      --tokenizer_name bert-base-chinese \\\n      ...\n\nModel Performance\n^^^^^^^^^^^^^^^^^\n\n| The following is a performance comparison between our model and other models.\n| The results are tested on a traditional Chinese corpus.\n| 以下是我們的模型與其他的模型之性能比較。\n| 各個任務皆測試於繁體中文的測試集。\n\n================================  ===========  ===========  ========  ==========  =========\nModel                             #Parameters  Perplexity†  WS (F1)‡  POS (ACC)‡  NER (F1)‡\n================================  ===========  ===========  ========  ==========  =========\nckiplab\u002Falbert-tiny-chinese         4M          4.80        96.66%    94.48%      71.17%\nckiplab\u002Falbert-base-chinese        11M          2.65        97.33%    95.30%      79.47%\nckiplab\u002Fbert-tiny-chinese          12M          8.07        96.98%    95.11%      74.21%\nckiplab\u002Fbert-base-chinese         102M          1.88        97.60%    95.67%      81.18%\nckiplab\u002Fgpt2-tiny-chinese           4M         16.94        --        --          --\nckiplab\u002Fgpt2-base-chinese         102M          8.36        --        --          --\n--------------------------------  -----------  -----------  --------  ----------  ---------\n\n--------------------------------  -----------  -----------  --------  ----------  ---------\nvoidful\u002Falbert_chinese_tiny         4M         74.93        --        --          --\nvoidful\u002Falbert_chinese_base        11M         22.34        --        --          --\nbert-base-chinese                 102M          2.53        --        --          --\n================================  ===========  ===========  ========  ==========  =========\n\n| † Perplexity; the smaller the better.\n| † 混淆度；數字越小越好。\n| ‡ WS: word segmentation; POS: part-of-speech; NER: named-entity recognition; the larger the better.\n| ‡ WS: 斷詞；POS: 詞性標記；NER: 實體辨識；數字越大越好。\n\nTraining Corpus\n^^^^^^^^^^^^^^^\n\n| The language models are trained on the ZhWiki and CNA datasets; the WS and POS tasks are trained on the ASBC dataset; the NER tasks are trained on the OntoNotes dataset.\n| 以上的語言模型訓練於 ZhWiki 與 CNA 資料集上；斷詞（WS）與詞性標記（POS）任務模型訓練於 ASBC 資料集上；實體辨識（NER）任務模型訓練於 OntoNotes 資料集上。\n\n* ZhWiki: https:\u002F\u002Fdumps.wikimedia.org\u002Fzhwiki\u002F\n   | Chinese Wikipedia text (20200801 dump), translated to Traditional using `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_.\n   | 中文維基的文章（20200801 版本），利用 `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_ 翻譯成繁體中文。\n* CNA: https:\u002F\u002Fcatalog.ldc.upenn.edu\u002FLDC2011T13\n   | Chinese Gigaword Fifth Edition — CNA (Central News Agency) part.\n   | 中文 Gigaword 第五版 — CNA（中央社）的部分。\n* ASBC: http:\u002F\u002Fasbc.iis.sinica.edu.tw\n   | Academia Sinica Balanced Corpus of Modern Chinese release 4.0.\n   | 中央研究院漢語平衡語料庫第四版。\n* OntoNotes: https:\u002F\u002Fcatalog.ldc.upenn.edu\u002FLDC2013T19\n   | OntoNotes release 5.0, Chinese part, translated to Traditional using `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_.\n   | OntoNotes 第五版，中文部分，利用 `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_ 翻譯成繁體中文。\n\n| Here is a summary of each corpus.\n| 以下是各個資料集的一覽表。\n\n================  ================  ================  ================  ================\nDataset           #Documents        #Lines            #Characters       Line Type\n================  ================  ================  ================  ================\nCNA               2,559,520         13,532,445        1,219,029,974     Paragraph\nZhWiki            1,106,783         5,918,975         495,446,829       Paragraph\nASBC              19,247            1,395,949         17,572,374        Clause\nOntoNotes         1,911             48,067            1,568,491         Sentence\n================  ================  ================  ================  ================\n\n| Here is the dataset split used for language models.\n| 以下是用於訓練語言模型的資料集切割。\n\n================  ================  ================  ================\nCNA+ZhWiki        #Documents        #Lines            #Characters\n================  ================  ================  ================\nTrain             3,606,303         18,986,238        4,347,517,682\nDev               30,000            148,077           32,888,978\nTest              30,000            151,241           35,216,818\n================  ================  ================  ================\n\n| Here is the dataset split used for word segmentation and part-of-speech tagging models.\n| 以下是用於訓練斷詞及詞性標記模型的資料集切割。\n\n================  ================  ================  ================  ================\nASBC              #Documents        #Lines            #Words            #Characters\n================  ================  ================  ================  ================\nTrain             15,247            1,183,260         9,480,899         14,724,250\nDev               2,000             52,677            448,964           741,323\nTest              2,000             160,012           1,315,129         2,106,799\n================  ================  ================  ================  ================\n\n\n| Here is the dataset split used for word segmentation and named entity recognition models.\n| 以下是用於訓練實體辨識模型的資料集切割。\n\n================  ================  ================  ================  ================\nOntoNotes         #Documents        #Lines            #Characters       #Named-Entities\n================  ================  ================  ================  ================\nTrain             1,511             43,362            1,367,658         68,947\nDev               200               2,304             93,535            7,186\nTest              200               2,401             107,298           6,977\n================  ================  ================  ================  ================\n\nNLP Tools\n---------\n\n| The package also provide the following NLP tools.\n| 我們的套件也提供了以下的自然語言處理工具。\n\n* (WS) Word Segmentation 斷詞\n* (POS) Part-of-Speech Tagging 詞性標記\n* (NER) Named Entity Recognition 實體辨識\n\nInstallation\n^^^^^^^^^^^^\n\n``pip install -U ckip-transformers``\n\nRequirements:\n\n* `Python \u003Chttps:\u002F\u002Fwww.python.org>`__ 3.6+\n* `PyTorch \u003Chttps:\u002F\u002Fpytorch.org>`__ 1.5+\n* `HuggingFace Transformers \u003Chttps:\u002F\u002Fhuggingface.co\u002Ftransformers\u002F>`__ 3.5+\n\nNLP Tools Usage\n^^^^^^^^^^^^^^^\n\n| See `here \u003C..\u002F_api\u002Fckip_transformers.html>`_ for API details.\n| 詳細的 API 請參見 `此處 \u003C..\u002F_api\u002Fckip_transformers.html>`_ 。\n\n| The complete script of this example is https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002Fexample\u002Fexample.py.\n| 以下的範例的完整檔案可參見 https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002Fexample\u002Fexample.py 。\n\n1. Import module\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n.. code-block:: python\n\n   from ckip_transformers.nlp import CkipWordSegmenter, CkipPosTagger, CkipNerChunker\n\n2. Load models\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| We provide several pretrained models for the NLP tools.\n| 我們提供了一些適用於自然語言工具的預訓練的模型。\n\n.. code-block:: python\n\n   # Initialize drivers\n   ws_driver  = CkipWordSegmenter(model=\"bert-base\")\n   pos_driver = CkipPosTagger(model=\"bert-base\")\n   ner_driver = CkipNerChunker(model=\"bert-base\")\n\n| One may also load their own checkpoints using our drivers.\n| 也可以運用我們的工具於自己訓練的模型上。\n\n.. code-block:: python\n\n   # Initialize drivers with custom checkpoints\n   ws_driver  = CkipWordSegmenter(model_name=\"path_to_your_model\")\n   pos_driver = CkipPosTagger(model_name=\"path_to_your_model\")\n   ner_driver = CkipNerChunker(model_name=\"path_to_your_model\")\n\n| To use GPU, one may specify device ID while initialize the drivers. Set to -1 (default) to disable GPU.\n| 可於宣告斷詞等工具時指定 device 以使用 GPU，設為 -1 （預設值）代表不使用 GPU。\n\n.. code-block:: python\n\n   # Use CPU\n   ws_driver = CkipWordSegmenter(device=-1)\n\n   # Use GPU:0\n   ws_driver = CkipWordSegmenter(device=0)\n\n3. Run pipeline\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| The input for word segmentation and named-entity recognition must be a list of sentences.\n| The input for part-of-speech tagging must be a list of list of words (the output of word segmentation).\n| 斷詞與實體辨識的輸入必須是 list of sentences。\n| 詞性標記的輸入必須是 list of list of words。\n\n.. code-block:: python\n\n   # Input text\n   text = [\n      \"傅達仁今將執行安樂死，卻突然爆出自己20年前遭緯來體育台封殺，他不懂自己哪裡得罪到電視台。\",\n      \"美國參議院針對今天總統布什所提名的勞工部長趙小蘭展開認可聽證會，預料她將會很順利通過參議院支持，成為該國有史以來第一位的華裔女性內閣成員。\",\n      \"空白 也是可以的～\",\n   ]\n\n   # Run pipeline\n   ws  = ws_driver(text)\n   pos = pos_driver(ws)\n   ner = ner_driver(text)\n\n| The POS driver will automatically segment the sentence internally using there characters ``'，,。：:；;！!？?'`` while running the model. (The output sentences will be concatenated back.) You may set ``delim_set`` to any characters you want.\n| You may set ``use_delim=False`` to disable this feature, or set ``use_delim=True`` in WS and NER driver to enable this feature.\n| 詞性標記工具會自動用 ``'，,。：:；;！!？?'`` 等字元在執行模型前切割句子（輸出的句子會自動接回）。可設定 ``delim_set`` 參數使用別的字元做切割。\n| 另外可指定 ``use_delim=False`` 已停用此功能，或於斷詞、實體辨識時指定 ``use_delim=True`` 已啟用此功能。\n\n.. code-block:: python\n\n   # Enable sentence segmentation\n   ws  = ws_driver(text, use_delim=True)\n   ner = ner_driver(text, use_delim=True)\n\n   # Disable sentence segmentation\n   pos = pos_driver(ws, use_delim=False)\n\n   # Use new line characters and tabs for sentence segmentation\n   pos = pos_driver(ws, delim_set='\\n\\t')\n\n| You may specify ``batch_size`` and ``max_length`` to better utilize you machine resources.\n| 您亦可設置 ``batch_size`` 與 ``max_length`` 以更完美的利用您的機器資源。\n\n.. code-block:: python\n\n   # Sets the batch size and maximum sentence length\n   ws = ws_driver(text, batch_size=256, max_length=128)\n\n4. Show results\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n.. code-block:: python\n\n   # Pack word segmentation and part-of-speech results\n   def pack_ws_pos_sentece(sentence_ws, sentence_pos):\n      assert len(sentence_ws) == len(sentence_pos)\n      res = []\n      for word_ws, word_pos in zip(sentence_ws, sentence_pos):\n         res.append(f\"{word_ws}({word_pos})\")\n      return \"\\u3000\".join(res)\n\n   # Show results\n   for sentence, sentence_ws, sentence_pos, sentence_ner in zip(text, ws, pos, ner):\n      print(sentence)\n      print(pack_ws_pos_sentece(sentence_ws, sentence_pos))\n      for entity in sentence_ner:\n         print(entity)\n      print()\n\n.. code-block:: text\n\n   傅達仁今將執行安樂死，卻突然爆出自己20年前遭緯來體育台封殺，他不懂自己哪裡得罪到電視台。\n   傅達仁(Nb)　今(Nd)　將(D)　執行(VC)　安樂死(Na)　，(COMMACATEGORY)　卻(D)　突然(D)　爆出(VJ)　自己(Nh)　20(Neu)　年(Nd)　前(Ng)　遭(P)　緯來(Nb)　體育台(Na)　封殺(VC)　，(COMMACATEGORY)　他(Nh)　不(D)　懂(VK)　自己(Nh)　哪裡(Ncd)　得罪到(VC)　電視台(Nc)　。(PERIODCATEGORY)\n   NerToken(word='傅達仁', ner='PERSON', idx=(0, 3))\n   NerToken(word='20年', ner='DATE', idx=(18, 21))\n   NerToken(word='緯來體育台', ner='ORG', idx=(23, 28))\n\n   美國參議院針對今天總統布什所提名的勞工部長趙小蘭展開認可聽證會，預料她將會很順利通過參議院支持，成為該國有史以來第一位的華裔女性內閣成員。\n   美國(Nc)　參議院(Nc)　針對(P)　今天(Nd)　總統(Na)　布什(Nb)　所(D)　提名(VC)　的(DE)　勞工部長(Na)　趙小蘭(Nb)　展開(VC)　認可(VC)　聽證會(Na)　，(COMMACATEGORY)　預料(VE)　她(Nh)　將(D)　會(D)　很(Dfa)　順利(VH)　通過(VC)　參議院(Nc)　支持(VC)　，(COMMACATEGORY)　成為(VG)　該(Nes)　國(Nc)　有史以來(D)　第一(Neu)　位(Nf)　的(DE)　華裔(Na)　女性(Na)　內閣(Na)　成員(Na)　。(PERIODCATEGORY)\n   NerToken(word='美國參議院', ner='ORG', idx=(0, 5))\n   NerToken(word='今天', ner='LOC', idx=(7, 9))\n   NerToken(word='布什', ner='PERSON', idx=(11, 13))\n   NerToken(word='勞工部長', ner='ORG', idx=(17, 21))\n   NerToken(word='趙小蘭', ner='PERSON', idx=(21, 24))\n   NerToken(word='認可聽證會', ner='EVENT', idx=(26, 31))\n   NerToken(word='參議院', ner='ORG', idx=(42, 45))\n   NerToken(word='第一', ner='ORDINAL', idx=(56, 58))\n   NerToken(word='華裔', ner='NORP', idx=(60, 62))\n\n   空白 也是可以的～\n   空白(VH)　 (WHITESPACE)　也(D)　是(SHI)　可以(VH)　的(T)　～(FW)\n\nNLP Tools Performance\n^^^^^^^^^^^^^^^^^^^^^\n\n| The following is a performance comparison between our tool and other tools.\n| 以下是我們的工具與其他的工具之性能比較。\n\nCKIP Transformers v.s. Monpa & Jeiba\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n========================  ===========  =============  ===============  ============\nTool                        WS (F1)      POS (Acc)      WS+POS (F1)      NER (F1)\n========================  ===========  =============  ===============  ============\nCKIP BERT Base            **97.60%**   **95.67%**     **94.19%**       **81.18%**\nCKIP ALBERT Base            97.33%       95.30%         93.52%           79.47%\nCKIP BERT Tiny              96.98%       95.08%         93.13%           74.20%\nCKIP ALBERT Tiny            96.66%       94.48%         92.25%           71.17%\n------------------------  -----------  -------------  ---------------  ------------\n\n------------------------  -----------  -------------  ---------------  ------------\nMonpa†                      92.58%       --             83.88%           --\nJeiba                       81.18%       --             --               --\n========================  ===========  =============  ===============  ============\n\n| † Monpa provides only 3 types of tags in NER.\n| † Monpa 的實體辨識僅提供三種標記而已。\n\nCKIP Transformers v.s. CkipTagger\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| The following results are tested on a different dataset.†\n| 以下實驗在另一個資料集測試。†\n\n========================  ===========  =============  ===============  ============\nTool                        WS (F1)      POS (Acc)      WS+POS (F1)      NER (F1)\n========================  ===========  =============  ===============  ============\nCKIP BERT Base            **97.84%**     96.46%       **94.91%**       **79.20%**\nCkipTagger                  97.33%     **97.20%**       94.75%           77.87%\n========================  ===========  =============  ===============  ============\n\n| † Here we retrained\u002Ftested our BERT model using the same dataset with CkipTagger.\n| † 我們重新訓練／測試我們的 BERT 模型於跟 CkipTagger 相同的資料集。\n\nLicense\n-------\n\n|GPL-3.0|\n\nCopyright (c) 2023 `CKIP Lab \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__ under the `GPL-3.0 License \u003Chttps:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html>`__.\n\n.. |GPL-3.0| image:: https:\u002F\u002Fwww.gnu.org\u002Fgraphics\u002Fgplv3-with-text-136x68.png\n   :target: https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html\n","CKIP Transformers\n-----------------\n\n| 本项目提供了繁体中文的 transformers 模型（包括 ALBERT、BERT、GPT2）及自然语言处理工具（包括分词、词性标注、命名实体识别）。\n| 这个项目提供了繁体中文的 transformers 模型（包含 ALBERT、BERT、GPT2）及自然语言处理工具（包含断词、詞性標記、實體辨識）。\n\nGit\n^^^\n\n| https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\n| |GitHub版本| |GitHub许可证| |GitHub发布| |GitHub问题|\n\n.. |GitHub版本| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Freleases\n\n.. |GitHub许可证| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002FLICENSE\n\n.. |GitHub发布| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease-date\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |GitHub下载| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fckiplab\u002Fckip-transformers\u002Ftotal.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Freleases\u002Flatest\n\n.. |GitHub问题| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fckiplab\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\n\n.. |GitHub分支| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Fork&cacheSeconds=3600\n\n.. |GitHub星标| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Star&cacheSeconds=3600\n\n.. |GitHub关注| image:: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fwatchers\u002Fckiplab\u002Fckip-transformers.svg?style=social&label=Watch&cacheSeconds=3600\n\nPyPI\n^^^^\n\n| https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers\n| |PyPI版本| |PyPI许可证| |PyPI下载| |PyPI Python| |PyPI实现| |PyPI格式| |PyPI状态|\n\n.. |PyPI版本| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers\n\n.. |PyPI许可证| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002FLICENSE\n\n.. |PyPI下载| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fckip-transformers.svg?cacheSeconds=3600\n   :target: https:\u002F\u002Fpypi.org\u002Fproject\u002Fckip-transformers#files\n\n.. |PyPI Python| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI实现| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fimplementation\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI格式| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fformat\u002Fckip-transformers.svg?cacheSeconds=3600\n\n.. |PyPI状态| image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fstatus\u002Fckip-transformers.svg?cacheSeconds=3600\n\n文档\n^^^^^^^^^^^^^\n\n| https:\u002F\u002Fckip-transformers.readthedocs.io\n| |ReadTheDocs首页|\n\n.. |ReadTheDocs首页| image:: https:\u002F\u002Fimg.shields.io\u002Fwebsite\u002Fhttps\u002Fckip-transformers.readthedocs.io.svg?cacheSeconds=3600&up_message=online&down_message=offline\n   :target: https:\u002F\u002Fckip-transformers.readthedocs.io\n\n演示\n^^^^\n\n| https:\u002F\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers\n| |Transformers演示|\n\n.. |Transformers演示| image:: https:\u002F\u002Fimg.shields.io\u002Fwebsite\u002Fhttps\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers.svg?cacheSeconds=3600&up_message=online&down_message=offline\n   :target: https:\u002F\u002Fckip.iis.sinica.edu.tw\u002Fservice\u002Ftransformers\n\n贡献者\n^^^^^^^^^^^^\n\n* `Mu Yang \u003Chttps:\u002F\u002Fmuyang.pro>`__ 在 `CKIP \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__（作者与维护者）。\n* `Wei-Yun Ma \u003Chttps:\u002F\u002Fwww.iis.sinica.edu.tw\u002Fpages\u002Fma\u002F>`__ 在 `CKIP \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__（维护者）。\n\n相关包\n^^^^^^^^^^^^\n\n- `CkipTagger \u003Chttps:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckiptagger>`_: 使用 BiLSTM 的另一种中文 NLP 库。\n- `CKIP CoreNLP 工具包 \u003Chttps:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckipnlp>`_: 包含更多 NLP 任务和实用工具的中文 NLP 库。\n\n模型\n------\n\n| 您也可以直接使用 HuggingFace transformers 库中的我们预训练模型：https:\u002F\u002Fhuggingface.co\u002Fckiplab\u002F。\n| 您可於 https:\u002F\u002Fhuggingface.co\u002Fckiplab\u002F 下載預訓練的模型。\n\n- 语言模型\n   * `ALBERT Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese>`_: ``ckiplab\u002Falbert-tiny-chinese``\n   * `ALBERT Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese>`_: ``ckiplab\u002Falbert-base-chinese``\n   * `BERT Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese>`_: ``ckiplab\u002Fbert-tiny-chinese``\n   * `BERT Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese>`_: ``ckiplab\u002Fbert-base-chinese``\n   * `GPT2 Tiny \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fgpt2-tiny-chinese>`_: ``ckiplab\u002Fgpt2-tiny-chinese``\n   * `GPT2 Base \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fgpt2-base-chinese>`_: ``ckiplab\u002Fgpt2-base-chinese``\n\n- NLP 任务模型\n   * `ALBERT Tiny — 分词 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-ws>`_: ``ckiplab\u002Falbert-tiny-chinese-ws``\n   * `ALBERT Tiny — 词性标注 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-pos>`_: ``ckiplab\u002Falbert-tiny-chinese-pos``\n   * `ALBERT Tiny — 命名实体识别 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-tiny-chinese-ner>`_: ``ckiplab\u002Falbert-tiny-chinese-ner``\n   * `ALBERT Base — 分词 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-ws>`_: ``ckiplab\u002Falbert-base-chinese-ws``\n   * `ALBERT Base — 词性标注 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-pos>`_: ``ckiplab\u002Falbert-base-chinese-pos``\n   * `ALBERT Base — 命名实体识别 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Falbert-base-chinese-ner>`_: ``ckiplab\u002Falbert-base-chinese-ner``\n   * `BERT Tiny — 分词 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-ws>`_: ``ckiplab\u002Fbert-tiny-chinese-ws``\n   * `BERT Tiny — 词性标注 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-pos>`_: ``ckiplab\u002Fbert-tiny-chinese-pos``\n   * `BERT Tiny — 命名实体识别 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-tiny-chinese-ner>`_: ``ckiplab\u002Fbert-tiny-chinese-ner``\n   * `BERT Base — 分词 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-ws>`_: ``ckiplab\u002Fbert-base-chinese-ws``\n   * `BERT Base — 词性标注 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-pos>`_: ``ckiplab\u002Fbert-base-chinese-pos``\n   * `BERT Base — 命名实体识别 \u003Chttps:\u002F\u002Fhuggingface.co\u002Fckiplab\u002Fbert-base-chinese-ner>`_: ``ckiplab\u002Fbert-base-chinese-ner``\n\n模型使用\n^^^^^^^^^^^\n\n| 您可以使用 HuggingFace's transformers 库直接使用我们的模型。\n| 您可直接透過 HuggingFace's transformers 套件使用我們的模型。\n\n.. code-block:: bash\n\n   pip install -U transformers\n\n| 请使用 BertTokenizerFast 作为分词器，并将以下示例中的 ``ckiplab\u002Falbert-tiny-chinese`` 和 ``ckiplab\u002Falbert-tiny-chinese-ws`` 替换为您需要的任何模型名称。\n| 請使用內建的 BertTokenizerFast，並將以下範例中的 ``ckiplab\u002Falbert-tiny-chinese`` 與 ``ckiplab\u002Falbert-tiny-chinese-ws`` 替換成任何您要使用的模型名稱。\n\n.. code-block:: python\n\nfrom transformers import (\n      BertTokenizerFast,\n      AutoModelForMaskedLM,\n      AutoModelForCausalLM,\n      AutoModelForTokenClassification,\n   )\n\n   # 掩码语言模型（ALBERT、BERT）\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForMaskedLM.from_pretrained('ckiplab\u002Falbert-tiny-chinese') # 或其他上述模型\n\n   # 回顾性语言模型（GPT2）\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForCausalLM.from_pretrained('ckiplab\u002Fgpt2-base-chinese') # 或其他上述模型\n\n   # NLP任务模型\n   tokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n   model = AutoModelForTokenClassification.from_pretrained('ckiplab\u002Falbert-tiny-chinese-ws') # 或其他上述模型\n\n模型微调\n^^^^^^^^^^^^^^^^^^\n\n| 要在您自己的数据集上对我们的模型进行微调，请参考HuggingFace的transformers库中的以下示例。\n| 您可參考以下的範例去微調我們的模型於您自己的資料集。\n\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpytorch\u002Flanguage-modeling\n- https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpytorch\u002Ftoken-classification\n\n| 请记得设置 ``--tokenizer_name bert-base-chinese``，以便使用中文分词器。\n| 記得設置 ``--tokenizer_name bert-base-chinese`` 以正確的使用中文的 tokenizer。\n\n.. code-block:: bash\n\n   python run_mlm.py \\\n      --model_name_or_path ckiplab\u002Falbert-tiny-chinese \\ # 或其他上述模型\n      --tokenizer_name bert-base-chinese \\\n      ...\n\n   python run_ner.py \\\n      --model_name_or_path ckiplab\u002Falbert-tiny-chinese-ws \\ # 或其他上述模型\n      --tokenizer_name bert-base-chinese \\\n      ...\n\n模型性能\n^^^^^^^^^^^^^^^^^\n\n| 以下是我们的模型与其他模型之间的性能比较。\n| 测试结果基于繁体中文语料库。\n| 以下是我們的模型與其他的模型之性能比較。\n| 各個任務皆測試於繁體中文的測試集。\n\n================================  ===========  ===========  ========  ==========  =========\n模型                             #参数  混淆度†  分词(F1)‡  词性标注(ACC)‡  实体识别(F1)‡\n================================  ===========  ===========  ========  ==========  =========\nckiplab\u002Falbert-tiny-chinese         4M          4.80        96.66%    94.48%      71.17%\nckiplab\u002Falbert-base-chinese        11M          2.65        97.33%    95.30%      79.47%\nckiplab\u002Fbert-tiny-chinese          12M          8.07        96.98%    95.11%      74.21%\nckiplab\u002Fbert-base-chinese         102M          1.88        97.60%    95.67%      81.18%\nckiplab\u002Fgpt2-tiny-chinese           4M         16.94        --        --          --\nckiplab\u002Fgpt2-base-chinese         102M          8.36        --        --          --\n--------------------------------  -----------  -----------  --------  ----------  ---------\n\n--------------------------------  -----------  -----------  --------  ----------  ---------\nvoidful\u002Falbert_chinese_tiny         4M         74.93        --        --          --\nvoidful\u002Falbert_chinese_base        11M         22.34        --        --          --\nbert-base-chinese                 102M          2.53        --        --          --\n================================  ===========  ===========  ========  ==========  =========\n\n| † 混淆度；数值越小越好。\n| † 混淆度；數字越小越好。\n| ‡ 分词：WS；词性标注：POS；实体识别：NER；数值越大越好。\n| ‡ WS: 斷詞；POS: 詞性標記；NER: 實體辨識；數字越大越好。\n\n训练语料\n^^^^^^^^^^^^^^^\n\n| 语言模型是在ZhWiki和CNA数据集上训练的；分词和词性标注任务是在ASBC数据集上训练的；实体识别任务是在OntoNotes数据集上训练的。\n| 以上的語言模型訓練於 ZhWiki 與 CNA 資料集上；斷詞（WS）與詞性標記（POS）任務模型訓練於 ASBC 資料集上；實體辨識（NER）任務模型訓練於 OntoNotes 資料集上。\n\n* ZhWiki: https:\u002F\u002Fdumps.wikimedia.org\u002Fzhwiki\u002F\n   | 中文维基百科文本（20200801版本），利用`OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_翻译成繁体中文。\n   | 中文維基的文章（20200801 版本），利用 `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_ 翻譯成繁體中文。\n* CNA: https:\u002F\u002Fcatalog.ldc.upenn.edu\u002FLDC2011T13\n   | 中文Gigaword第五版——CNA（中央社）部分。\n   | 中文 Gigaword 第五版 — CNA（中央社）的部分。\n* ASBC: http:\u002F\u002Fasbc.iis.sinica.edu.tw\n   | 中央研究院汉语平衡语料库第四版。\n   | 中央研究院漢語平衡語料庫第四版。\n* OntoNotes: https:\u002F\u002Fcatalog.ldc.upenn.edu\u002FLDC2013T19\n   | OntoNotes第五版，中文部分，利用`OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_翻译成繁体中文。\n   | OntoNotes 第五版，中文部分，利用 `OpenCC \u003Chttps:\u002F\u002Fgithub.com\u002FBYVoid\u002FOpenCC>`_ 翻譯成繁體中文。\n\n| 以下是各数据集的概要。\n| 以下是各個資料集的一覽表。\n\n================  ================  ================  ================  ================\n数据集           #文档        #行            #字符       行类型\n================  ================  ================  ================  ================\nCNA               2,559,520         13,532,445        1,219,029,974     段落\nZhWiki            1,106,783         5,918,975         495,446,829       段落\nASBC              19,247            1,395,949         17,572,374        句子\nOntoNotes         1,911             48,067            1,568,491         句子\n================  ================  ================  ================  ================\n\n| 以下是用于语言模型的数据集划分。\n| 以下是用於訓練語言模型的資料集切割。\n\n================  ================  ================  ================\nCNA+ZhWiki        #文档        #行            #字符\n================  ================  ================  ================\n训练             3,606,303         18,986,238        4,347,517,682\n开发               30,000            148,077           32,888,978\n测试               30,000            151,241           35,216,818\n================  ================  ================  ================\n\n| 以下是用于分词和词性标注模型的数据集划分。\n| 以下是用於訓練斷詞及詞性標記模型的資料集切割。\n\n================  ================  ================  ================  ================\nASBC              #文档        #行            #词            #字符\n================  ================  ================  ================  ================\n训练             15,247            1,183,260         9,480,899         14,724,250\n开发               2,000             52,677            448,964           741,323\n测试               2,000             160,012           1,315,129         2,106,799\n================  ================  ================  ================  ================\n\n\n| 以下是用于实体识别模型的数据集划分。\n| 以下是用於訓練實體辨識模型的資料集切割。\n\n================  ================  ================  ================  ================\nOntoNotes         #文档        #行            #字符       #命名实体\n================  ================  ================  ================  ================\n训练集             1,511             43,362            1,367,658         68,947\n开发集               200               2,304             93,535            7,186\n测试集               200               2,401             107,298           6,977\n================  ================  ================  ================  ================\n\n自然语言处理工具\n---------\n\n| 该软件包还提供了以下自然语言处理工具。\n| 我们的套件也提供了以下的自然语言处理工具。\n\n* (WS) 分词 断词\n* (POS) 词性标注 詞性標記\n* (NER) 命名实体识别 实體辨識\n\n安装\n^^^^^^^^^^^^\n\n``pip install -U ckip-transformers``\n\n要求：\n\n* `Python \u003Chttps:\u002F\u002Fwww.python.org>`__ 3.6及以上版本\n* `PyTorch \u003Chttps:\u002F\u002Fpytorch.org>`__ 1.5及以上版本\n* `HuggingFace Transformers \u003Chttps:\u002F\u002Fhuggingface.co\u002Ftransformers\u002F>`__ 3.5及以上版本\n\n自然语言处理工具使用方法\n^^^^^^^^^^^^^^^\n\n| API详情请参见 `这里 \u003C..\u002F_api\u002Fckip_transformers.html>`_。\n| 詳細的 API 請參見 `此處 \u003C..\u002F_api\u002Fckip_transformers.html>`_ 。\n\n| 本示例的完整脚本可在 https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002Fexample\u002Fexample.py 找到。\n| 以下的範例的完整檔案可參見 https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fblob\u002Fmaster\u002Fexample\u002Fexample.py 。\n\n1. 导入模块\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n.. code-block:: python\n\n   from ckip_transformers.nlp import CkipWordSegmenter, CkipPosTagger, CkipNerChunker\n\n2. 加载模型\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| 我们为这些自然语言处理工具提供了几种预训练模型。\n| 我們提供了一些適用於自然語言工具的預訓練的模型。\n\n.. code-block:: python\n\n   # 初始化驱动程序\n   ws_driver  = CkipWordSegmenter(model=\"bert-base\")\n   pos_driver = CkipPosTagger(model=\"bert-base\")\n   ner_driver = CkipNerChunker(model=\"bert-base\")\n\n| 用户也可以使用我们的驱动程序加载自己训练的检查点。\n| 也可以運用我們的工具於自己訓練的模型上。\n\n.. code-block:: python\n\n   # 使用自定义检查点初始化驱动程序\n   ws_driver  = CkipWordSegmenter(model_name=\"path_to_your_model\")\n   pos_driver = CkipPosTagger(model_name=\"path_to_your_model\")\n   ner_driver = CkipNerChunker(model_name=\"path_to_your_model\")\n\n| 若要使用GPU，可以在初始化驱动程序时指定设备ID。设置为-1（默认值）则不使用GPU。\n| 可於宣告斷詞等工具時指定 device 以使用 GPU，設為 -1 （預設值）代表不使用 GPU。\n\n.. code-block:: python\n\n   # 使用CPU\n   ws_driver = CkipWordSegmenter(device=-1)\n\n   # 使用GPU:0\n   ws_driver = CkipWordSegmenter(device=0)\n\n3. 运行流程\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| 分词和命名实体识别的输入必须是句子列表。\n| 词性标注的输入必须是单词列表的列表（即分词的结果）。\n| 断词与实体识别的输入必须是 list of sentences。\n| 词性标记的输入必须是 list of list of words。\n\n.. code-block:: python\n\n   # 输入文本\n   text = [\n      \"傅达仁今将执行安乐死，却突然爆出自己20年前遭纬来体育台封杀，他不懂自己哪里得罪到电视台。\",\n      \"美国参议院针对今天总统布什所提名的劳工部长赵小兰展开认可听证会，预料她将会很顺利通过参议院支持，成为该国有史以来第一位的华裔女性内阁成员。\",\n      \"空白 也是可以的～\",\n   ]\n\n   # 运行流程\n   ws  = ws_driver(text)\n   pos = pos_driver(ws)\n   ner = ner_driver(text)\n\n| 词性标注工具会在运行模型时自动使用 ``'，,。：:；;！!？?'`` 等字符在内部对句子进行分割。（输出的句子会被重新连接起来。）您可以设置 ``delim_set`` 参数来使用其他字符进行分割。\n| 您也可以设置 ``use_delim=False`` 来关闭此功能，或者在分词和实体识别工具中设置 ``use_delim=True`` 来启用此功能。\n| 詞性標記工具會自動用 ``'，,。：:；;！!？?'`` 等字元在執行模型前切割句子（輸出的句子會自動接回）。可設定 ``delim_set`` 參數使用別的字元做切割。\n| 另外可指定 ``use_delim=False`` 已停用此功能，或於斷詞、實體辨識時指定 ``use_delim=True`` 已啟用此功能。\n\n.. code-block:: python\n\n   # 启用句子分割\n   ws  = ws_driver(text, use_delim=True)\n   ner = ner_driver(text, use_delim=True)\n\n   # 禁用句子分割\n   pos = pos_driver(ws, use_delim=False)\n\n   # 使用换行符和制表符进行句子分割\n   pos = pos_driver(ws, delim_set='\\n\\t')\n\n| 您还可以设置 ``batch_size`` 和 ``max_length`` 来更好地利用您的机器资源。\n| 您亦可設置 ``batch_size`` 與 ``max_length`` 以更完美的利用您的機器資源。\n\n.. code-block:: python\n\n   # 设置批次大小和最大句子长度\n   ws = ws_driver(text, batch_size=256, max_length=128)\n\n4. 显示结果\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n.. code-block:: python\n\n   # 将分词和词性标注结果打包成句子\n   def pack_ws_pos_sentece(sentence_ws, sentence_pos):\n      assert len(sentence_ws) == len(sentence_pos)\n      res = []\n      for word_ws, word_pos in zip(sentence_ws, sentence_pos):\n         res.append(f\"{word_ws}({word_pos})\")\n      return \"\\u3000\".join(res)\n\n   # 显示结果\n   for sentence, sentence_ws, sentence_pos, sentence_ner in zip(text, ws, pos, ner):\n      print(sentence)\n      print(pack_ws_pos_sentece(sentence_ws, sentence_pos))\n      for entity in sentence_ner:\n         print(entity)\n      print()\n\n.. code-block:: text\n\n   傅达仁今将执行安乐死，却突然爆出自己20年前遭纬来体育台封杀，他不懂自己哪里得罪到电视台。\n   傅达仁(Nb)　今(Nd)　将(D)　执行(VC)　安乐死(Na)　，(COMMACATEGORY)　却(D)　突然(D)　爆出(VJ)　自己(Nh)　20(Neu)　年(Nd)　前(Ng)　遭(P)　纬来(Nb)　体育台(Na)　封杀(VC)　，(COMMACATEGORY)　他(Nh)　不(D)　懂(VK)　自己(Nh)　哪里(Ncd)　得罪到(VC)　电视台(Nc)　。(PERIODCATEGORY)\n   NerToken(word='傅达仁', ner='PERSON', idx=(0, 3))\n   NerToken(word='20年', ner='DATE', idx=(18, 21))\n   NerToken(word='纬来体育台', ner='ORG', idx=(23, 28))\n\n   美国参议院针对今天总统布什所提名的劳工部长赵小兰展开认可听证会，预料她将会很顺利通过参议院支持，成为该国有史以来第一位的华裔女性内阁成员。\n   美国(Nc)　参议院(Nc)　针对(P)　今天(Nd)　总统(Na)　布什(Nb)　所(D)　提名(VC)　的(DE)　劳工部长(Na)　赵小兰(Nb)　展开(VC)　认可(VC)　听证会(Na)　，(COMMACATEGORY)　预料(VE)　她(Nh)　将(D)　会(D)　很(Dfa)　顺利(VH)　通过(VC)　参议院(Nc)　支持(VC)　，(COMMACATEGORY)　成为(VG)　该(Nes)　国(Nc)　有史以来(D)　第一(Neu)　位(Nf)　的(DE)　华裔(Na)　女性(Na)　内阁(Na)　成员(Na)　。(PERIODCATEGORY)\n   NerToken(word='美国参议院', ner='ORG', idx=(0, 5))\n   NerToken(word='今天', ner='LOC', idx=(7, 9))\n   NerToken(word='布什', ner='PERSON', idx=(11, 13))\n   NerToken(word='劳工部长', ner='ORG', idx=(17, 21))\n   NerToken(word='赵小兰', ner='PERSON', idx=(21, 24))\n   NerToken(word='认可听证会', ner='EVENT', idx=(26, 31))\n   NerToken(word='参议院', ner='ORG', idx=(42, 45))\n   NerToken(word='第一', ner='ORDINAL', idx=(56, 58))\n   NerToken(word='华裔', ner='NORP', idx=(60, 62))\n\n   空白 也是可以的～\n   空白(VH)　 (WHITESPACE)　也(D)　是(SHI)　可以(VH)　的(T)　～(FW)\n\n自然语言处理工具性能\n^^^^^^^^^^^^^^^^^^^^^\n\n| 以下是我们的工具与其他工具之间的性能比较。\n| 以下是我們的工具與其他的工具之性能比較。\n\nCKIP Transformers 与 Monpa & Jeiba 的比较\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n========================  ===========  =============  ===============  ============\n工具                        分詞 (F1)      詞性标注 (準確率)      分詞+詞性标注 (F1)      命名实体识别 (F1)\n========================  ===========  =============  ===============  ============\nCKIP BERT Base            **97.60%**   **95.67%**     **94.19%**       **81.18%**\nCKIP ALBERT Base            97.33%       95.30%         93.52%           79.47%\nCKIP BERT Tiny              96.98%       95.08%         93.13%           74.20%\nCKIP ALBERT Tiny            96.66%       94.48%         92.25%           71.17%\n------------------------  -----------  -------------  ---------------  ------------\n\n------------------------  -----------  -------------  ---------------  ------------\nMonpa†                      92.58%       --             83.88%           --\nJeiba                       81.18%       --             --               --\n========================  ===========  =============  ===============  ============\n\n| † Monpa 在命名实体识别中仅提供三种类型的标签。\n| † Monpa 的實體辨識僅提供三種標記而已。\n\nCKIP Transformers 与 CkipTagger 对比\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\n| 以下结果是在另一组数据集上测试得到的。†\n| 以下實驗在另一個資料集測試。†\n\n========================  ===========  =============  ===============  ============\n工具                        分詞 (F1)      詞性标注 (準確率)      分詞+詞性标注 (F1)      命名实体识别 (F1)\n========================  ===========  =============  ===============  ============\nCKIP BERT Base            **97.84%**     96.46%       **94.91%**       **79.20%**\nCkipTagger                  97.33%     **97.20%**       94.75%           77.87%\n========================  ===========  =============  ===============  ============\n\n| † 在此，我们使用与 CkipTagger 相同的数据集重新训练并测试了我们的 BERT 模型。\n| † 我們重新訓練／測試我們的 BERT 模型於跟 CkipTagger 相同的資料集。\n\n許可證\n-------\n\n|GPL-3.0|\n\n版權所有 © 2023 `CKIP 實驗室 \u003Chttps:\u002F\u002Fckip.iis.sinica.edu.tw>`__，根據 `GPL-3.0 許可證 \u003Chttps:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html>`__ 授予。\n\n.. |GPL-3.0| image:: https:\u002F\u002Fwww.gnu.org\u002Fgraphics\u002Fgplv3-with-text-136x68.png\n   :target: https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.html","# ckip-transformers 快速上手指南\n\n`ckip-transformers` 是由台湾中央研究院（CKIP）推出的开源项目，提供专为**繁体中文**优化的 Transformers 模型（包括 ALBERT、BERT、GPT2）及自然语言处理工具（断词、词性标记、实体辨识）。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：3.6 及以上\n*   **前置依赖**：\n    *   `transformers` (Hugging Face)\n    *   `torch` (PyTorch)\n    *   `sentencepiece`\n\n建议先安装 PyTorch（根据官方指引选择适合您 CUDA 版本的命令），然后安装核心依赖：\n\n```bash\npip install -U transformers sentencepiece\n```\n\n> **注意**：本项目提供的模型主要针对**繁体中文**语料训练。若需处理简体中文，建议先使用 OpenCC 等工具进行转换，或评估模型在简体场景下的表现。\n\n## 2. 安装步骤\n\n您可以通过 PyPI 直接安装 `ckip-transformers` 包，或者直接通过 Hugging Face `transformers` 库调用模型（推荐方式，无需额外安装特定包）。\n\n### 方式一：直接使用 Hugging Face Transformers（推荐）\n\n由于模型已托管在 Hugging Face Hub，您只需确保安装了最新的 `transformers` 库即可直接使用，无需安装额外的 `ckip-transformers` Python 包。\n\n```bash\npip install -U transformers\n```\n\n### 方式二：安装完整包（可选）\n\n如果您需要使用该项目封装的特定高级工具类，可安装完整包：\n\n```bash\npip install ckip-transformers\n```\n\n## 3. 基本使用\n\n本项目模型可直接通过 Hugging Face `transformers` 接口加载。使用时请注意：**分词器（Tokenizer）建议统一使用 `bert-base-chinese`**，而模型路径则替换为您需要的具体模型（如 `ckiplab\u002Falbert-tiny-chinese` 等）。\n\n以下是三种常见任务的极简示例：\n\n### 3.1 掩码语言模型 (Masked LM)\n适用于 ALBERT 和 BERT 系列，用于完形填空或特征提取。\n\n```python\nfrom transformers import BertTokenizerFast, AutoModelForMaskedLM\n\n# 加载中文分词器\ntokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n# 加载预训练模型 (此处以 ALBERT Tiny 为例，可替换为其他模型)\nmodel = AutoModelForMaskedLM.from_pretrained('ckiplab\u002Falbert-tiny-chinese')\n\ninput_text = \"今天天氣真 [MASK] 。\"\ninputs = tokenizer(input_text, return_tensors=\"pt\")\noutputs = model(**inputs)\n```\n\n### 3.2 因果语言模型 (Causal LM)\n适用于 GPT2 系列，用于文本生成。\n\n```python\nfrom transformers import BertTokenizerFast, AutoModelForCausalLM\n\ntokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\nmodel = AutoModelForCausalLM.from_pretrained('ckiplab\u002Fgpt2-base-chinese')\n\ninput_text = \"人工智慧是\"\ninputs = tokenizer(input_text, return_tensors=\"pt\")\noutputs = model.generate(**inputs, max_length=50)\nprint(tokenizer.decode(outputs[0], skip_special_tokens=True))\n```\n\n### 3.3 NLP 下游任务 (断词\u002F词性\u002F实体识别)\n适用于经过微调的任务模型（后缀通常为 `-ws`, `-pos`, `-ner`）。\n\n```python\nfrom transformers import BertTokenizerFast, AutoModelForTokenClassification\n\ntokenizer = BertTokenizerFast.from_pretrained('bert-base-chinese')\n# 加载断词模型 (Word Segmentation)\nmodel = AutoModelForTokenClassification.from_pretrained('ckiplab\u002Falbert-tiny-chinese-ws')\n\ntext = \"中央研究院位於台灣台北\"\ninputs = tokenizer(text, return_tensors=\"pt\", is_split_into_words=False)\noutputs = model(**inputs)\n\n# 获取预测结果逻辑需结合 tokenizer 解码与 logits 处理\npredictions = outputs.logits.argmax(dim=-1)\n```\n\n### 可用模型列表速查\n\n您可以在代码中将 `from_pretrained` 的参数替换为以下任意模型 ID：\n\n| 类型 | 模型 ID 示例 | 说明 |\n| :--- | :--- | :--- |\n| **基础语言模型** | `ckiplab\u002Falbert-tiny-chinese` | ALBERT Tiny (4M 参数) |\n| | `ckiplab\u002Fbert-base-chinese` | BERT Base (102M 参数) |\n| | `ckiplab\u002Fgpt2-base-chinese` | GPT2 Base |\n| **断词 (WS)** | `ckiplab\u002Falbert-base-chinese-ws` | ALBERT Base 断词模型 |\n| **词性标注 (POS)** | `ckiplab\u002Fbert-tiny-chinese-pos` | BERT Tiny 词性模型 |\n| **实体识别 (NER)** | `ckiplab\u002Falbert-base-chinese-ner` | ALBERT Base 实体识别模型 |\n\n更多模型请访问：https:\u002F\u002Fhuggingface.co\u002Fckiplab\u002F","某台湾电商平台的客服团队需要自动分析每日数千条繁体中文用户评论，以提取产品缺陷和情感倾向。\n\n### 没有 ckip-transformers 时\n- 通用分词工具对繁体中文支持不佳，常将“筆記型電腦”错误切分为“筆記\u002F型\u002F電腦”，导致后续关键词统计完全失真。\n- 缺乏针对繁体语境优化的实体识别模型，无法准确从评论中剥离出具体的品牌名（如\"ASUS\"）或型号，只能依靠规则匹配，漏报率极高。\n- 词性标注准确率低下，难以区分形容词与副词在繁体语境下的细微差别，致使情感分析算法频繁误判用户语气。\n- 团队需耗费大量人力手动清洗数据并训练自定义模型，项目上线周期被拖延数周，且维护成本高昂。\n\n### 使用 ckip-transformers 后\n- 直接调用内置的繁体中文 BERT\u002FALBERT 模型，精准完成断词任务，确保“筆記型電腦”等专有名词被完整识别，基础数据质量显著提升。\n- 利用开箱即用的命名实体识别功能，自动且准确地从非结构化文本中提取出产品型号与品牌，无需额外训练即可适应电商领域术语。\n- 借助高精度的词性标记辅助情感计算，系统能敏锐捕捉繁体用语中的反讽或强调语气，将情感分析准确率提升至可用水平。\n- 通过简单的 API 调用即可集成全套 NLP 流程，开发时间从数周缩短至数天，团队得以快速迭代分析策略。\n\nckip-transformers 通过提供专为繁体中文打造的预训练模型，彻底解决了传统工具在繁语处理上的水土不服，让非结构化文本分析变得高效且精准。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fckiplab_ckip-transformers_bea6d4a2.png","ckiplab","CKIP Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fckiplab_6af689dd.png","",null,"https:\u002F\u002Fckip.iis.sinica.edu.tw","https:\u002F\u002Fgithub.com\u002Fckiplab",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",96.3,{"name":85,"color":86,"percentage":87},"Makefile","#427819",3.7,767,81,"2026-04-04T02:50:16","GPL-3.0","未说明",{"notes":94,"python":92,"dependencies":95},"README 中未明确列出具体的操作系统、GPU、内存及 Python 版本要求。该工具主要依赖 Hugging Face transformers 库，使用时需安装该库（pip install -U transformers）。模型支持 ALBERT、BERT 和 GPT2 架构，针对繁体中文优化。微调时需指定使用 bert-base-chinese 作为 tokenizer。",[96],"transformers",[98,35,15],"音频",[100,96,101,102,103,104],"ckip","language-model","word-segmentation","part-of-speech-tagging","named-entity-recognition","2026-03-27T02:49:30.150509","2026-04-08T19:21:08.492128",[108,113,118,123,128,133],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},24935,"为什么同一句话生成的嵌入向量（embedding）每次都不一样？","这是预期行为。虽然固定了随机种子使得池化层（pooler layer）的初始化权重保持一致，但这些权重仍然是**未训练**的。您需要针对下游任务对这些权重进行训练，才能获得稳定且有效的嵌入表示。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F13",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},24936,"如何使用自己微调（fine-tune）后的模型进行推理？","直接使用本地路径（如 `.\u002Ftmp\u002Ftf_model.h5`）初始化驱动类可能会报错，因为内部逻辑可能无法识别非预设名称的模型文件。建议将微调后的模型上传至 Hugging Face Hub，或者确保模型目录结构包含正确的 `config.json` 且格式符合预期。此外，需注意微调数据的标签格式必须与目标驱动类（如 CkipNerChunker）预期的格式（如 BIOES）完全一致，否则会导致加载或推理错误。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F22",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},24937,"微调断词（WS）、词性标注（POS）或命名实体识别（NER）模型时，训练数据的标签格式有什么要求？可以使用自定义标签吗？","标签格式取决于具体任务：\n1. **断词模型 (ws)**：仅使用 'B' 和 'I' 两种标记，不包含 'O'（非实体部分通常在预处理中被移除或不参与损失计算）。\n2. **NER 模型**：支持标准的 BIOES 格式，也可以自定义标签类型，例如 'B-PRODUCT', 'I-PRODUCT' 等。请查看对应预训练模型的 `config.json` 中的 `id2label` 字段以确认支持的标签集合，并确保您的训练数据标签与之匹配或重新定义配置。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F26",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},24938,"设置 device=-1 强制使用 CPU，但模型仍然占用 GPU 资源怎么办？","这是一个已知问题，通常由 PyTorch 的 `DataLoader` 中启用了 `pin_memory=True` 导致，即使设备设为 CPU，张量仍可能被锁定在 GPU 上。\n解决方案：在调用驱动类进行推理时，显式设置 `pin_memory=False`。例如：\n`results = driver(text_list, pin_memory=False)`。\n该问题已在 v0.3.3 版本中修复，建议升级库版本。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F23",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},24939,"加载模型时出现 \"Unable to load weights from pytorch checkpoint file\" 或提示需要从 TF 2.0 checkpoint 加载的错误，如何解决？","这通常是因为本地缓存的模型文件损坏或不完整导致的。请尝试删除 Hugging Face 的缓存目录（通常位于 `~\u002F.cache\u002Fhuggingface\u002Ftransformers`），然后重新运行代码以自动重新下载完整的模型文件。不要手动修改源码添加 `from_tf=True`，除非您确定该模型确实是 TensorFlow 格式且官方未提供 PyTorch 版本。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F8",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},24940,"是否有英文版的 ALBERT-tiny 模型可用于意图识别和实体分类？如果没有，如何从头训练？","该仓库主要提供中文模型（如 `ckiplab\u002Falbert-tiny-chinese`）。若要获取或训练英文版 ALBERT-tiny：\n1. 可以参考中文模型的 `config.json` 结构创建新的配置文件。\n2. 由于 ALBERT 原生不支持中文分词，中文模型借用了 `bert-base-chinese` 的分词器；对于英文，您可以直接使用 ALBERT 官方提供的分词器。\n3. 使用 HuggingFace Transformers 的旧版语言模型训练脚本（legacy LM training script）从头开始训练。","https:\u002F\u002Fgithub.com\u002Fckiplab\u002Fckip-transformers\u002Fissues\u002F6",[139,144,149,154,159,164,169,174,179,184,189,194,199,204,209],{"id":140,"version":141,"summary_zh":142,"released_at":143},154391,"0.3.4","- [文档] 添加 GPT2 Tiny","2023-04-09T13:03:56",{"id":145,"version":146,"summary_zh":147,"released_at":148},154392,"0.3.3","- 在 CPU 设备上禁用引脚缓存 [#23]\n- [文档] 添加标签表。","2023-04-09T05:43:24",{"id":150,"version":151,"summary_zh":152,"released_at":153},154393,"0.3.2","- 允许传递 `torch.device` 实例 [#20]（感谢 @pan93412）","2022-08-10T06:03:19",{"id":155,"version":156,"summary_zh":157,"released_at":158},154394,"0.3.1","- 更新文档。","2022-06-27T10:47:45",{"id":160,"version":161,"summary_zh":162,"released_at":163},154395,"0.3.0","- 添加 BERT Tiny 模型。\n- 移除 `level`。改用 `model`。","2022-06-26T08:55:29",{"id":165,"version":166,"summary_zh":167,"released_at":168},154396,"0.2.8","- 修复 README 示例 [#16]（感谢 @caterpillar0111）","2022-03-07T06:57:38",{"id":170,"version":171,"summary_zh":172,"released_at":173},154397,"0.2.7","- 增加禁用密码记忆的选项 [#11,#12]（感谢 @qqaatw）","2021-08-08T10:08:47",{"id":175,"version":176,"summary_zh":177,"released_at":178},154398,"0.2.6","- 修复导入错误。[#9]\n- 使用 Black 格式化工具。","2021-06-09T03:12:42",{"id":180,"version":181,"summary_zh":182,"released_at":183},154399,"0.2.5","!!!警告!!! 本版本已损坏!!!\r\n\r\n- 修复文档中的 broken links。","2021-06-02T10:42:22",{"id":185,"version":186,"summary_zh":187,"released_at":188},154400,"0.2.4","更新文档。","2021-05-22T00:36:06",{"id":190,"version":191,"summary_zh":192,"released_at":193},154401,"0.2.3","- Update documentation (about custom model checkpoint usage).","2021-03-12T08:11:58",{"id":195,"version":196,"summary_zh":197,"released_at":198},154402,"0.2.2","- Update requirement (PyTorch 1.5+) [#4]\r\n- Update documentation.","2021-02-01T07:03:53",{"id":200,"version":201,"summary_zh":202,"released_at":203},154403,"0.2.1","- Add support to HuggingFace's transformers v4. [#1]\r\n- Update documentation (add corpus description).","2021-01-05T07:36:44",{"id":205,"version":206,"summary_zh":207,"released_at":208},154404,"0.2.0","- Update documentation.\r\n- Add more models for NLP tasks (albert-tiny, albert-base, bert-base)\r\n- Improve tokenizer. [#2]\r\n- Add arguments for GPU usage, batch usage.\r\n- Add support to sentence segmentation.","2020-12-23T06:54:23",{"id":210,"version":211,"summary_zh":212,"released_at":213},154405,"0.1.0","- Implement WS, POS, NER drivers.","2020-11-18T06:36:17"]