[笔记] Introduction to Shallow Language Processing

本文介绍了搜索引擎中词袋模型的应用及其特点,并探讨了语言独立属性,包括词频分布、Heaps定律及Zipf定律等内容。
部署运行你感兴趣的模型镜像

Bag of Words

解释:

搜素引擎用词袋模型这种shallow form理解语言。词袋模型的特征有:

1)忽略word order;

2)忽略stopwords(像the,a这种频率高又没什么实际意义的词);

3)把words变成terms,将root相同的words变成一个term,比如cats->cat

优缺点:

pros:简单;有效

cons:有损的,无法从词袋还原到原文档;忽略了词句篇的语义信息


Language-independent properties

def: 与词汇特征、词形、语法等无关的特性。(? not sure)

example

以华尔街日报为例:


term frequency的分布非常skewed:频繁出现的terms很少,很多都是罕见的terms。

这个分布的样式与人类使用语言的习惯有关,不同的语言和corpus中,曲线的斜率和具体词汇的排名和频率会发生变化。

Heaps' Law

描述vocabulary大小(total number of terms)和总词数(total number of word occurrences)的关系。


根据Heapf‘s Law,vocabulary的大小会一直随着word occurrences总数的增长而增长,虽然越来越慢,但不会饱和。

Zipf’s Law

描述collection term frequency和term‘s rank的关系。


ctf: collection term frequency -- how often term t occurs in C

N: total word occurrences in corpus C

A: constant, usually 0.1 for English

R: rank of term t

不需要知道collection里含有多少文章,文章的具体内容就能得到ctf和rank的关系。

由Zipf‘s Law可知:

1)few term频繁出现:

rank 1的term占总word occurrence的10%;

排名前5的terms占有23%的occurrences;

排名前100的terms占有52%的occurrences

2)大多数terms非常罕见:

50%的terms出现1次;

91%的terms的occurrence小于10次

Heapf's Law 和Zipf's Law的作用

1)帮助系统设计者预计重要data structure(term dictionary,inverted list 的大小的分布情况)需要占用的内存大小。这些预计无需了解corpus中具体的内容和语言,非常的方便。

2)根据这些统计特性,帮助设计者更好得设计data structure(比如把doc-term矩阵换成了inverted list)。

3)不同inverted lists之间,大小变化很大:

rank 1的term的inverted list含有10%的总term occurrences;

vocabulary中,50%的term的inverted list只有一个occurrence;

83%的term的inverted list记录的出现次数小于5;

所以软件应该能hold住对不同大小的inverted list的处理。

您可能感兴趣的与本文相关的镜像

Yolo-v8.3

Yolo-v8.3

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### 如何在 Git 中执行浅克隆并限制提交历史记录的深度 在 Git 中,浅克隆(shallow clone)是一种通过限制克隆仓库的历史记录深度来减少所需磁盘空间和网络传输时间的技术。这种技术特别适用于大型仓库或仅需要最新代码而不关心完整历史记录的场景。以下是如何实现浅克隆并限制提交历史记录深度的方法[^1]。 可以通过 `git clone` 命令的 `--depth` 选项来执行浅克隆,并指定要克隆的历史记录深度。例如,以下命令将克隆一个仓库并仅保留最近的 5 次提交: ```bash git clone --depth 5 <repository-url> ``` 如果需要进一步调整浅克隆后的仓库行为,例如从远程仓库获取更多历史记录,可以使用 `git fetch` 命令并结合 `--depth` 选项。例如,以下命令将更新本地仓库的历史记录深度为 10: ```bash git fetch --depth=10 ``` 需要注意的是,浅克隆的仓库在某些操作上可能会受到限制,例如无法访问完整的提交历史记录或无法执行基于完整历史记录的操作(如 `git bisect` 或 `git blame`)。如果需要恢复完整的仓库历史记录,可以使用以下命令移除浅克隆限制: ```bash git fetch --unshallow ``` 此外,浅克隆的分支切换行为与普通克隆有所不同。只有在成功执行 `git checkout` 后,分支才会被重置或创建[^2]。 ### 示例代码 以下是一个完整的示例,展示如何执行浅克隆并限制历史记录深度: ```bash # 浅克隆仓库并限制历史记录深度为 3 git clone --depth 3 https://github.com/example/repo.git # 进入克隆的仓库目录 cd repo # 如果需要增加历史记录深度到 5 git fetch --depth=5 # 如果需要恢复完整的仓库历史记录 git fetch --unshallow ``` ### 注意事项 - 浅克隆适合于只需要最新代码的场景,但不适合需要完整历史记录的工作流。 - 浅克隆可能会影响某些依赖完整历史记录的 Git 工具或功能[^1]。 - 如果仓库包含大文件,可以结合 Git LFS 使用以优化存储和传输效率[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值