精华内容
下载资源
问答
  • 要确定两个在语义上是否相似,重要的是要知道之间的语义关系。 例如,可以认为马和牛这两个在语义上相似,因为马和牛都是农业中有用的动物。 类似地,马和汽车在语义上可以被认为是相似的,因为汽车和历史上...
  • 上半部主要介绍垃圾邮件识别使用的数据集,介绍使用的特征提取方法,包括词袋模型和TF-IDF模型、词汇表模型。本文下半部主要介绍使用的模型以及对应的验证结果,包括朴素贝叶斯、支持向量基和深度学习。前言垃圾邮件...
    本文主要以垃圾邮件识别为例,介绍常见的文本处理方法以及常见的文本处理相关的机器学习算法。上半部主要介绍垃圾邮件识别使用的数据集,介绍使用的特征提取方法,包括词袋模型和TF-IDF模型、词汇表模型。本文下半部主要介绍使用的模型以及对应的验证结果,包括朴素贝叶斯、支持向量基和深度学习。

    前言

    垃圾邮件作为英特网中最具有争议的副产品,对于企业邮箱用户的影响首先就在于给日常办公和邮箱管理者带来额外负担。根据不完全统计,在高效的反垃圾环境下仍然有80%的用户每周需要耗费10分钟左右的时间处理垃圾邮件,而对于中国多数企业邮件应用仍处于低效率反垃圾环境的情况下,这个比例更是呈现数十倍的增长,如图1-1 所示,中国垃圾邮件的总量已经达到全球第三。对于企业邮件服务商而言,垃圾邮件的恶意投送,还会大量占用网络资源,使得邮件服务器85%的系统资源在用于处理垃圾邮件的识别,不仅资源浪费极其严重,甚至可能导致网络阻塞瘫痪,影响企业正常业务邮件的沟通。

    世界垃圾邮件最多国家排行.jpg

    世界垃圾邮件最多国家排行

    本文主要以垃圾邮件识别为例,介绍常见的文本处理方法以及常见的文本处理相关的机器学习算法。上半部主要介绍垃圾邮件识别使用的数据集,介绍使用的特征提取方法,包括词袋模型和TF-IDF模型、词汇表模型。本文下半部主要介绍使用的模型以及对应的验证结果,包括朴素贝叶斯、支持向量基和深度学习。

    数据集

    垃圾邮件识别使用的数据集为Enron-Spam数据集,Enron-Spam数据集是目前在电子邮件相关研究中使用最多的公开数据集,其邮件数据是安然公司(Enron Corporation, 原是世界上最大的综合性天然气和电力公司之一,在北美地区是头号天然气和电力批发销售商)150位高级管理人员的往来邮件。这些邮件在安然公司接受美国联邦能源监管委员会调查时被其公布到网上。

    机器学习领域使用Enron-Spam数据集来研究文档分类、词性标注、垃圾邮件识别等,由于Enron-Spam数据集都是真实环境下的真实邮件,非常具有实际意义。

    Enron数据集主页.png

    Enron-Spam数据集主页

    Enron-Spam数据集合如图所示使用不同文件夹区分正常邮件和垃圾邮件。

    Enron数据集文件夹结构.png

    Enron-Spam数据集文件夹结构

    正常邮件内容举例如下:

    Subject: christmas baskets

    the christmas baskets have been ordered .

    we have ordered several baskets .

    individual earth – sat freeze – notis

    smith barney group baskets

    rodney keys matt rodgers charlie

    notis jon davis move

    team

    phillip randle chris hyde

    harvey

    freese

    faclities

    垃圾邮件内容举例如下:

    Subject: fw : this is the solution i mentioned lsc

    oo

    thank you ,

    your email address was obtained from a purchased list ,

    reference # 2020 mid = 3300 . if you wish to unsubscribe

    from this list , please click here and enter

    your name into the remove box . if you have previously unsubscribed

    and are still receiving this message , you may email our abuse

    control center , or call 1 – 888 – 763 – 2497 , or write us at : nospam ,

    6484 coral way , miami , fl , 33155 ” . 2002

    web credit inc . all rights reserved .

    Enron-Spam数据集对应的网址为:http://www2.aueb.gr/users/ion/data/enron-spam/

    特征提取

    方法一:词袋模型

    文本特征提取有两个非常重要的模型:

    词集模型:单词构成的集合,集合中每个元素都只有一个,也即词集中的每个单词都只有一个

    词袋模型:如果一个单词在文档中出现不止一次,并统计其出现的次数(频数)

    两者本质上的区别,词袋是在词集的基础上增加了频率的纬度,词集只关注有和没有,词袋还要关注有几个。

    假设我们要对一篇文章进行特征化,最常见的方式就是词袋。

    导入相关的函数库

    >>> from sklearn.feature_extraction.text import CountVectorizer

    实例化分词对象

    >>> vectorizer = CountVectorizer(min_df=1)

    >>> vectorizer

    CountVectorizer(analyzer=…’word’, binary=False, decode_error=…’strict’,

    dtype=<… ‘numpy.int64′>, encoding=…’utf-8′, input=…’content’,

    lowercase=True, max_df=1.0, max_features=None, min_df=1,

    ngram_range=(1, 1), preprocessor=None, stop_words=None,

    strip_accents=None, token_pattern=…’(?u)\\b\\w\\w+\\b’,

    tokenizer=None, vocabulary=None)

    将文本进行词袋处理

    >>> corpus = [

    ... 'This is the first document.',

    ... 'This is the second second document.',

    ... 'And the third one.',

    ... 'Is this the first document?',

    ... ]

    >>> X = vectorizer.fit_transform(corpus)

    >>> X

    <4×9 sparse matrix of type ‘<… ‘numpy.int64′>’

    with 19 stored elements in Compressed Sparse … format>

    获取对应的特征名称

    >>> vectorizer.get_feature_names() == (

    … ['and', 'document', 'first', 'is', 'one',

    ... 'second', 'the', 'third', 'this'])

    True

    获取词袋数据,至此我们已经完成了词袋化。但是对于程序中的其他文本,如何可以使用现有的词袋的特征进行向量化呢?

    >>> X.toarray()

    array([[0, 1, 1, 1, 0, 0, 1, 0, 1],

    [0, 1, 0, 1, 0, 2, 1, 0, 1],

    [1, 0, 0, 0, 1, 0, 1, 1, 0],

    [0, 1, 1, 1, 0, 0, 1, 0, 1]]…)

    我们定义词袋的特征空间叫做词汇表vocabulary。

    vocabulary=vectorizer.vocabulary_

    针对其他文本进行词袋处理时,可以直接使用现有的词汇表。

    >>> new_vectorizer = CountVectorizer(min_df=1, vocabulary=vocabulary)

    在本例中,将整个邮件包括正文当成一个字符串处理,其中回车和换行需要过滤掉。

    def load_one_file(filename):

    x=“”

    with open(filename) as f:

    for line in f:

    line=line.strip(‘\n’)

    line = line.strip(‘\r’)

    x+=line

    return x

    遍历指定文件夹下全部文件,加载数据。

    def load_files_from_dir(rootdir):

    x=[]

    list = os.listdir(rootdir)

    for i in range(0, len(list)):

    path = os.path.join(rootdir, list[i])

    if os.path.isfile(path):

    v=load_one_file(path)

    x.append(v)

    return x

    Enron-Spam数据集的数据分散在6个文件夹Enron1到Enron6,正常文件在ham文件夹下,垃圾邮件在spam文件夹下,依次记载全部数据。

    def load_all_files():

    ham=[]

    spam=[]

    for i in range(1,7):

    path=”../data/mail/enron%d/ham/” % i

    print “Load %s” % path

    ham+=load_files_from_dir(path)

    path=”../data/mail/enron%d/spam/” % i

    print “Load %s” % path

    spam+=load_files_from_dir(path)

    return ham,spam

    使用词袋模型,向量化正常邮件和垃圾邮件样本,其中ham文件夹下的样本标记为0,标记为正常邮件,spam文件夹下的样本标记为1,标记为垃圾邮件。

    def get_features_by_wordbag():

    ham, spam=load_all_files()

    x=ham+spam

    y=[0]*len(ham)+[1]*len(spam)

    vectorizer = CountVectorizer(

    decode_error=’ignore’,

    strip_accents=’ascii’,

    max_features=max_features,

    stop_words=’english’,

    max_df=1,

    min_df=1 )

    print vectorizer

    x=vectorizer.fit_transform(x)

    x=x.toarray()

    return x,y

    CountVectorize函数比较重要的几个参数为:

    decode_error,处理解码失败的方式,分为‘strict’、‘ignore’、‘replace’三种方式

    strip_accents,在预处理步骤中移除重音的方式

    max_features,词袋特征个数的最大值

    stop_words,判断word结束的方式

    max_df,df最大值

    min_df,df最小值

    binary,默认为False,当与TF-IDF结合使用时需要设置为True

    本例中处理的数据集均为英文,所以针对解码失败直接忽略,使用ignore方式,stop_words的方式使用english,strip_accents方式为ascii方式。

    方法二:TF-IDF模型

    文本处理领域还有一种特征提取方法,叫做TF-IDF模型(term frequency–inverse document frequency,词频与逆向文件频率)。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜索应用,作为文件与用户查询之间相关程度的度量或评级。

    TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF(Term Frequency,词频),词频高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:TF * IDF。TF表示词条在文档d中出现的频率。IDF(inverse document frequency,逆向文件频率)的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。

    在Scikit-Learn中实现了TF-IDF算法,实例化TfidfTransformer即可。

    >>> from sklearn.feature_extraction.text import TfidfTransformer

    >>> transformer = TfidfTransformer(smooth_idf=False)

    >>> transformer

    TfidfTransformer(norm=…’l2′, smooth_idf=False, sublinear_tf=False, use_idf=True)

    TF-IDF模型通常和词袋模型配合使用,对词袋模型生成的数组进一步处理。

    >>> counts = [[301],

    … [200],

    … [300],

    … [400],

    … [320],

    … [302]]

    >>> tfidf = transformer.fit_transform(counts)

    >>> tfidf

    <6×3 sparse matrix of type ‘<… ‘numpy.float64′>’ with 9 stored elements in Compressed Sparse … format>

    >>> tfidf.toarray()

    array([[ 0.81940995, 0. , 0.57320793],

    [ 1. , 0. , 0. ],

    [ 1. , 0. , 0. ],

    [ 1. , 0. , 0. ],

    [ 0.47330339, 0.88089948, 0. ],

    [ 0.58149261, 0. , 0.81355169]])

    在本例中,获取完ham和spam数据后,使用词袋模型CountVectorizer进行词袋化,其中binary参数需要设置为True,然后再使用TfidfTransformer计算TF-IDF。

    def get_features_by_wordbag_tdjfd():

    ham, spam=load_all_files()

    x=ham+spam

    y=[0]*len(ham)+[1]*len(spam)

    vectorizer = CountVectorizer(binary=True,

    decode_error=’ignore’,

    strip_accents=’ascii’,

    max_features=max_features,

    stop_words=’english’,

    max_df=1.0,

    min_df=1 )

    x=vectorizer.fit_transform(x)

    x=x.toarray()

    transformer = TfidfTransformer(smooth_idf=False)

    tfidf = transformer.fit_transform(x)

    x = tfidf.toarray()

    return x,y

    方法三:词汇表模型

    词袋模型可以很好的表现文本由哪些单词组成,但是却无法表达出单词之间的前后关系,于是人们借鉴了词袋模型的思想,使用生成的词汇表对原有句子按照单词逐个进行编码。TensorFlow默认支持了这种模型。

    tf.contrib.learn.preprocessing.VocabularyProcessor (max_document_length, min_frequency=0,

    vocabulary=None,

    tokenizer_fn=None)

    其中各个参数的含义为:

     max_document_length:,文档的最大长度。如果文本的长度大于最大长度,那么它会被剪切,反之则用0填充

    min_frequency,词频的最小值,出现次数小于最小词频则不会被收录到词表中

    vocabulary,CategoricalVocabulary 对象

    tokenizer_fn,分词函数

    假设有如下句子需要处理:

    x_text =[

    'i love you',

    'me too'

    ]

    基于以上句子生成词汇表,并对’i me too’这句话进行编码。

    vocab_processor = learn.preprocessing.VocabularyProcessor(max_document_length)

    vocab_processor.fit(x_text)

    print next(vocab_processor.transform(['i me too'])).tolist()

    x = np.array(list(vocab_processor.fit_transform(x_text)))

    print x

    运行结果为:

    本文主要以垃圾邮件识别为例,介绍常见的文本处理方法以及常见的文本处理相关的机器学习算法。上半部主要介绍垃圾邮件识别使用的数据集,介绍使用的特征提取方法,包括词袋模型和TF-IDF模型、词汇表模型。[1, 4, 5, 0]

    [[1 2 3 0]

    [4 5 0 0]]

    整个过程如图 所示。

    词汇表模型.jpg

    使用词汇表模型进行编码

    在本例中,获取完ham和spam数据后,通过VocabularyProcessor函数对数据集进行处理,获取词汇表,并按照定义的最大文本长度进行截断处理,没有达到最大文本长度的使用0填充。

    global max_document_length

    x=[]

    y=[]

    ham, spam=load_all_files()

    x=ham+spam

    y=[0]*len(ham)+[1]*len(spam)

    vp=tflearn.data_utils.VocabularyProcessor(max_document_length=max_document_length,

    min_frequency=0,

    vocabulary=None,

    tokenizer_fn=None)

    x=vp.fit_transform(x, unused_y=None)

    x=np.array(list(x))

    return x,y

    小结

    本文主要以垃圾邮件识别为例,介绍常见的文本处理方法以及常见的文本处理相关的机器学习算法。上半部主要介绍垃圾邮件识别使用的数据集,介绍使用的特征提取方法,包括词袋模型和TF-IDF模型、词汇表模型。想知道如何使用朴素贝叶斯、支持向量基以及深度学习的DNN、RNN、CNN识别垃圾邮件,请看下部。

    展开全文
  • 不懂得实践的学生,就是纸上谈兵。...首先明确,这里说的关键词,是包括我们经常说的长尾的,长尾的挖掘方法,我在自己的个人网站上,已经分享过一篇文章了,有空大家可以去看看,文章标题:...

            不懂得实践的学生,就是纸上谈兵。   
            做网站已经有2个多月了,上次分享过SEO的初步优化方法后,也没有再给大家分享更多的实例,今天就跟大家分享一下,百度关键词长尾词排名到底跟什么有关系?其实跟网站的访问量有很大的关系
    首先明确,这里说的关键词,是包括我们经常说的长尾词的,长尾词的挖掘方法,我在自己的个人网站上,已经分享过一篇文章了,有空大家可以去看看,文章标题:(SEO优化)现身说法告诉你如何利用长尾词来提升网站的访问量和流量 SEO优化(二)
            相信大家都有所了解,但是很多人还是很疑惑,自己的网站已经正式发布上线很久了,为什么关键词排名却没有办法上去,也没有给网站带来实际的流量和点击量,那如何提升网站关键词和长尾词的排名呢?
            现身说法,开始研究这个问题,先在百度上搜索了一下这个方面的问题,如为什么我的网站收录量上升了,关键词排名却下降了,如何提升网站关键词 长尾词排名等,基本给的结果是,"保证每日正常更新,慢慢提高百度的权重,时间久了,关键词排名就上去了",嗯嗯,听起来的确很有道理,好的,现身说法,从现在开始讲起。
            百度关键词长尾词排名,到底跟什么有关系,是"保证每日正常更新,慢慢提高百度的权重,时间久了,关键词排名就上去了"这样的道理吗,仔细想想,这不就是骗人的吗?
    为什么呢?如果都是这样来提升网站的百度关键词和长尾词排名,那么那些SEO的公司,不早就全部倒闭了吗!道理其实就这么简单了,既然存在可以SEO优化的空间,那么这里一定有痕迹可循。个人认为,百度关键词长尾排名和以下几个因素有关:(划重点了)
             1 网站的访问量和流量
             2 网站的百度关键词的点击量
             3 网站的权重(这个是需要慢慢提升的,暂时无法验证)

            就针对这几个猜测,我开始了自己的验证,第一个因素终于被验证了,直接上图:

                                              网站点击图,数据来源于百度统计

     

    关键词排名图,数据来源于百度统计

                                         关键词排名图,数据来源于百度统计

     

            百度流量点击图上,可以看到,网站从2019.06.21日开始到2019.07.21,网站的流量PV非常高,最高的时候,已经达到5000多,平均,也有3000多,这段时间网站的流量异常高,网站活跃。2019.07.21日后,网站停止刷量,点击量几乎为0,在2019.07.27起,才恢复部分量。那么再看看关键词排名图。
            关键词排名图上,可以看到,网站的3个关键词,开始都是没有排名的。
            a:关键词***论文: 从2019.07.12日开始,第一次在50以内有了排名,差不多是18名,但是不太稳定,第二天,又掉出50以外,但是2019.07.14日起,排名一直在20-30之间徘徊,直到2019.07.28日,掉出50名以外,再也没有出现。可以看到再百度流量点击图上,在2019.07.11到2019.07.13日之间,是有一个峰值,这个期间,网站PV量一直维持在5000左右,然后就很明显的看到2019.07.14起,这个关键词排名直线高升。
            b:关键词***新闻:从从2019.07.05日开始,关键词排名,一直处于第一的位置,在2019.07.24日,关键词排名下降到19位,在2019.07.28日,排名掉出50以外,后面2019.08.12日,排名才又重新回来。这里可以看到2019.07.21停止刷量以后,24日排名直线下降,28日直接就掉出50名以外。
            c:关键词***案例:从从2019.07.05日开始,关键词开始有排名,第一次排名在11名左右,后面一直维持在20以内,在2019.07.27日,掉到20多名,在2019.08.06日直接掉出50名以外,在2019.08.26日之后,才慢慢恢复到50名以内,这里也是一样,在2019.07.27停止刷量以后,网站关键词排名直线下降,后来就淡出50名以外。


            从网站的量和关键词排名的图中,可以很明显的发现规律:
            1 网站的关键词长尾词排名和网站的访问量和流量直接有关系(不管这个访问量是来源于百度点击,还是直接访问)
            2 网站的关键词长尾词排名不会因为网站流量变化而立刻发生变化,这里需要等待一段时间才会慢慢生效
            3 网站的流量会直接提升百度关键词和长尾词的排名,虽然这个流量,不是通过百度搜索点击后生效的,但百度也明显统计到了
            4 要做网站的SEO优化,必须加百度统计的JS,可能没有明显的关系,但是我能想到的是:百度能统计到网站的数据,只能来源于百度统计了

            好了,最后感谢一下,我在用的两个优化工具,流量点击工具和SEO点击工具:

            敬请关注,我下一次分享:(SEO优化)现身说法告诉你网站的百度关键词的点击量和百度关键词长尾词排名有什么关系 SEO优化(三)
     

    展开全文
  • ChineseEmbedding Chinese Embedding ...中文自然语言处理向量合集,包括字向量,拼音向量,向量,词性向量,依存关系向量.共5种类型的向量. 项目地址:https://github.com/liuhuanyong 项目简介 目前不同于on...

    ChineseEmbedding

    Chinese Embedding collection incling token ,postag ,pinyin,dependency,word embedding.中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量.
    项目地址:https://github.com/liuhuanyong

    项目简介

    目前不同于one-hot表示的稠密向量在常见的NLP任务中运用的越来越广,而目前开源的向量资源还比较单一,只有中文和其他语言的词向量.本项目想弥补这一缺陷.

    本项目认为

    1,NLP中的各种语言单元形态都可以进行向量表示.
    2,稠密低维的向量较one-hot这种sparse向量更具备语义信息.
    3,中文信息处理中可以进行词向量表示的语言单位包括:

    1. 字符(单个汉字)
    2. 词语(词或词组)
    3. 汉语拼音
    4. 汉语词性
    5. 汉语词语之间的依存关系

    本项目要完成的任务

    运用词向量建模方法,分别完成以上5种形态的词向量训练, 并检验效果.

    训练语料

    本项目将使用中文维基百科(zhiwiki)作为训练语料来源.

    训练方法

    1. 基于skigram的方法
      对字向量,拼音向量,词向量,词性向量采用此类方法,分别设定词向量的维度及其他超参数
    2. 基于上下文共现与PCA降维的方法
      对依存向量采用此类方法

    测试方法

    本测试较为简单,直接使用语义最近的语言单元作为检验

    代码目录

    train_vector.py: 向量训练脚本
    test_vector.py: 向量测试脚本

    结果展示

    向量名称 向量含义 词数 维度 例子
    de_vec_10 依存关系向量 13 10 SBV, ATT
    pinyin_vec_300 汉语拼音向量 146242 300 ni, hao
    postag_vec_30 汉语词性向量 59 300 n,v,a,d
    token_vec_300 汉语字向量 20029 300 刘,焕,勇
    word_vec_300 汉语词向量 673266 300 刘焕勇

    向量测试

        ***********************字符向量************************
        token:刘
        ('李', 0.7306396961212158),('陈', 0.7201231122016907)
        ('赵', 0.6974461674690247),('杨', 0.6972213983535767)
        ('吴', 0.6851627230644226),('徐', 0.6516467332839966)
        ('郭', 0.6499480605125427),('蔡', 0.6175302267074585)
        ('郑', 0.6092196106910706),('孙', 0.5950524210929871)
        token:丑
        ('卯', 0.6074919700622559),('酉', 0.5910211801528931)
        ('巳', 0.5581363439559937),('戌', 0.43932047486305237)
        ('戊', 0.41449615359306335),('壬', 0.40456631779670715)
        ('謤', 0.367109090089798),('绯', 0.3643313944339752),
        ('寅', 0.36351141333580017),('旽', 0.3549465537071228)
    
        ***********************依存向量************************
        dependency rel:ATT
        ('COO', 0.14239487051963806),('ADV', -0.16987691819667816)
        ('RAD', -0.2357601821422577),('HED', -0.2401314228773117)
        ('SBV', -0.25625932216644287),('WP', -0.27165737748146057)
        ('LAD', -0.2902592420578003),('POB', -0.2990782558917999)
        ('VOB', -0.37553706765174866),('IOB', -0.6669262647628784)
        dependency rel:POB
        ('IOB', 0.16698899865150452),('DBL', 0.16678886115550995)
        ('FOB', 0.1657436639070511),('CMP', 0.14784857630729675)
        ('VOB', 0.1461176574230194),('SBV', 0.08011472970247269)
        ('LAD', -0.022307466715574265),('WP', -0.022942926734685898)
        ('HED', -0.037264980375766754),('RAD', -0.042251598089933395)
    
        ***********************拼音向量************************
        pinyin:wo
        ('shei', 0.6129732131958008)('ta', 0.6081706285476685)
        ('nin', 0.5819231867790222),('!', 0.5435523986816406)
        ('……', 0.48428624868392944),('ai', 0.47832390666007996)
        ('o', 0.4761071801185608),('。』', 0.4598163366317749)
        ('...', 0.45207729935646057),('ni', 0.44975683093070984)
        pinyin:guo
        ('dang', 0.3908974528312683),('yuan', 0.378823846578598)
        ('zu', 0.35387369990348816),('hua', 0.3405681848526001)
        ('zheng', 0.3355437219142914),('yi', 0.3333034813404083)
        ('ren', 0.3194104731082916),('jun', 0.3187354505062103)
        ('hui', 0.31342023611068726),('xin', 0.3096797466278076)
    
        ***********************词性向量************************
        word postag:a
        ('d', 0.7203904986381531),('c', 0.6124969720840454)
        ('v', 0.4963228106498718),('an', 0.4531499147415161)
        ('uz', 0.4459834396839142),('ud', 0.42059916257858276)
        ('r', 0.4090540111064911),('uj', 0.4061364233493805)
        ('i', 0.38707998394966125),('l', 0.3551557660102844)
        word postag:n
        ('b', 0.7030695676803589),('vn', 0.490166038274765)
        ('p', 0.4858315885066986),('v', 0.4499088227748871)
        ('nt', 0.44155171513557434),('f', 0.26609259843826294)
        ('s', 0.2639649212360382),('l', 0.24365971982479095)
        ('ns', 0.2278469204902649),('m', 0.202927365899086)
        ***********************词向量************************
        word:爱情
        ('爱恋', 0.6931096315383911),('真爱', 0.6897798776626587)
        ('婚姻', 0.6540514826774597),('浪漫爱情', 0.6535360813140869)
        ('情感', 0.6501022577285767),('感情', 0.6403399705886841)
        ('纯爱', 0.6394841074943542),('爱情故事', 0.6282097101211548)
        ('校园爱情', 0.6078493595123291),('情爱', 0.5976818799972534)
        word:创新
        ('技术创新', 0.7648976445198059),('不断创新', 0.7172579765319824)
        ('创新型', 0.6573833227157593),('创新能力', 0.6533682942390442)
        ('创新性', 0.6160774827003479),('革新', 0.6159394383430481)
        ('人才培养', 0.6093565821647644),('开拓创新', 0.6015594601631165)
        ('探索', 0.5987343788146973),('技术革新', 0.5949685573577881)
    

    总结

    1,本项目完成了中文五种语言单位的向量训练.
    2,从以上可以看出,词和字向量的效果看起来还不错.
    3,依存向量,依存向量中可以看出,ATT作为定中关系,在依存关系中属于定中结构,COO(联合),ADV(状中)的相似度要比主谓SBV,动宾VOB的相似度要高.另外,作为介宾的POB,相似的有IOB,DBL,FOB,这些关系均与宾语成分相关.
    4,拼音向量,从wo,guo的拼音相似拼音来看,我们可以看到,这种相似的拼音更像是一种搭配,很有意思.(词性参照jieba分词词性对照表)
    5,词性向量,从a,n的相似词性来看,也似乎更像是一种搭配现象,或许有更好的解释…
    4,总之,向量性能的好坏,需要在实际的NLP任务中运用检验,这个是后续需要进行的工作.

    If any question about the project or me ,see https://liuhuanyong.github.io/

    展开全文
  • oracle 同义

    2016-02-01 19:06:12
    1.ORACLE同义(synonyms),数据库对象(包括表,存储过程,视图,包等)的映射关系,类似于视图,数据表对象的别名,不占具体的空间大小,只保留同义的定义。 ① 同义分类 :public同义 和 私有同义。 ...

    1.ORACLE同义词(synonyms),数据库对象(包括表,存储过程,视图,包等)的映射关系,类似于视图,数据表对象的别名,不占具体的空间大小,只保留同义词的定义。 ① 同义词分类 :public同义词 和 私有同义词。public同义词 当前数据库所有的用户都可访问 ,私有同义词 只有创建该同义词的用户可访问


    2.用途:① 在同一数据库通信,通过同义词可共享不同用户的表,简化了访问方式。如果不用同义词,当前用户是project_jx,要访问finance_jx用户下的数据是按这样的方式访问,select * from finance_jx.bcurrflow前提是finance_jx把表bcurrflow的访问权限已授权给project_jx

    可视化同义词创建方式:

    ② 在不同数据库要进行通信,可通过dblink 来共享不同数据库的表,实现不同数据库间的通信。如果不用同义词,要访问不同数据库的表,通过dblink访问方式:select * from bcurrflow@FINANCE

    可视化同义词创建方式:


    3.同义词作用:① 可简化sql语句,直接select * from finance_bucrrflow 

    ② 节约表空间,同义词只在数据字典中保存了定义语句,没有占用表数据的存储空间

    ③ 扩展了数据库对象的使用范围,可在同一数据库不同用户,和  不同数据库间的数据无缝交互;


    展开全文
  • 关系型数据库

    2021-01-27 14:44:25
    1、关系模型:1、是建立在严格的数学理论、集合论和谓语演算公式的基础上的 2、微机DBMS绝大部分采取关系型数据模型 3、用二维表表示关系模型是其一大特点 2、关系数据库管理系统应能实现的专门关系运算包括选择、...
  • 优化元组关系

    2021-01-29 11:12:57
    句法分析:句法分析一般会分为成分句法分析 (Constituency Parsing) 与依存句法分析 ...依存句法分析:识别语句中之间的依存关系,并揭示其句法结构,包括主谓关系、动宾关系和核心关系等。 成分句法分析:句子
  • UML中聚合和组合的关系

    千次阅读 2016-03-14 18:15:04
    本文转载自:聚合和组合的关系(设计模式) ...需求描述中“包含”、“组成”、“分为…部分”等常意味着聚合关系。 组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生
  • 情感分析---词典创建

    2017-04-07 20:35:00
    词典包括情感词典、程度词典、否定词典和连词词典,其中情感词典最为重要,程度词典和否定词典用于识别修饰情感词语的成分,连词词典用于识别句际关系. 1.情感词典 以情感词汇本体为主要资源,结合HowNet情感...
  • 社区内容的数据挖掘方面主要可分为两大类:内容关联挖掘和用户关系挖掘, 热/热点话题发现属于社区内容挖掘范畴,是指从大量的UGC文本中检测出用户广泛讨论的话题。涉及两个关键性技术:中文分词技术,中文话题发现技术...
  • 自然语言处理 向量

    千次阅读 2018-08-13 14:34:30
    为把人们所理解的自然语言 让 计算机也能够 认识并且操作,需要将人的语言(即文字)转换成...离散表示即 无法衡量之间的关系,即在编码过程中并不考虑的顺序,以此为代表的编码方式包括:  one-hot   ...
  • 老刀谈关系

    2012-05-04 17:16:56
    这个在中国意义非凡,大致可分为血缘关系、同学战友老乡关系、中间人介绍关系等等。有人对此做过很深入的探讨。划分过若干层次。这也是传统销售大显身手的地方。甚至很多销售会持有‘关系决定论’的观点。他们做...
  • cs224u作业 :基于远程监督的关系抽取-3 hw_rel_ext.ipynb __author__ = "Bill MacCartney and Christopher Potts" __version__ = "CS224u, Stanford, Spring 2020" ...增加袋的表示形式,包括b
  • Word2Vec嵌入方法总结

    千次阅读 2020-04-18 17:34:59
    GCN最大的优势是可以处理非欧氏空间结构的数据,可以同时考虑图结构中节点的特征表示和节点间存在逻辑关系(包括有向图和无向图),因此基于其的高包容性可以跟许多方法相结合。其中嵌入方法可以跟GCN结合起来解决...
  • 要确定两个在语义上是否相似,重要的是要知道之间的语义关系。 例如,可以认为马和牛这两个在语义上相似,因为马和牛都是农业中有用的动物。 类似地,马和汽车在语义上可以被认为是相似的,因为汽车和历史上...
  • 为把人们所理解的自然语言 让 计算机也能够 认识并且操作,需要将人的语言(即文字)转换成计算机...离散表示即 无法衡量之间的关系,即在编码过程中并不考虑的顺序,以此为代表的编码方式包括: one-hot ...
  • 保险词典 区分

    2014-11-25 10:08:40
    一个完整的保险合同包含保险单,保险合同包括一些投保前的要约和法定内容或者说是行业自律等   2.被保险人与受益人之间的关系?   3.投保单与保险单? 客户向保险公司申请办理保险的单子叫投保单,保险公司给...
  • 浅谈“社会”一

    2018-10-07 21:25:45
    每天进步一丢丢,连接梦与想 我们都是社会人哈 ...社会关系包括个体之间的关系、个体与集体的关系、个体与国家的关系 即可以说社会是我们之间的人际关系,人与人,人与集体,人与国家 2、大家都是社会人,来说说这...
  • bert实践:关系抽取解读

    万次阅读 多人点赞 2019-07-31 16:42:46
    bert模型是谷歌2018年10月底公布的,反响巨大,效果不错,在各大比赛上面出类拔萃,它的提出主要是针对word2vec等模型的不足,在之前的预训练模型(包括word2vec,ELMo等)都会生成向量,这种类别的预训练模型属于...
  • 类之间的关系

    2012-03-26 11:50:17
    从宏观上类之间的关系有3种 一、关联,分为聚合和组合(has_a)  1)聚合:弱关联 指的是整体与部分的关系。...需求描述中“包含”、“组成”、“分为…部分”等常意味着聚合关系。  2)组合:强...
  • 在NLPCC2017的汉语单词语义关系分类共享任务中,语义关系分为四类:同义,反义,下位和人名。 提出了一种基于TF-IDF和CNN的汉语单词语义关系分类方法,并利用了单词的字面意义和语义特征。 提出了四个新的...
  • 2020新版 自然语言处理NLP视频课程运用Word2Vec GloVe文本关系挖掘课程包括:项目整体简介,环境介绍,环境安装,IDE集成,项目实战,项目总结。涉及知识点包括:自然语言处理流程,文本预处理,中文分词,向量,...
  • 在这项工作中,我们建立了缺失子序列的DNA序列(禁忌)与广义Cantor集之间的关系。 与某些广义Cantor集相关的各种示例,包括Hao的框架表示和广义Sierpinski集,以及它们的分形图,也都在本文中给出。
  • 因此提出Word2Vec 嵌入工具,它将每个表示成一个定长的向量,并通过在语料库上的预训练使得这些向量能较好地表达不同之间的相似和类比关系, PTB (Penn Tree Bank)是一个常用的小型语料库,它采样自《华尔街...
  • 同时在现有的向量和位置向量作为网络输入的基础上,进一步引入依存句法特征和相对核心谓词依赖特征,其中依存句法特征包括当前的依存关系值和所依赖的父节点位置,从而使模型进一步获取更多的文本句法信息....
  • 内容都是百度AIstudio的内容...计算词语之间的关系(如同义):word2vec 理解一个自然语言句子:文本分类和相似度计算 一般来说,使用飞桨完成自然语言处理任务时,都可以遵守一个相似的套路,如图10所示。 ...
  • 讨论了这3个步骤所涉及的算法,包括基于统计模式从文本中抽,基于奇异值分解从一文档矩阵中提取概念,基于语义相似度对概念进行聚类等.实验表明,本文提出的抽取方法相对与词频算法具有较高的准确度.
  • Python和人工智能的关系

    千次阅读 2018-05-29 16:00:33
    我们经常听到“Python”与“人工智能”这两个,也很容易混淆这两个,那么Python和人工智能有什么关系呢?首先我们先来说说人工智能人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以...
  • 需求描述中“包含”、“组成”、“分为…部分”等常意味着聚合关系。 组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在
  • 首先word2vec只是一个工具,然后word2vec主要包含两个模型:skip-gram(跳字模型)和CBOW模型(continuous bag of words 连续袋模型),然后还包括两种高效的训练方法:负采样(negative sampling)和层序softmax...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 768
精华内容 307
关键字:

关系词包括