自然语言处理基础技术之分词、向量化、词性标注

415 篇文章 30 订阅
订阅专栏

前言

前段时间,因为项目需求, 开始接触了NLP,有感自己不是科班出身,很多东西理解不深,于是花时间再读了一些NLP的经典教程的部分章节,这里是第一部分,主要包括三小块:中文分词、词向量、词性标注, 这三块是前段时间项目上有用到过,所以稍做总结与大家分享下,只有更极致地深入了解才能学习得更多。

分词

分词可能是自然语言处理中最基本的问题,在英文中,天然地使用空格来对句子做分词工作,而中文就不行了,没有特点符号来标志某个词的开始或者结尾,而分词通常对语义的理解是特别重要的,这里举个栗子:


下雨天留客天留我不留==>下雨天 留客天 留我不留 
                    ==>下雨 天留客 天留我不留

不同的分词,会造成完全不同的语义理解,其重要性不明而喻,那么如何把词从句子中正确地切分出来呢?

我爱北京天安门

分成我 爱 北京天安门 而不是 我爱 北 京天安门? 对于计算机而已,天安门和京天安门都是二进制存储在硬盘或者内存中,没有其他差别,那么我们如何让计算机知道切分为天安门而不是京天安门呢? 这里我们需要提到词典的帮助,做过NLP的小伙伴通常都知道在一些基础任务上,词典的好坏决定最后的性能指标,那么词典是如何对分词起作用的呢?

分词词典

最简单的一个想法,是构造一个常用词的候选集合,如我、爱、天安门、北京这些词,然后从句子头到尾遍历,如何词在候选集合中出现过则切分该词,那么很容易将我爱天安门分词为我 爱 天安门,这样的逻辑很容易理解,所以接下来就是如何去设计这个候选集合的数据结构,常用的list,当然是可以的,但是很明显,将一个海量词的词典载入,词典元素的查找还有存储,如果使用list必然会存在很严重的性能问题,如果高效地存储词典,还有高效地查询词或者短语在词典中,是这部分分词最重要的工作,Trie树在自然语言处理词库的存储和查找上使用的比较普遍。

Trie树存储及最长匹配法

Wikipedia上对于Trie树是这样解释的:在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。

图中主要包括三种节点:开始节点、中间节点、和结束节点,利用Trie树存储后,根据一条路径上来存储一个词典的词如上海大学、当然中间节点也可以做为一个词的结尾来保存如上海,常用的中文字不到5000,大概只需要一个一层分支为2^12的Trie树来保存所有的中文词库信息,树形的结构,保证了高效的存储和查找方法,遍历sentence时,只需要依次向树下一层访问,如果无法访问到下一节点,则切分,如到叶子节点,也切分即可,这就是基于Tire树的最长匹配法,分词性能的好坏完全依赖于词库。 具体的实现可以读下cppjieba的MPSEGMENT的部分https://github.com/yanyiwu/cppjieba/blob/master/include/cppjieba/MPSegment.hpp ,这里主要关注下Calc和CutByDag即可比较好的理解。 Trie树的更高效的实现方式包括三数组Trie和二数组Trie,三数组Trie结构包括三个数组结:base,next和check;二数组Trie包含base和check两个数组,base的每个元素表示一个Trie节点,而check数组表示某个状态的前驱状态,高效Trie树的实现,大家有兴趣可以拿源码来读读,这里我先略过。

基于HMM的分词方法

基于Trie Tree的分词方法,主要依赖词典,通常能满足大部分场景,但是很多时候也会效果不好,通常会引入概率模型来做分词,隐性马尔科夫模型通过引入状态见的概率转换,来提高分词的效果,尤其是对未登录词效果要好很多。 相信大家在很多场景下听过HMM,HMM的基本部分包括状态值集合、观察值集合、状态转移矩阵、条件概率矩阵、初始化概率。

