seg

贪心项目:搭建sample问答系统

时光总嘲笑我的痴心妄想 提交于 2020-03-11 18:01:56
本次项目的目标是搭建一个基于检索式的简单的问答系统。至于什么是检索式的问答系统请参考课程直播内容/PPT介绍。 通过此项目,你将会有机会掌握以下几个知识点: 字符串操作 2. 文本预处理技术(词过滤,标准化) 3. 文本的表示(tf-idf, word2vec) 4. 文本相似度计算 5. 文本高效检索 此项目需要的数据: dev-v2.0.json: 这个数据包含了问题和答案的pair, 但是以JSON格式存在,需要编写parser来提取出里面的问题和答案。 glove.6B: 这个文件需要从网上下载,下载地址为:https://nlp.stanford.edu/projects/glove/, 请使用d=100的词向量 检索式的问答系统 问答系统所需要的数据已经提供,对于每一个问题都可以找得到相应的答案,所以可以理解为每一个样本数据是 <问题、答案>。 那系统的核心是当用户输入一个问题的时候,首先要找到跟这个问题最相近的已经存储在库里的问题,然后直接返回相应的答案即可。 举一个简单的例子: 假设我们的库里面已有存在以下几个<问题,答案>: <"贪心学院主要做什么方面的业务?”, “他们主要做人工智能方面的教育”> <“国内有哪些做人工智能教育的公司?”, “贪心学院”> <“人工智能和机器学习的关系什么?”, “其实机器学习是人工智能的一个范畴

[2013 ACM/ICPC Asia Regional Hangzhou Online J/1010]hdu 4747 Mex (线段树)

烈酒焚心 提交于 2020-03-04 06:48:02
题意: 给定一个长度为 n 的非负数列,定义 mex(l, r) 为 l,r 区间里最小的没有出现的数字。 求所有 mex(l, r) 的和 分析参见 http://www.shuizilong.com/house/archives/hdu-4747-mex/ 我的代码: 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #include <vector> 5 typedef long long ll; 6 #define lson l, mid, rt << 1 7 #define rson mid + 1, r, rt << 1 |1 8 9 struct node { 10 int mx, mi, setv; 11 ll sum; 12 }; 13 14 const int N = 200000 + 10 ; 15 int ar[N]; 16 node seg[N << 2 ]; 17 18 bool vis[N]; 19 int idx; 20 21 void Up(node& fa, node& ls, node& rs) { 22 fa.mx = std::max(ls.mx , rs.mx); 23 fa.sum = ls.sum + rs.sum; 24 fa.mi = std:

文本分析

戏子无情 提交于 2020-03-03 04:51:51
jieba库 jieba是优秀的中文分词第三方库 ,具体使用方法如下 import jieba test_str = ' 新华网东京记者据日本共同社28日报道' test_str = test_str . strip ( ) result = jieba . cut ( test_str , cut_all = False ) #print(result)打印为可迭代的生成器 print ( ' ' . join ( result ) ) 运行结果如下所示: import jieba seg_list = jieba . cut ( "我来到北京清华大学" , cut_all = True ) print ( "全模式:" + "/" . join ( seg_list ) ) #全模式 seg_list = jieba . cut ( "我来到北京清华大学" , cut_all = False ) print ( "精确模式:" + "/" . join ( seg_list ) ) #精确模式 seg_list = jieba . cut ( "他来到了网易杭研大厦" ) #默认是精确模式 print ( "默认模式:" + "/" . join ( seg_list ) ) seg_list = jieba . cut_for_search (

中文文本相似度---项目实践

萝らか妹 提交于 2020-02-28 13:32:28
由于下定决心开始攻克机器学习。辗转反侧,又是折腾线性代数,又是折腾概率论。然后又看了大学时候的高等数学。弄了大半天。不过今天还好有了收获,把思路进行罗列出来,与大家分享。 数学知识: 由于没法表示数学符号,我都现在这个进行罗列 向量A ①直线利用向量表示:{t*向量A | t 属性 R} 在二维平面中 当向量A和向量B不垂直时,此时。这个表达式就可以表示任意一条直线。 //由此进行推广,更高维度的直线我们该怎么去表示 ②向量的点积 向量A 内积 向量B = 向量A的摸 * 向量B的摸 *cos //没找到数学符号,先将就的这看 就这两个数学概念就可以最简单的解决:文本相似度 ---------------------------------------------------------------------------------------------------------------------------- 程序思路: 1.读取文本 2.文本内容转码 3.文本分词 4. 剔除 文本分词后中 包含停用词的词组 之后统计剩余分词在 对比文本中分词出现的词频--》待分类词频 5.将待分类词频比标准分类词频 利用余弦定理计算夹角,夹角的大小就是相似的大小 下面我来解释下: 第四步 作用,实质就是利用字典统计,来统计词组出现的频率,然后把词组看做成一个多维空间的直线《----

oracle table ,database growth report script

