自然语言处理(NLP)是一种使计算机能够理解和处理人类语言的技术。它包括识别、计算和加工人类语言,从而实现智能化的交流。例如,当你对计算机说“你吃了吗?”,它可能会回答“我睡了三个小时”。这显然不符合人类正常的对话逻辑。NLP的目标是让计算机真正理解人类语言的含义,实现更加智能的互动。
搜索引擎如维基百科可以帮助用户快速找到所需信息。
谷歌翻译提供了一种便捷的翻译工具,能够将一种语言转换成另一种语言。
多标签分类应用和支付宝的个性化财务报告功能都是文本分类和情感分析的应用实例。
从一段长文中提取关键信息。
包括分词、词性标注、关键词抽取和语义角色标注等任务。
生成简洁的核心内容摘要。
电商平台中的智能客服系统能够解答用户的问题。
如苹果的Siri、QQ小冰等智能对话系统。
从文本中构建知识化联系,进一步应用于知识检索、知识推理和知识发现。
自动发现大量文本中的规律。
NLP涉及的技术包括分词、词性标注、句法分析、词干提取、命名实体识别、指代消歧、关键词抽取、词向量与词嵌入以及文本生成等。
常用的算法有tf-idf、BM25、TextRank、HMM、CRF、LSI、主题模型、word2vec、GloVe、LSTM/GRU、CNN、seq2seq和Attention等。
例如,“我们把香蕉给猴子,因为它们饿了”和“我们把香蕉给猴子,因为它们熟透了”中,“它们”可能指代的对象不同,需要理解上下文才能正确判断。
如“南京市长江大桥”可以有不同的切分方式,需要根据语境来判断正确的分词方式。
“你这个豆腐怎么卖?”可能会导致机器误解为“一块两块”是要买两块还是价格是两块。
如“小明受到了老师的表扬,他很高兴”,这里的“他”可能指代“小明”或“老师”,需要上下文信息来确定。