这里稍微解释下这五个术语在分词中是啥意思:

  • 状态值序列,这里一般有四种状态:B:Begin, M:Middel, E:End, S:single,对于一个待分词序列:大家都爱北京天安门对应的状态序列为BESSBEBME,这样就很容易切分为:BE S S BE BME。

  • 观察值序列,指的就是待切分的词,如:我爱北京天安门;

  • 初始化概率,指的是B\M\E\S这四种状态在第一个字的概率分布情况;

  • 状态转移矩阵,在马尔科夫模型里面十分重要,在HMM中,假设当前状态只与上一个状态有关,而这个关系我们可以使用转移矩阵来表示,在这里我们是一个44的矩阵;

  • 条件概率矩阵,HMM中,观察值只取决于当前状态值(假设条件),条件概率矩阵主要建模在BMES下各个词的不同概率,和初始化概率、状态转移矩阵一样,我们需要在语料中计算得到对应的数据。

举个例子来说明下: 如大家都爱北京天安门,我们初始化一个weight[4][9],则数组第一列值为初始化概率条件概率集,依次为:P(B)P(大|B),P(E)P(大|E),P(M)P(大|M),P(E)*P(大|E)。然后根据转移概率计算下一个字的状态概率分布:weight[k][i-1] + _transProb[k][j] +_emitProb[j][sentence[i]],依次到最后即可,即可计算句子中所有词的状态分布,然后确定好边界对比条件,即可计算出对应状态序列。 HMM是中文分词中一种很常见的分词方法,由上述描述我们知道,其分词状态主要依赖于语料的标注,通过语料初始化概率、状态转移矩阵、条件概率矩阵的计算,对需要分词的句子来进行计算,简单来说,是通过模型学习到对应词的历史状态经验,然后在新的矩阵中取使用。HMM的模型计算简单,且通常非常有效,对词典中未出现词有比较好的效果。

更复杂的概率分词模型:CRF

这里我们提到的CRF,不是广义的CRF,而是线性链式CRF,和HMM一样,CRF的分词问题,同样是一个序列标注问题,将BEMS标注到句子中的不同词上,相对与HMM,CRF能够利用更多特征,数学原理不讲啦,都是图加概率模型的解释,有兴趣的可以去看下

和HMM不同的是,HMM描述的是已知量和未知量的一个联合概率分布,属于generative model,而CRF则是建模条件概率,属于discriminative model。另外CRF特征更加丰富,可通过自定义特征函数来增加特征信息,通常CRF能建模的信息应该包括HMM的状态转移、数据初始化的特征,CRF理论和实践上通常都优于HMM,CRF主要包括两部分特征:一,简单特征,只涉及当前状态的特征;二,转移特征,涉及到两种状态之间的特征;特征模板的说明可以看下  https://taku910.github.io/crfpp/

深度学习在分词上的尝试: bi-lstm+crf

基本做法包括:首先,训练字向量,使用word2vec对语料的字训练50维的向量,然后接入一个bi-lstm,用来建模整个句子本身的语义信息,最后接入一个crf完成序列标注工作,bi-lstm+crf可以用来完成分词、词性标注这类的工作。 这个我会在之后做一些相关的尝试。

词向量

词向量是在NLP中比较基础的一个工作,相对计算机而言,人要聪明的多,人很容易明白幸福和开心是两个比较近的词,而计算机要想了解,其实是很难的,而在现代计算机中,对语言的理解显得越来越重要,如何去表示一个词,也成为了理解语言的基础。

one-hot编码

One-hot编码可能是最简单的一种编码方法,每个词只在对应的index置1,其他位置都是0,One-hot编码的问题在于很难做相似度计算,在大规模语料上时,One-hot编码的长度可能为几十万、几百万甚至更大,One-hot编码显然不行;

矩阵分解方法(LSA)


"You shall know a word by the company it keeps" --Firth, J. R