陌路散爱 提交于 2020-02-27 04:04:48
@seg_top_logreads_10g.sql select object_name "Object Name" , tablespace_name "Tablespace Name" , object_type "Object Type" , logical_reads_total "Logical Reads" , ratio "%Total" from( select n.owner||'.'||n.object_name||decode(n.subobject_name,null,null,'.'||n.subobject_name) object_name , n.tablespace_name , case when length(n.subobject_name) < 11 then n.subobject_name else substr(n.subobject_name,length(n.subobject_name)-9) end subobject_name , n.object_type , r.logical_reads_total , round(r.ratio * 100, 2) ratio from dba_hist_seg_stat_obj n , (select * from (select e.dataobj# , e.obj# , e

一文可能看懂扫描线

我们两清 提交于 2020-02-27 03:01:14
扫描线入门 本文的文字部分有些冗长,有些地方讲的也有些枯燥,但是笔者已经尽量让文字不那么晦涩,也加了一些配图,相信坚持看完的读者会有所收获 本文参考:https://blog.csdn.net/tomorrowtodie/article/details/52048323 矩形面积并 对于矩形 A , B A,B A , B ,它们的面积并就是 A ∪ B A \cup B A ∪ B 的面积,多个矩形的情况可以类比一下。有一种想法是拿所有矩形面积之和减去多加了的部分的面积,但是多加的部分并不好求,因为要计算交点,还要知道重复部分到底重复了多少次,那要怎么求矩形面积并呢?我们可以假想有一条与 x x x 轴平行的直线,从下往上扫,把面积并分割成多个部分,如下图所示,这样以来面积并就等于各个颜色的部分的面积之和,每个部分的高很容易求,只要把每个矩形的每个横向边(与 x x x 轴平行的边)的高度记录一下,排个序,做差就可以,关键在于怎么求每个部分的长度,这时,线段树又出场了(不知道线段树的话,这里是 传送门 ) 图片地址:https://blog.csdn.net/tomorrowtodie/article/details/52048323 区间信息 既然要用线段树,那线段树存什么?或者说要维护区间信息是什么?我们对横坐标区间建线段树, 根节点 的区间是 [ x m i n , x m

基于Verilog HDL的ADC0809CCN数据采样

♀尐吖头ヾ 提交于 2020-02-25 08:07:03
  本实验是用ADC0809CCN进行数据采样,并用7段数码管进行显示。   ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。如下图所示。 时序图(本实验用上升沿去采数据): 原理图: 工作方式: ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入,这里选通IN0。START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号,在转换期间EOC为低。当EOC在为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向FPGA输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线,可以得到状态图。 状态图: 代码实现: adc0809_control.v 1 module adc0809

分词并去停用词自定义函数:seg_word(sentence)

南笙酒味 提交于 2020-02-15 10:15:04
分词并去停用词自定义函数:seg_word(sentence)。 import jieba def seg_word ( sentence ) : """使用jieba对文档分词""" seg_list = jieba . cut ( sentence ) # 读取停用词文件 stopword_list = [ k . strip ( ) for k in open ( 'stopwords.txt' , encoding = 'utf8' ) . readlines ( ) if k . strip ( ) != '' ] # 去除停用词 return list ( filter ( lambda x : x not in stopword_list , seg_list ) ) print ( seg_word ( "今天是开心的一天" ) ) 输入一个句子"今天是开心的一天",函数返回值为:[‘今天’, ‘开心’, ‘一天’]。 来源: CSDN 作者: 北青萝、 链接: https://blog.csdn.net/weixin_43919570/article/details/104310685

[Python]jieba切词 添加字典 去除停用词、单字 python 2020.2.10

这一生的挚爱 提交于 2020-02-10 02:34:56
源码如下: 1 import jieba 2 import io 3 import re 4 5 #jieba.load_userdict("E:/xinxi2.txt") 6 patton=re.compile(r'..') 7 8 #添加字典 9 def add_dict(): 10 f=open("E:/xinxi2.txt","r+",encoding="utf-8") #百度爬取的字典 11 for line in f: 12 jieba.suggest_freq(line.rstrip("\n"), True) 13 f.close() 14 15 #对句子进行分词 16 def cut(): 17 number=0 18 f=open("E:/luntan.txt","r+",encoding="utf-8") #要处理的内容,所爬信息,CSDN论坛标题 19 for line in f: 20 line=seg_sentence(line.rstrip("\n")) 21 seg_list=jieba.cut(line) 22 for i in seg_list: 23 print(i) #打印词汇内容 24 m=patton.findall(i) 25 #print(len(m)) #打印字符长度 26 if len(m)!=0: 27 write(i.strip

电路图题解

和自甴很熟 提交于 2020-02-08 13:18:22
OJ 1177 1178 1179 一.电路图A 第一问,容易看出$右拐次数=左拐次数+4$,$左拐+右拐=n$,所以$右拐=n/2-2$,相当于$C_{n}^{n/2-2}$ 第二问,总个数除去最左端,最右端,最上方,最下方的电阻,整个电路被分成$4$段,每一段都有偶数个电阻,答案就是将$n$分成$4$个偶数的情况,相当于将$n/2$分成任意数的情况,用隔板法,答案就是$C_{n/2-1}^{3}$,排除旋转的影响,答案还要除以$4$。 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <deque> #include <string> using namespace std; inline long long read(){ long long ans = 0, f = 1; char ch = getchar(); while(!isdigit(ch)) f *= (ch == '-') ? -1 : 1, ch = getchar(); do ans = (ans << 1) + (ans << 3) + (ch ^ 48), ch = getchar(); while(isdigit(ch)); return ans * f; } const int