前言:
如今看官们对“新闻分类系统”大致比较关心,我们都需要剖析一些“新闻分类系统”的相关资讯。那么小编在网摘上网罗了一些对于“新闻分类系统””的相关资讯,希望你们能喜欢,小伙伴们一起来学习一下吧!#寻找真知派# #科学思维看百态#
人工智能大常识(3):文本理解(以新闻自动分类为例)
近期写一组关于人工智能的科普帖子。第一帖介绍了AI自动诊断的方法属于数据分析,第二帖介绍了深度学习图像识别,本帖属于自然语言处理,基本包括了人工智能几个常见的应用领域。敬请持续"关注"。
本帖通过新闻自动分类的介绍,向大家科普人工智能自然语言处理的基本应用常识。
人类的自然语言是某种可分类符号编码的离散的无结构信号系统。自然语言,特别是汉语表达习惯和语法规则灵活多变,具有不精确、不确切性,要实现准确传递信息、表情达意,往往需要人脑已有知识和经验的参与。譬如,对于同一场体育比赛,两家媒体报道的新闻标题分别为"中国队大胜美国队"和"中国队大败美国队",两段字面看似完全相反的文本却有着相同的语义:中国队赢了美国队。"一百个人眼中有一百个哈姆雷特","《红楼梦》的每个读者都是创作者",这些说法都表达了自然语言的灵活性和不确定性。因此,要使机器对人类自然语言进行准确处理、正确识别和理解,进行有效的知识发现、挖掘与应用,具有高度的复杂性。
然而,山高人为峰。尽管艰难,人们还是找到许多计算机处理自然语言的有效方法。在中文自然语言处理方面,美国谷歌,中国百度、科大讯飞等都有各自的建树。特别值得称道的是,字节跳动的自然语言处理技术(以及与图像、视频相结合的处理技术),无论是准确性、鲁棒性、处理速度和效率等方面,均达到空前的高度。相信每个看头条、西瓜、抖音,特别是发表内容的朋友,一定对这些系统的分发、推荐和建议、审核机制和技术有深刻的体验,以至于引起白宫大佬们的警觉、恐惧和愤懑。
书归正传,计算机是如何认知、理解和处理自然语言的呢?本帖从自然语言处理的基本技术与应用领域、中文分词、关键词提取、文本向量化、新闻自动分类等几个方面作一个常识性介绍。希望零基础小白也能了解大概。你可能并不直接从事这方面工作,但多了解一点知识多半是有益的,至少也丰富一下精神世界。
自然语言处理基本技术与应用领域
自然语言处理(NLP = Natural Language Processing)主要技术包括:词干提取、词形还原、中文分词、词向量化、词性标注、命名实体消歧、命名实体识别、语义分析、情感分析等。
主要应用领域包括:文本关键词提取、文本自动摘要、文本聚类与分类、知识图谱与可视化、问答系统与自动对话、机器翻译、自动写作(创作)、舆情监控等。
概率与统计:用数学方法处理语言问题
什么?概率、统计?这不是扯到数学上了吗?是的,你没看错,概率与统计方法是AI自然语言处理的有力工具。
自然语言的基本特征是上下文相关,使用各种语法和规则研究机器处理自然语言的方法非常困难;后来人们发现,使用数学的方法倒是可以有效处理这种特征。请读下面例句:
例句一:我先吃苹果然后吃香蕉。
例句二:然后吃香蕉我吃苹果先。
例句三:香蕉吃苹果然后吃先我。
同样都是10个字符组成的字符串,排列成例句一容易理解;例句二有些费解,但基本还能表达说话人的意思;而例句三就完全不知所云了。如果从语法规则分析,例句一符合语法规则;例句二部分符合语法规则;例句三不符合语法规则。这是对短句子的分析,相对简单。如果对长句子用语法规则来分析,就会带来很大困难和巨大的计算量,使机器处理自然语言陷入困境。
抛开繁琐的语法规则回归常识,人们发现:例句一容易理解,是因为大家都是这么说话的;少数语无伦次的人(比如刚学话的小孩儿)也有诸如例句二那样讲的;而例句三则完全"不是人话"了,因为极少有人那样讲话。经常说、较少说、极少说,就反映为数学上的概率与统计问题。使用些数学工具进行自然语言处理的方法称为统计语言模型。
中文分词
分词,是中文处理的基础。与英文为代表的拉丁语系语言以空格作为天然的分隔符,而中文由于继承自古代汉语的传统,词语之间没有分隔。古代汉语中除了连绵词和人名地名等,单个汉字通常就是一个词,所以没有分词书写的必要。而现代汉语中双字或多字词居多,多数情况下,一个单独的汉字不再等同于一个词。
中文分词指的是将一个汉字字符序列自动切分成一个个词汇,从而将连续的字符序列按照一定的规范重新组合成词序列的过程。
目前常用的分词技术是基于一个手工建立的百万词汇级的大规模中文语料库,根据概率与统计学原理,通过机器学习方法实现中文分词。
分词技术中有许多难题,最常见的是歧义消除。例如句子成分"结合成"可切分为"结合/ 成",也可切分为"结/ 合成",这就是分词歧义。消歧的方法就是通过上下文关系和概率。目前常用的分词工具jieba对于一般文本分词的正确率可达98%。例句:"我马上去中国人民银行为公司办理事情"。分词效果:
这里为什么不按“中国 / 人民 / 银行”分词,或者按“中国人民 / 银行”分呢?这里面也有概率的因素存在,另有一个原则,就是“取大优先”,即按可组成词的最长词且概率较高来分词。
词频分析与词云显示
词频分析(Word Frequency Analysis)是对文献正文中重要词汇出现的次数进行统计与分析,是文本挖掘的重要手段。它是文献计量学中传统的和具有代表性的一种内容分析方法,基本原理是通过词出现频次多少的变化,来确定热点及其变化趋势。
词云显示是将文本中出现频率较高的词汇以可视化手段进行视觉上的突出显示,通过不同字体大小和颜色,形成关键词渲染或关键词云层,从而过滤掉大量的文本冗余信息,使读者直观、迅速了解文本基本、关键内容。
关键词提取
关键词提取就是从文档中把跟这篇文章意义最相关的一些词语抽取出来。关键词在文献检索、自动文摘、文本聚类/分类等方面有着重要的应用,它不仅是进行这些工作不可或缺的基础和前提,也是互联网上信息建库的一项重要工作。
关键词提取的方法主要有两种:第一种是关键词分配:即给定一个已有的关键词库,对于新来的文档从该词库里面匹配几个词语作为这篇文档的关键词。第二种是关键词提取:针对新文档,通过算法分析,提取文档中一些词语作为该文档的关键词。目前大多数应用领域的关键词抽取算法都是基于后者实现的,从逻辑上说,后者比前者在实际应用中更准确。
TF-IDF(Term Frequency - Inverse Document Frequency)是关键词提取的一种经典算法。这种基于数值统计的方法,可以反映一个词对于某篇文档的重要性。TF-IDF 的基本思想是:如果某个词在一篇文档中出现的频率高,也即 TF 高;并且在语料库中其他文档中很少出现,即 DF 低,也即 IDF 高,则认为这个词专属于某文档的程度高。
文本向量化
文本向量化的主要意义在于对文本按语义内容进行聚类和分类。
文本向量化的前提是要有一个词汇表。譬如,某词汇表中有64000个词,每个词有一个编号,其编号和词汇的对照关系见图:
文本向量化的具体方法为:首先去除对文本语义不起直接作用的虚词和标点符号,如"的、地、得"等,这一步称为去停用词;然后对文本的所有实词分别计算其TF-IDF值。把这些值按照对应的实词在词汇表的位置依次排列,就得到一个向量:
如果词汇表中某词在该文章中没有出现,对应的TF-IDF值为0。那么这64000个数就组成构成一个64000维的向量;这个向量就代表一篇文章。同理,每一篇文章(的实词)都可以对照词汇表变为一个64000维的向量。当然不同文章向量化后的分量可能是各不相同的。对向量比较熟悉的朋友可能已经想到了:计算一下这些向量之间的距离,就可以实现对文章的分类和聚类了!
新闻自动分类
对于已经向量化的一系列文本,譬如互联网上的新闻或评论帖子,我们就可以用求两向量之间距离的方法(如:夹角余弦、欧氏距离等),计算出两篇文章的相似程度了。
譬如,某几篇谈论国庆活动的新闻,文中"国歌"、"国旗"等词汇的TF-IDF值可能会比较高,这样会使得代表这类新闻的向量距离比较接近,也就是它们属于同一类文档;而另外一些文章中"射门"、"越位"、"角球"等词汇TF-IDF值较高,一定都是谈论足球的。文本向量化就比较方便而准确地实现了新闻、文章的自动分类和聚类。
写到这里,我想起多年前,华君武先生的一幅漫画:一位读者提出要一本"冶金方面的书",工作人员给拿了一本《钢铁是怎样炼成的》。可能年轻朋友不觉得有什么讽刺与幽默,老同志都知道,那是一本描写一个苏联(乌克兰)"问题青年"如何成长为坚强的共产主义战士的文学作品,跟冶金没有一毛钱关系。文本向量化的方法不会犯这种标题党的错误。
小结:本帖从最基础的分词开始,介绍了自然语言处理的常见技术和应用。还有许多有价值应用,如:情感分析、机器翻译、自动写作、知识图谱、看图说话等。请有兴趣的同学参阅其他文献资料。另外推荐一本很值得一读的科普著作:《数学之美》(吴军著,人民邮电出版社出版),阅读本书可以帮助你了解更多关于自然语言处理的知识。
#寻找真知派# #科学思维看百态# #自然语言处理 新闻分类#
标签: #新闻分类系统