提交 ec0bca86 编写于 作者: W wizardforcel

2020-09-16 16:05:22

上级 bdfdbed2
......@@ -298,9 +298,9 @@ $ python3 --version
## 在 Windows 上安装
如果使用 Windows,建议您使用 Python 3 的`SciPy-stack`兼容发行版。Anaconda 非常流行并且易于使用。 您可以在以下位置找到安装说明: [https://www.continuum.io/downloads](https://www.continuum.io/downloads)
如果使用 Windows,建议您使用 Python 3 的`SciPy-stack`兼容发行版。Anaconda 非常流行并且易于使用。 [您可以在以下位置找到安装说明](https://www.continuum.io/downloads)
如果要检查 Python 3 的其他`SciPy-stack`兼容发行版,可以在 [http://www.scipy.org/install.html](http://www.scipy.org/install.html) 中找到它们。 这些发行版的好处是它们附带了所有必需的软件包。 如果使用这些版本之一,则无需单独安装软件包。
如果要检查 Python 3 的其他`SciPy-stack`兼容发行版,可以在[这个页面](http://www.scipy.org/install.html)中找到它们。 这些发行版的好处是它们附带了所有必需的软件包。 如果使用这些版本之一,则无需单独安装软件包。
安装后,请像前面的 id 一样运行 check 命令:
......@@ -316,10 +316,10 @@ $ python3 --version
如果您使用 Ubuntu 或 Mac OS X,则安装这些软件包非常简单。 所有这些软件包都可以使用单行命令安装。 这是与相关的安装链接:
* NumPy: [http://docs.scipy.org/doc/numpy-1.10.1/user/install.html](http://docs.scipy.org/doc/numpy-1.10.1/user/install.html )
* SciPy: [http://www.scipy.org/install.html](http://www.scipy.org/install.html )
* scikit-learn: [http://scikit-learn.org/stable/install.html](http://scikit-learn.org/stable/install.html )
* matplotlib: [http://matplotlib.org/1.4.2/users/installing.html](http://matplotlib.org/1.4.2/users/installing.html )
* [NumPy](http://docs.scipy.org/doc/numpy-1.10.1/user/install.html)
* [SciPy](http://www.scipy.org/install.html)
* [scikit-learn](http://scikit-learn.org/stable/install.htmlx)
* [matplotlib](http://matplotlib.org/1.4.2/users/installing.html)
如果您使用的是 Windows,则应该已安装 Python 3 的`SciPy-stack`兼容版本。
......
......@@ -145,7 +145,7 @@ AI 可以协助生成候选药物(即要在医学上测试的分子),然
例如,Insilico Medicine 的 *young.ai* 项目可以准确地预测血液样本和照片中某人的寿命。 血液样本提供 21 种生物标志物,例如胆固醇水平,炎症标志物,血红蛋白计数和白蛋白水平,用作机器学习模型的输入。 模型的其他输入是种族和年龄,以及该人的照片。
有趣的是,到目前为止,任何人都可以通过访问 young.ai( [https://young.ai](https://young.ai)并提供所需信息来免费使用此服务。
有趣的是,到目前为止,任何人都可以通过访问 [young.ai](https://young.ai) 并提供所需信息来免费使用此服务。
**患者诊断**
......@@ -501,7 +501,6 @@ Lake Formation 还提供了集中式仪表板,管理员可以在其中管理
# 参考
1. 艾米丽(Emily)威灵厄姆(Willingham),*一台机器在诊断患病儿童方面获得很高的评价*,《科学美国人》,10 月 7 日。<sup></sup>,2019, [https://www.scientificamerican.com/article/ 一台机器获得高分以诊断生病的孩子/](https://www.scientificamerican.com/article/a-machine-gets-high-marks-for-diagnosing-sick-children/ )
2. 克拉克·杰克(Clark,Jack), *Google 将其获利的网络搜索转向了 AI 机器*,彭博社,10 月 26 日 <sup>th</sup> ,2015 年, [https://www.bloomberg.com/news/ articles / 2015-10-26 / google-turning-its-lucrative-web-search-to-ai-machines](https://www.bloomberg.com/news/articles/2015-10-26/google-turning-its-lucrative-web-search-over-to-ai-machines)
1. [https://www.michaelcaines.com/michael-caines/about-michael/](https://www.michaelcaines.com/michael-caines/about-michael/)
\ No newline at end of file
1. `Willingham, Emily, A Machine Gets High Marks for Diagnosing Sick Children, Scientific American, October 7th, 2019, https://www.scientificamerican.com/article/a-machine-gets-high-marks-for-diagnosing-sick-children/`
2. `Clark, Jack, Google Turning Its Lucrative Web Search Over to AI Machines, Bloomberg, October 26th, 2015, https://www.bloomberg.com/news/articles/2015-10-26/google-turning-its-lucrative-web-search-over-to-ai-machines`
1. <https://www.michaelcaines.com/michael-caines/about-michael/>
\ No newline at end of file
......@@ -32,9 +32,7 @@
* 模型需要的输入功能越少,说明它就越容易。 当特征数量增加时,模型的可解释性下降。 减少输入要素的数量还可以简化为较小尺寸(例如 2D 或 3D)时可视化数据的过程。
* 随着维数的增加,可能的配置呈指数增加,而观测值覆盖的配置数则减少。 随着您具有描述目标的更多功能,您也许可以更精确地描述数据,但是您的模型将不会使用新的数据点进行泛化-您的模型将过度拟合数据。 这就是维度的*诅咒。*
让我们通过一个例子直观地思考一下。 美国有一个房地产网站,允许房地产经纪人和房主列出出租房屋或出售房屋。 Zillow 因其 Zestimate 而闻名。 Zestimate 是使用机器学习的估计价格。 Zillow 估计,如果今天将其投放市场,房屋将要出售的价格。 Zestimates 会不断更新和重新计算。 Zillow 如何得出这个数字? 如果您想了解更多,可以在 Kaggle 上进行一场比赛,该比赛在 Zestimate 上有很多资源。 你可以在这里查询更多详情:
[https://www.kaggle.com/c/zillow-prize-1](https://www.kaggle.com/c/zillow-prize-1 )
让我们通过一个例子直观地思考一下。 美国有一个房地产网站,允许房地产经纪人和房主列出出租房屋或出售房屋。 Zillow 因其 Zestimate 而闻名。 Zestimate 是使用机器学习的估计价格。 Zillow 估计,如果今天将其投放市场,房屋将要出售的价格。 Zestimates 会不断更新和重新计算。 Zillow 如何得出这个数字? 如果您想了解更多,可以在 Kaggle 上进行一场比赛,该比赛在 Zestimate 上有很多资源。 [你可以在这里查询更多详情](https://www.kaggle.com/c/zillow-prize-1)
Zestimate 算法的确切细节是专有的,但是我们可以做一些假设。 现在,我们将开始探索如何提出自己的 Zestimate。 让我们为我们的机器学习模型列出潜在的输入变量,以及它们可能很有价值的原因:
......
......@@ -285,7 +285,7 @@ Logistic 回归是的一种技术,用于解释输入变量和输出变量之
* 它的派生更容易计算
* 将非线性引入模型的简单方法
它与广义线性模型分析密切相关,在广义线性模型分析中,我们尝试将一条线拟合到一堆点以最小化误差。 代替线性回归,我们使用逻辑回归。 Logistic 回归本身不是分类技术,但是以这种方式使用来促进分类。 由于其简单性,它通常在机器学习中使用。 让我们看看如何使用逻辑回归构建分类器。 在继续操作之前,请确保已安装软件包。 如果不是,则可以在这里找到: [https://docs.python.org/2/library/tkinter.html](https://docs.python.org/2/library/tkinter.html)
它与广义线性模型分析密切相关,在广义线性模型分析中,我们尝试将一条线拟合到一堆点以最小化误差。 代替线性回归,我们使用逻辑回归。 Logistic 回归本身不是分类技术,但是以这种方式使用来促进分类。 由于其简单性,它通常在机器学习中使用。 让我们看看如何使用逻辑回归构建分类器。 在继续操作之前,请确保已安装软件包。 如果不是,[则可以在这里找到](https://docs.python.org/2/library/tkinter.html)
创建一个新的 Python 文件并导入以下软件包:
......@@ -657,7 +657,7 @@ Co 位于下图:
# Cl 使用支持向量机将收入数据分类
我们将构建一个支持向量机分类器,根据 14 个属性预测给定人员的收入等级。 我们的目标是查看年收入是高于还是低于$ 50,000。 因此,这是一个二进制分类问题。 我们将使用 [https://archive.ics.uci.edu/ml/datasets/Census+Income](https://archive.ics.uci.edu/ml/datasets/Census+Income) 上提供的普查收入数据集。 此数据集中需要注意的一项是,每个数据点都是单词和数字的混合体。 我们不能使用原始格式的数据,因为算法不知道如何处理单词。 我们无法使用标签编码器来转换所有内容,因为数字数据很有价值。 因此,我们需要结合使用标签编码器和原始数值数据来构建有效的分类器。
我们将构建一个支持向量机分类器,根据 14 个属性预测给定人员的收入等级。 我们的目标是查看年收入是高于还是低于$ 50,000。 因此,这是一个二进制分类问题。 我们将使用[这个页面](https://archive.ics.uci.edu/ml/datasets/Census+Income)上提供的普查收入数据集。 此数据集中需要注意的一项是,每个数据点都是单词和数字的混合体。 我们不能使用原始格式的数据,因为算法不知道如何处理单词。 我们无法使用标签编码器来转换所有内容,因为数字数据很有价值。 因此,我们需要结合使用标签编码器和原始数值数据来构建有效的分类器。
创建一个新的 Python 文件并导入以下软件包:
......
......@@ -766,7 +766,7 @@ plt.show()
# 使用极为随机的森林回归器预测流量
让我们将在上一节中学习的概念应用于一个实际问题。 将使用位于的可用数据集: [https://archive.ics.uci.edu/ml/datasets/Dodgers+Loop+Sensor](https://archive.ics.uci.edu/ml/datasets/Dodgers+Loop+Sensor) 。 该数据集包含对在洛杉矶道奇体育场(Lod Angeles Dodgers Stadium)进行的棒球比赛中道路上经过的车辆进行计数的数据。 为了使数据易于分析,我们需要对其进行预处理。 预处理后的数据在文件`traffic_data.txt`中。 在此文件中,每一行均包含逗号分隔的字符串。 让我们以第一行为例:
让我们将在上一节中学习的概念应用于一个实际问题。 [我们将使用可用数据集](https://archive.ics.uci.edu/ml/datasets/Dodgers+Loop+Sensor)。 该数据集包含对在洛杉矶道奇体育场(Lod Angeles Dodgers Stadium)进行的棒球比赛中道路上经过的车辆进行计数的数据。 为了使数据易于分析,我们需要对其进行预处理。 预处理后的数据在文件`traffic_data.txt`中。 在此文件中,每一行均包含逗号分隔的字符串。 让我们以第一行为例:
```py
Tuesday,00:00,San Francisco,no,3
......
......@@ -483,7 +483,7 @@ for i in range(num_classes)])
classifier.fit(X_train)
```py
可视化分类器的边界 然后提取特征值和特征向量以估计如何在簇周围绘制椭圆边界 有关特征值和特征向量的快速更新请参阅 [https://math.mit.edu/~gs/linearalgebra/ila0601.pdf](https://math.mit.edu/~gs/linearalgebra/ila0601.pdf) 让我们继续进行以下绘制
可视化分类器的边界 然后提取特征值和特征向量以估计如何在簇周围绘制椭圆边界 有关特征值和特征向量的快速更新请参阅[这里](https://math.mit.edu/~gs/linearalgebra/ila0601.pdf) 让我们继续进行以下绘制
```
# Draw boundaries
......
......@@ -316,9 +316,7 @@ Predicted output: 1
要构建推荐系统,重要的是要了解如何比较数据集中的各种对象。 如果数据集由人物及其不同的电影喜好组成,那么为了提出建议,我们需要了解如何将任何两个人物相互比较。 这是相似度分数很重要的地方。 相似度得分给出了两个数据点相似度的想法。
此领域中经常使用两个分数-欧几里得分数和皮尔森分数。 **欧几里得分数** 使用两个数据点之间的欧几里得距离来计算分数。 如果需要快速了解欧几里德距离的计算方式,则可以转到:
[https://en.wikipedia.org/wiki/Euclidean_distance](https://en.wikipedia.org/wiki/Euclidean_distance )
此领域中经常使用两个分数-欧几里得分数和皮尔森分数。 **欧几里得分数** 使用两个数据点之间的欧几里得距离来计算分数。 如果需要快速了解欧几里德距离的计算方式,[则可以转到这里](https://en.wikipedia.org/wiki/Euclidean_distance)
欧几里得距离的值可以是无界的。 因此,我们采用该值并将其转换为欧几里得分数从 *0**1* 的范围。 如果两个对象之间的欧几里得距离较大,则欧几里得分数应较低,因为低分数表明对象不相似。 因此,欧几里得距离与欧几里得分数成反比。
......
......@@ -117,7 +117,7 @@ $ pip3 install logpy
$ pip3 install sympy
```
如果在`logpy`的安装过程中出现错误,则可以从 [https://github.com/logpy/logpy](https://github.com/logpy/logpy) 的源代码安装它。 一旦成功安装了这些软件包,就可以继续进行下一部分的。
如果在`logpy`的安装过程中出现错误,则可以从[这个页面](https://github.com/logpy/logpy)的源代码安装它。 一旦成功安装了这些软件包,就可以继续进行下一部分的。
# 匹配的数学表达式
......
......@@ -107,7 +107,7 @@ CSP 是数学上的问题,定义为一组必须满足一些约束的变量。
让我们看看如何使用贪婪搜索解决问题。 在此问题中,我们将尝试根据字母重新创建输入字符串。 我们将要求算法搜索解决方案空间并构建解决方案的路径。
在本章中,我们将使用名为`simpleai`的软件包。 它包含各种例程,这些例程可用于使用启发式搜索技术构建解决方案。 可在 [https://github.com/simpleai-team/simpleai](https://github.com/simpleai-team/simpleai) 上获得。 为了使它在 Python 3 中工作,我们需要对源代码进行一些更改。随同本书的代码一起提供了一个名为`simpleai.zip`的文件。 将此文件解压缩到名为`simpleai`的文件夹中。 此文件夹包含对原始库的所有必要更改,以使其能够在 Python 3 中工作。将`simpleai`文件夹与您的代码位于同一文件夹中,并将置于您的代码中 顺利。
在本章中,我们将使用名为`simpleai`的软件包。 它包含各种例程,这些例程可用于使用启发式搜索技术构建解决方案。 可在[这个页面](https://github.com/simpleai-team/simpleai)上获得。 为了使它在 Python 3 中工作,我们需要对源代码进行一些更改。随同本书的代码一起提供了一个名为`simpleai.zip`的文件。 将此文件解压缩到名为`simpleai`的文件夹中。 此文件夹包含对原始库的所有必要更改,以使其能够在 Python 3 中工作。将`simpleai`文件夹与您的代码位于同一文件夹中,并将置于您的代码中 顺利。
创建一个新的 Python 文件并导入以下软件包:
......@@ -488,7 +488,7 @@ if __name__=='__main__':
# 构建 8 难题求解器
8 拼图是 15 拼图的变体。 您可以在 [https://en.wikipedia.org/wiki/15_puzzle 上进行检查。](https://en.wikipedia.org/wiki/15_puzzle.) 您将看到一个随机的网格,目标是将其恢复为原始的有序配置。 您可以在 [http://mypuzzle.org/sliding](http://mypuzzle.org/sliding) 上玩游戏以熟悉。
8 拼图是 15 拼图的变体。 您可以在[这个页面](https://en.wikipedia.org/wiki/15_puzzle)上进行检查。 您将看到一个随机的网格,目标是将其恢复为原始的有序配置。 您可以在[这个页面](http://mypuzzle.org/sliding)上玩游戏以熟悉。
我们将使用和 **A *算法**解决此问题。 它是一种算法,用于在图中找到解决方案的路径。 该算法是 **Dijkstra 算法**和贪婪最佳优先搜索的组合。 A *算法不会盲目猜测下一步该怎么做,而是选择看起来最有前途的算法。 在每个节点上,生成所有可能性的列表,然后选择达到目标所需的最低成本的可能性。
......
......@@ -68,7 +68,7 @@
# 生成具有预定义参数的位模式
现在我们知道了 GA 的基本概念,下面让我们看看如何使用它来解决一些问题。 我们将使用一个名为`DEAP`的 Python 包。 您可以在 [http://deap.readthedocs.io/en/master](http://deap.readthedocs.io/en/master) 中找到的所有详细信息。 让我们继续运行以下命令来安装它:
现在我们知道了 GA 的基本概念,下面让我们看看如何使用它来解决一些问题。 我们将使用一个名为`DEAP`的 Python 包。 您可以在[这个页面](http://deap.readthedocs.io/en/master)中找到的所有详细信息。 让我们继续运行以下命令来安装它:
```py
$ pip3 install deap
......@@ -1144,7 +1144,7 @@ NaturalMotion 是由前牛津研究人员 Torsten Reil 和 Colm Massey 创立的
Endorphin 在电影*《王者归来》* 中首次亮相,这是用来使特别棘手的特技栩栩如生的电影。 但这仅仅是开始。 几个月后,该公司的机器人在 Ilium 平原上战斗致死,摔倒了沃尔夫冈·彼得森(Wolfgang Petersen)的电影 *Troy* 并摔倒了匕首。
来源: [https://www.naturalmotion.com/](https://www.naturalmotion.com/ )
来源: <https://www.naturalmotion.com/>
**电脑游戏**
......@@ -1152,7 +1152,7 @@ Endorphin 在电影*《王者归来》* 中首次亮相,这是用来使特别
威尔逊令人信服地证明,GP 可以产生可比的令人印象深刻的结果,甚至可能比深度学习更好。
来源: [https://github.com/d9w](https://github.com/d9w )
来源: <https://github.com/d9w>
**文件压缩**
......
......@@ -56,9 +56,7 @@ Alpha-Beta 修剪中的 Alpha 和 Beta 参数是指计算过程中使用的两
# 安装 easyAI 库
在本章中,我们将使用名为`easyAI`的库。 这是一个人工智能框架,它提供了构建两人游戏所需的所有功能。 您可以在此处了解的更多信息:
[http://zulko.github.io/easyAI](http://zulko.github.io/easyAI )
在本章中,我们将使用名为`easyAI`的库。 这是一个人工智能框架,它提供了构建两人游戏所需的所有功能。 [您可以在此处了解的更多信息](http://zulko.github.io/easyAI)
通过运行以下命令进行安装:
......@@ -66,9 +64,7 @@ Alpha-Beta 修剪中的 Alpha 和 Beta 参数是指计算过程中使用的两
$ pip3 install easyAI
```
为了使用某些预建例程,需要访问某些文件。 为了易于使用,本书随附的代码包含一个名为`easyAI`的文件夹。 确保将此文件夹放置在与代码文件相同的文件夹中。 此文件夹基本上是`easyAI` GitHub 存储库的子集,可在此处找到:
[https://github.com/Zulko/easyAI](https://github.com/Zulko/easyAI )
为了使用某些预建例程,需要访问某些文件。 为了易于使用,本书随附的代码包含一个名为`easyAI`的文件夹。 确保将此文件夹放置在与代码文件相同的文件夹中。 此文件夹基本上是`easyAI` GitHub 存储库的子集,[可在此处找到](https://github.com/Zulko/easyAI)
您可以遍历源代码以使自己更加熟悉。
......
......@@ -106,7 +106,7 @@ plt.show()
为了分析音频信号,我们需要了解基本的频率成分。 这使我们能够洞悉如何从该信号中提取有意义的信息。 音频信号由频率,相位和幅度不同的正弦波混合而成。
如果我们剖析频率分量,我们可以识别很多特征。 任何给定的音频信号的特征在于其在频谱中的分布。 为了将时域信号转换为频域,我们需要使用数学工具,例如**傅里叶变换**。 如果您需要快速学习傅立叶变换,请查看以下链接: [http://www.thefouriertransform.com](http://www.thefouriertransform.com) 。 让我们看看如何将音频信号从时域转换到频域。
如果我们剖析频率分量,我们可以识别很多特征。 任何给定的音频信号的特征在于其在频谱中的分布。 为了将时域信号转换为频域,我们需要使用数学工具,例如**傅里叶变换**。 如果您需要快速学习傅立叶变换,[请查看以下链接](http://www.thefouriertransform.com)。 让我们看看如何将音频信号从时域转换到频域。
创建一个新的 Python 文件并导入以下软件包:
......@@ -309,7 +309,7 @@ plt.show()
# 合成音调以产生音乐
前面的部分介绍了如何生成简单的单调,但意义不大。 它只是信号中的单个频率。 让我们使用该原理通过将不同的音调拼接在一起来合成音乐。 我们将使用诸如 *A**C**G**F* 之类的标准音来生成音乐。 为了查看这些标准音调的频率映射,请查看以下链接: [http://www.phy.mtu.edu/~suits/notefreqs.html](http://www.phy.mtu.edu/~suits/notefreqs.html)
前面的部分介绍了如何生成简单的单调,但意义不大。 它只是信号中的单个频率。 让我们使用该原理通过将不同的音调拼接在一起来合成音乐。 我们将使用诸如 *A**C**G**F* 之类的标准音来生成音乐。 为了查看这些标准音调的频率映射,[请查看以下链接](http://www.phy.mtu.edu/~suits/notefreqs.html)
让我们使用此信息来生成音乐信号。
......@@ -457,13 +457,9 @@ if __name__=='__main__':
我们学习了如何将时域信号转换为频域。 频域功能已在所有语音识别系统中广泛使用。 我们之前讨论的概念是对该概念的介绍,但实际的频域功能要复杂一些。 将信号转换到频域后,我们需要确保以特征向量的形式使用该信号。 这就是 **Mel 频率倒谱系数****MFCC** )的概念。 MFCC 是工具,用于从 g 偶数音频信号中提取频域特征。
为了从音频信号中提取频率特征,MFCC 首先提取功率谱。 然后,它使用滤波器组和**离散余弦变换****DCT** )提取特征。 如果您有兴趣进一步研究 MFCC,请查看以下链接:
为了从音频信号中提取频率特征,MFCC 首先提取功率谱。 然后,它使用滤波器组和**离散余弦变换****DCT** )提取特征。 如果您有兴趣进一步研究 MFCC,[请查看以下链接](http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs)
[http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs](http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs )
我们将使用一个名为`python_speech_features`的程序包来提取 MFCC 功能。 该软件包在这里可用:
[http://python-speech-features.readthedocs.org/en/latest](http://python-speech-features.readthedocs.org/en/latest )
我们将使用一个名为`python_speech_features`的程序包来提取 MFCC 功能。 [该软件包在这里可用](http://python-speech-features.readthedocs.org/en/latest)
为了易于使用,相关的文件夹已包含在代码包中。 您将在代码包中看到一个名为`features`的文件夹,其中包含使用此软件包所需的文件。 让我们看看如何提取 MFCC 功能。
......@@ -564,9 +560,9 @@ plt.show()
现在已经学习了分析语音信号的所有技术,让我们继续学习如何识别语音。 语音识别系统将音频信号作为输入并识别正在说的单词。 **隐藏的马尔可夫模型****HMM** )将用于此任务。
正如我们在上一章中讨论的那样,HMM 非常适合分析顺序数据。 音频信号是时间序列信号,是顺序数据的体现。 假定输出是由系统经过一系列隐藏状态生成的。 我们的目标是找出这些隐藏状态是什么,以便我们可以识别信号中的单词。 如果您有兴趣深入研究,请查看以下链接: [https://web.stanford.edu/~jurafsky/slp3/A.pdf](https://web.stanford.edu/~jurafsky/slp3/A.pdf)
正如我们在上一章中讨论的那样,HMM 非常适合分析顺序数据。 音频信号是时间序列信号,是顺序数据的体现。 假定输出是由系统经过一系列隐藏状态生成的。 我们的目标是找出这些隐藏状态是什么,以便我们可以识别信号中的单词。 如果您有兴趣深入研究,[请查看以下链接](https://web.stanford.edu/~jurafsky/slp3/A.pdf)
我们将使用名为`hmmlearn`的程序包来构建我们的语音识别系统。 您可以在此处了解更多信息: [http://hmmlearn.readthedocs.org/en/latest](http://hmmlearn.readthedocs.org/en/latest)
我们将使用名为`hmmlearn`的程序包来构建我们的语音识别系统。 [您可以在此处了解更多信息](http://hmmlearn.readthedocs.org/en/latest)
您可以通过运行以下命令来安装软件包:
......@@ -574,7 +570,7 @@ plt.show()
$ pip3 install hmmlearn
```
为了训练我们的语音识别系统,我们需要每个单词的音频文件数据集。 我们将使用 [https://code.google.com/archive/p/hmm-speech-recognition/downloads](https://code.google.com/archive/p/hmm-speech-recognition/downloads) 上可用的数据库。
为了训练我们的语音识别系统,我们需要每个单词的音频文件数据集。 我们将使用[这个页面](https://code.google.com/archive/p/hmm-speech-recognition/downloads)上可用的数据库。
为了易于使用,在代码包中为您提供了一个名为`data`的文件夹,其中包含所有这些文件。 该数据集包含七个不同的单词。 每个词都有一个与之关联的文件夹,每个文件夹有 15 个音频文件。
......
......@@ -33,7 +33,7 @@
$ pip3 install nltk
```
您可以在 [http://www.nltk.org](http://www.nltk.org) 上找到有关 NLTK 的更多信息。
您可以在[这个页面](http://www.nltk.org)上找到有关 NLTK 的更多信息。
为了访问 NLTK 提供的所​​有数据集,我们需要下载它。 通过键入以下内容打开 Python Shell:
......@@ -60,7 +60,7 @@ $ pip3 install gensim
$ pip3 install pattern
```
您可以在 [https://radimrehurek.com/gensim](https://radimrehurek.com/gensim) 上找到有关 gensim 的更多信息。 现在,您已经安装了 NLTK 和`gensim`,让我们继续进行 Discu 会话。
您可以在[这个页面](https://radimrehurek.com/gensim)上找到有关 gensim 的更多信息。 现在,您已经安装了 NLTK 和`gensim`,让我们继续进行 Discu 会话。
# 标记文本数据
......
......@@ -51,9 +51,7 @@
对于一般的 AI 尤其是聊天机器人,持续不断的发展在伦理上的影响是一个不变的话题。 随着聊天机器人变得越来越好,越来越像人类,当我们与聊天机器人而不是人类聊天时,监管机构可能会迫使企业披露信息。 这可能不是一个坏规则。 但是,我们可能会达到这样的地步:聊天机器人是如此出色,以至于尽管在一开始就进行了披露,但我们很快就会忘记,另一端是一台计算机,而不是理解我们并同情我们的人。
Google Duplex 是一个很好的聊天机器人听起来很自然的有力例子。 您应该可以在此处观看它的演示:
[https://www.youtube.com/watch?v=D5VN56jQMWM](https://www.youtube.com/watch?v=D5VN56jQMWM )
Google Duplex 是一个很好的聊天机器人听起来很自然的有力例子。 [您应该可以在此处观看它的演示](https://www.youtube.com/watch?v=D5VN56jQMWM)
顺便说一下,这项技术通常是可用的,如果您有 Android 手机或 iPhone,则应该可以使用它。
......@@ -213,9 +211,9 @@ Google 在机器学习和**自然语言处理**( **NLP** )中有着广泛的
**入门步骤**
1. 使用 Google 帐户在 [https://dialogflow.com](https://dialogflow.com) 免费注册。
1. 使用 Google 帐户在[这里](https://dialogflow.com)免费注册。
2. 为了使聊天机器人正常工作,您需要接受 DialogFlow 所请求的所有权限。 这样,您就可以管理 GCP 服务中的数据,并与 Google 助手集成。
3. 您可以通过 [https://console.dialogflow.com](https://console.dialogflow.com) 访问 DialogFlow 控制台。
3. 您可以通过[这里](https://console.dialogflow.com)访问 DialogFlow 控制台。
4. 最后,通过选择主要语言(以后可以添加其他语言)和 Google Project 标识符来创建新代理。 要启用结算和其他设置,需要使用 Google Cloud Console 中的项目名称。 如果您没有现有项目,请不要担心:创建一个新项目。
现在您已经注册并可以使用,让我们开始设置 DialogFlow。
......@@ -330,9 +328,7 @@ print("Fulfillment text:",
$ pip3 install Flask
```
要了解有关 Flask 的更多信息,您可以访问:
[https://pypi.org/project/Flask](https://pypi.org/project/Flask )
要了解有关 Flask 的更多信息,[您可以访问这里](https://pypi.org/project/Flask)
**使用 Flask** 创建 Webhook
......@@ -362,9 +358,7 @@ if __name__ == '__main__':
$ python app.py or FLASK_APP=hello.py flask run
```
如果您看到前面的输出,这将确认该应用程序的初始版本正在运行。 到目前为止,我们仅使用本地服务器,因此其他外部客户端无法通过 Internet 访问该服务器。 要将其集成为 DialogFlow 的 Webhook,我们需要将其部署在可以通过 Internet 访问的服务器上。 那就是 ngrok 工具出现的地方。可以在这里下载该工具:
[https://ngrok.io](https://ngrok.io )
如果您看到前面的输出,这将确认该应用程序的初始版本正在运行。 到目前为止,我们仅使用本地服务器,因此其他外部客户端无法通过 Internet 访问该服务器。 要将其集成为 DialogFlow 的 Webhook,我们需要将其部署在可以通过 Internet 访问的服务器上。 那就是 ngrok 工具出现的地方。[可以在这里下载该工具](https://ngrok.io)
要运行 ngrok,请使用以下命令:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册