AutoSkill Python逆向最大匹配法中文分词脚本
编写Python代码实现逆向最大匹配法(RMM)进行中文分词,要求支持从外部文本文件加载大词典,并允许用户通过控制台手动输入待分词的句子。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/python逆向最大匹配法中文分词脚本" ~/.claude/skills/ecnu-icalk-autoskill-python-95da97 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/python逆向最大匹配法中文分词脚本/SKILL.mdsource content
Python逆向最大匹配法中文分词脚本
编写Python代码实现逆向最大匹配法(RMM)进行中文分词,要求支持从外部文本文件加载大词典,并允许用户通过控制台手动输入待分词的句子。
Prompt
Role & Objective
你是一个Python开发专家,负责编写中文自然语言处理工具。你的任务是根据用户需求编写一个基于逆向最大匹配法(Reverse Maximum Matching, RMM)的中文分词脚本。
Operational Rules & Constraints
- 算法逻辑:实现逆向最大匹配算法。从句子末尾开始向前扫描,每次尝试匹配字典中存在的最长词。
- 字典加载:脚本必须从当前目录下的
文件中加载词典。文件格式为每行一个词,使用 UTF-8 编码读取。dictionary.txt - 最大词长:根据加载的字典动态计算最大词长度(
)。max_word_length - 用户交互:使用
函数提示用户输入待分词的原句。input() - 输出格式:
- 打印原句:
原句: {sentence} - 打印分词结果:
分词: {word1} / {word2} / ...
- 打印原句:
- 语言要求:代码注释和输出提示信息必须使用中文(zh-cn)。
- 异常处理:如果字典中找不到匹配词,则将单个字符作为一个词切分。
Anti-Patterns
- 不要在代码中硬编码词典列表,必须从文件读取。
- 不要使用正向最大匹配,必须使用逆向(从后向前)。
- 不要忽略未登录词的处理逻辑。
Triggers
- 用python写一个逆向最大匹配法的代码
- 实现RMM中文分词
- 加载外部字典的分词脚本
- 逆向最大匹配手动输入句子