谷歌推出的Bert语言预处理模型的强大不必多说。而Bert-serving可以直接调用谷歌训练好的字向量,然后很轻松就可以生成我们需要的词向量。这对于我们nlp的追随者来说实验又简单了不少。我今天利用Bert-serving调用词向量,并对三种不同类型的词语进行聚类,然后可视化。
bert-serving的安装我就不说了,很多教程都有。我直接贴出调用词向量的代码。例如我想得到“人工智能”的词向量。
![5f576edd6a845de50c3c94a505da44ca.png](https://i-blog.csdnimg.cn/blog_migrate/36b2acb81f656945b2e08f6e449e76e6.jpeg)
很简单吧,简单的几行代码就能得到相应的词向量并且输出出来。我们得到的词向量维度是768维的。我上面是生成了一个词的词向量,那多个词呢?很简单, 在集合里添加就行,如下图所示。
![e28633741d2f2637d084a98280e80909.png](https://i-blog.csdnimg.cn/blog_migrate/b7464884ed829052c763c4ca096c484d.jpeg)
所以,如果我们想对很多语料生成词向量的话,只需将这些语料一条条的放到一个集合中就可以啦。有了词向量我们就可以拿它来做我们想做的事情了:文本分类、情感分析、实体识别、数据聚类等等等。接下来我今天使用Bert生成的词向量,然后利用K-means聚类算法对词语进行聚类然后可视化。
我使用了https://github.com/fighting41love/funNLP Git