说明

通过NER的应用(识别公司名、人名、地名和时间),已经将BERT和Electra进行大规模的计算,以下梳理下其他的应用方向。

BERT:BERT是2018年10月由Google AI研究院提出的一种预训练模型。
BERT的全称是Bidirectional Encoder Representation from Transformers。BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩: 全部两个衡量指标上全面超越人类,并且在11种不同NLP测试中创出SOTA表现,包括将GLUE基准推高至80.4% (绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进5.6%),成为NLP发展史上的里程碑式的模型成就

Electra:可以视为对BERT的优化,更轻,更快。

内容

以下内容部分参考

python生成bert词向量 bert模型python_预处理


BERT的工作原理可以:

  • 1 输出分类
  • 2 输出序列

1 主题划分

属于一句文本,将文本分类到不同的主题,应该是监督学习。LDA主题划分则是非监督的。

python生成bert词向量 bert模型python_预处理_02

2 推断任务

基于前提和假设。可能可以用在规则的挖掘,自动问答等领域。

规则本身就是基于前件和后件组成的,在一些具体的应用上,比如:

  • 前件:我的商品购买了8天,可以退货吗?
  • 后件:不可以

python生成bert词向量 bert模型python_文本相似度_03


当然在自然语言里,前件和后件的表达可能有很多种不同形式,但是等价的方法

3 文本相似度

B/E 还可以做文本相似度的比较。例如上面的问答:

  • 前件1:我的商品购买了8天,可以退货吗?
  • 前件2:我8天前买了商品,能退吗?
  • 后件1:不可以
  • 后件2:不行

我希望B/E可以判别语序和结构都相差较大的句子。

4 完形填空

这个在处理错误和缺失数据时比较有用,我们的原始数据通常都是脏的。

5 问答检索

输入一个问题,返回答案可能存在的起始点。这个算是全文检索的加强版,可以帮助我们更快速的找到答案。以往需要先根据全文检索定位到大致的位置,然后阅读上下文找答案。

6 序列任务

应该可以用预测序列状态,甚至是股票价格这类的。

7 实体识别

这个应该是特别明确的应用,而且可以用在预处理,也可以直接使用。

预处理:将句子中的部分文字聚合起来,具有特定的含义,可以被后续的处理应用。适合复杂到无法用正则处理的情况。

直接使用:提取人名、公司名、地名、时间,其实还可以进一步定义更多的实体。例如医疗器械,电子消费品…

构建一个足够丰富的实体模型库后,可以进行很有意思的任务。例如,我们通常不知道一个企业分在什么行业,通过获取企业相关的文章后,析取里面的各种实体,从而判断企业的行业特性。