品牌网站开发特点/网站百度收录查询

品牌网站开发特点,网站百度收录查询,何为响应式网站,做投票网站教程自然语言处理入门 自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域,主要目标是让机器能够理解和生成自然语言,这样人们可以通过语言与计算机进行更自然的互动。 …

自然语言处理入门

自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域,主要目标是让机器能够理解和生成自然语言,这样人们可以通过语言与计算机进行更自然的互动。

对于自然语言来说,处理的数据主要就是人类的语言,例如:汉语、英语、法语等,该类型的数据不像我们前面接触过的结构化数据、或者图像数据可以很方便的进行数值化。

自然语言处理的主要任务:

  • 语音识别:将语音信号转化为文本

  • 文本分析:从文本中提取有意义的信息,包括情感分析、主题提取等

  • 机器翻译:自动将一种语言的文本翻译为另一种语言

  • 语法分析:分析句子的语法结构,识别句子中的各个成分(如主语、谓语、宾语等)

  • 命名实体识别(NER):识别文本中的重要实体,如人名、地点名、组织名等

  • 对话系统:使计算机能够与人类进行自然流畅的对话,如智能助手、聊天机器人等

  • 自动摘要:从大量文本中提取出最关键信息并生成简洁的摘要

文本预处理

文本预处理是指在NLP任务中,对原始文本数据进行清洗、转换、标准化等一系列处理的过程。这是NLP工作流中至关重要的第一步,旨在通过去除冗余和无关的部分,提高文本数据的质量和可用性,以便后续的机器学习模型或深度学习模型能够更高效地学习和推理。

文本预处理的作用
  • 增强文本表示
    • 向量化: 将文本转换为数值向量(如TF-IDF、词嵌入)。
    • 特征提取: 提取n-gram、词性、句法结构等特征。
    • 上下文建模: 通过预处理为上下文相关的模型(如BERT)提供输入。
  • 提高数据质量
    • 清洗文本:原始文本可能包含多余的噪声(如HTML标签、标点符号、拼写错误等)。这些内容对NLP模型没有实际意义,反而可能会影响模型的学习效果。文本清洗可以去除这些无关的部分。
    • 标准化文本格式:例如统一大小写、统一数字的表示等,有助于减少模型的复杂度,让模型能够聚焦于重要信息。
  • 降低计算复杂度
    • 分词: 将句子拆分为单词或子词单元,便于后续处理。
    • 去停用词:停用词在文本中频繁出现,但对模型的语义贡献较小。去除这些停用词可以有效减少文本的维度,降低计算复杂度。
    • 词形还原与词干提取:通过将不同形式的词汇(如复数、动词时态等)归一化为基础形式,减少了模型的词汇量,有助于提高模型的训练效率和准确性。
  • 改进模型性能
    • 降低维度: 通过去除冗余信息,减少特征空间的维度,提高计算效率。
    • 增强一致性: 统一文本表示(如大小写转换、标点符号处理),避免模型混淆。
    • 改善泛化能力: 通过标准化和归一化,使模型更容易捕捉文本中的关键特征。

文本预处理的基本方法

分词

分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

  • 英文:单词之间是以空格作为自然分界符的
  • 中文:只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符。

中文分词示例

源数据:[只因你太美!]
分词结果:['只因','你','太美','!']
分词的作用
  • 作为预处理的第一步,将文本拆分成有意义的单元
  • 帮助机器理解句子的基本结构和含义
常用的分词工具
  1. Jieba分词工具

Jieba(“结巴”)是一个开源的Python中文分词组件,它支持精确模式全模式搜索引擎模式三种分词模式。

Jieba分词工具的基本使用方式:

​ 1.jieba.cut:将分词结果返回到一个生成器对象

​ 2.jieba.luct:将分词结果返回到返回一个列表对象

函数剖析:

​ 1.jieba.cut

将中文句子分割成独立的单词,
Parameter:- sentence: 要分割的字符串- cut_all: 模型类型, True表示使用全模型,False表示使用精确模式- HMM:是否使用隐马尔可夫模型

jieba.cut核心源码:

def cut(self, sentence, cut_all=False, HMM=True, use_paddle=False):sentence = strdecode(sentence)  # 统一解码为 Unicodere_han = re_han_default # 正则表达式,匹配连续的,'有意义'的词元re_skip = re_skip_default # 正则表达式,跳过空白或换行符# 选择分词算法if cut_all:cut_block = self.__cut_all  # 全切分elif HMM:cut_block = self.__cut_DAG  # 基于 DAG + HMMelse:cut_block = self.__cut_DAG_NO_HMM  # 基于 DAG 无 HMM# 正则切分文本块blocks = re_han.split(sentence)  # 按正则表达式对 中文/非中文分割for blk in blocks: # 遍历列表,生成单词if not blk:continueif re_han.match(blk):for word in cut_block(blk):yield wordelse:tmp = re_skip.split(blk)for x in tmp:if re_skip.match(x):yield xelif not cut_all:for xx in x:yield xxelse:yield x   

