零点(Zero-Shot)文本分类的实践---Flair训练数据

1 引言

在所有的自然语言处理任务中,感觉《零点文本分类(Zero Shot Text Classification)》最有趣。然而,当把这种技术应用于实际项目时,会产生附加的问题。这个笔记简要讨论了一些实践中遇到的问题以及解决办法。


2 遇到的问题

最初想把段落划分成句子来分类,但在实践中发现这条路径行不通,主要原因是运行时间太长,必须按预先划分的段落来分类。接下来的问题是如何选取合适的candidate_labels,在Zero-Shot中,标签选择非常关键,为了得到特定的主题,标签不能取得太笼统,例如"bearing capacity" 要比"geotechnical engineering"更合适些。在试验bart-large-mnlidistilbert-base-uncased-mnli这两个模型的过程中,发现如果标签中的词汇在文本中出现过,那么匹配的几率大。例如,从数据集中随机抽取了18个含有“rock bolts"的段落,如果用标签"rock bolt"来匹配,那么会取得很好的结果。


不过,对于这个句子"An empirical method for design of grouted bolts in rock tunnels based on the Geological Strength Index (GSI)[基于地质强度指数(GSI)的岩石隧道灌浆锚杆设计的经验方法]", 如果我们设定两个标签"underground"和"slope", 结果发现这两个模型都不能给出结果,这是由于模型不能识别出"tunnel"究竟是指地下还是边坡。这也充分说明了预训练模型的局限性。因此我们需要解决这个问题。


3 Flair训练

我们可以在现有模型的基础上用自己的数据进行训练。不过在这个笔记中,我们试验了另一种方法,使用flair 0.8.0.post1(Mar 9, 2021) 来训练这个标签。为了避免冲突,Flair安装在虚拟环境flair下。在Flair默认的TARSClassifier训练器中,同样不能识别出含有"tunnel"的这个句子究竟说的是地上(slope)还是地下(underground)。于是使用了如下四个训练句子作为训练数据,其中前两个描述的是地下开挖,后两个描述的是边坡:

(1) This can be of use in determining design aspects such as the installation time of tunnel support elements and instrumentation. [这可以用于确定设计方面,如隧道支撑部件和仪器的安装时间。]

(2) The tunnel support system in this region would be minimal compared to tunneling through solid bedrock.[与在坚实的基岩中开挖隧道相比,该地区的隧道支撑系统将是最小的。]

(3) The Chukicamata mine in northern Chile is one of the largest open pit mines in the world, about 4 km long, 3 km wide and 1 km deep. [智利北部的丘基卡马塔矿是世界上最大的露天矿之一,长约4公里,宽3公里,深1公里。] 

(4) Experienced in geomechanics analysis using FLAC3D to study the potential failure type and mechanism of an open pit mine. [有使用FLAC3D进行地质力学分析的经验,研究露天矿潜在的破坏类型和机制]

如下两个句子作为试验数据,一个是地下的,另一个是地面上的:

(1) Rock behaviour and rock bolt support in large excavations. [大型挖掘中的岩石行为和岩石锚杆支护]

(2) Computer aided risk analysis of open pit mine[露天矿的计算机辅助风险分析]

训练后得到了如下模型:

零点(Zero-Shot)文本分类的实践---Flair训练数据的图1

现在我们再使用"An empirical method for design of grouted bolts in rock tunnels based on the Geological Strength Index (GSI)" 进行分类,这个句子会归结为"underground", 归类分数为0.9575,可见分类标签添加成功,模型会识别出tunnel 是在地下。


再试验一个句子"Assessing rock mass UCS anisotropy using a coupled DFN-DEM approach at a surface mining project in Artic Canada[在加拿大阿蒂克地区的一个露天采矿项目中,使用DFN-DEM耦合方法评估岩体单轴抗压强度的各向异性]", 运行结果显示这个句子正确地归结为"slope"分类,尽管句子中没有出现slope,归类分数为0.8024。  

默认 最新
当前暂无评论,小编等你评论哦!
点赞 2 评论 收藏
关注