针对一个词来说,它的语义由其上下文决定。 LSA使用词-文档矩阵,矩阵通常是一个稀疏矩阵,其行代表词语、其列代表文档。词-文档矩阵表示中的值表示词在该文章出现的次数,通常,我们可以简单地通过文档的出现次数分布来表示对应的词,但是由于这个矩阵通常是比较稀疏的,我们可以利用矩阵分解,学习到对应词的低秩表示,这个表示建模了文档中词的共现关系,让相似度的计算变得更加容易。 同理,可以也可以在更小粒度上计算矩阵的构建,如设定指定窗口大小,若在该窗口内出现,则数值加一,构建好词-词共现矩阵,最终使用如svd这类的矩阵分解方法即可。 这类方法明显的弊病在于当copur过大时,计算很消耗资源,且对于未出现词或者新文档不友好。

Word2Vec

关于Word2vec有很多很好的学习资料,大致包括CBOW和Skip-gram模型,其中CBOW的输入就是上下文的表示,然后对目标词进行预测;skip-gram每次从目标词w的上下文c中选择一个词,将其词向量作为模型的输入。之前有写Word2vec的文章可以简单看看 Stanford CS224d笔记之Word2Vec.


其中skip-gram主要由包括以下几块:

  • 输入one-hot编码;
  • 隐层大小为次维度大小;
  • 对于常见词或者词组,我们将其作为单个word处理;
  • 对高频词进行抽样减少训练样本数目;
  • 对优化目标采用negative sampling,每个样本训练时,只更新部分网络权重。

Glove

Glove实际上是结合了矩阵分解方法和Window-based method的一种方法,具体看下中公式2-7的推导,Glove的优势主要在于:

  • skip-gram利用local context,但是没有考虑大量词共现的信息,而文中认为词共现信息可以在一定程度上解释词的语义,通过修改目标函数,z

  • 作者认为相对于原始的额条件概率,条件概率的比值更好地反映出词之间的相关性,如下图:

  • 为保证神经网络建模线性结构关系(神经网络容易建模非线性关系,容易欢笑线性关系),对词差值建模,并且增加一个权重函数;

  • 使用AdaGrad:根据参数的历史梯度信息更新每个参数的学习率;

  • 为减少模型复杂度,增加假设词符合幂率分布,可为模型找下界限,减少参数空间;

NNLM

如上图,早在2001年,Bengio就使用神经网络学习语言模型,中间可输出词向量,NNLM和传统的方法不同,不通过计数的方法对n元条件概率估计,而是直接通过神经网络结构对模型求解,传统的语言模型通常已知序列,来预测接下来的出现词的可能性,Bengio提出的nnlm通过将各词的表示拼接,然后接入剩下两层神经网络,依次得到隐藏层h和输出层y,其中涉及到一些网络优化的工作,如直连边的引入,最终的输出节点有|V|个元素,依次对应此表中某个词的可能性,通过正向传播、反向反馈,输入层的e就会更新使得语言模型最后的性能最好,e就是我们可拿来的向量化的一种表示。

知识表示

知识表示是最近开始火起来的一种表示方式,结合知识图谱,实体之间的关系,来建模某个实体的表示,和NLP里的很类似,上下文通常能表征词的关系,这里也是一样,结合知识图谱的知识表示,不仅考虑实体间链接关系,还可以通过引入更多的如text、image信息来表征实体,这里可以关注下清华刘知远老师的相关工作。

词性标注

词性标注的相关学习路线,基本可以重搬下分词相关的工作,也是一个词性标注的工作

  • 基于最大熵的词性标注
  • 基于统计最大概率输出词性
  • 基于HMM词性标注
  • 基于CRF的词性标注 可以稍微多聊一点的是Transformation-based learning,这里主要参考曼宁那本经典的NLP教材 Transformation-based learning of Tags, Transformation 主要包括两个部分:a triggering environment, rewrite rule,通过不停统计语料中的频繁项,若满足需要更改的阈值,则增加词性标注的规则。

总结

从来都认为基础不牢、地动山摇,后面会继续努力,从源码、文章上更深了解自然语言处理相关的工作,虽然现在还是半调子水平,但是一定会努力,过去一段时间由于工作相对比较忙,主要还沉沦了一段时间打农药,后面会多花点时间在技术上的积淀,刷课、读paper、读源码。另外,为了加强自己的coding能力,已经开始用cpp啦(周六写了500+行代码),想想都刺激,哈哈哈!!!我这智商够不够呀,anyway,加油吧!!!


