本文将会从原始文本出发(中文),经过训练 embedding、生成所需文件等步骤,一步一步,最终使用 TBP 来可视化 embedding,并解决不能使用中文标签的问题。
阅读全文

简单来说,两者都是对词的归一化,但 Stemming(中文一般译为词干提取,以下简称 stem)更为简单、快速一些,通常会使用一种启发式方法去掉一个词的结尾。 Lemmatization(中文一般译为词形还原,以下简称 lemma)更为「智能」一些,上下文相关,有一个 vocab,不在其中的词不会被处理:
阅读全文

之前没咋涉略过 parsing 部分,最近有用到,遇到一个实现的很不错的库:benepar,无论是速度、代码还是性能上,伯克利出品。而本文要讲的论文就是 benepar 的参考论文:Constituency Parsing with a Self-Attensive Encoder,代码和论文作者都是一个人:Nikita Kitaev,论文发表于 ACL 2018。代码还参考了作者的另一篇论文:Multilingual Constituency Parsing with Self-Attention and Pre-Training。
阅读全文

理解编辑距离

顾名思义,编辑距离(Edit distance)是一种距离,用于衡量两个字符串之间的远近程度,方式是一个字符串至少需要多少次基础变换才能变成另一个字符串,可应用在拼写检查、判断 DNA 相似度等场景中。根据可操作的基础变换不同,可分为以下几种:
阅读全文

最近同事说了这么一个需求:假设有两个字符串 target 和 source,要在 source 中寻找 target,但不要求 target 在 source 中是连续的,并返回索引。一般来说 target 是一个较短的词语,source 是一个包含 target 的较长句子,target 在 source 中不一定连续,且可能有多个。
阅读全文

最近看一篇 Google 的论文:《Encode, Tag, Realize: High-Precision Text Editing》,看源码的时候发现其前期预处理的时候用了最长公共子序列(Longest Common Subsequence,LCS)算法来生成词汇表。之前只是知道这个算法,但是具体解法并不是很清楚。如果你经常刷题,可能会很熟悉了,但是我对刷题一直保持排斥态度,所以不太懂。趁这个机会来看看这个 LCS。
阅读全文

作者的图片

Alan Lee

NLP and Python developer, sometimes datavis, he/him.


NLP Engineer


北京