Commit 0163aa74 by xiaotong

minor updates

parent 1c155b41
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
\begin{itemize} \begin{itemize}
\item 自然语言翻译问题的复杂性极高。语言是人类进化的最高成就之一,自然语言具有高度的概括性、灵活性、丰富性,这些都很难用几个简单的模型和算法描述出来,因此翻译问题的数学建模和计算机程序实现难度很大。虽然近几年Alpha Go等人工智能系统在围棋等领域取得了令人瞩目的成绩,但是相比翻译来说,围棋等棋类任务仍然``简单'',比如,对于一个句子,其潜在的译文几乎是不可穷尽的,即使同一句话不同人的理解也不尽相同,甚至在翻译一个句子、一个单词的时候,要考虑整个篇章的上下文语境,这些问题都不是传统棋类任务所具备的。 \item 自然语言翻译问题的复杂性极高。语言是人类进化的最高成就之一,自然语言具有高度的概括性、灵活性、丰富性,这些都很难用几个简单的模型和算法描述出来,因此翻译问题的数学建模和计算机程序实现难度很大。虽然近几年Alpha Go等人工智能系统在围棋等领域取得了令人瞩目的成绩,但是相比翻译来说,围棋等棋类任务仍然``简单'',比如,对于一个句子,其潜在的译文几乎是不可穷尽的,即使同一句话不同人的理解也不尽相同,甚至在翻译一个句子、一个单词的时候,要考虑整个篇章的上下文语境,这些问题都不是传统棋类任务所具备的。
\vspace{0.5em} \vspace{0.5em}
\item 计算机的``理解''与人类的``理解''很难统一。人类一直希望把自己进行翻译所使用的知识描述出来,并用计算机程序进行实现,包括早期基于规则的机器翻译方法都源自这个思想。但是经过实践发现,人和计算机在``理解''自然语言上存在着鸿沟。首先,人类的语言能力是经过长时间多种外部环境因素共同刺激形成的,这种能力很难直接准确表达。也就是说人类的语言知识本身就很难描述,更不用说让计算机来理解;其次,人和机器翻译系统理解语言的目标不一样。人理解和使用语言是为了进行生活和工作,目标非常复杂,而机器翻译系统更多的是为了对某些数学上定义的目标函数进行优化。也就是说,机器翻译系统关注的是翻译这个单一目标,而并不是像人一样进行复杂的活动;此外,人和计算机的运行方式有着本质区别。人类语言能力的生物学机理与机器翻译系统所使用的计算模型本质上是不同的,机器翻译系统使用的是其自身能够理解的``知识'',比如,统计学上的词语表示。这种知识并不需要人来理解,当然计算机也并不必须要理解人是如何思考的。 \item 计算机的``理解''与人类的``理解''存在鸿沟。人类一直希望把自己进行翻译所使用的知识描述出来,并用计算机程序进行实现,包括早期基于规则的机器翻译方法都源自这个思想。但是经过实践发现,人和计算机在``理解''自然语言上存在着鸿沟。首先,人类的语言能力是经过长时间多种外部环境因素共同刺激形成的,这种能力很难直接准确表达。也就是说人类的语言知识本身就很难描述,更不用说让计算机来理解;其次,人和机器翻译系统理解语言的目标不一样。人理解和使用语言是为了进行生活和工作,目标非常复杂,而机器翻译系统更多的是为了对某些数学上定义的目标函数进行优化。也就是说,机器翻译系统关注的是翻译这个单一目标,而并不是像人一样进行复杂的活动;此外,人和计算机的运行方式有着本质区别。人类语言能力的生物学机理与机器翻译系统所使用的计算模型本质上是不同的,机器翻译系统使用的是其自身能够理解的``知识'',比如,统计学上的词语表示。这种知识并不需要人来理解,当然计算机也并不必须要理解人是如何思考的。
\vspace{0.5em} \vspace{0.5em}
\item 单一的方法无法解决多样的翻译问题。首先,语种的多样性会导致任意两种语言之间的翻译实际上都是不同的翻译任务。比如,世界上存在的语言不下几千种,如果任意两种语言进行互译就有上百万种翻译需求。虽然已经有研究者尝试用同一个框架甚至同一个翻译系统进行全语种的翻译,但是离真正可用还有相当的距离;此外,不同的领域,不同的应用场景对翻译也有不同的需求。比如,文学作品的翻译和新闻的翻译就有不同、口译和笔译也有不同,类似的情况不胜枚举。机器翻译需要适用多样的需求,这些又进一步增加了对翻译进行计算机建模的难度;还有,对于机器翻译来说,充足的高质量数据是必要的,但是不同语种、不同领域、不同应用场景所拥有数据量有明显差异,甚至很多语种几乎没有可用的数据,这时开发机器翻译系统的难度可想而知。注意,现在的机器翻译还无法像人类一样在学习少量样例的情况下进行举一反三,因此数据稀缺情况下的机器翻译也给我们提出了很大挑战。 \item 单一的方法无法解决多样的翻译问题。首先,语种的多样性会导致任意两种语言之间的翻译实际上都是不同的翻译任务。比如,世界上存在的语言不下几千种,如果任意两种语言进行互译就有上百万种翻译需求。虽然已经有研究者尝试用同一个框架甚至同一个翻译系统进行全语种的翻译,但是离真正可用还有相当的距离;此外,不同的领域,不同的应用场景对翻译也有不同的需求。比如,文学作品的翻译和新闻的翻译就有不同、口译和笔译也有不同,类似的情况不胜枚举。机器翻译需要适用多样的需求,这些又进一步增加了对翻译进行计算机建模的难度;还有,对于机器翻译来说,充足的高质量数据是必要的,但是不同语种、不同领域、不同应用场景所拥有数据量有明显差异,甚至很多语种几乎没有可用的数据,这时开发机器翻译系统的难度可想而知。注意,现在的机器翻译还无法像人类一样在学习少量样例的情况下进行举一反三,因此数据稀缺情况下的机器翻译也给我们提出了很大挑战。
\end{itemize} \end{itemize}
...@@ -590,6 +590,8 @@ His house is on the south bank of the river. ...@@ -590,6 +590,8 @@ His house is on the south bank of the river.
\parinterval 《机器学习》\cite{周志华2016机器学习}由南京大学教授周志华教授所著,作为机器学习领域入门教材,该书尽可能地涵盖了机器学习基础知识的各个方面,试图尽可能少地使用数学知识介绍机器学习方法与思想。在机器翻译中使用的很多机器学习概念和方法可以从该书中进行学习。 \parinterval 《机器学习》\cite{周志华2016机器学习}由南京大学教授周志华教授所著,作为机器学习领域入门教材,该书尽可能地涵盖了机器学习基础知识的各个方面,试图尽可能少地使用数学知识介绍机器学习方法与思想。在机器翻译中使用的很多机器学习概念和方法可以从该书中进行学习。
\parinterval 《神经网络与深度学习》{\color{red} 参考文献!}由复旦大学邱锡鹏教授所著,全面的介绍了神经网络和深度学习的基本概念和常用技术,同时涉及了许多深度学习的前沿方法。该书适合初学者阅读,同时又不失为一本面向专业人士的参考书。
\parinterval TensorFlow官网提供了一个有关神经机器翻译的教程,介绍了从数据处理开始如何利用TensorFlow工具从零搭建一个神经机器翻译系统以及如何解码,其地址为\url{https://www.tensorflow.org/tutorials/text/nmt\_with\_attention}。此外谷歌和Facebook也分别提供了基于序列到序列机器翻译模型的高级教程。谷歌的版本是基于TensorFlow实现,网址为:\url{https://github.com/tensorflow/nmt},Facebook的教程主要是基于PyTorch实现,网址为:\url{https://pytorch.org/tutorials/intermediate/seq2seq\_translation\_tutorial.html}。网站上也包含一些综述论文,其中详细的介绍了神经机器翻译的发展历程,问题定义以及目前遇到的问题。 \parinterval TensorFlow官网提供了一个有关神经机器翻译的教程,介绍了从数据处理开始如何利用TensorFlow工具从零搭建一个神经机器翻译系统以及如何解码,其地址为\url{https://www.tensorflow.org/tutorials/text/nmt\_with\_attention}。此外谷歌和Facebook也分别提供了基于序列到序列机器翻译模型的高级教程。谷歌的版本是基于TensorFlow实现,网址为:\url{https://github.com/tensorflow/nmt},Facebook的教程主要是基于PyTorch实现,网址为:\url{https://pytorch.org/tutorials/intermediate/seq2seq\_translation\_tutorial.html}。网站上也包含一些综述论文,其中详细的介绍了神经机器翻译的发展历程,问题定义以及目前遇到的问题。
\parinterval \url{http://www.statmt.org}是一个介绍机器翻译研究的网站,该网站包含了对统计机器翻译研究的一些介绍资料,一些自然语言处理的会议和workshop,常用工具以及语料库。\url{http://www.mt-archive.info}\url{https://www.aclweb.org/anthology}\\网站上有许多介绍机器翻译和自然语言处理的论文。通过这个网站可以了解到自然语言处理领域的一些重要的会议,比如与机器翻译相关的国际会议有: \parinterval \url{http://www.statmt.org}是一个介绍机器翻译研究的网站,该网站包含了对统计机器翻译研究的一些介绍资料,一些自然语言处理的会议和workshop,常用工具以及语料库。\url{http://www.mt-archive.info}\url{https://www.aclweb.org/anthology}\\网站上有许多介绍机器翻译和自然语言处理的论文。通过这个网站可以了解到自然语言处理领域的一些重要的会议,比如与机器翻译相关的国际会议有:
...@@ -621,6 +623,7 @@ His house is on the south bank of the river. ...@@ -621,6 +623,7 @@ His house is on the south bank of the river.
\end{itemize} \end{itemize}
\vspace{0.5em} \vspace{0.5em}
除了会议之外,《Computational Linguistics》、《Machine Translation》、《Transactions of the Association for Computational Linguistics》等期刊也发表了许多与机器翻译相关的重要论文。
......
...@@ -189,7 +189,7 @@ ...@@ -189,7 +189,7 @@
\centering \centering
\input{./Chapter2/Figures/figure-schematic-chain-rule} \input{./Chapter2/Figures/figure-schematic-chain-rule}
\setlength{\belowcaptionskip}{-1cm} \setlength{\belowcaptionskip}{-1cm}
\caption{A,B,C,D,E关系图} \caption{事件A,B,C,D,E之间的关系图}
\label{fig:2.2-3} \label{fig:2.2-3}
\end{figure} \end{figure}
%------------------------------------------- %-------------------------------------------
...@@ -901,7 +901,7 @@ c_{\textrm{KN}}(\cdot) & = & \begin{cases} \textrm{count}(\cdot)\quad \textrm{fo ...@@ -901,7 +901,7 @@ c_{\textrm{KN}}(\cdot) & = & \begin{cases} \textrm{count}(\cdot)\quad \textrm{fo
\parinterval 我们前面提到Kneser-Ney Smoothing 是当前一个标准的、广泛采用的、先进的平滑算法。还有很多基于此为基础衍生出来的算法,有兴趣的读者可以查找更多资料了解。\cite{parsing2009speech}\cite{ney1994structuring}\cite{chen1999empirical} \parinterval 我们前面提到Kneser-Ney Smoothing 是当前一个标准的、广泛采用的、先进的平滑算法。还有很多基于此为基础衍生出来的算法,有兴趣的读者可以查找更多资料了解。\cite{parsing2009speech}\cite{ney1994structuring}\cite{chen1999empirical}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{句法分析(短语结构)}\index{Chapter2.5} \section{句法分析(短语结构分析}\index{Chapter2.5}
\parinterval 通过前面两节的内容,我们已经了解什么叫做``词''、如何对分词问题进行统计建模。同时也了解了如何对词序列的概率用统计语言模型进行描述。无论是分词还是语言模型都是句子浅层词串信息的一种表示。对于一个自然语言句子来说,它更深层次的结构信息可以通过句法信息来描述,而句法信息也是机器翻译和自然语言处理其它任务中常用的知识源之一。本节将会对相关概念进行介绍。 \parinterval 通过前面两节的内容,我们已经了解什么叫做``词''、如何对分词问题进行统计建模。同时也了解了如何对词序列的概率用统计语言模型进行描述。无论是分词还是语言模型都是句子浅层词串信息的一种表示。对于一个自然语言句子来说,它更深层次的结构信息可以通过句法信息来描述,而句法信息也是机器翻译和自然语言处理其它任务中常用的知识源之一。本节将会对相关概念进行介绍。
......
...@@ -207,9 +207,9 @@ ...@@ -207,9 +207,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{(三)如何从大量的双语平行数据中学习?}\index{Chapter3.2.3.3} \subsubsection{(三)如何从大量的双语平行数据中学习?}\index{Chapter3.2.3.3}
\parinterval 上面提到的方法需要能在更多的句子上使用。假设,有$N$个互译句对$(\mathbf{s}^1,\mathbf{t}^1)$,...,\\$(\mathbf{s}^N,\mathbf{t}^N)$。这时,我们仍然可以使用基于相对频度的方法进行概率估计,具体方法如下: \parinterval 上面提到的方法需要能在更多的句子上使用。假设,有$N$个互译句对$(\mathbf{s}^{[1]},\mathbf{t}^{[1]})$,...,\\$(\mathbf{s}^{[N]},\mathbf{t}^{[N]})$。这时,我们仍然可以使用基于相对频度的方法进行概率估计,具体方法如下:
\begin{eqnarray} \begin{eqnarray}
\textrm{P}(x,y) = \frac{{\sum_{i=1}^{N} c(x,y;\mathbf{s}^i,\mathbf{t}^i)}}{\sum_{i=1}^{n}{{\sum_{x',y'} c(x',y';\mathbf{s}^i,\mathbf{t}^i)}}} \textrm{P}(x,y) = \frac{{\sum_{i=1}^{N} c(x,y;\mathbf{s}^{[i]},\mathbf{t}^{[i]})}}{\sum_{i=1}^{n}{{\sum_{x',y'} c(x',y';\mathbf{s}^{[i]},\mathbf{t}^{[i]})}}}
\label{eqC3.5-new} \label{eqC3.5-new}
\end{eqnarray} \end{eqnarray}
...@@ -228,11 +228,11 @@ ...@@ -228,11 +228,11 @@
\label{example3-2} \label{example3-2}
\end{example} \end{example}
\parinterval 举个例子来说明在多个句子上计算单词翻译概率的方法。例\ref{example3-2}展示了一个由两个句对构成的平行语料库。我们用$\mathbf{s}^1$$\mathbf{s}^2$分别表示第一个句对和第二个句对的源语句子,$\mathbf{t}^1$$\mathbf{t}^2$表示对应的目标语句子。于是,``翻译''和``translation''的翻译概率为 \parinterval 举个例子来说明在多个句子上计算单词翻译概率的方法。例\ref{example3-2}展示了一个由两个句对构成的平行语料库。我们用$\mathbf{s}^{[1]}$$\mathbf{s}^{[2]}$分别表示第一个句对和第二个句对的源语言句子,$\mathbf{t}^{[1]}$$\mathbf{t}^{[2]}$表示对应的目标语言句子。于是,``翻译''和``translation''的翻译概率为
{\small {\small
\begin{eqnarray} \begin{eqnarray}
{\textrm{P}(\textrm{``翻译''},\textrm{``translation''})} & = & {\frac{c(\textrm{``翻译''},\textrm{``translation''};\mathbf{s}^{1},\mathbf{t}^{1})+c(\textrm{``翻译''},\textrm{``translation''};\mathbf{s}^{2},\mathbf{t}^{2})}{\sum_{x',y'} c(x',y';\mathbf{s}^{1},\mathbf{t}^{1}) + \sum_{x',y'} c(x',y';\mathbf{s}^{2},\mathbf{t}^{2})}} \nonumber \\ {\textrm{P}(\textrm{``翻译''},\textrm{``translation''})} & = & {\frac{c(\textrm{``翻译''},\textrm{``translation''};\mathbf{s}^{[1]},\mathbf{t}^{[1]})+c(\textrm{``翻译''},\textrm{``translation''};\mathbf{s}^{[2]},\mathbf{t}^{[2]})}{\sum_{x',y'} c(x',y';\mathbf{s}^{[1]},\mathbf{t}^{[1]}) + \sum_{x',y'} c(x',y';\mathbf{s}^{[2]},\mathbf{t}^{[2]})}} \nonumber \\
& = & \frac{4 + 1}{|\mathbf{s}^{1}| \times |\mathbf{t}^{1}| + |\mathbf{s}^{2}| \times |\mathbf{t}^{2}|} \nonumber \\ & = & \frac{4 + 1}{|\mathbf{s}^{[1]}| \times |\mathbf{t}^{[1]}| + |\mathbf{s}^{[2]}| \times |\mathbf{t}^{[2]}|} \nonumber \\
& = & \frac{4 + 1}{9 \times 7 + 5 \times 7} \nonumber \\ & = & \frac{4 + 1}{9 \times 7 + 5 \times 7} \nonumber \\
& = & \frac{5}{98} & = & \frac{5}{98}
\label{eqC3.6-new} \label{eqC3.6-new}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -99,110 +99,4 @@ ...@@ -99,110 +99,4 @@
\indexentry{Chapter5.2|hyperpage}{134} \indexentry{Chapter5.2|hyperpage}{134}
\indexentry{Chapter5.2.1|hyperpage}{134} \indexentry{Chapter5.2.1|hyperpage}{134}
\indexentry{Chapter5.2.1.1|hyperpage}{135} \indexentry{Chapter5.2.1.1|hyperpage}{135}
\indexentry{Chapter5.2.1.2|hyperpage}{136} \in
\indexentry{Chapter5.2.1.3|hyperpage}{136} \ No newline at end of file
\indexentry{Chapter5.2.1.4|hyperpage}{137}
\indexentry{Chapter5.2.1.5|hyperpage}{138}
\indexentry{Chapter5.2.1.6|hyperpage}{139}
\indexentry{Chapter5.2.2|hyperpage}{140}
\indexentry{Chapter5.2.2.1|hyperpage}{141}
\indexentry{Chapter5.2.2.2|hyperpage}{141}
\indexentry{Chapter5.2.2.3|hyperpage}{142}
\indexentry{Chapter5.2.2.4|hyperpage}{143}
\indexentry{Chapter5.2.3|hyperpage}{144}
\indexentry{Chapter5.2.3.1|hyperpage}{144}
\indexentry{Chapter5.2.3.2|hyperpage}{146}
\indexentry{Chapter5.2.4|hyperpage}{148}
\indexentry{Chapter5.3|hyperpage}{151}
\indexentry{Chapter5.3.1|hyperpage}{151}
\indexentry{Chapter5.3.1.1|hyperpage}{151}
\indexentry{Chapter5.3.1.2|hyperpage}{153}
\indexentry{Chapter5.3.1.3|hyperpage}{154}
\indexentry{Chapter5.3.2|hyperpage}{155}
\indexentry{Chapter5.3.3|hyperpage}{156}
\indexentry{Chapter5.3.4|hyperpage}{160}
\indexentry{Chapter5.3.5|hyperpage}{161}
\indexentry{Chapter5.4|hyperpage}{162}
\indexentry{Chapter5.4.1|hyperpage}{163}
\indexentry{Chapter5.4.2|hyperpage}{164}
\indexentry{Chapter5.4.2.1|hyperpage}{165}
\indexentry{Chapter5.4.2.2|hyperpage}{167}
\indexentry{Chapter5.4.2.3|hyperpage}{169}
\indexentry{Chapter5.4.3|hyperpage}{172}
\indexentry{Chapter5.4.4|hyperpage}{174}
\indexentry{Chapter5.4.4.1|hyperpage}{174}
\indexentry{Chapter5.4.4.2|hyperpage}{175}
\indexentry{Chapter5.4.4.3|hyperpage}{175}
\indexentry{Chapter5.4.5|hyperpage}{177}
\indexentry{Chapter5.4.6|hyperpage}{178}
\indexentry{Chapter5.4.6.1|hyperpage}{179}
\indexentry{Chapter5.4.6.2|hyperpage}{181}
\indexentry{Chapter5.4.6.3|hyperpage}{182}
\indexentry{Chapter5.5|hyperpage}{184}
\indexentry{Chapter5.5.1|hyperpage}{184}
\indexentry{Chapter5.5.1.1|hyperpage}{185}
\indexentry{Chapter5.5.1.2|hyperpage}{187}
\indexentry{Chapter5.5.1.3|hyperpage}{188}
\indexentry{Chapter5.5.1.4|hyperpage}{189}
\indexentry{Chapter5.5.2|hyperpage}{190}
\indexentry{Chapter5.5.2.1|hyperpage}{190}
\indexentry{Chapter5.5.2.2|hyperpage}{190}
\indexentry{Chapter5.5.3|hyperpage}{192}
\indexentry{Chapter5.5.3.1|hyperpage}{192}
\indexentry{Chapter5.5.3.2|hyperpage}{194}
\indexentry{Chapter5.5.3.3|hyperpage}{194}
\indexentry{Chapter5.5.3.4|hyperpage}{195}
\indexentry{Chapter5.5.3.5|hyperpage}{196}
\indexentry{Chapter5.6|hyperpage}{196}
\indexentry{Chapter6.1|hyperpage}{199}
\indexentry{Chapter6.1.1|hyperpage}{201}
\indexentry{Chapter6.1.2|hyperpage}{203}
\indexentry{Chapter6.1.3|hyperpage}{206}
\indexentry{Chapter6.2|hyperpage}{208}
\indexentry{Chapter6.2.1|hyperpage}{208}
\indexentry{Chapter6.2.2|hyperpage}{209}
\indexentry{Chapter6.2.3|hyperpage}{210}
\indexentry{Chapter6.2.4|hyperpage}{211}
\indexentry{Chapter6.3|hyperpage}{212}
\indexentry{Chapter6.3.1|hyperpage}{214}
\indexentry{Chapter6.3.2|hyperpage}{216}
\indexentry{Chapter6.3.3|hyperpage}{220}
\indexentry{Chapter6.3.3.1|hyperpage}{220}
\indexentry{Chapter6.3.3.2|hyperpage}{220}
\indexentry{Chapter6.3.3.3|hyperpage}{222}
\indexentry{Chapter6.3.3.4|hyperpage}{223}
\indexentry{Chapter6.3.3.5|hyperpage}{225}
\indexentry{Chapter6.3.4|hyperpage}{225}
\indexentry{Chapter6.3.4.1|hyperpage}{226}
\indexentry{Chapter6.3.4.2|hyperpage}{227}
\indexentry{Chapter6.3.4.3|hyperpage}{230}
\indexentry{Chapter6.3.5|hyperpage}{232}
\indexentry{Chapter6.3.5.1|hyperpage}{233}
\indexentry{Chapter6.3.5.2|hyperpage}{233}
\indexentry{Chapter6.3.5.3|hyperpage}{234}
\indexentry{Chapter6.3.5.4|hyperpage}{234}
\indexentry{Chapter6.3.5.5|hyperpage}{235}
\indexentry{Chapter6.3.5.5|hyperpage}{236}
\indexentry{Chapter6.3.6|hyperpage}{237}
\indexentry{Chapter6.3.6.1|hyperpage}{239}
\indexentry{Chapter6.3.6.2|hyperpage}{240}
\indexentry{Chapter6.3.6.3|hyperpage}{241}
\indexentry{Chapter6.3.7|hyperpage}{242}
\indexentry{Chapter6.4|hyperpage}{244}
\indexentry{Chapter6.4.1|hyperpage}{245}
\indexentry{Chapter6.4.2|hyperpage}{246}
\indexentry{Chapter6.4.3|hyperpage}{249}
\indexentry{Chapter6.4.4|hyperpage}{251}
\indexentry{Chapter6.4.5|hyperpage}{252}
\indexentry{Chapter6.4.6|hyperpage}{253}
\indexentry{Chapter6.4.7|hyperpage}{255}
\indexentry{Chapter6.4.8|hyperpage}{256}
\indexentry{Chapter6.4.9|hyperpage}{257}
\indexentry{Chapter6.4.10|hyperpage}{260}
\indexentry{Chapter6.5|hyperpage}{260}
\indexentry{Chapter6.5.1|hyperpage}{261}
\indexentry{Chapter6.5.2|hyperpage}{261}
\indexentry{Chapter6.5.3|hyperpage}{262}
\indexentry{Chapter6.5.4|hyperpage}{262}
\indexentry{Chapter6.5.5|hyperpage}{263}
\indexentry{Chapter6.6|hyperpage}{264}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论