版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自然语言处理
Whatisnaturallanguageprocessing?
Thestudyoflanguageandlinguisticinteractionsfromacomputationalperspective,enablingthedevelopmentofalgorithmsandmodelsnaturallanguageunderstanding(NLU)naturallanguagegeneration(NLG).WhyNLP?NaturalLanguageProcessingistheCrownJewelofA.I.--BillGatesSearchengineMachineTranslationVoiceRecognitionSpellingandGrammarChecking
SentimentAnalysis:GoogleProductsreviewHistoryof
NLP1950s~1990sRule-Based1990s~2010sMachineLearning-StatisticsBased2010s~MachineLearning-NeuralNetworksBased
WhyPython?
EasytoLearnandUsefornewbeginnerssimplifiedsyntaxandnotcomplicatedNaturallanguageVersatility,Efficiency,Reliability,andSpeedSupportfromRenownedCorporateSponsorsHundredsofPythonLibrariesandFrameworksmatplotibforplottingchartsandgraphsSciPyforengineeringapplications,science,andmathematicsBeautifulSoupforHTMLparsingandXMLNumPyforscientificcomputingDjangoforserver-sidewebdevelopmentNLTK–NaturalLanguageToolKitGoodformachinelearningandbigdata中文分词
分词是指将连续的字序列按照一定的规范重新组合成词序列的过程。在英文中,单词之间是以空格作为自然分界符,而中文词与词之间没有明显的界限标志,只有明显的逗号、句号等分界符进行句段划界,因此分词是汉语文本分析处理中的首要问题,是机器翻译、语音合成、自动分类、自动摘要、自动校对等中文信息处理的基础。特点分词规范歧义词切分未登录词识别分词规范
中文因其自身语言特性的局限,字(词)的界限往往很模糊,关于字(词)边界的划定尚没有一个公认的、权威的标准,导致汉语分词难度极大。歧义词切分1)交集型切分歧义,AJB类型满足AJ和JB分别成词。例如,“大学生”一词的一种切分方式“大学/生”,另一种切分方式“大/学生”2)组合型切分歧义,AB满足A和B、AB分别成词。例如,“才能”的一种切分为“/高超/的/才能”,另一种切分“坚持/才/能/成功”。3)混合型切分歧义。未登录词识别一是词库中没有收录的词二是训练语料没有出现过的词。常见中文分词方法基于规则和词表的方法基于统计模型的中文分词方法基于规则和词表方法
基于规则和词表方法的基本思想是基于词典匹配,将待分词的中文文本根据一定规则进行切分,与词典中词语进行匹配,按照词典中词语进行分词。正向最大匹配法
根据词典中的最长词条所含汉字个数Len,取出语料中当前位置起始Len个汉字作为查找字符串,搜索分词词典是否存在匹配词条。如果成功匹配,完成搜索;反之,就取消查找字符串中最后一个汉字,减少长度,继续搜索,直到搜索成功完成这轮匹配任务。重复如上步骤,直到切分出所有的词。“研究生命起源”词典:研究、研究生、生命、起源词典中最长词是“研究生”,其长度是3,从左到右开始取3个字符,
第一步:“研究生”属于词典,将“研究生”取出。第二步:“命起源”,不在词典中,长度减一。第三步:“命起”,也不在词典中,长度再减一。第四步:“命”,为单字,因此单独取出。第五步:剩下的“起源”,在词典中。因此,分词结果为
研究生\\命\\起源。基于统计方法(1)基于隐马尔可夫模型(2)基于最大熵模型(3)基于条件随机场模型(4)基于词网格分词Jieba分词库
当文本内容很多,不可能采用空格进行分词,可以使用jieba库。Jieba库是一个python实现的分词库,用于统计分析某一或某些给定的词语在某文件中出现的次数
jieba库支持如下三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。全模式举例importjiebaseg_list=jieba.cut("我来到北京清华大学",cut_all=True)print("Fullmode:"+"/".join(seg_list))
【程序运行结果如下所示】Fullmode:我/来到/北京/清华/清华大学/华大/大学精确模式importjiebaseg_list=jieba.cut("我来到北京清华大学",cut_all=False)print("Defaultmode:"+"/".join(seg_list))【程序运行结果如下所示】Defaultmode:我/来到/北京/清华大学搜索引擎模式importjiebaseg_list=jieba.cut_for_search("我来到北京清华大学")print("/".join(seg_list))【程序运行结果如下所示】我/来到/北京/清华/华大/大学/清华大学自定义词典方式1:词典文件通过添加词典文件定义分词最小单位,文件需要有特定格式,并且为UTF-8编码。jieba.load_userdict(file_name)自定义词典
自定义词典,在d:\下创建userdict.txt文件,内容遵守如下规则:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。本例的userdict.txt文件内容为:周元哲3nimportjiebajieba.load_userdict("d:/userdict.txt")#加载自定义词典seg_list=jieba.cut("周元哲老师是Python技术讲师",cut_all=True)print("/".join(seg_list))【程序运行结果】周元哲/老师/是/Python/技术/讲师
动态修改词频调节单个词语的词频,使其能(或者不能)被分出来。
jieba.suggest_freq(segment,tune=True)【举例】jieba.suggest_freqimportjiebajieba.suggest_freq("周元哲",tune=True)seg_list=jieba.cut("周元哲老师是Python技术讲师",cut_all=True)print("/".join(seg_list))周元哲/老师/是/Python/技术/讲师词性标注每个词语都有词性,如“周元哲”是名词(n),“是”是动词(v)等,jieba命令如下所示:jieba.posseg.cut()【举例】“词性标注”
importjieba.possegaspsegwords=pseg.cut("周元哲老师是Python技术讲师")forword,flaginwords: print("%s%s"%(word,flag))周元哲nr老师n是vPythoneng技术n讲师n断词位置断词位置用于返回每个分词的起始和终止位置,语法如下所示:jieba.Tokenizer()【举例】断词位置举例importjiebaresult=jieba.tokenize('周元哲老师是Python技术讲师')#返回词语在原文的起止位置print("默认模式为:")fortkinresult:print("word%s\t\tstart:%d\t\tend:%d"%(tk[0],tk[1],tk[2]))默认模式为:word周元哲start:0end:3word老师start:3end:5word是start:5end:6wordPythonstart:6end:12word技术start:12end:19word讲师start:19end:16关键词抽取importjieba.analyseasanalyselines="周元哲老师是Python技术讲师"keywords=analyse.extract_tags(lines,topK=20,withWeight=True,allowPOS=())foriteminkeywords: print("%s=%f"%(item[0],item[1]))【程序运行结果】周元哲=2.390959Python=2.390959讲师=1.727597老师=1.279689技术=0.993891停用词表
如果只使用词频来衡量重要性,很容易过度强调在文档中经常出现而并没有包含太多与文档有关的信息的词语,如文档中的标点、空格、没有意义的字-“的,了……”等。停用词表(StopWords)将这些没有什么实际含义的功能词汇总,可在网上下载,如网址/goto456/stopwords,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绥化市2026届高三3月份第一次模拟考试历史试卷含解析
- 亳州市2026年高三下学期一模考试历史试题含解析
- 2026启东面试题目及答案
- 2026抢注商标面试题目及答案
- 2026深圳燃气面试题目及答案
- 股份离职协议书
- 亲子关系索赔协议书
- 2026数理班面试题目及答案
- 2026天津海航面试题及答案
- 异基因移植CMV感染管理指南2026
- 2026年冀教版(三起)小学英语五年级下册期末学情自测卷及答案
- 人教部编版六升七语文暑假衔接作业完整版(可直接打印)
- 2025水利工程施工监理规范SL288-2025
- 2026年省级行业企业职业技能竞赛(家畜(猪)繁殖员)经典试题及答案
- 化工与材料试题及答案
- 职场中常见心理健康问题及缓解方法
- 中小学班级管理创新案例及经验分享
- 恒丰银行社会招聘在线测评试题
- 实施指南(2025)《DL-T 2758-2024 抽水蓄能电站 SFC 设备安装调试规程》
- 山东省菏泽市2024-2025学年高一下学期教学检测(期末)生物学试卷
- GB/T 20189-2025饲料中β-受体激动剂的测定液相色谱-串联质谱法
评论
0/150
提交评论