-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
345 lines (243 loc) · 27.7 KB
/
index.html
File metadata and controls
345 lines (243 loc) · 27.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hexo</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta property="og:type" content="website">
<meta property="og:title" content="Hexo">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:locale" content="en_US">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary">
<link rel="alternate" href="/atom.xml" title="Hexo" type="application/atom+xml">
<link rel="icon" href="/favicon.png">
<link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/css/style.css">
<meta name="generator" content="Hexo 5.4.0"></head>
<body>
<div id="container">
<div id="wrap">
<header id="header">
<div id="banner"></div>
<div id="header-outer" class="outer">
<div id="header-title" class="inner">
<h1 id="logo-wrap">
<a href="/" id="logo">Hexo</a>
</h1>
</div>
<div id="header-inner" class="inner">
<nav id="main-nav">
<a id="main-nav-toggle" class="nav-icon"></a>
<a class="main-nav-link" href="/">Home</a>
<a class="main-nav-link" href="/archives">Archives</a>
</nav>
<nav id="sub-nav">
<a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
<a id="nav-search-btn" class="nav-icon" title="Search"></a>
</nav>
<div id="search-form-wrap">
<form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit"></button><input type="hidden" name="sitesearch" value="http://example.com"></form>
</div>
</div>
</div>
</header>
<div class="outer">
<section id="main">
<article id="post-CUAD" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2021/12/10/CUAD/" class="article-date">
<time datetime="2021-12-10T07:51:58.000Z" itemprop="datePublished">2021-12-10</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2021/12/10/CUAD/">CUAD</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<h1 id="Abstract:"><a href="#Abstract:" class="headerlink" title="Abstract:"></a>Abstract:</h1><p>深度学习不会影响许多专业领域,因为大型标签数据集需要昂贵的专家注释器。我们通过引入合同理解Atticus数据集(CUAD)来解决法律领域内的这一瓶颈,这是一个用于法律合同审查的新数据集。CUAD由Atticus项目的数十位法律专家创建,由<strong>13000多个注释</strong>组成。任务是突出合同的重要部分,这些部分对于人类进行审查非常重要。我们发现<strong>Transformer模型</strong>具有新生性能,但这种性能受<strong>模型设计和训练数据集</strong>大小的强烈影响。尽管取得了这些有希望的成果,但仍有很大的改进空间。<strong>作为专家注释的唯一大型专业NLP基准之一,CUAD可以作为更广泛的NLP社区的具有挑战性的研究基准</strong>。</p>
<h1 id="Introduction:"><a href="#Introduction:" class="headerlink" title="Introduction:"></a>Introduction:</h1><p>大型专用数据集需要数千个注释,而且注释人要是专家,但专家常常没空并且价格高昂,所以模型何时可以转移到各个专业领域是个难题。</p>
<p>没有公共大规模数据集的非常有价值的专业任务是合同审查,<strong>因为合同审查小号大量时间,金钱和注意力</strong>。</p>
<p><strong>合同审查成本也会影响消费者</strong>,小公司和个人经常签署合同而甚至没有阅读合同,这<strong>可能导致损害消费者的掠夺行为。</strong>所以通过公开发布高质量的数据和经过微调的模型来自动进行合同审查,可以增加对小企业和个人的法律支持。</p>
<p>为了<strong>减少合同审查的不同社会成本</strong>,并研究NLP模型如何推广到专业领域,我们引入了一个新的大规模数据集——CUAD用于合同审查。<strong>CUAD特别有价值</strong>,因为它是在许多注释者的共同努力下实现的。</p>
<p><strong>CUAD可以评估法律合同审查的进展情况,同时还提供语言模型如何学习高度专业化领域的指标</strong>。</p>
<h1 id="Related-work:"><a href="#Related-work:" class="headerlink" title="Related work:"></a>Related work:</h1><h2 id="Legal-NLP"><a href="#Legal-NLP" class="headerlink" title="Legal NLP:"></a>Legal NLP:</h2><ul>
<li>介绍了法律nlp相关的研究工作,表示自己工作的创新性。</li>
</ul>
<p>虽然法律NLP涵盖了广泛的任务,但之前几乎没有关于合同审查的工作,尽管这是律师最耗时和最繁琐的任务之一。</p>
<p>Chalkidis等人(2017)引入了一个用于提取的数据集来自合同的基本信息并与RNN进行后续工作。然而,他们<strong>专注于有限数量实体的命名实体识别</strong>,这是一项比我们自己简单得多的任务。</p>
<p>Leivaditi等人(2020年),该工作还为合同审查引入了基准。然而,它只<strong>关注一种类型的合同</strong>(租赁),它侧重于<strong>较少数量的标签类别</strong>,并且它包含的注释比CUAD少一个数量级。</p>
<h2 id="NLP-Models-for-Specialized-Domains"><a href="#NLP-Models-for-Specialized-Domains" class="headerlink" title="NLP Models for Specialized Domains"></a>NLP Models for Specialized Domains</h2><ul>
<li>和一些其他专业领域的应用的对比</li>
<li>NLP相关:</li>
</ul>
<p>有一些先前的工作将机器学习应用于专业领域。例如,机器翻译一直是一个长期存在的挑战,同样需要领域专业知识。但是,<strong>与合同审查不同,机器翻译的监督数据通常是从免费提供的数据中得到的</strong>(Bojar等人,2014)。</p>
<p>Hendrycks等人(2021b)提出了一个具有挑战性的问题回答基准,该基准包含来自包括法律在内的数十个专业领域的多项选择题,但回答多项选择题法律问题的能力并不能帮助律师完成工作。</p>
<p>最近有兴趣将语言模型应用于数学(Hendrycks等,2021c)和编码(Hendrycks等,2021a)等专门领域。</p>
<ul>
<li>NLP无关,机器学习相关:</li>
</ul>
<p>在NLP之外,在计算机视觉中,机器学习已应用于需要专门领域知识的医疗任务,例如癌症诊断(Gadgil等,2021)。</p>
<ul>
<li>总结表明在专门领域的研究还需要继续努力。</li>
</ul>
<h1 id="CUAD-A-Contract-Review-Dataset(一个合同审查数据)"><a href="#CUAD-A-Contract-Review-Dataset(一个合同审查数据)" class="headerlink" title="CUAD: A Contract Review Dataset(一个合同审查数据)"></a>CUAD: A Contract Review Dataset(一个合同审查数据)</h1><h2 id="合同审查"><a href="#合同审查" class="headerlink" title="合同审查:"></a>合同审查:</h2><p>合同分析——在一个合同里面找一些确定的东西,最低级的合同审查。</p>
<p>咨询——评估与合同条款相关的风险并就解决方案提出建议,最高级别的合同审查。</p>
<p>工作:自动化合同审查工作,主要在低级的<strong>合同分析</strong>部分。</p>
<h3 id="标签:"><a href="#标签:" class="headerlink" title="标签:"></a>标签:</h3><hr>
<p>选择了律师在审查合同时特别关注的<strong>41个标签类别清单</strong>。</p>
<p>三类:</p>
<p>①一般信息。这包括方名,文件名,日期,管辖法律,许可证授予和续签条款等条款。</p>
<p>②“限制性契约”。这些被认为是一些最麻烦的条款,因为它们限制了买方或公司经营业务的能力。</p>
<p>③“收入风险”。这些条款可能要求合同一方承担额外费用或采取补救措施。我们在表1中提供了样品标签类别的说明,并在补充材料中包含了完整列表。</p>
<h2 id="任务定义:"><a href="#任务定义:" class="headerlink" title="任务定义:"></a>任务定义:</h2><ul>
<li>感觉这个部分应该比较重要,是论文主要完成的事情</li>
</ul>
<p>对于每个标签类别,我们识别每个合同中与该标签类别最相关的条款。然后,我们让模型通过输出开始和结束标记来从合同中提取相关条款,这些标记标识与该标签类别相关的文本范围。直观地说,模型学会强调律师应该关注的部分文本。</p>
<h2 id="数据集:"><a href="#数据集:" class="headerlink" title="数据集:"></a>数据集:</h2><p>25种类型的510个合同和13101个标记条款,合同的长度也有很大差异,从几页到一百多页不等。</p>
<h2 id="补充注释:"><a href="#补充注释:" class="headerlink" title="补充注释:"></a>补充注释:</h2><p>没太看懂qaq,反正说不用关注这些补充注释。<br>——之后可以再看一下。</p>
<h2 id="合同来源:"><a href="#合同来源:" class="headerlink" title="合同来源:"></a>合同来源:</h2><p>美国证券交易委员会(SEC)维护的电子数据收集,分析和检索(“EDGAR”)系统中收集了这些合同,一家公司可能只有一两个包含排他性条款的合同,而EDGAR合同可能有数百个合同。</p>
<p>——中文合同怎么找?不能找一家公司,可能需要从一个有手机各个公司合同的机构入手。</p>
<h2 id="标签过程:"><a href="#标签过程:" class="headerlink" title="标签过程:"></a>标签过程:</h2><p>我们有培训70-100小时的法律学生标记的合同,并由经验丰富的律师进行质量检查。</p>
<p>在此过程中,我们还编写了大量文档,详细介绍了如何识别合同中的每个标签类别。此文档占用超过一百页,并确保标签一致。</p>
<p>——需要去找一下他们的文档</p>
<h1 id="EXperiment:"><a href="#EXperiment:" class="headerlink" title="EXperiment:"></a>EXperiment:</h1><h2 id="Setup:"><a href="#Setup:" class="headerlink" title="Setup:"></a>Setup:</h2><h3 id="任务结构:"><a href="#任务结构:" class="headerlink" title="任务结构:"></a>任务结构:</h3><p>主要任务:预测合同的哪些子项与每个标签类别中的哪个相关。<br>模型任务:学习应该突出显示的每个段的子串的开始和结束令牌位置(如果有的话)。结构类似于提取性问答任务,例如SQuAD 2.0(Rajpurkar等,2018),允许问题无法回答。<strong>论文因此使用了与此类任务的先前工作相同的模型结构和训练程序。</strong></p>
<p>——也就是说结构没有创新,拿来用在自己的领域。</p>
<p>工作:<br>①使用CUAD上的HuggingFace Transformers库(Wolf et al。,2020)对几种预训练的语言模型进行了微调。<br>——还不知道具体是怎么用这个库微调的,之后要试一下。<br>②因为我们类似于提取问题回答任务来构建预测任务,所以我们使用transformer库中适合此任务的问题回答模型<br>③每个“问题”标识正在考虑的标签类别,以及该标签类别的简短(一个或两个句子)描述,并询问上下文的哪些部分与该标签类别相关。为了说明长文档长度,我们在每个合同上使用滑动窗口。<br>——具体怎么提取和回答要看一下代码和模型的具体使用,滑动窗口怎么使用也要看一下代码。</p>
<h3 id="指标:"><a href="#指标:" class="headerlink" title="指标:"></a>指标:</h3><p>由于大多数条款都没有标签,因此相关条款和不相关条款之间存在很大的不平衡。<br>因此,利用精确度和召回率,因为它们对类别不平衡作出反应。<br>——为什么它们对类别不平衡可以作出反应我也不知道,之后需要了解一下。<br><strong>精确度=实际重要/选为重要</strong><br><strong>召回率=选为重要/实际重要</strong><br>每个预测都带有置信概率。有了置信度,我们可以平稳地改变用于确定要算作预测的最小置信度阈值(同时始终忽略空的预测)。然后,我们可以计算在每个置信阈值处获得的召回级别可以实现的最佳精度。<br>——感觉这个里面的置信度有点像之前人工智能大作业里面阈值的概念。选一个阈值,之上的认为是1,下面是0这样。<br>这将产生精确度-召回曲线。然后,该曲线下的面积是精确召回曲线(AUPR)下的面积,该曲线总结了不同置信阈值下的模型性能。<br>——AUPR代表什么,下面的面积代表什么?</p>
<p>我们还可以在<strong>特定的置信度阈值下分析模型性能</strong>,从而得出“<strong>精度@X%召回率</strong>”度量。如图3所示,如果我们对置信度进行阈值设置以使模型具有80%的召回率,则可以在该阈值处分析模型精度。</p>
<p>——下面是做的一些实验数据,估计之后要改进的话也要作相似的table<img src="C:\Users\amei0\Desktop\1.png"></p>
<p>用Jaccard相似系数确定突出显示的文本跨度是否与基本事实匹配,Jaccard相似系数定义为J(A,B)=| A∩B ||A∪B |,其中A是注释中的一组单词,并且B是提取的预测中的一组单词。</p>
<p>——这个相似系数得出来的数据好像论文没有给出???离谱</p>
<h3 id="模型:"><a href="#模型:" class="headerlink" title="模型:"></a>模型:</h3><p>如上图所示,评估了哪些模型。<br>①BERT是一种双向transformer,可在许多NLP任务上设置最先进的性能。<br>②RoBERTa使用与BERT相同的架构,但它被预训练了一个数量级的数据(160 GB而不是BERT的16GB预训练语料库)。<br>③ALBERT与RoBERTa类似,但它使用参数共享来减少其参数计数。<br>④DeBERTa通过使用解开的注意力机制和使用更大的模型尺寸来改进RoBERTa。</p>
<h3 id="训练"><a href="#训练" class="headerlink" title="训练"></a>训练</h3><p>对每个合同应用滑动窗口,超过99%的特征不包含41个相关标签中的任何一个。<br>——“对每个合同应用滑动窗口”是什么意思?可能要看代码<br>如果在这些数据上正常训练,模型通常会学习始终输出空跨度,因为这通常是正确的答案。为了减轻这种不平衡,我们减轻了不包含任何相关标签的特征,以便特征在突出显示条款和没有突出显示条款之间大致平衡。<br>——怎么减轻?把一些无关标签删除吗?<br>对于在同一文档中具有多个注释的类别,我们为每个注释添加一个单独的示例。<br>——理解就是一个标签类别,在一个文档中有好几个。添加单独的示例是什么意思呢?</p>
<p>我们选择将合同随机分为训练集和测试集。我们有80%的合同组成训练组,20%组成测试组。在初步实验中,我们留出了一个小的验证集,我们用它执行超参数网格搜索。学习率选自{3×10−5,1×10−4,3×10−4} 以及从集合{1,4}中选择的历元数。在初步实验中,我们发现训练时间较长或使用超出此范围的学习率会降低性能。我们选择使用网格搜索找到的AUPR最高的模型,并报告该模型的性能。<br>——报告性能应该指的是上面那张图。<br>对于所有实验,我们使用Adam优化器(Kingma和Ba,2015)。使用8个A100 GPU训练模型。</p>
<h2 id="结论:"><a href="#结论:" class="headerlink" title="结论:"></a>结论:</h2><p>上图显示了对每个模型进行微调的结果</p>
<p>下图显示了其中三个模型的精确召回曲线</p>
<p><img src="C:\Users\amei0\Desktop\2.png"></p>
<p>结论:DeBERTa xlarge表现最佳,但整体表现尚处于起步阶段,并有很大的改进空间</p>
<p>——PR曲线怎么看最佳?</p>
<p>DeBERTa的AUPR为47.8%,精确度为80%时,召回率为44.0%,精确度为90%时,召回率为17.8%。这表明CUAD是一个困难的基准。</p>
<p>——47.8%好像挺低的?困难的基准怎么理解?</p>
<p>另一个角度:然而,这些低数字掩盖了这种性能可能已经有用。特别是,召回比精确度更重要,因为CUAD是关于在干草堆中找到针。此外, 80%的召回可能对一些律师已经比较合理。因此,与阅读整个合同相比,DeBERTa的表现可能已经足以为律师节省大量时间。</p>
<p>——我的理解就是说虽然好像数字不好看,但选为重要/实际重要这个召回率指标比较高可能对律师来说已经比较有用了。</p>
<h3 id="下面就是一些因素对模型结果的影响的分析"><a href="#下面就是一些因素对模型结果的影响的分析" class="headerlink" title="下面就是一些因素对模型结果的影响的分析"></a>下面就是一些因素对模型结果的影响的分析</h3><h4 id="合同预训练"><a href="#合同预训练" class="headerlink" title="合同预训练"></a>合同预训练</h4><p>使用标准掩蔽语言建模目标对从EDGAR公共合同数据库收集的大约8Gb未标记合同进行了RoBERTa基础模型的预训练,几千字节合同的预培训使AUPR仅增加约3%。这表明,CUAD中的高质量注释数据目前比未标记的域特定数据更有价值。</p>
<p>——可是没有对比实验,怎么表明CUAD中高质量数据更有价值呢?</p>
<p><strong>预培训数据对CUAD的性能提高效果不明显,未来算法的改进也许更重要</strong>。因为掩蔽语言建模目标不能有效地利用大型合同预训练语料库。</p>
<h4 id="不同类别表现"><a href="#不同类别表现" class="headerlink" title="不同类别表现"></a>不同类别表现</h4><p>在实践中,模型不仅应该具有强大的整体表现,而且在每个单独的标签类别中也应该具有强大的表现。为了比较不同类别的性能,我们在所有41个类别中分别计算了DeBERTa xlarge的AUPR,并在图8中显示了结果。我们发现,即使某些标签的性能很高,但它的类别差异很大,有些接近100%AUPR的上限,而另一些则低得多,仅约20%AUPR。这强调了还有很大的改进空间。</p>
<p><strong>单独的标签类别性能差距大,有很大改善空间</strong></p>
<h4 id="不同模型尺寸的影响"><a href="#不同模型尺寸的影响" class="headerlink" title="不同模型尺寸的影响"></a>不同模型尺寸的影响</h4><p>我们现在评估模型大小对性能的影响。我们测量各种ALBERT模型的AUPR,范围从ALBERT-base-v2 的1100万参数到ALBERT-xxlarge-v2 的22300万参数。即使ALBERT-xxlarge-v2具有参数比最小版本多20倍以上,它的性能仅提高约3%。我们也发现与BERT类似的结果;表2显示AUPR从BERT基础(32.4%)到BERT大(32.3%)仅略有变化。</p>
<p>另一方面,模型大小似乎在其他情况下产生了重要影响。例如,RoBERTa-base(42.6%)的表现明显低于RoBERTa-large(48.2%)。不同型号的性能也存在很大差异,DeBERTa的性能远远优于BERT。这表明虽然模型尺寸并不能始终如一地提供帮助,但模型设计仍然可以成为提高性能的途径。</p>
<p><strong>发现ALBERT中模型大小对性能的影响比较小,但RoBERTa中影响比较大</strong></p>
<h4 id="训练数据量"><a href="#训练数据量" class="headerlink" title="训练数据量"></a>训练数据量</h4><p>随着培训数据量的增加,我们注意到性能大幅提高。例如,将数据量增加一个数量级可将性能从27.6%提高到42.6%,绝对差异为15%。</p>
<p><strong>数据量增加,性能提升明显</strong></p>
<hr>
<h1 id="结论"><a href="#结论" class="headerlink" title="结论"></a>结论</h1><p>我们引入了高质量的注释合同数据集,以促进合同审查研究,并更好地了解NLP模型在高度专业化领域的表现。CUAD包含法律专家在41个标签上的超过13000个注释。我们评估了CUAD上的十种预训练语言模型,发现其性能很有希望,并且有很大的改进空间。我们发现数据是一个主要瓶颈,因为将数据量大幅减少了一个数量级,从而大大降低了性能,突出了CUAD大量注释的价值。我们还表明,性能受到模型设计的显着影响,这表明NLP社区的算法改进将有助于解决这一挑战。总体而言,CUAD可以加速研究,解决主要的现实世界问题,同时也可以作为更广泛地评估专业领域NLP模型的基准。<br>——感觉和摘要差不多</p>
</div>
<footer class="article-footer">
<a data-url="http://example.com/2021/12/10/CUAD/" data-id="ckx042zqi0001nwuvbapo8om4" class="article-share-link">Share</a>
<ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/none/" rel="tag">none</a></li></ul>
</footer>
</div>
</article>
<article id="post-hello-world" class="article article-type-post" itemscope itemprop="blogPost">
<div class="article-meta">
<a href="/2021/12/10/hello-world/" class="article-date">
<time datetime="2021-12-10T07:48:55.056Z" itemprop="datePublished">2021-12-10</time>
</a>
</div>
<div class="article-inner">
<header class="article-header">
<h1 itemprop="name">
<a class="article-title" href="/2021/12/10/hello-world/">Hello World</a>
</h1>
</header>
<div class="article-entry" itemprop="articleBody">
<p>Welcome to <a target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a target="_blank" rel="noopener" href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a target="_blank" rel="noopener" href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a target="_blank" rel="noopener" href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p>
<h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure>
<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/writing.html">Writing</a></p>
<h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure>
<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/server.html">Server</a></p>
<h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure>
<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/generating.html">Generating</a></p>
<h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure>
<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>
<h2 id="hexo使用步骤:"><a href="#hexo使用步骤:" class="headerlink" title="hexo使用步骤:"></a>hexo使用步骤:</h2><ol>
<li>创建一个文件夹blog</li>
<li>在文件夹下git bash,输入npm install -g hexo-cli</li>
<li>初始化一下blog<br>hexo init blog(blog可以随意取名字)</li>
<li>然后新建一篇博客,hexo new test_name</li>
<li>hexo g</li>
<li>hexo s</li>
<li>完成后,打开浏览器输入地址:<br>localhost:4000<br>可以看到第一篇blog了,名字就是test_name</li>
<li>设置推送网站,在站点的配置文件_config.yml中将hexo和github关联<br>deploy:<br>type: git<br>repo: 这里填入你之前在GitHub上创建仓库的完整路径,记得加上 .git<br>branch: master<br>保存<br>这一步给hexo d 这个命令做相应的配置,让hexo知道你要把blog部署在哪个位置</li>
<li>安装Git部署插件:npm install hexo-deployer-git –save</li>
<li>输入三条命令<br>hexo clean<br>hexo g<br>hexo d<br>这个时候,访问amei0211.github.io就可以访问个人网站了</li>
<li>然后在阿里云买了一个域名,添加解析。</li>
<li>在blog/source下创建CNAME,写下买的域名<br>hexo clean<br>hexo g<br>hexo d<br>就可以用自己买的域名了</li>
<li>更换主题:<a target="_blank" rel="noopener" href="https://hexo.io/themes/">https://hexo.io/themes/</a><br>主题会下载到blog目录的themes主题下,打开_config.yml配置文件,修改主题即可<br>目前就是这些步骤啦~~blog</li>
</ol>
</div>
<footer class="article-footer">
<a data-url="http://example.com/2021/12/10/hello-world/" data-id="ckx042zqd0000nwuv7ttngh2x" class="article-share-link">Share</a>
</footer>
</div>
</article>
</section>
<aside id="sidebar">
<div class="widget-wrap">
<h3 class="widget-title">Tags</h3>
<div class="widget">
<ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="/tags/none/" rel="tag">none</a></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Tag Cloud</h3>
<div class="widget tagcloud">
<a href="/tags/none/" style="font-size: 10px;">none</a>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Archives</h3>
<div class="widget">
<ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/12/">December 2021</a></li></ul>
</div>
</div>
<div class="widget-wrap">
<h3 class="widget-title">Recent Posts</h3>
<div class="widget">
<ul>
<li>
<a href="/2021/12/10/CUAD/">CUAD</a>
</li>
<li>
<a href="/2021/12/10/hello-world/">Hello World</a>
</li>
</ul>
</div>
</div>
</aside>
</div>
<footer id="footer">
<div class="outer">
<div id="footer-info" class="inner">
© 2021 John Doe<br>
Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
</div>
</div>
</footer>
</div>
<nav id="mobile-nav">
<a href="/" class="mobile-nav-link">Home</a>
<a href="/archives" class="mobile-nav-link">Archives</a>
</nav>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
<script src="/fancybox/jquery.fancybox.pack.js"></script>
<script src="/js/script.js"></script>
</div>
</body>
</html>