hatGPT突然火爆,小张也去了解了ChatGPT,发现ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。如此强大的工具,背后是什么原理呢,让我们一起来看一下吧。
ChatGPT的核心是自然语言处理,接下来我们了解下自然语言处理的过程吧。
中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个个单独的词。简单的讲,中文分词就是让计算机系统在汉语文本中的词与词之间自动加上空格或其他边界标记。
请对下面两句话进行分词,分词结果请去掉标点符号:
这个门把手坏了,请你来修一下。
快把手拿开,这里危险不能摸。
请问上面两句话中“把手”有何区别?计算机是如何识别两句话中“把手”的不同含义的?
根据上一步文本分词相关知识,我们知道中文中同样一个词在不同的句子,不同的上下文环境中有不同的含义,因此要结合上下文进行词性标注,词性标注是自然语言处理
中一项非常重要的基础性工作,词性标注主要被应用于文本挖掘(text mining)和NLP领域,是各类基于文本的机器学习任务,例如语义分析等的预处理步骤。
请对下面两句话进行词性标注:
1.警察制服了小偷
2.环卫工上班必须穿制服
上面两句话中“制服”都是一个词语,它们有什么不同?下面说法正确的是:
对于长文本的文本总结,在信息快速膨胀的时代尤其有意义,如对每日新闻的自动总结可以快速为我们提供有效的信息。文本总结模型有两种可用的方法,一种是摘要式的方法,即从 语义方面提供更加简单精炼的总结;另一种是抽取式的方法,即通过对原文中的关键语句进行重新排列,最大限度地提炼原文的主要信息。抽取式的方法不需要人工标注和训练,因此 更加简单明了。
请针对下面这段文字进行总结,撰写100字以内的摘要,再点击自动生成摘要,跟自己撰写的摘要对比下,体验下AI的强大功能吧。
词云主要提供了一种观察社交媒体网站上的热门话题或搜索关键字的一种方式,它可以对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。
接下来来体验下词云生成吧:
自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面。
针对文本数据,自然语言处理流程如下:
1.文本分词
中文分词就是让计算机系统在汉语文本中的词与词之间自动加上空格或其他边界标记。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。
中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。
有了成熟的分词算法,是否就能容易的解决中文分词的问题呢?事实远非如此。中文是一种十分复杂的语言,让计算机理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。
歧义识别
歧义是指同样的一句话,可能有两种或者更多的切分方法。例如,在句子“这个门把手坏了”中,“把手”是个词,但在句子“请把手拿开”中,“把手”就不是一个词;在句子“将军任命了一名中将”中,“中将”是个词,但在句子“产量三年中将增长两倍”中,“中将”就不再是词。这些词计算机又如何去识别?
如果交集型歧义和组合型歧义计算机都能解决的话,在歧义中还有一个难题,是真歧义。真歧义意思是给出一句话,由人去判断也不知道哪个应该是词,哪个应该不是词。例如:“乒乓球拍卖完了”,可以切分成“乒乓 球拍 卖 完 了”、也可切分成“乒乓球 拍卖 完 了”,如果没有上下文其他的句子,恐怕谁也不知道“拍卖”在这里算不算一个词。
新词识别
命名实体(人名、地名)、新词,专业术语称为未登录词。也就是那些在分词词典中没有收录,但又确实能称为词的那些词。最典型的是人名,人可以很容易理解。句子“王军虎去广州了”中,“王军虎”是个词,因为是一个人的名字,但要是让计算机去识别就困难了。如果把“王军虎”做为一个词收录到字典中去,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项既不划算又巨大的工程。即使这项工作可以完成,还是会存在问题,例如:在句子“王军虎头虎脑的”中,“王军虎”还能不能算词?
除了人名以外,还有机构名、地名、产品名、商标名、简称、省略语等都是很难处理的问题,而且这些又正好是人们经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。新词识别准确率已经成为评价一个分词系统好坏的重要标志之一。
2.词性标注
根据上一步文本分词相关知识,我们知道中文中同样一个词在不同的句子,不同的上下文环境中有不同的含义,因此要结合上下文进行词性标注,词性标注(Part-Of-Speech tagging, POS tagging)也被称为语法标注(grammatical tagging)或词类消疑(word-category disambiguation),是语料库语言学(corpus linguistics)中将语料库内单词的词性按其含义和上下文内容进行标记的文本数据处理技术。
词性标注在本质上是分类问题,将语料库中的单词按词性分类。一个词的词性由其在所属语言的含义、形态和语法功能决定。以汉语为例,汉语的词类系统有18个子类,包括7类体词,4类谓词、5类虚词、代词和感叹词。词类不是闭合集,而是有兼词现象,例如“制服”在作为“服装”和作为“动作”时会被归入不同的词类,因此词性标注与上下文有关 [3] 。对词类的理论研究可以得到基于人工规则的词性标注方法,这类方法对句子的形态进行分析并按预先给定的规则赋予词类
词性标注可以由人工或特定算法完成,使用机器学习(machine learning)方法实现词性标注是自然语言处理(Natural Language Processing, NLP)的研究内容。常见的词性标注算法包括隐马尔可夫模型(Hidden Markov Model, HMM)、条件随机场(Conditional random fields, CRFs)等。
3.分类管理
分类管理是进行文本分类之前先预定义类别,例如新闻资讯中的体育、政治、科技等类别,因此我们需要先进行分类器训练,让系统知道什么样的文本属于哪一类,本系统使用了训练文本集训练分类器,人为定义一个类别,上传语料文件,对系统进行训练,训练完之后,系统会自动把与语料内容相关度比较高的分为一类,语料内容越丰富,分类越准确。
4.文本分类
文本分类是用电脑对文本集按照一定的分类体系或标准进行自动分类标记。它根据一个已经被标注的训练文档集合, 找到文档特征和文档类别之间的关系模型, 然后利用这种学习得到的关系模型对新的文档进行类别判断。
伴随着信息的爆炸式增长,人工标注数据已经变得耗时、质量低下,且受到标注人主观意识的影响。因此,利用机器自动化的实现对文本的标注变得具有现实意义,将重复且枯燥的文本标注任务交由计算机进行处理能够有效克服以上问题,同时所标注的数据具有一致性、高质量等特点。
其应用场景众多,包括:
情感分析(Sentiment Analyse)
主题分类(Topic Labeling)
问答任务(Question Answering)
意图识别(Dialog Act Classification)
自然语言推理(Natural Language Inference)
其分类标签可以是:
情感分析(积极、消极、中性)
主题分类(金融、体育、军事、社会)
问答任务(是、否)
意图识别(天气查询、歌曲搜索、随机闲聊)
自然语言推理(导出、矛盾、中立)
5.文本摘要
文本摘要是指通过各种技术,对文本或者是文本的集合,抽取、总结或是精炼其中的要点信息,用以概括和展示原始文本的主要内容或大意。作为文本生成任务的主要方向之一,从本质上而言,这是一种信息压缩技术。文本摘要技术是信息爆炸时代,提升人们获取有效信息效率的关键技术之一,如何从冗余、非结构化的长文本中提炼出关键信息,构成精简通顺的摘要,是文本摘要的核心问题。
按照实现技术方案的不同,可以分为抽取式文本摘要、生成式文本摘要;
抽取式摘要,即直接从原文中抽取一些预先设置好的单元来组成摘要,抽取单元一般为句子、短语或词语,目前大多数方法都是以句子作为抽取单元。抽取式的方法基于一个假设,一篇文档的核心思想可以用文档中的某一句或几句话来概括,那么摘要的任务就变成了找到文档中最重要的几句话。
生成式摘要,它试图通过理解原文的意思来生成摘要,其实就是模仿人类写摘要的方式,可能会用 原文中的词 ,也可能会用新词 (未出现在原文中的词)来做表述。其优点是相比于抽取式而言用词更加灵活 ,因为所产生的词可能从未在原文中出现过。 总的来说,抽取式的文本摘要直接从原文中摘取完整的句子作为文章的摘要,所以通常在语法层面的正确性以及对原文概括的准确性上比较占优势,如同按部就班的老实人,令人心安;生成式的文本摘要可以产生原文中没有的单词和短语,容易产生事实性错误,好比一位逍遥的江湖侠客,蛟龙终非池中物,目前,我们这位侠客虽然艳惊四座,但却容易野马脱缰,返回不符合事实的结果。
6.相似度计算
在自然语言处理中,我们经常需要判定两个东西是否相似。
比如,在微博的热点话题推荐那里,我们需要比较微博之间的相似度,让相似度高的微博聚集在一起形成一个簇,提出一个主题。
在问答系统中,比如说人工客服,我们需要提前准备好问题和一些答案,让用户输入的问题与题库中的问题进行相似度的比较,最后输出答案。
在推荐系统中,我们需要提取一个用户的所有物品,在根据这个物品找到对应的用户群,比较两个用户之间的相似性,在进行相应的推荐(协同过滤)。
在对语料进行预处理的时候,我们需要给予文本的相似度,把相似度高的重复主题过滤掉。
如果是文本分析,它首先就要用到分词技术,然后去掉不必要的词(语气词,连接词)。然后对词给一个抽象的量表示权重,最后在用一些方法去统计出整体的相似度。
7.情感分析
情感分析是指通过文本来挖掘人们对于产品、服务、组织、个人、事件等的观点、情感倾向、态度等。情感分析是随着互联网发展而产生的,早期主要用于对网上销售商品的用户评语的分析,以便判断用户对其所购商品是“喜欢”还是“不喜欢”。后期随着自媒体的流行,情感分析技术更多地用于识别话题发起者、参与者的情感趋向,从中判断或挖掘话题中的价值,由此来分析相关舆情。
情感分析的流程包括文本预处理、特征标注与选择、训练模型、调整模型。本系统是先新建情感词,用户定义情感词,并上传语料对系统进行训练,训练之后系统即可自动对用户输入的文本进行情感分析,给出情感分析结果,语料内容越丰富则分析结果越准确。
随着近年来深度学习的发展,以及文本数据的可获取性不断提升,情感分析在自然语言处理研究领域中日渐举足轻重,慢慢从理论研究领域拓展到实践应用中。目前主要用于预测电影票房、股票趋势、舆情分析、改进服务及产品、了解用户体验等。
8.数据可视化
数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。但是,这并不就意味着数据可视化就一定因为要实现其功能用途而令人感到枯燥乏味,或者是为了看上去绚丽多彩而显得极端复杂。为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察。
数据可视化是以图形的方式呈现结构化或非结构化数据,从而将隐藏在数据中的信息直接呈现给人们。它不仅仅是使用数据可视化工具将数据转化为图形。相反,它是从数据的角度看待世界。换句话说,数据可视化的对象是数据,把可视化作为探索世界的手段。
数据可视化最大重要性是在于它帮助人们更快地理解数据。寻找堆积如山的信息之间的联系并不容易,但图形和图表可以将无形的信息,转化为可见的图形符号,直接清晰地表达出来,帮助你快速发现关键点。研究表明,人们记得他们看到的大约80%的事情,但只记得他们读过的20%。大脑记忆图像的速度比抽象单词快一百万倍。所以,可视化数据可以加深人们对信息的记忆。