添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、基本文本处理技能

目前有三大主流分词方法: 基于字符串匹配 的分词方法、 基于理解 的分词方法和 基于统计 的分词方法。

实际应用中,常常 将字符串匹配分词和统计分词结合 使用,这样既体现了匹配分词速度快、效率高的优点,同时又能运用统计分词识别生词、自动消除歧义等方面的特点。

分词算法设计的基本原则:

  • 颗粒度越大越好 。用于进行 语义分析 的文本分词,单词的字数越多,所能表示的含义越确切。eg: “公安局长”可以分为“公安 局长”、“公安局 长”、“公安局长”都算对,但是要用于语义分析,则“公安局长”的分词结果最好.
  • 切分结果中非词典词越少越好,单字字典词数越少越好 。“非词典词”就是不包含在词典中的单字,而“单字字典词”指的是可以独立运用的单字。eg:“技术和服务”可切分为“技术 和服 务”,但“务”字无法独立成词,有1个非词典词;“技术 和 服务”其中“和”字可以单独成词(词典中要包含)有0个非词典词,因此选用后者。
  • 总体词数越少越好 ,在相同字数的情况下,总词数越少。
  • 1、分词匹配方法

    最大匹配法:最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数多少设计多个字典,然后根据字数分别从不同字典中进行扫描。下面以“我们在野生动物园玩”详细说明一下这几种匹配方法:

    (1)正向最大匹配法

    正向即从前往后取词,从7->1,每次减一个字,直到词典命中或剩下1个单字。
    第1轮扫描:
    第1次:“我们在野生动物”,扫描7字词典,无
    第2次:“我们在野生动”,扫描6字词典,无
    第6次:“我们”,扫描2字词典,有
    扫描中止,输出第1个词为“我们”,去除第1个词后开始第2轮扫描,即:
    第2轮扫描:
    第1次:“在野生动物园玩”,扫描7字词典,无
    第2次:“在野生动物园”,扫描6字词典,无
    第6次:“在野”,扫描2字词典,有
    扫描中止,输出第2个词为“在野”,去除第2个词后开始第3轮扫描,即:
    第3轮扫描:
    第1次:“生动物园玩”,扫描5字词典,无
    第2次:“生动物园”,扫描4字词典,无
    第3次:“生动物”,扫描3字词典,无
    第4次:“生动”,扫描2字词典,有
    扫描中止,输出第3个词为“生动”,第4轮扫描,即:
    第4轮扫描:
    第1次:“物园玩”,扫描3字词典,无
    第2次:“物园”,扫描2字词典,无
    第3次:“物”,扫描1字词典,无
    扫描中止,输出第4个词为“物”,非字典词数加1,开始第5轮扫描,即:
    第5轮扫描:
    第1次:“园玩”,扫描2字词典,无
    第2次:“园”,扫描1字词典,有
    扫描中止,输出第5个词为“园”,单字字典词数加1,开始第6轮扫描,即:
    第6轮扫描:
    第1次:“玩”,扫描1字字典词,有
    扫描中止,输出第6个词为“玩”,单字字典词数加1,整体扫描结束。

    结果 :正向最大匹配法,最终切分结果为:“我们/在野/生动/物/园/玩”,其中,单字字典词为2,非词典词为1。

    (2)反向最大匹配法

    逆向即从后往前取词,其他逻辑和正向相同。即:
    第1轮扫描:“在野生动物园玩”
    第1次:“在野生动物园玩”,扫描7字词典,无
    第2次:“野生动物园玩”,扫描6字词典,无
    第7次:“玩”,扫描1字词典,有
    扫描中止,输出“玩”,单字字典词加1,开始第2轮扫描
    第2轮扫描:“们在野生动物园”
    第1次:“们在野生动物园”,扫描7字词典,无
    第2次:“在野生动物园”,扫描6字词典,无
    第3次:“野生动物园”,扫描5字词典,有
    扫描中止,输出“野生动物园”,开始第3轮扫描
    第3轮扫描:“我们在”
    第1次:“我们在”,扫描3字词典,无
    第2次:“们在”,扫描2字词典,无
    第3次:“在”,扫描1字词典,有
    扫描中止,输出“在”,单字字典词加1,开始第4轮扫描
    第4轮扫描:“我们”
    第1次:“我们”,扫描2字词典,有
    扫描中止,输出“我们”,整体扫描结束。

    结果:逆向最大匹配法,最终切分结果为:“我们/在/野生动物园/玩”,其中,单字字典词为2,非词典词为0。

    (3)双向最大匹配法

    正向最大匹配法和逆向最大匹配法,都有其局限性 ==》双向最大匹配法,双向最大匹配法。
    即,两种算法都切一遍,然后根据大颗粒度词越多越好,非词典词和单字词越少越好的原则,选取其中一种分词结果输出。

    如:“我们在野生动物园玩”
    正向最大匹配法,最终切分结果为:“我们/在野/生动/物/园/玩”,其中,两字词3个,单字字典词为2,非词典词为1。

    逆向最大匹配法,最终切分结果为:“我们/在/野生动物园/玩”,其中,五字词1个,两字词1个,单字字典词为2,非词典词为0。

    非字典词:正向(1)>逆向(0)(越少越好)
    单字字典词:正向(2)=逆向(2)(越少越好)
    总词数:正向(6)>逆向(4)(越少越好)
    因此最终输出为逆向结果。

    2、词、字符频率统计

    python中 collections.Counter 模块
    新建两个txt文件,其内容分别为:

    word1.txt

    hello
    python
    goodbye
    python
    

    word2.txt

    python
    import os
    from collections import Counter
    sumsdata = []
    for fname in os.listdir(os.getcwd()):
        if os.path.isfile(fname) and fname.endswith('.txt'):
            with open(fname, "r") as fp:
                data = fp.readlines()
                fp.close()
            sumsdata += [line.strip().lower() for line in data]
    cnt = Counter()
    for word in sumsdata:
        cnt[word] += 1
    cnt=dict(cnt)
    for key, value in cnt.items():
        print(key + ":" + str(value))
    like:1
    python:3
    hello:1
    goodbye:1
    

    二、语言模型

    统计语言模型是一个单词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率 P(w_1,w_2,…,w_m) 。其实就是想办法找到一个概率分布,它可以表示任意一个句子或序列出现的概率。

    目前在自然语言处理相关应用非常广泛,如语音识别(speech recognition) , 机器翻译(machine translation), 词性标注(part-of-speech tagging), 句法分析(parsing)等。传统方法主要是基于统计学模型,最近几年基于神经网络的语言模型也越来越成熟。

    常见的方法有n-gram模型方法、决策树方法、最大熵模型方法、最大熵马尔科夫模型方法、条件随机域方法、神经网络方法,等等。

    1、n-gram模型:unigram、bigram、trigram

    为了解决自由参数数目过多的问题,引入了马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的n个词有关。基于上述假设的统计语言模型被称为N-gram语言模型

    当n取1、2、3时,n-gram模型分别称为unigram、bigram、trigram语言模型

  • unigram 一元分词,把句子分成一个一个的汉字
  • bigram 二元分词,把句子从头到尾每两个字组成一个词语,也叫一阶马尔科夫链
  • trigram 三元分词,把句子从头到尾每三个字组成一个词语,也叫二阶马尔科夫链
  • 2、文本矩阵化

    加载数据集->分词->生成词汇表->生成word_index->加载预训练词向量模型->生成词向量矩阵

    (1)分词——jieba

    jieba:https://github.com/fxsjy/jieba

    三种分词模式:

  • 精确模式,试图将句子最精确地切开,适合文本分析;
  • 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
  • import jieba
    # 全模式
    text = "我来到北京清华大学"
    seg_list = jieba.cut(text, cut_all=True)
    print(u"[全模式]: ", "/ ".join(seg_list))
    seg_list = jieba.cut(text, cut_all=False)
    print(u"[精确模式]: ", "/ ".join(seg_list))
    # 默认是精确模式
    seg_list = jieba.cut(text)
    print(u"[默认模式]: ", "/ ".join(seg_list))
    # 搜索引擎模式
    seg_list = jieba.cut_for_search(text)
    print(u"[搜索引擎模式]: ", "/ ".join(seg_list))
    
    [全模式]:  我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
    [精确模式]:  我/ 来到/ 北京/ 清华大学
    [默认模式]:  我/ 来到/ 北京/ 清华大学
    [搜索引擎模式]:  我/ 来到/ 北京/ 清华/ 华大/ 大学/ 清华大学
    

    (2)新词识别

    新词识别: “杭研”并没有在词典中,但是也被 Viterbi 算法识别出来了

    import jieba
    seg_list = jieba.cut("他来到了网易杭研大厦")
    print(u"[新词识别]: ", "/ ".join(seg_list))
    

    (3)自定义词典

    自定义词典,以便包含 jieba 词库中没有的词语(尤其是专有名称),以提升正确率。

    import jieba
    text = "故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等"
    # 全模式
    seg_list = jieba.cut(text, cut_all=True)
    print(u"[全模式: ]", "/ ".join(seg_list))
    # 精确模式
    seg_list = jieba.cut(text, cut_all=False)
    print(u"[精确模式: ]", "/".join(seg_list))
    # 搜索引擎模式
    seg_list = jieba.cut_for_search(text)
    print(u"[搜索引擎模式: ]", "/".join(seg_list))
    
    [全模式: ] 故宫/ 的/ 著名/ 著名景点/ 景点/ 包括/ 乾/ 清宫/ / / 太和/ 太和殿/ 和/ 黄/ 琉璃/ 琉璃瓦/ 等
    [精确模式: ] 故宫/的/著名景点/包括/乾/清宫/、/太和殿/和/黄/琉璃瓦/等
    [搜索引擎模式: ] 故宫/的/著名/景点/著名景点/包括/乾/清宫/、/太和/太和殿/和/黄/琉璃/琉璃瓦/等
    

    缺陷:jieba认出了专有名词”太和殿”,但没有认出”乾清宫”和”黄琉璃瓦”。

    设置自定义字典
    每一行分三部分,第一部分为词语,中间部分为词频,最后部分为词性(可省略,ns为地点名词),用空格隔开。如下所示。

    乾清宫 1 n
    黄琉璃瓦 1 n
    
    import jieba
    # 设置并加载自定义字典
    filename = './mydict.txt'
    jieba.load_userdict(filename)
    text = "故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等"
    # 全模式
    seg_list = jieba.cut(text, cut_all=True)
    print(u"[全模式: ]", "/ ".join(seg_list))
    # 精确模式
    seg_list = jieba.cut(text, cut_all=False)
    print(u"[精确模式: ]", "/".join(seg_list))
    # 搜索引擎模式
    seg_list = jieba.cut_for_search(text)
    print(u"[搜索引擎模式: ]", "/".join(seg_list))
    

    输出结果:新添加的两个专有名词已经被结巴分词工具辨别出来了。

    [全模式: ] 故宫/ 的/ 著名/ 著名景点/ 景点/ 包括/ 乾清宫/ 清宫/ / / 太和/ 太和殿/ 和/ 黄琉璃瓦/ 琉璃/ 琉璃瓦/ 等
    [精确模式: ] 故宫/的/著名景点/包括/乾清宫/、/太和殿/和/黄琉璃瓦/等
    [搜索引擎模式: ] 故宫/的/著名/景点/著名景点/包括/清宫/乾清宫/、/太和/太和殿/和/琉璃/琉璃瓦/黄琉璃瓦/等
    

    (4)关键词

    jieba.analyse.extract_tags(text, topK=)

    import jieba
    import jieba.analyse
    filename = './mydict.txt'
    jieba.load_userdict(filename)
    text = "故宫的著名景点包括乾清宫、太和殿和午门等。其中乾清宫非常精美,午门是紫禁城的正门,午门居中向阳。"
    seg_list = jieba.cut(text, cut_all=False)
    print (u"分词结果:")
    print ("/ ".join(seg_list))
    # 获取关键词
    keywords = jieba.analyse.extract_tags(text, topK=5)
    print(u"关键词: ")
    print(" ".join(keywords))
    
    分词结果:
    故宫/ 的/ 著名景点/ 包括/ 乾清宫/ 、/ 太和殿/ 和/ 午门/ 等/ 。/ 其中/ 乾清宫/ 非常/ 精美/ ,/ 午门/ 是/ 紫禁城/ 的/ 正门/ ,/ 午门/ 居中/ 向阳/ 。
    午门 乾清宫 著名景点 太和殿 向阳
    

    分析:输出结果按出现词频降序,在词频一样是,根据TF/IDF的升序输出。

    (5)去除停用词

    为节省存储空间和提高搜索效率,常会自动过滤某些字或词,eg:“的”、“是”、“而且”、“但是”、”非常“等。这些字或词被称为 stop words (停用词)

    在分词之前去除停用词,再进行分词。

    import jieba
    import jieba.analyse
    filename = './mydict.txt'
    jieba.load_userdict(filename)
    text = "故宫的著名景点包括乾清宫、太和殿和午门等。其中乾清宫非常精美,午门是紫禁城的正门,午门居中向阳。"
    stopwords = {}.fromkeys(['的', '包括', '等', '是'])
    seg_list = jieba.cut(text, cut_all=False)
    final = ''
    for seg in seg_list:
        if seg not in stopwords:
            final += seg
    print(final, '\n')
    seg_list1 = jieba.cut(final, cut_all=False)
    print("/ ".join(seg_list1))
    
    故宫著名景点乾清宫、太和殿和午门。其中乾清宫非常精美,午门紫禁城正门,午门居中向阳。
    故宫/ 著名景点/ 乾清宫/ 、/ 太和殿/ 和/ 午门/ 。/ 其中/ 乾清宫/ 非常/ 精美/ ,/ 午门/ 紫禁城/ 正门/ ,/ 午门/ 居中/ 向阳/ 。
    

    (6)构建词表

    def build_vocab(train_dir, vocab_dir, vocab_size=5000):
        """根据训练集构建词汇表,存储"""
        data_train, _ = read_file(train_dir)
        all_data = []
        for content in data_train:
            all_data.extend(content)
        counter = Counter(all_data)
        count_pairs = counter.most_common(vocab_size - 1)
        words, _ = list(zip(*count_pairs))
        # 添加一个 <PAD> 来将所有文本pad为同一长度
        words = ['<PAD>'] + list(words)
        open_file(vocab_dir, mode='w').write('\n'.join(words) + '\n')
    

    (7)文档向量化

    import jieba
    import pandas as pd
    from sklearn.feature_extraction.text import CountVectorizer
    # 读取停用词
    def read_stopword(filename):
        stopword = []
        fp = open(filename, 'r')
        for line in fp.readlines():
            stopword.append(line.replace('\n', ''))
        fp.close()
        return stopword
    # 切分数据,并删除停用词
    def cut_data(data, stopword):
        words = []
        for content in data['content']:
            word = list(jieba.cut(content))
            for w in list(set(word) & set(stopword)):
                while w in word:
                    word.remove(w)
            words.append(' '.join(word))
        data['content'] = words
        return data
    # 获取单词列表
    def word_list(data):
        all_word = []
        for word in data['content']:
            all_word.extend(word)
        all_word = list(set(all_word))
        return all_word
    # 计算文本向量
    def text_vec(data):
        count_vec = CountVectorizer(max_features=300, min_df=2)
        count_vec.fit_transform(data['content'])
        fea_vec = count_vec.transform(data['content']).toarray()
        return fea_vec
    if __name__ == '__main__':
        data = pd.read_csv('./cnews/cnews.test.txt', names=['title', 'content'], sep='\t')  # (10000, 2)
        data = data.head(50)
        stopword = read_stopword('stopword.txt')
        data = cut_data(data, stopword)
        fea_vec = text_vec(data)
        print(fea_vec)
    				学习笔记,,备忘录。。。内容来源:知乎:特征工程到底是什么?实际应用中的数据往往很多,并存在不相关的特性,特性之间也可能存在相互依赖。通过特征选择剔除不相关或冗余的特征,减少特征个数,减少运行时间的目...
    											来自:	 spring_willow的博客
    				为什么要做特征选取?构建词向量是为了表征一篇/段文本,方便对文本的分析、分类等操作。对于一个文本,词向量是一维向量,每个单元表征一个特征词。怎么获取这些特征词,简单粗暴的方法就是,对文本集(所有文本)...
    											来自:	 IT_bigstone的专栏
    				from: http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/Intro:过去数年间,DNN已经统治了模式识别领域,尤其在计算...
    											来自:	 Bowie's blog
    				学习笔记,备忘录。。。来源:特征工程到底是什么?离散特征值离散特征值有两种数据类型:取值大小有意义:eg.尺寸:L,XL,XXL将大小值通过字典进行存储取值大小无意义:eg.颜色:红、黄、蓝使用get...
    											来自:	 spring_willow的博客
    				情感分析的基本方法有:词法分析,基于机器学习的分析,混合分析词法分析运用了由预标记词汇组成的词典,使用词法分析器将输入文本转换为单词序列,将每个新的单词与字典中的词汇进行匹配。机器学习方法的关键是合适...
    											来自:	 t_zht的博客
    				词袋表示文本分析是机器学习算法的主要应用领域。然而,原始数据,一串符号序列不能直接送到算法本身,因为大多数算法期望具有固定大小的数字特征向量而不是具有可变长度的原始文本文档。为了解决这个问题,scik...
    											来自:	 xiexie1357的专栏
    				数据集:THUCNews(中)、IMDB数据集(英)任务描述:基本文本处理技能,中英文字符串处理,分词,词、字符频率统计。语言模型:unigram、bigram、trigram频率统计。英文数据处理过...
    											来自:	 hongyesuifeng的博客
    				课程介绍NLP作为AI技术领域中重要的分支,随着其技术应用范围不断扩大,在数据处理领域占有越来越重要的地位。本达人课,作为中文自然语言处理边学边实战的入门级教程,以小数据量的“简易版”实例,通过实战带...
    											来自:	 GitChat
    				RNN简介序列建模方法展开计算图循环神经网络每个时间步都有输出并且隐藏单元之间有循环连接的循环网络每个时间步都有输出当前时刻的输出到下个时刻的隐藏单元之间有连接的循环网络隐藏单元之间存在循环连接读取整...
    											来自:	 DFan的NoteBook
    				一、前言打算写一个系列的关于自然语言处理技术的文章《PythonNLP完整项目实战》,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目案例展开:汽车投...
    											来自:	 阿尔法胖哥
    				假设我们刚看完诺兰的大片《星际穿越》,设想如何让机器来自动分析各位观众对电影的评价到底是“赞”(positive)还是“踩”(negative)呢?这类问题就属于情感分析问题。这类问题处理的第一步,就...
    											来自:	 无限大地NLP_空木的专栏
    				karpathy/char-rnn·GitHub:一个基于RNN的文本生成器。可以自动生成莎士比亚的剧本或者shell代码。https://github.com/karpathy/char-rnnph...
    											来自:	 平原2018的博客
    				摘要:keras开发,tf为后端;采用了两个样本(ChnSentiCorp_htl_ba_2000与imdb),三个神经网络的试探性运行(全连接的一般神经网络NN,LSTM,CNN),感觉keras比...
    											来自:	 ld326的专栏
    				项目github地址:https://github.com/liangzhicheng120/nlp一、简介本工具是由复旦NLP中的时间分析功能修改而来,做了一些细节和功能的优化,经SpringBoo...
    											来自:	 两只橙的博客
    				1、one-hotencoding用如下所示表示www字符[0,0,…,1,…,0,0]|V|elements[0,0,…,1,…,0,0]⏞|V|elem...
    											来自:	 Haward
    				作者:孟廉   编辑:田旭前 言文章来自:https://blog.insightdatascience.com 作者:EmmanuelAmeisen无论您是一个成熟的公司,还是致力于推出一个新服务,...
    											来自:	 机器学习算法全栈工程师
    				 我们在比较事物时,往往会用到“不同”,“一样”,“相似”等词语,这些词语背后都涉及到一个动作——双方的比较。只有通过比较才能得出结论,究竟是相同还是不同。但是万物真的有这么极端的区分吗?在我看来不是...
    											来自:	 u010955999的博客
    				在自然语言处理中,第一步需要面对的就是词向量特征的提取。语言的特征提取在sklearn模块中有相当完善的方法和模块,而针对中文其实也可以同过分词软件做分词然后再按照英文文本的思路开展特征提取,机器学习...
    											来自:	 stevenkwong的博客
    				01起在之前的文章中,我们学习了一种分类方法:朴素贝叶斯,朴素贝叶斯特别适合文本分类,比如:根据邮件内容,判断哪些是垃圾邮件根据新闻内容,判断新闻情感是正面、负面还是中立……如果想要使用朴素贝叶斯模型...
    											来自:	 Data Hero
    				大数据文摘作品编译:糖竹子、吴双、钱天培自然语言处理(NLP)是一种艺术与科学的结合,旨在从文本数据中提取信息。在它的帮助下,我们从文本中提炼出适用于计算机算法的信息。从自动翻译、文本分类到情绪分析,...
    											来自:	 大数据文摘
    				 golang知识图谱NLP实战第一节——整体思路golang知识图谱NLP实战第二节——解析依存句法分析结果golang知识图谱NLP实战第三节——关系抽取最大的愿望是给engineercms工程师...
    											来自:	 hotqin888的专栏
    适读人群 :本书适用于所有想学习NLP的技术人员,包括各大人工智能实验室、软件学院等专业机构。
    NLP,让人类与智能机器的交互不再遥远;深度学习,让语言解析不再是智能系统的瓶颈!
    本书核心内容
    NLP中的开源系统及其应用
    中文分...				
    				最好的入门自然语言处理(NLP)的资源清单			 			MelanieTosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线。回顾她的学习历程,她为...
    											来自:	 野心家-Andy的博客
    				安装NLTK1.3整合中文分词模块按照使用的算法不同,下面介绍两大类中文分词模块    基于条件随机场(CRF)的中文分词算法的开源系统    基于张华平的NShort的中文分词算法的开源系统安装Lt...
    											来自:	 Just for fun的专栏
    				数据挖掘NLP之文本挖掘 文本处理 通用流程 数据挖掘中的文本挖掘不论是对于企业应用,还是研究者工作,或者是参与数据竞赛项目,都是基础的工作。通过前面的一些实践工作,现总结出文本挖掘文本处理的通用流程...
    											来自:	 Mr.Scofield
    				总结段总结段非常的简单,但是也是不可或缺的。当然你也可以不写总结段,虽然大部分的分数都取决于你的两个主体段,但是分数一定会比写了总结段要低一些。总结段的结构我们要做的就是用一句话说3件事情:连接词+重...
    											来自:	 ClaireFong的博客
    				很多机器学习的算法也常用于NLP的任务。见《机器学习算法原理与编程实践》   目前最流行的算法思想包含以下两大流派:基于概率论和图论的概率图模型;基于人工神经网络的深度学习的理论...
    											来自:	 Just for fun的专栏
    				1、环境配置           本人使用的是MacBook+Python2.7.11           首先,安装NLP工具包gensim,这里包含了今天的主角:Word2Vecpipinstal...
    											来自:	 3CDFP
    						本书是一本研究汉语自然语言处理方面的基础性、综合性书籍,涉及NLP的语言理论、算法和工程实践的方方面面,内容繁杂。 本书包括NLP的语言理论部分、算法部分、案例部分,涉及汉语的发展历史、传统的句法理论、认知语言学理论。需要指出的是,本书是...				
    				1、情感分析1)数据:s1=’thisisagoodbook’s2=’thisisaawesomebook’s3=’thisisabadbook’s4=’thisisaterriblebook’2)把...
    											来自:	 Haward
    				1.基本文本处理技能1.1分词的概念(分词的正向最大、逆向最大、双向最大匹配法);最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数...
    											来自:	 Heitao5200的博客
    				jieba分词分词cut方法,具有3个参数:需要分词的字符串;cut_all参数用来控制是否采用全模式;HMM参数用来控制是否使用HMM模型。使用全模式会将所有字的组合都切分出来,而精确模式则试图将句...
    											来自:	 newCraftsman的博客
    				当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有...
    											来自:	 weixin_41931602的博客
    				   从建模的角度看,为了方便计算机处理,自然语言可以被定义为一组规则或符号的集合,我们组合集合中的符号来传递各种信息。自然语言处理研究表示语言能力、语言应用的模型,通过建立计算机框架来实现这样的语言...
    											来自:	 Just for fun的专栏
    				前言在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性。而有了文本之间相似性的度量方式,我们便...
    											来自:	 每天进步一点点的专栏
    				本文以基本语言模型为逻辑主线,漫谈NLP中两个核心问题,即文本表示(TextRepresentation)与文本特征提取(FeatureEngineering)。通过本文你会发现,NLP的一部分经典算...
    											来自:	 TiffanyRabbit的博客
    				怎样写介绍段常见问题2.用诸如“Nowadays”,“Inthemodernworld”,“Inmodernlife”此类的词。不是说这些词完全不能用,用了就会怎样怎样,只要你用的恰当都是没有问题的。...
    											来自:	 ClaireFong的博客
    				这是一篇关于机器自然语言应用和特征工程结合的文章,目的在于探讨在企业或科研场景中,特征工程的另一种可能性——解决特征稀疏或数据和模型异构场景下一种通用的解决方案。一种大大降低模型开发及数仓建设人力成本...
    											来自:	 bird的博客
    				前段时间一口气读完了NN4NLP,很是畅快,非常喜欢作者行文讲解的口吻和逻辑。大概两周读完,每页都有收获,读完后反而担心有所疏漏,知识太多留不住,索性从头来一遍,把学习过程的知识点和思考记录下来,也算...
    											来自:	 TangowL
    				特征工程是机器学习过程中和模型训练同样重要的部分,特征如何提取、如何处理、如何选择、如何使用都是特征工程的范畴,特征工程需要具备数据分析的能力,那些称为数据科学家的人一定是有很强的特征工程能力的人。R...
    											来自:	 jiangjingxuan的博客
    				1.基于规则,对于要提取的分类维护一个dict,在dict里面保存需要提取的关键词,存在关键词的对应标记为分类;(缺点,不断的去维护词典)2.基于机器学习:HMM(分词最常用的),CRF,SVM,LD...
    											来自:	 小菜菜的博客
    				 一、规则分词1.1正向最大匹配算法#正向最大匹配算法MM法规则分词classMM(object):def__init__(self):self.window_size=3defcut(self,te...
    											来自:	 t_zht的博客
    				自然语言处理(NLP)是机器学习的应用之一,用于分析、理解和生成自然语言,以便人类与计算机,人类与人类更好的交流。自然语言处理按照任务类型可以分为分类、匹配、翻译、结构化预测、与序贯决策过程。自然语言...
    											来自:	 Irving_zhang的专栏
    				本文对影评数据进行NLP情感分类,数据分为标注数据(含sentiment)和非标注数据(不含sentiment),数据25000条,列出前五条如下:  自然语言处理和文本分析的问题中,词袋(Bagof...
    											来自:	 寸先生的AI道路
    				微盘下载地址如下http://vdisk.weibo.com/s/dcbmdnQAvlaU3http://www.jb51.net/books/204913.html#downloadhttps://...
    											来自:	 feng98ren的专栏
    				前段时间一口气读完了NN4NLP,很是畅快,非常喜欢作者行文讲解的口吻和逻辑。大概两周读完,每页都有收获,读完后反而担心有所疏漏,知识太多留不住,索性从头来一遍,把学习过程的知识点和思考记录下来,也算...
    											来自:	 TangowL
    				GIT: https://github.com/
    首先登陆GITHub创建一个新的repository (Start a project),复制地址备用。https://github.com/xxx...
    											来自:	 bendanany的博客
    				    四年的时间,一直使用EmEditor编辑器进行Python开发,之前是做面向过程,只需要将一个单独的py文件维护好即可,用着也挺顺手,但是最近在做面向对象的开发,不同的py文件中相互关联较多,...
    											来自:	 翘起尾巴的熊的博客
    				更多代码请见:https://github.com/xubo245/SparkLearning  版本:Spark-2.0.01解释 
    从【2】中下载release版,idea打开mvn packag...
    											来自:	 Keep Learning
                    【TensorFlow】笔记3:M...
                        weixin_42220634:感谢,写的很好,适合初学者。不过mnist_inference.py中第22行和27行好像是tf.get_variable                

    【Pandas】qcut和cut的... qq_35972967:为什么看到了雷同的文章

    OpenCV结合socket进行实... qq_40994577:你传输的图像是三通道的,怎么在程序里遍历像素点只是用了uchar* ucdata = img.ptr<uchar>(j + num1)。而不是用vec3b呢?

    【编程6】贪吃蛇游戏(python... u012736685:[reply]weixin_44375070[/reply] 有什么问题留言就行~