编译原理
Vivid-victory
○( ^皿^)っHiahiahia…
展开
-
【Python】代码实现LL(1),LR(1)上下文无关文法(Stack()类)
任务要求针对书上第三章中的表达式文法,采用LL(1)、LR(1)进行分析相关文法(需要进行消除左递归等操作):顺手分享一下课本资源好了(可能不是最新版,排版略有点别扭)后文的书上内容就是指这本书:[编译原理].陈意云.文字版提取码:e0agLL1介绍LL(1):从左往右处理输入,最左推导,向前展望1个符号的,不带回溯的自上而下的算法,是上下文无关文法的子集。LL1代码实现书上P59-60#LL1import pandas as pdclass Stack: d原创 2020-06-04 23:36:04 · 2473 阅读 · 0 评论 -
【Python】代码实现TF-IDF算法将文档向量化(os.listdir())
所用数据为经典的20Newsgroup数据数据集链接:http://qwone.com/~jason/20Newsgroups/(比较慢,建议采用Science上网等其他方法下载)直接上完整代码:# -*- coding: utf-8 -*-import os import mathimport pandas as pdfrom sklearn.feature_extraction.text import TfidfVectorizerdef TF(wordSet,split):原创 2020-05-29 09:21:12 · 1236 阅读 · 0 评论 -
【Python】20Newsgroup文本分类(TF-IDF向量化,十种sklearn分类器)
数据集介绍数据集链接:http://qwone.com/~jason/20Newsgroups/(比较慢,建议Science上网)当然这里用不到这个数据集,sklearn导入会自动下载,倘若比较慢,可参考:sklearn.datasets.fetch_20newsgroups的下载速度极慢采用离线下载导入等别的方法具体实践中,稍等了一会儿就好了的。sklearn自带数据集datasets,划分好训练集和测试集了。from sklearn.datasets import fetch_20newsgr原创 2020-05-29 01:47:26 · 5386 阅读 · 0 评论 -
【Python】向量空间模型:TF-IDF实例实现(set.union())
一、部分理论介绍向量空间模型(VSM:Vector Space Model)TF-IDF(term frequency–inverse document frequency)TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)其他理论部分请依据关键词自行探索研究。二、TF-IDF相关实例1、题目Q:“gold silver truck”D1:“Shipment of gold damaged in a fire”D2原创 2020-05-28 22:34:28 · 5091 阅读 · 0 评论 -
【Python】对英文文本进行词频统计(分词、字典排序、文件读写)
准备知识1、python读取文件推荐链接:Python读写txt文本文件不想细究,直接上手的读取文件参考代码#默认文件位置为当前python代码的路径(相对路径)#输出文件应为字符串类型f = open('读取的文件名.txt',"r")str1=f.read()f.close()fw=open('输出的文件名.txt','w')fw.write(str(list1))fw...原创 2020-02-25 00:03:52 · 4078 阅读 · 0 评论 -
【Python】按照字典中值的大小对键进行排序(lambda、sorted()、zip())
按照字典中值的大小对键进行排序方式一python3字典的排序这篇博客对于python字典排序的相关知识介绍比较全面,其中我们需要的功能代码为:dict1={'a':12,'e':3,'f':8,'d':4}list1= sorted(dict1.items(),key=lambda x:x[1])print(list1)其中lambda为匿名函数,作用是“取出字典的值”作为排序函...原创 2020-02-24 23:00:25 · 7656 阅读 · 0 评论 -
【Python】英文文本分词与词频统计(split()函数、re库)
英文文本分词1、知识准备(1)Python中的split()函数的用法了解split()的基本用法(2)python多个分割符split字符串了解re库的部分用法Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。2、实践代码将英文句子分词,并记录通过字典的方式记录每个...原创 2020-02-24 22:41:26 · 18631 阅读 · 3 评论 -
【Python】实现正向(逆向)最大匹配法(中文分词,NLP,编译原理)
正向最大匹配法(Maximum Match Method)Step 1 假定分词词典中的最长词有i个汉字字符,则用被处理的当前字串中的前i个字作为匹配字段,查找字典。Step 2 若字典中存在这样一个i字词,则匹配成功;否则,失败,将匹配字段中的最后一个字符去掉, 对剩下字串进行匹配。Step 3 如此进行下去,直到匹配成功,即切分出一个词或剩余字串长度为0。不停的匹配,直到文档被扫描完为...原创 2020-02-23 23:53:37 · 9367 阅读 · 4 评论