0%

自然语言

通常是指一种自然地随文化演化的语言。自然语言是人类交流和思维的主要工具,是人类智慧的结晶

自然语言处理

是计算机科学领域与人工智能领域中一个重要的方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法

自然语言处理的层次

  1. 输入层
  2. 文档层
  3. 句法分析
  4. 语义分析与篇章分析
  5. 其他高级任务

自然语言处理的流派

  1. 基于规则
  2. 基于统计
  3. 深度学习

机器学习

机器学习指的是计算机通过某项任务的经验数据提高了在这项任务上的能力

机器学习是让机器学会算法的算法

语料库

语料库是指经科学取样和加工的大规模电子文本库

语料库的分类

中文分词语料库

由人工正确切分后的句子集合

词性标注语料库

切分并为每个词语制定一个磁性的语料

命名实体识别语料库

人工标注了文本内部制作者关心的实体名词以及实体类别

句法分析语料库

文本分类语料库

语料库建设

构建一份语料库的过程

语言模型(Language Model)

语言模型是用来计算一个句子的概率的概率模型

语言模型的作用

  1. 决定哪一个词序列的可能性更大
  2. 已知若干个词,预测下一个词

语言库模型的应用

  1. 语音识别
  2. 机器翻译
  3. 上下文敏感的拼写检查

大语言模型

定义

是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等。

序列标注问题

序列标注指的是给定一个序列x= x1 x2 x3 x4… 找出序列中每个元素对应的标签y = y1 y2 y3 y4 ….的问题

y所有可能的取值集合称为标注集

常见的序列标注方法

隐马尔可夫模型、条件随机场、深度学习模型

分类

指的是预测样本所属类别的问题

应用

  1. 文本分类
  2. 关键词提取时,对文章中每个单词判断是否属于关键词
  3. 在指代消解问题中,对每个代词和每个实体判断是否存在指代关系
  4. 预测天气、照片对应哪种事物、声波是否由哪个人发出

聚类

什么是聚类

指的是将给定对象的集合划分为不同子集的过程

应用

数据预处理

排重

大众化推荐

人工抽查

N-gram语言模型

更大的n:对下一个词出现的约束信息更多,更大的辨别力

更小的n:在训练语料库中出现的次数更多,更可靠的统计结果,更高的可靠性

Transformer

定义

Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构。

Transformer模型是一种基于自注意力机制的神经网络模型

Transformer模型主要由两个部分组成:编码器和解码器

序列到序列任务

序列到序列是指将一个序列转换为另一个序列到任务

exit

执行exit系统调用后,进程会从运行状态转为僵尸状态(zombie),操作系统会销毁当前进程,释放资源

exit是c标准库的函数,_exit是系统调用,直接终止进程,不进行清理工作

僵尸进程: 进程已经终止,但是父进程还未回收其状态信息

exec

将当前进程的地址空间替换为新的程序,但保留当前进程的pid

fork配合使用,可以在子进程中运行一个新的程序

fork

fork的作用是在当前进程下,创建一个新的进程,通常把这两个进程称为父进程和子进程,子进程的内存是复制父进程的,它们有独立的内存空间,fork在父进程中返回的值为子进程的pid,在子进程中返回的值为0,这就是为什么pid == 0可以判断它是子进程

1
2
3
4
5
6
7
int pid;
pid = fork();
if (pid == 0) {
std::cout << "this is child process" << std::endl;
} else {
std::cout << "this is parent process" << std::endl;
}

通过fork实现父子进程之间的读和写

read(fd[0], buf, sizeof(buf));

write(fd[1], buf, sizeof(buf));

注意:默认情况下读用0,写用1,管道是单方向的,要实现两端的读和写需要两个管道,buf是指向缓冲区的指针

wait

用于让父进程等待子进程结束的系统调用

xargs

xargs的作用是读取标准输入,将其作为后面命令的参数

1
echo hello |xargs echo bye

上述命令的输出为bye hello

进入insert模式

