乌市泽哥 发表于 2025-3-27 07:14:21

命名实体识别

命名实体识别常用方法:
    1.传统方法
        基于规则:利用正则表达式,词典匹配或语法规则
        统计呆板学习
            特性工程:利用词性标注、词形、上下文窗口、前缀或后缀等特性
            模型:隐马尔可夫模型、条件随机场
    2.深度学习方法
        词嵌入:Word2Vec、GloVe等将词转化为向量
        序列建模
            BiLSTM-CRF:双向LSTM捕捉上下文,CRF优化标签序列
            Transformer模型:BERT、RoBERTa等预训练模型通过微调实现SOTA性能
            Prompt Learning:利用模板引导模型天生实体(如“找到组织:”)
 
正则的基础知识
基本语法元字符阐明.匹配恣意字符(除换行符)^匹配行首$匹配行尾*前一个字符0次或多次+前一个字符1次或多次?前一个字符0次或1次[]字符集合()分组捕捉转义字符:特别字符需用 \ 转义:\. 匹配句号,\\ 匹配反斜杠
 预定义字符类简写等效表达式阐明\d数字\w单词字符(字母、数字、下划线)\s[ \t\n\r\f\v]空缺字符(空格、制表符等)\D[^0-9]非数字\W[^\w]非单词字符\S[^\s]非空缺字符

 正则表达式在NER中的应用
# 匹配"YYYY-MM-DD"或"MM/DD/YYYY"
(\d{4}-\d{2}-\d{2})|(\d{2}/\d{2}/\d{4})

# 匹配11位手机号(以13/14/15/17/18/19开头)
^1\d{9}$

# 简单匹配(如user@example.com)
\w+@\w+\.(com|cn|net)

# 匹配"¥100.00"或"$1,000"
[¥$]\d+(,\d{3})*(\.\d{2})?

# 匹配"¥100.00"或"$1,000"
[¥$]\d+(,\d{3})*(\.\d{2})?

#嵌套结构
# 匹配"北京市(海淀区)"中的地名
([^\(]+)\(([^\)]+)\) Word2Vec的基础知识
目标:将单词映射到低维稠密向量空间,使得语义/语法相似的词在向量空间中间隔相近。
两种模型架构:
1.CBOW


[*] 输入:周围上下文词(窗口内的词)的向量。
[*] 输出:预测当前中心词。
[*] 特点:

[*] 得当小型数据集或高频词。
[*] 训练速度快,对稀有词体现较差。

2. Skip-gram



[*] 输入:当前中心词的向量。
[*] 输出:预测周围上下文词。
[*] 特点:

[*] 得当大型数据集,能更利益理稀有词。
[*] 训练速度较慢,但结果通常优于CBOW。

架构对比:
模型输入输出实用场景CBOW上下文词中心词小数据、高频词Skip-gram中心词上下文词大数据、稀有词  训练步骤详解

 数据预处理



[*] 分词:英文转为小写,中文需分词(如结巴分词)。
[*] 停用词过滤:移除偶然义词(如“的”、“and”)。
[*] 低频词处理:删除出现次数少于 min_count 的词。
2. 构建词汇表



[*] 统计词频,为每个词分配唯一索引。
[*] 天生 (word, index) 映射和反向映射。
3. 模型训练(以Skip-gram为例)



[*] 输入层:中心词的 one-hot 向量(维度=词汇表大小)。
[*] 隐蔽层:无激活函数,权重矩阵 W(维度=)即为词向量表。
[*] 输出层:Softmax 预测上下文词的概率分布。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 命名实体识别