可训练的中文分词词性标注系统
12-26
采用机器学习的方法进行自然语言处理,对中文进行分词词性标注分词采用crf模型,词性标注用hmm模型,解码算法为Vertibi算法。本系统使用java语言编写
CRF中文语句结构分析
12-11
利用crf分析中文句子结构,可以利用该技术做语句分析,词性标注
处理好的人民日报语料,可以直接用CRF训练命名实体
06-05
处理好的人民日报语料,用于命名实体识别,两个文件分别为字符集和词语级
seq2annotation:基于 TensorFlow & PaddlePaddle 的通用序列标注算法库(目前包含 BiLSTM+CRF, Stacked-BiLSTM+CRF 和 IDCNN+CRF,更多算法正在持续添加中)实现中文分词(Tokenizer segmentation)、词性标注(Part Of Speech, POS)和命名实体识别(Named Entity Recognition, NER)等序列标注任务
05-14
seq2annotation 基于 TensorFlow & PaddlePaddle 的通用序列标注算法库(目前包含 BiLSTM+CRF 和 IDCNN+CRF,更多算法正在持续添加中)实现中文分词(Tokenizer / segmentation)、词性标注(Part Of Speech, POS)和命名实体识别(Named Entity Recognition, NER)等序列标注任务。 特色 通用的序列标注:能够解决通用的序列标注问题:分词词性标注和实体识别仅仅是特例。 Tag schema free: 你可以选择你想用的任何 Tagset。依赖于 提供的编码、解码功能 TODO current is not launch on pypi, but seq2annotation depends on it, so seq2annotation currently can't
统计机器学习方法 for NLP:基于CRF的词性标注
nghuyong的博客
06-18 548
前言最近在重刷李航老师的《统计机器学习方法》尝试将其与NLP结合,通过具体的NLP应用场景,强化对书中公式的理解,最终形成「统计机器学习方法 for NLP」的系列。这篇将介绍条件随机场CRF(绝对给你一次讲明白)并基于CRF完成一个词性标注的任务。CRF是什么条件随机场(Conditional random field, CRF)是一个NLP领域广泛使用的模型,即使在深度学习时代也是如此。尤其在...
自然语言处理系列-3.词向量
weixin_33794672的博客
03-08 183
估计有人会说小Dream在偷懒。词向量,网上百度一大把的东西,你还要写。在我看来,词向量在自然语言处理中是非常重要的一环,虽然他在一开始就没有受到大家的重视,但是在神经网络再度流行起来之后,就被当作是自然语言处理中奠基式的工作了。另一方面,网上词向量相关的文章,大多是抄来抄去,能够深入浅出,讲的通俗而又不失深度的少之又少。最后,为了这个系列的系统性和完整性,我还是决定好好讲一...
NLP 基础分词向量化词性标注
村雨遥
12-07 1661
基于HMM(隐马尔可夫模型)的分词方法 基本部分 状态值序列 B:Begin; M:Middle; E:End; S:Single; 观察值序列 待切分的词; 初始化概率 BMES这四种状态在第一个字的概率分布情况; 状态转移矩阵 HMM中,假设当前状态只与上一状态相关,则此关系可用转移矩阵表示; 条件概率矩阵 HMM中,观察值只取决与当前状态值(假设条件),条件概率矩阵主要建模在BMES下各个...
python 分词字典的词性_自然语言处理基础技术分词向量化词性标注
weixin_39664585的博客
12-24 356
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~作者:段石石前言前段时间,因为项目需求, 开始接触了NLP,有感自己不是科班出身,很多东西理解不深,于是花时间再读了一些NLP的经典教程的部分章节,这里是第一部分,主要包括三小块:中文分词、词向量、词性标注, 这三块是前段时间项目上有用到过,所以稍做总结与大家分享下,只有更极致地深入了解才能学习得更多。分词分词可能是自然语言处理中最基本的问题...
NLP 课程作业-中文分词词性标注句法分析文本向量化情感分析基于机器学习的 NLP 算法+源代码+文档说明
12-23
词性标注 句法分析 文本向量化 情感分析 基于机器学习的 NLP 算法 +源代码+文档说明 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功,...
自然语言处理NLP技术
08-10
第1章 NLP基础 第2章 NLP前置技术解析 ...第4章 词性标注与命名实体识别 第5章 关键词提取算法 第6章 句法分析 第7章 文本向量化 第8章 情感分析技术 第9章 NLP中用到的机器学习算法 第10章 基于深度学习的NLP算法
Min_NLP_Practice:使用CNN双向lstm和crf模型并带有char嵌入功能的中英文Cws Pos Ner实体识别工具。基于字向量的CNN池化双向BiLSTM与CRF模型的网络,可能的一体化完成标记,实体识别。主要包括原始文本数据,数据转换,训练脚本,预训练模型,可用于序列标注研究。注意:唯一需要实现的逻辑是将用户数据转换为序列模型。分词准确率约为93% ,词性标注准确率约为90%,实体标注(在本样本上)约为85%
02-03
基于字向量的CNN池化双向BiLSTM与CRF模型的网络,可能一体化的完成中文和英文分词词性标注,实体识别。主要包括原始文本数据,数据转换,训练脚本,预训练模型,可用于序列标注研究。注意:唯一需要实现的逻辑是将...
Python实现缅甸语分词.zip
07-11
Python实现的缅甸语分词工具 分词(tokenization)是自然语言处理的基本操作之一。分词的直译是词形化,...因此,分词分词自然语言处理基础工作,长期以来都是计算语言学和自然语言处理领域关注的基础话题之一
JAVA实现基于知识图谱的古诗词智能问答
06-08
2、对问句进行分词,每个单词标注词性(涉及用户字典) 3、对问句进行抽象化,将单词用对应的词性替换,比如 “海尔的冰箱有哪些” 替换成 “ntc的n有哪些”(涉及HashMap) 5、对抽象化后的句子,生成词向量...
用条件随机场CRF进行字标注中文分词(Python实现)
热门推荐
时空霹雳的专栏
08-13 2万+
本文运用字标注法进行中文分词,使用4-tag对语料进行字标注,观察分词效果。模型方面选用开源的条件随机场工具包“CRF++: Yet Another CRF toolkit”进行分词。         本文使用的中文语料资源是SIGHAN提供的backoff 2005语料,目前封闭测试最好的结果是4-tag+CFR标注分词,在北大语料库上可以在准确率,召回率以及F值上达到92%以上的效果,在
中科院的分词系统使用的词性标注标准
lzj0470的专栏
03-23 878
汉语文本词性标注标记集Ag 形语素 形容词性语素。形容词代码为a,语素代码g前面置以A。a 形容词 取英语形容词adjective的第1个字母。ad 副形词 直接作状语的形容词。形容词代码a和副词代码d并在一起。an 名形词 具有名词功能的形容词。形容词代码a和名词代码n并在一起。b 区别词 取汉字“别”的声母。c 连词 取英语连词conjunction的第1个字母。Dg 副语素 副词性语素。副词...
bilstmcrf词性标注_pytorch BiLSTM+CRF代码详解 重点
weixin_42497828的博客
12-24 798
一. BILSTM + CRF介绍1.介绍基于神经网络的方法,在命名实体识别任务中非常流行和普遍。 如果你不知道Bi-LSTM和CRF是什么,你只需要记住他们分别是命名实体识别模型中的两个层。1.1开始之前我们假设我们的数据集中有两类实体——人名和地名,与之相对应在我们的训练数据集中,有五类标签:B-Person, I- Person,B-Organization,I-Organization假设...
基于BiLSTM-CRF模型的分词词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
丨汀、的博客
02-05 474
基于BiLSTM-CRF模型的分词词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于springboot+vue+MySQL实现的在线考试系统+源代码+文档
最新发布
06-01
web期末作业设计网页 基于springboot+vue+MySQL实现的在线考试系统+源代码+文档
Python代码实现关键词提取中文分词词性标注以及 tf-idf
05-11
实现中文分词词性标注可以使用jieba和pynlpir这两个库,而TF-IDF的实现可以使用sklearn库。以下是Python代码实现: ```python import jieba import jieba.posseg as pseg import pynlpir from sklearn.feature_...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 三次方分解因式重要公式 133285
  • AHCI、RAID、IDE三种硬盘模式优缺点对比 82988
  • html中ul和li标签的用法 74618
  • R语言读CSV、txt文件方式以及read.table read.csv 和readr(大数据读取包) 63682
  • ubuntu怎样打开命令行终端(5种方法) 52181

分类专栏

  • 机器视觉 13篇
  • 期货量化 8篇
  • Vue 74篇
  • 3DMAX 3篇
  • NLP 12篇
  • 产品
  • Unity 28篇
  • 流式计算 12篇
  • 边缘计算 4篇
  • Linux 333篇
  • Python 195篇
  • JAVA 270篇
  • Hadoop 199篇
  • Hbase 20篇
  • 数据库集群 25篇
  • 深度学习 318篇
  • 算法 415篇
  • NetWork 41篇
  • PS 16篇
  • Perl 11篇
  • C++/C 54篇
  • Web 85篇
  • 数据结构 12篇
  • R语言 19篇
  • 计算机安全 5篇
  • 云计算 62篇
  • 数据库 145篇
  • kernel 49篇
  • 服务器 72篇
  • Windows 21篇
  • 建筑设计 16篇
  • 励志 14篇
  • Ruby 43篇
  • 安全驾驶 13篇
  • 数学基础 24篇
  • Docker 157篇
  • OpenStack 21篇
  • 大数据 18篇
  • 区块链 24篇
  • 解决问题 12篇
  • Spark2-mlib 38篇
  • EFK 18篇
  • Quant 25篇
  • 金融学 53篇

最新评论

  • nvidia-smi 显示信息

    陌上初安373: 哥 cudn version 突然显示N/A是啥意思啊

  • python使用kafka收发消息

    ailiuda0126: 代码都是往topic写数据的

  • 如何查看本机路由表并进行分析?

    不做龙套: 大佬写的非常清楚表情包

  • 字符串解压缩类库(zip、GZIP、QuickLz、snappy、lzf、jzlib)介绍

    2301_79917825: gbj123

  • 遇见大数据可视化 : 那些 WOW 的数据可视化案例

    阿里数据专家: AIGC ChatGPT ,BI商业智能, 可视化Tableau, PowerBI, FineReport, 数据库Mysql Oracle, Office, Python ,ETL Excel 2021 实操,函数,图表,大屏可视化 案例实战 http://t.csdn.cn/zBytu

大家在看

  • 【C语言】扫雷小游戏

最新文章

  • k8s nginx .yaml 测试
  • xshell连接时显示“服务器发送了一个意外的数据包。received:3,expected:20
  • kolla 部署 openstack v1.0
2022年3篇
2021年154篇
2020年361篇
2019年427篇
2018年900篇
2017年1224篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司苏州SEO按天收费价格思茅网站推广系统公司宁德网站建设设计推荐威海设计公司网站报价龙岗网站制作设计多少钱邵阳模板网站建设公司张北设计网站公司柳州百度爱采购朔州SEO按天收费价格郑州建网站延边网页制作多少钱景德镇企业网站建设推荐品牌网站设计哪家好池州网站优化按天扣费推荐南京百姓网标王哪家好贺州网站推广工具价格海东网站设计模板推荐昆明网站优化按天计费亳州SEO按效果付费推荐霍邱阿里店铺运营推荐沈阳阿里店铺运营报价惠州百度爱采购报价邵阳网站优化按天收费三明网站优化报价绵阳关键词排名包年推广长葛百度爱采购报价秦皇岛网站制作设计多少钱淄博网站建设设计哪家好淮北网站优化报价拉萨模板推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化