当前位置: 首页 > news >正文

NLP第一阶段练习 简单词性标注

NLP第一阶段练习 简单词性标注

代码

# sequence_labeling.pyfromtypingimportList,Tupledefsimple_pos_tagging(text:str)->List[Tuple[str,str]]:"""简单的词性标注示例"""# 简化的词性标注规则(实际应使用专业的NLP库如HanLP、LTP等)nouns={'电影','天气','手机','餐厅','比赛','游戏','演员','运动员','菜品','服务'}verbs={'看','去','是','有','做','吃','玩','说','听','看','买'}adjectives={'好看','不错','快','好','精彩','有趣','拖沓','卡顿','差'}words=list(text.replace(',',' ').replace('。','').split())result=[]forwordinwords:ifwordinnouns:pos='n'# 名词elifwordinverbs:pos='v'# 动词elifwordinadjectives:pos='a'# 形容词else:pos='x'# 其他result.append((word,pos))returnresult# 使用更专业的库 - HanLPdefhanlp_ner_example():"""使用HanLP进行命名实体识别(需要安装:pip install hanlp)"""try:importhanlp# 加载预训练模型hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH NER=hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)text="张三在北京的清华大学学习计算机科学。"entities=NER(text)print("命名实体识别结果:")print(f"文本:{text}")print(f"实体:{entities}")exceptImportError:print("请先安装HanLP: pip install hanlp")exceptExceptionase:print(f"HanLP运行出错:{e}")# 简单的命名实体识别规则示例defrule_based_ner(text:str)->List[Tuple[str,str,int,int]]:"""基于规则的简单命名实体识别"""entities=[]# 人名规则(简单示例)person_pattern=r'(张三|李四|王五|赵六)'formatchinre.finditer(person_pattern,text):entities.append((match.group(),'PERSON',match.start(),match.end()))# 地名规则location_pattern=r'(北京|上海|广州|深圳)'formatchinre.finditer(location_pattern,text):entities.append((match.group(),'LOCATION',match.start(),match.end()))# 机构名规则org_pattern=r'(清华大学|北京大学|复旦大学)'formatchinre.finditer(org_pattern,text):entities.append((match.group(),'ORG',match.start(),match.end()))returnentities# 示例使用if__name__=="__main__":importre# 简单词性标注示例text="我看好这部电影"pos_result=simple_pos_tagging(text)print("词性标注结果:",pos_result)# 命名实体识别示例sample_text="张三从北京到上海的清华大学参加会议"ner_result=rule_based_ner(sample_text)print("\n命名实体识别结果:",ner_result)# 尝试使用专业库# print("\n尝试使用HanLP进行专业NER:")# hanlp_ner_example()

运行结果

http://www.jsqmd.com/news/1289587/

相关文章:

  • 南昌朋友聚餐火锅店推荐|全场景适配本地觅食实用指南 - 品牌2026推荐
  • 需求驱动的快速开发思维
  • 如何解决Docker Registry部署瓶颈?Docket分布式传输架构全解析
  • SPARTA核心插件解析:Ambisonic编码与解码的完整指南
  • 带父母吃火锅去哪?南昌本地多元火锅门店觅食指南 - 品牌2026推荐
  • Oracle性能诊断从未如此简单:TPT-Oracle脚本实战案例大全
  • 江门公司监事变更公司口碑好排名实测:江门服务机构榜单与挑选攻略 - 米諾
  • douyin-downloader:抖音内容批量下载与管理的完整解决方案
  • NIKON 4S020-140 印刷电路板
  • 宝鸡黄金回收避坑指南!全域区县实体门店,免费上门、实价实收不压价 - 淘淇黄金回收
  • 罗技鼠标宏终极指南:5分钟搞定PUBG完美压枪
  • 暗黑破坏神2存档编辑器d2s-editor:可视化修改工具全面解析与实战指南
  • 南昌团队聚餐火锅推荐|多场景适配本地火锅觅食指南 - 品牌2026推荐
  • SPARTA插件完全手册:从AmbiBIN到TrackerTest的19个实用工具
  • 2026佛山知识产权版权专利申请流程步骤,佛山优质知识产权代理商哪家专业权威? - GrowthUME
  • 英雄联盟Akari助手:终极LCU自动化工具完整指南,让你的游戏效率提升300%
  • Termux包管理完全攻略:Termux Command Handbook教你玩转pkg命令
  • 2026年寄快递想便宜必看:散户寄件低价渠道与优惠技巧大全(附寄半折实测攻略) - 快递物流资讯
  • Midscene.js终极指南:如何用自然语言重塑你的UI自动化测试体验
  • mini seq2seq模型评估:困惑度计算与翻译质量提升方法
  • ESP32 partitions csv 分区表文件完整讲解
  • 双相情感障碍的脑功能成像:连接性和网络
  • 突破上传限制:gh_mirrors/fi/file-upload断点续传原理与实现
  • 玻璃钢管道玻璃钢罐厂家山东明驰:喷衬缠绕工艺,出厂合格率≥99% 质保 1 年 - 速递信息
  • 告别龟速合成:用Matcha-TTS实现实时语音生成的技术实践
  • 专属钉钉定制开发需要多少钱?2026年费用构成方案
  • Docker 镜像与容器核心概念详解
  • TypeScript Workshop集成指南:如何将TypeScript与现有项目无缝整合
  • Docup部署指南:3种简单方法将文档发布到Web
  • 如何从零开始学习Docker安全?awesome-docker-security资源精选