什么是自然语言处理?
自然语言处理,英文Natural Language Processing,简写NLP。简单的断词为两个词“自然语言”和“处理”。自然语言指的我们人类的表达语言,包含汉语、英语、法语等。“处理”即计算机对人类语言的识别、计算和加工。他会模拟人类对语言的理解,并返回期望的结果。
比如:你对计算说:“你吃了吗?”,计算机回复:“我睡了三个小时”。显而易见,这不是我们“人”的思考和回答方式。其实对自然语言处理最终目标就是,让计算机完全理解我们的人类的含义。达到真正的智能交互。
大致来说,NLP可以分为以下几个领域:
【文本检索】:维基百科等搜索引擎
【机器翻译】:谷歌自带的谷歌翻译
【文本分类/情感分析】:多标签化的分类应用、支付宝给每个人的财报定位
【信息抽取】:一大段文字中抽取重点词汇
【序列标注】:分词、词性标注、关键词抽取、语义角色标注等等
【文本摘要】:提取文本核心,自动生成文本的摘要
【问答系统】:各大电商系统中的智能客服系统
【对话系统】:苹果的Siri、QQ小冰、各种机器人等
【知识图谱】:从文本中建立知识化的联系,图谱本身不具有应用意义,建立在图谱基础上的知识检索、知识推理、知识发现才是知识图谱的研究方向
【文本聚类】:古老的领域,从大量文本中自动发现规律
涉及的基本技术:
分词、词性标注、句法分析、词干提取、命名实体识别、指代消歧、关键词抽取、词向量与词嵌入、文本生成等等
常见的算法:
tfidf、BM25、TextRank、HMM、CRF、LSI、主题模型、word2vec、GloVe、LSTM/GRU、CNN、seq2seq、Attention……
对于目前阶段,我们举例遇到一些的困难:
①:句子“我们把香蕉给猴子,因为它们饿了”和“我们把香蕉给猴子,因为它们熟透了”有同样的结构。但是代词“它们”在第一句中指的是“猴子”,在第二句中指的是“香蕉”。如果不了解猴子和香蕉的属性,无法区分。
②:南京市长江大桥,根据断词来去解析这句话,可以分为
a.南京市 长江大桥 b.南京 市长 江大桥
相信大家看到这个词汇,根据讲话的抑扬顿挫能很明确的分辨出词语的意思,但是如果是一句话,计算机可能会难以区分或误判。此为基本的分词问题
③:“你这个豆腐怎么卖?” “一块两块”,那么机器很有可能就混乱了。是一块两块还是要买两块。
④:“小明受到了老师的表扬,他很高兴”,这个“他”是指“小明”还是指“老师”
网友评论