- 博客(6)
- 收藏
- 关注
原创 Trie字典树
Trie字典树 import collections class TrieNode: def __init__(self): self.children = collections.defaultdict(TrieNode) self.is_word = False class Trie: def __init__(self): self.root = TrieNode() def insert(self, word):
2021-12-08 22:56:22 77
原创 NER模型评价方法--实体提及匹配
近期在学习NER(命名实体识别)的做法。在评价模型的指标上,因为其任务的特殊行性,没有发现off-the-shelf的函数。于是就自己实现了一个Exact-match Evaluation。 使用字典来保存实体提及,查询更快。对一个标签序列只需遍历一遍即可找到所有的实体。时间复杂度为O(N) def find_entity(seq, start2end): i, n = 0, len(seq) res = {} while i < n: if seq[i]
2021-11-03 16:14:55 657
原创 基于深度学习的文本分类
基于深度学习的文本分类 FastText FastText是一种典型的深度学习词向量的表示方法,它非常简单通过Embedding层将单词映射到稠密空间,然后将句子中所有的单词在Embedding空间中进行平均,进而完成分类操作。 所以FastText是一个三层的神经网络,输入层、隐含层和输出层。 import pandas as pd from sklearn.metrics import f1_score # 转换为FastText需要的格式 train_df = pd.read_csv('../in
2020-07-27 22:01:29 167
原创 基于机器学习的文本分类
基于机器学习的文本分类 文本表示方法 One-hot 这里的One-hot与数据挖掘任务中的操作是一致的,即将每一个单词使用一个离散的向量表示。具体将每个字/词编码一个索引,然后根据索引进行赋值。 Bag of Words Bag of Words(词袋表示),也称为Count Vectors,每个文档的字/词可以使用其出现次数来进行表示。 在sklearn中可以直接CountVectorizer来实现这一步骤: from sklearn.feature_extraction.text import Cou
2020-07-24 21:21:59 204
原创 数据读取与数据分析
零基础入门NLP之新闻文本分类–数据读取与数据分析 本章主要内容为数据读取和数据分析,具体使用Pandas库完成数据读取操作,并对赛题数据进行分析构成。 数据读取 赛题数据虽然是文本数据,每个新闻是不定长的,但任然使用csv格式进行存储。因此可以直接用Pandas完成数据读取的操作。 数据分析 句子长度分析 在赛题数据中每行句子的字符使用空格进行隔开,所以可以直接统计单词的个数来得到每个句子的长度。统计并如下: 项目 Value count 200000.000000 mean 907.
2020-07-22 23:26:58 285
原创 零基础入门NLP - 新闻文本分类
零基础入门NLP - 新闻文本分类 赛题以自然语言处理为背景,要求选手根据新闻文本字符对新闻的类别进行分类,这是一个经典文本分类问题。 赛题数据 赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。 赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,我们将比赛数据的文本按照字符级别进行了匿名处理。 处理后的赛题
2020-07-21 20:49:28 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人