2.jieba.lcut的源码实现:其实就是将生成器对象强转为列表

def lcut(self, *args, **kwargs):return list(self.cut(*args, **kwargs))
  • 精准分词:按照人类的思维逻辑进行分词:比如英雄联盟是一个词

    精准分词的使用:jieba.cut/jieba.lcut,设置参数cut_all=False

def dm01():CONTENTS = "阳光彩虹小白马,滴滴答滴滴答!"# cut_all=False 精准分词# 返回一个可迭代对象obj = jieba.cut(sentence=CONTENTS, cut_all=False)# 返回的是一个生成器对象# print(obj)  # <generator object Tokenizer.cut at 0x00000294FFB2EF00># print(f'是可迭代对象吗?{isinstance(obj, Iterable)}')# print(f'是迭代器吗?{isinstance(obj, Iterator)}')print(f'分词的结果:{list(obj)}')res = jieba.lcut(CONTENTS, cut_all=False)print(f'lcut方式得到的结果:{res}')
  • 全模式分词:将句子中所有可以成词的词语全部扫描出来
def dm02():CONTENTS = "阳光彩虹小白马,滴滴答滴滴答!"obj = jieba.cut(sentence=CONTENTS, cut_all=True)print(obj)words = jieba.lcut(CONTENTS, cut_all=True)print(f'全模式分词后的结果:{words}')
  • 搜索引擎模式分词:在精确模式基础上对长词镜像再次切分,提高召回率,适用于搜索引擎分词

    def dm03():CONTENTS = "阳光彩虹小白马,滴滴答滴滴答!"obj = jieba.cut_for_search(sentence=CONTENTS)print(obj)words = jieba.lcut_for_search(CONTENTS)print(f'搜索引擎模式分词后的结果:{words}')
    
  • 繁体中文分词:针对中国香港, 台湾地区的繁体文本进行分词。

def dm04():content = "煩惱即是菩提,我暫且不提"words = jieba.lcut(content)print('words--->', words)
  • 用户自定义词典分词
    • 词典格式:一般定义在 .txt 文件中
      • 定义的格式:word freq word_type
        • word:词语(必填)
        • freq: 词频(可选)
        • word_type:词性(可选)
以下为示例阳光 5 n小白马 6 nz滴滴答 2
def dm05():CONTENTS = "阳光彩虹小白马,滴滴答滴滴答!"jieba.load_userdict('./data/userdict.txt')words = jieba.lcut(CONTENTS)print('words--->', words)

命名实体识别

命名实体识别(NER)是自然语言处理中的一个任务,旨在从文本中识别出特定类别的实体(如人名、地名、机构名、日期、时间等)。NER是信息抽取的一部分,帮助计算机识别出与任务相关的实体信息。

例如:

鲁迅, 浙江绍兴人, 五四新文化运动的重要参与者, 代表作朝花夕拾.==>鲁迅(人名) / 浙江绍兴(地名)人 / 五四新文化运动(专有名词) / 重要参与者 / 代表作 / 朝花夕拾(专有名词)
  • 作用
    • 信息抽取:NER帮助从海量的文本中自动抽取出结构化的实体信息,为数据分析、问答系统等提供有价值的内容。
    • 问答系统:在智能问答系统中,NER能够帮助系统准确理解用户的提问,并提取相关的实体信息以便生成更准确的回答。
    • 文本理解:NER对于文本理解至关重要,它帮助系统识别出文本中的关键信息,例如人物、地点、组织等,进而为语义分析和事件抽取提供支持。
  • 处理工具
    • SpaCyNLTKStanford NERBERT(通过微调)LTPHanLP等都可以用于命名实体识别任务。

词性标注

