天然语言处理入门小白从0开始学天然语言处理+学习笔记(一)

一、天然语言处理学习路径规划

  • 天然语言处理(NLP)开发环境搭建
  • 分词demo(搭建helloworld工程)
  • 案例:nlp实现预测天气冷暖感知度
  • ---案例需求和数据准备
  • ---可视化数据分析
  • ---KNN模型原理及欧式距离计算
  • ---KNN分类器模型实现
  • ---利用KNN分类器采访随机游客预测天气感知度
  • ---机器学习库sklearn实现预测天气冷暖感知度
  • 天然语言处理学习总结概括

二、天然语言处理(NLP)开发环境搭建

  • 天然语言处理通常用python语言,java其实也能够,反正每一个语言生态都有本身的相关NLP库
  • 开发环境千万个,萝卜青菜给有所爱,这里给搭建推荐用idea了java

    • 下载idea https://www.jetbrains.com/ide...python

      • 下载python语言插件(File->settings->plugins->marketplace->搜索:python选择python language那个)
      • 有了插件,就能够新建python项目了,先默认新建一个项目,好比:nlp

file

三、分词demo(搭建helloworld工程)

  1. 按照国际上的惯例,我们应该先写个hello world,体验一下python(但愿你们有python基础,没有也不要紧)
  2. NLP当中有个经常使用的技术,分词,咱也不会,用个第三方的试试
  3. jieba库是一款优秀的 Python 第三方中文分词库jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特色。
  • 精确模式:试图将语句最精确的切分,不存在冗余数据,适合作文本分析
  • 全模式:将语句中全部多是词的词语都切分出来,速度很快,可是存在冗余数据
  • 搜索引擎模式:在精确模式的基础上,对长词再次进行切分

上代码以前得安装这个分词包,秒级安装镜像pip install jieba -i https://pypi.douban.com/simple/
好,上代码:算法

import jieba;

str = "中国是工人阶级领导的以工农联盟为基础的人民民主专政的社会主义国家";

res = "  ".join(jieba.cut(str))

print(res)

运行效果以下:
file机器学习

四、案例:nlp实现预测天气冷暖感知度

4.一、案例需求及数据准备

file
file
上代码:ide

#coding=utf8

'''建立数据源、返回数据集和类标签'''
def creat_dataset():
    datasets = [[8,4,2],[7,1,1],[1,4,4],[3,0,5]]#数据集
    labels = ['很是热','很是热','通常热','很是热']#类标签
    return datasets,labels

if __name__ == '__main__':
    datasets,labels = creat_dataset()
    print(datasets,'\n',labels)

运行结果:
file工具

4.二、数据分析与可视化

上代码:学习

#coding=utf8
import numpy as np
from numpy import *
import matplotlib
import matplotlib.pyplot as plt
'''建立数据源、返回数据集和类标签'''
def creat_dataset():
    datasets = array([[8,4,2],[7,1,1],[1,4,4],[3,0,5]])#数据集
    labels = ['很是热','很是热','通常热','很是热']#类标签
    return datasets,labels

'''可视化数据分析'''
def analyse_data_plot(x,y):
    plt.scatter(x,y)
    plt.show()

if __name__ == '__main__':
    datasets,labels = creat_dataset()
    print('数据集:\n',datasets,'\n','类标签:\n',labels)

    '''数据可视化分析'''
    analyse_data_plot(datasets[:,0],datasets[:,1])

运行结果:
file搜索引擎

4.三、算法模型及原理

KNN模型原理及欧式距离计算

file
file
file
file
上代码:idea

#coding=utf8
import numpy as np
from numpy import *
import matplotlib
import matplotlib.pyplot as plt
'''建立数据源、返回数据集和类标签'''
def creat_dataset():
    datasets = array([[8,4,2],[7,1,1],[1,4,4],[3,0,5]])#数据集
    labels = ['很是热','很是热','通常热','很是热']#类标签
    return datasets,labels

'''可视化数据分析'''
def analyse_data_plot(x,y):
    plt.scatter(x,y)
    plt.show()

'''构造KNN分类器'''
#def knn_Classifier(newV,datasets,labels,2):
#1.获取新的样本数据
#2.获取样本库的数据
#3.选择K值
#4.计算样本数据与样本库数据之间的距离
#5.根据距离进行排序
#6.针对K个点,统计各个类别的数量
#7.投票机制,少数服从多数原则

'''欧氏距离计算:d²=(x1-x2)²+(y1-y2)²'''
def ComputerEuclideanDistance(x1,y1,x2,y2):
    d = math.sqrt(math.pow((x1-x2),2)+math.pow((y1-y2),2))
    return d
'''欧氏距离计算多维度支持'''
def EuclideanDistance(instance1,instance2,length):
    d=0
    for i in range(length):
        d += pow((instance1[i]-instance2[i]),2)
    return math.sqrt(d)
if __name__ == '__main__':

    #1.建立数据集和类标签
    datasets,labels = creat_dataset()
    print('数据集:\n',datasets,'\n','类标签:\n',labels)

    #2.数据可视化分析
    #analyse_data_plot(datasets[:,0],datasets[:,1])

    #3.1.欧式距离计算
    d = ComputerEuclideanDistance(2,4,8,2)
    print(d)

    #3.2.欧式距离计算
    d2 = EuclideanDistance([2,4],[8,2],2)
    print(d2)

    #3.3.欧式距离计算,可支持多维
    d3 = EuclideanDistance([2,4,9],[8,2,5],3)
    print(d3)

    #KNN分类器
    newV = [2,4,0]
    #knn_Classifier(newV,datasets,labels,2)

运行结果:
filespa

下一篇笔记分享学习以下内容

  • ---KNN分类器模型实现
  • ---利用KNN分类器采访随机游客预测天气感知度
  • ---机器学习库sklearn实现预测天气冷暖感知度
  • 天然语言处理学习总结概括
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
相关文章
相关标签/搜索