1
2
3
4
i: 在光标的位置插入
a: 在光标后的位置插入
o: 在当前的下一行插入
O:在当前的上一行插入

在insert模式下

1
2
3
ctrl + h: 删除光标前面的字符 
ctrl + w: 删除光标前面的单词
ctrl + u: 删除光标前面的本行所有内容

在normal模式下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
w: 移动到下一个单词的开头
e: 移动到下一个单词的结尾
b: 移动到上一个单词的开头
f{char}: 移动到char上
0: 移动到行首
$: 移动到行尾
gg: 移动到文件开头
G: 移动到文件结尾
ctrl + o: 快速返回
ngg: 跳转到第n行
x: 删除光标后的第一个字符
daw: 删除光标所在的单词
dw: 删除光标后面的单词
diw: 删除光标所在的单词
dt{char}: 删除从光标到char的所有内容
1
2
3
gt:在vim不同标签之间切换
ctrl + shift + t:新建终端标签页
alt + 1/2/3/4:切换标签页

dw :删除一个单词,光标直接到下一个单词

de: 单纯删除一个单词

d$: 删除到一行的末尾

dnw :删除n个单词

nw :移动到第n个单词

ne:移动到第n个单词的结尾

u: 撤销上一步操作

x: 删除当前单词

p: 会将上次删除或者复制的东西粘贴

rx: 会将当前字符替换为x

/str: 会找到str所在的位置,输入n找下一个

%: 在[{()}] 上面输入会自动跳转到对应的位置上

:s/new/old/g,用new代替old,g表示全局

!command: 可以在vim中输入shell命令

概述

host

1
与网络相连的计算机常成为主机,也叫端系统

互联网的组成

1
1、边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用,用来进行通信(传送数据、音ping)

**System.arraycopy**的用法

1
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

src: 原数组

srcPos: 原数组要复制的起始位置

dest: 目的数组

destPos: 目的数组放置的起始位置

length: 复制的长度

**removeIf**的用法

1
boolean removeIf(Predicate<? super E> filter)

Predicate是一个函数式接口,它定义一个带有参数的bool类型表达式,removeIf根据该表达式的值决定是否移除集合中的元素

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.List;

public class RemoveIfExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);

// 使用 removeIf 移除偶数
numbers.removeIf(n -> n % 2 == 0);

// 打印剩余的元素
System.out.println(numbers); // 输出 [1, 3, 5]
}
}

什么是操作系统

1
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充

操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
  2. OS作为计算机系统资源的管理者
  3. OS实现了对计算机资源的抽象

单批道处理系统

1
解决人机矛盾和CPU与I/O设备速度不匹配矛盾,旨在提高系统资源的利用率和系统吞吐量

单批道处理系统的缺点

1
系统中的资源得不到充分的利用。内存中仅有一道程序,每当程序在运行中发出I/O请求,CPU处于等待状态

多批道处理系统

1
用户提交的作业先存放在外存上,排成一个队列,称为“后备队列”。然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存 ,使他们共享CPU和系统中的各种资源

echo

1
echo [-neE] [ARGUMENTS]
  • 当-n 选项,则取消尾随换行符

  • 如果-e 选项,则将解释以下反斜杠转义字符:

    • \ 显示反斜杠字符

    • \a 警报(BEL)

    • \b 显示退格字符

    • \c 禁止任何进一步的输出

    • \e 显示转义字符

    • \f 显示窗体提要字符

    • \n 显示新行

    • \r 显示回车

    • \t 显示水平标签

    • \v 显示垂直标签

    • 这个-E 项禁用转义字符的解释。这是默认值

windows关闭休眠:

1
powercfg -h off

windows开启休眠:

1
powercfg -h on

Table:

1
以按行按列形式组织及展现的数据

数据

1
数据是数据库中存储的基本对象。

Database:

1
相互之间有关联关系的Table的集合

DB:

1
Database

DBMS:

1
数据库管理系统

DBAP:

1
数据库应用

DBA:

1
数据库管理员

DDL:

1
数据库定义语言

DML:

1
数据库操纵语言

DCL:

1
数据库控制语言

模式:

1
2
对数据库中数据所进行的一种结构性的描述
所观察到的数据的结构信息

视图:

1
某一种表现形式下表现出来的数据库中的数据

三级模式:

1
2
3
External Schema(外模式): 某一用户能够看到与处理的数据的结构描述
Conceptual Schema(概念模式):从全局角度理解\管理的结构描述,含相应的关联约束
Internal Schema(内模式 ):存储在介质上的数据的结构描述,含存储路径、存储方式、索引方式 等

两层映像:

1
2
E-C Mapping: 将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换
C-I Mapping:将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换

两个独立性:

1
2
逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序
物理数据独立性:当外部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式

数据模型:

1
2
规定模式统一描述方式的模式,包括:数据结构、操作和约束
数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象

关系模型:

1
2
3
描述DB各种数据的基本结构形式(Table/Relation)
描述Table与Table之间所可能发生的各种操作(关系运算)
描述这些操作所应遵循的约束 条件(完整性约束)

域(Domain)

1
2
一组值的集合,这组值具有相同的数据类型
集合中元素的个数 成为域的基数

关系模式 :

1
2
3
同一关系模式下,可有很多的关系
关系模式时关系的结构,关系是关系模式在某一时刻的数据
关系模式是稳定的;而关系是 某一时刻的值,是随时间可能变化的

关系的特性:

1
属性不可再分特性

候选码:

1
关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质 了,这样的属性组称作候选码

主码:

1
当有多个候选码时,可以选定一个作为主码

主属性与非主属性:

1
包含在任何一个候选码的属性被称作主属性,而其他属性被称作 非主属性

外码:

1
关系R中的一个属性组,它不是R的候选码,但它与另一个关系 S的候选码相对应,则成这个 属性组为R的外码或外键

实体完整性:

1
关系的主码中的属性值不能为空值

参照完整性:

1
如果关系R1的外码FK与关系R2的主码PK相对应,则R1中的每一个元组 的FK值 或者等于 R2中的某个元组的PK值,或者为空值

用户自定义完整性:

1
用户针对具体的应用环境定义的完整性约束条件

数据模型的概念

1
数据模型是一种模型,它是对现实世界数据特征的抽象

数据模型的作用

1
数据模型是用来描述数据、组织数据和对数据进行操作的

数据模型的三个要素

1
一是能比较真实地模拟现实世界,二是为人所理解,三是便于在计算机上实现

关系

1
一个关系对应通常来说的一张表

属性

1
表中的一列即为一个属性

1
域是一组具有相同数据类型的值的集合

元组

1
表中的一行即为一个元组

1
也称码键。表中的某个属性组,它可以唯一确定一个元组 

分量

1
元组中的一个属性值

关系模式

1
2
对关系的描述,一般表示为
关系名(属性1、属性2、···,属性n)

逻辑独立性

1
当模式改变时,由数据库 管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的 ,从而应用程序不必改变,保证的数据与程序的逻辑 独立性,简称数据的逻辑独立性

物理独立性

1
当数据库的存储结构改变时,由数据库管理员对模式 /内模式 映像作相应 改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性

第一章

计算机的五大基本部件

1
2
3
4
5
6
7
8
9
输入设备:将编好的程序和原始数据送到计算机中,使它们转换成计算机内部能识别和接受的信息方式
输出设备:将计算机 的处理结果以数字、字符、图形、图像、声音等形式送出计算机
存储器:存放程序和数据的部件,是一个记忆装置,是计算机能够实现“存储 程序控制”的基础
常见的三级存储系统:高速缓冲存储器、主存储器、辅助存储器
主存储器可由CPU直接访问,存取速度快,容量小
辅助存储器设置在主机外部,存储容量大,价格低,存取速度慢
高速缓冲存储器位于主存和CPU之间,存取速度比主存快,容量更小
运算器:对信息机型处理和运算的部件。又称算术逻辑运算部件(ALU)
控制器:按照预先确定的操作步骤,控制整个计算机的各部件有条不紊的自动工作