词性标注(Part-Of-Speech tagging, 简称POS)就是为文本中的每个词分配一个语法类别(即词性),例如名词、动词、形容词等。词性标注能够帮助模型理解词汇在句子中的语法功能,并为进一步的句法分析和语义分析提供支持。

  • 类型

    • 名词n:表示人、事物、地方等,例如 "中国", "鲁迅"
    • 动词v:表示动作、存在等,例如 "跑", "吃"
    • 形容词a:描述事物的性质或状态,例如 "大", "美丽"
    • 副词d:修饰动词、形容词或其他副词,例如 "马上", "非常"
    • 代词r:代替名词的词,例如 "我", "他们"
  • 作用

    • 理解句子结构:通过词性标注,可以知道每个词在句子中的角色,帮助理解句子的语法结构。
    • 支持其他NLP任务:许多高级任务如命名实体识别(NER)、句法分析、情感分析等,通常依赖于词性标注的结果。
    • 歧义消解:词性标注有助于解决同一单词在不同上下文中可能具有不同词性的情况。例如,单词 “lead” 可能是动词(引导)也可能是名词(铅),通过词性标注可以解决这种歧义。
  • 处理工具

    • JiebaNLTKSpaCyStanford POS Tagger等是常用的词性标注工具。
  • 使用Jieba分词完成POS任务[知道]

import jieba.posseg as psegCONTENT = '我见过很多天才,但他们都叫我天才'def dm_pos():words = pseg.lcut(CONTENT)print('words->', words)name_entities = list()for word, flag in words:# r: 代词, v:动词,n:名词, ns: 地名if flag in ['r', 'v', 'n', 'ns',]:name_entities.append((word, flag))print('name_entities->', name_entities)return name_entities

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用opencv_python(pdf2image、poppler)将pdf每页转为图片

1、安装依赖pdf2image pip install pdf2image 运行.py报错&#xff0c;因为缺少了poppler支持。 2、安装pdf2image的依赖poppler 以上命令直接报错。 改为手工下载&#xff1a; github: Releases oschwartz10612/poppler-windows GitHub 百度网盘&#xff1a; 百度网盘…

IDEA入门及常用快捷键

IDEA是java常用的IDE。当run一个.java文件时&#xff0c;其实是经历了先编译为.class&#xff0c;再运行的过程。 在project文件夹中&#xff0c;out文件夹存储编译的.class文件&#xff0c;src文件夹存储.java代码文件。 设置自动导包 快捷键&#xff1a; 格式化快捷键&…

io学习----->文件io

思维导图&#xff1a; 一.文件io的概念 文件IO&#xff1a;指程序和文件系统之间的数据交互 特点&#xff1a; 1.不存在缓冲区&#xff0c;访问速度慢 2.不可以移植&#xff0c;依赖于操作系统 3.可以访问不同的文件类型(软连接&#xff0c;块设备等) 4.文件IO属于系统调…

深入探索WebGL:解锁网页3D图形的无限可能

深入探索WebGL&#xff1a;解锁网页3D图形的无限可能 引言 。WebGL&#xff0c;作为这一变革中的重要技术&#xff0c;正以其强大的功能和广泛的应用前景&#xff0c;吸引着越来越多的开发者和设计师的关注。本文将深入剖析WebGL的核心原理、关键技术、实践应用&#xff0c;并…

从开发和对抗的角度思考web网页中的接口逆向

如何从开发和对抗的角度去思考web网页中的接口逆向。 文章目录 前言1.从开发和对抗的角度思考接口逆向1.1 什么是接口逆向1.2 开发的角度思考如何开发策略1.3 对抗的角度思考遇到的问题1.4 正常情况下开发者如何防护1.5 正常情况攻击者如何做&#xff1f;1.6 对抗中的胜者 2.某…

C++24--右值引用C++11新特性

目录 1.C11简介 2.统一的列表初始化 2.1{}初始化 2.2std::initializer_list 3.声明 3.1auto 3.2decltype 3.3nullptr 4.范围for循环 5.智能指针 6.右值引用和移动语义 6.1左值引用和右值引用 6.2左值引用与右值引用比较 6.3右值引用使用场景和意义 6.4右值引用引…

Android ChatOn-v1.66.536-598-[构建于ChatGPT和GPT-4o之上]

ChatOn 链接&#xff1a;https://pan.xunlei.com/s/VOKYnq-i3C83CK-HJ1gfLf4gA1?pwdwzwc# 添加了最大无限积分 删除了所有调试信息 语言&#xff1a;全语言支持

Java高频面试之集合-03

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;说说ArrayList和LinkedList的区别 ArrayList 与 LinkedList 的详细对比 一、底层数据结构 特性ArrayListLinkedList存…

华为hcie证书有什么作用?

新盟教育 专注华为认证培训十余年 为你提供认证一线资讯&#xff01; 在当今数字化飞速发展的时代&#xff0c;ICT行业对专业人才的需求日益增长。华为HCIE证书作为华为认证体系中的最高级别认证&#xff0c;无疑是众多IT从业者追求的目标。那么&#xff0c;华为HCIE证书到底有…

通过微步API接口对单个IP进行查询

import requests import json# 微步API的URL和你的API密钥 API_URL "https://api.threatbook.cn/v3/ip/query" API_KEY "***" # 替换为你的微步API密钥 def query_threatbook(ip):"""查询微步API接口&#xff0c;判断IP是否为可疑"…

Redis|集群 Cluster

文章目录 是什么能干嘛集群算法-分片-槽位slotredis集群的槽位slotredis集群的分片分片槽位的优势slot槽位映射——业界的3种解决方案小厂&#xff1a;哈希取余分区中厂&#xff1a;一致性哈希算法分区大厂&#xff1a;哈希槽分区 面试题&#xff1a;为什么 Redis 集群的最大槽…

城市地质安全专题连载⑧ | 强化工程地质安全保障力度,为工程项目全栈护航

作者 | 徐海洋、孙美琴 在城市化进程日益加速的今天&#xff0c;城市地质安全问题日益凸显&#xff0c;成为制约城市可持续发展的关键因素之一。从隧道掘进中的突发灾害&#xff0c;到高层建筑地基的稳定性挑战&#xff0c;再到城市地下空间的开发利用风险&#xff0c;地质安全…

FFMPEG利用H264+AAC合成TS文件

本次的DEMO是利用FFMPEG框架把H264文件和AAC文件合并成一个TS文件。这个DEMO很重要&#xff0c;因为在后面的推流项目中用到了这方面的技术。所以&#xff0c;大家最好把这个项目好好了解。 下面这个是流程图 从这个图我们能看出来&#xff0c;在main函数中我们主要做了这几步&…

sqli-lab靶场学习(七)——Less23-25(关键字被过滤、二次注入)

前言 之前的每一关&#xff0c;我们都是在末尾加上注释符&#xff0c;屏蔽后面的语句&#xff0c;这样我们只要闭合了区间之后&#xff0c;差不多就是为所欲为的状态。但如果注释符不生效的情况下&#xff0c;又该如何呢&#xff1f; Less23&#xff08;注释符被过滤&#xff…

Self-Supervised Prompt Optimization

论文&#xff1a;[2502.06855] Self-Supervised Prompt Optimization 仓库&#xff1a;GitHub - Airmomo/SPO: SPO | Self-Supervised Prompt Optimization 自监督提示优化&#xff08;SPO&#xff09; 创新点 成对比较评估 输出指导优化 全文介绍 背景 随着大语言模型…

AI-Ollama本地大语言模型运行框架与Ollama javascript接入

1.Ollama Ollama 是一个开源的大型语言模型&#xff08;LLM&#xff09;平台&#xff0c;旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型&#xff0c;支持文本生成、翻译、代码编写、问答等多种…

分布式多卡训练(DDP)踩坑

多卡训练最近在跑yolov10版本的RT-DETR&#xff0c;用来进行目标检测。 单卡训练语句&#xff08;正常运行&#xff09;&#xff1a; python main.py多卡训练语句&#xff1a; 需要通过torch.distributed.launch来启动&#xff0c;一般是单节点&#xff0c;其中CUDA_VISIBLE…

LLM大型语言模型(一)

1. 什么是 LLM&#xff1f; LLM&#xff08;大型语言模型&#xff09;是一种神经网络&#xff0c;专门用于理解、生成并对人类文本作出响应。这些模型是深度神经网络&#xff0c;通常训练于海量文本数据上&#xff0c;有时甚至覆盖了整个互联网的公开文本。 LLM 中的 “大” …

蓝桥杯备考:动态规划dp入门题目之数字三角形

依然是按照动态规划dp的顺序来 step1&#xff1a;定义状态表示 f[i][j]表示的是到,j这个坐标的结点时的最大权值 step2: 定义状态方程 i,j坐标可能是从i-1 j-1 到i,j 也可能是从i-1 j到 i,j 所以状态方程应该是 f[i][j] max(f[i-1][j-1],f[i-1][j]) a[i][j] step3:初始化…

HarmonyOS NEXT开发进阶(十一):应用层架构介绍

文章目录 一、前言二、应用与应用程序包三、应用的多Module设计机制四、 Module类型五、Stage模型应用程序包结构六、拓展阅读 一、前言 在应用模型章节&#xff0c;可以看到主推的Stage模型中&#xff0c;多个应用组件共享同一个ArkTS引擎实例&#xff1b;应用组件之间可以方…