从原始文本中提取基于规则的信息

时间:2018-12-29 06:46:35

标签: nlp text-processing ner

在航空通信领域,我有一些短语,例如:“地铁塔楼,4三角洲探戈查理,要求爬升至350级航班,220风”在这种情况下

"metro tower" = Air traffic control tower name,
"four Delta Tango Charlie" = airplane call sign ,
"requset climb to flight level 350" = type of clearance request,
"350" = flight level
"wind 220" = wind info

我需要分离并提取与上面提到的标签名称相对应的这些值,以便在以后的处理中使用。根据我的研究,我发现可以通过使用自定义的命名实体识别类和规则来实现,但是我不清楚这是否是最有效的方法,因为它将用于聊天应用程序和处理时间和响应时间必须非常快。请告诉我是否还有其他算法或技术可以做到这一点。

下一个问题是“四个三角洲探戈查理”部分,它由数字和拼音字母组成(A =字母,B =布拉沃,C =查理,P =爸爸等)。为该字母表创建术语词典并使用词典从原始文本中提取呼号的可能方法是什么?

也请告诉我可以使用什么算法来解决我的问题

1 个答案:

答案 0 :(得分:0)

经典命名实体识别(NER)通常是统计的(CRF,神经网络),并在带有注释的大型语料库上进行训练。如果没有这样的语料库,则不能走这条路。 (此外,这些实体大多不是命名实体,而仅仅是实体)。

相反,我只是搜索列表中的项目。使用您提到的参数,您可以使用蛮力,但是由于您提到的是赋值,因此您可能应该使用更聪明的东西。

您可能希望将所有项目编译为有限状态的自动机(请参阅Aho Corasick algorithm)。状态可以是标记,也可以只是字母。

语音字母的标准化取决于歧义( Charlie 总是 C ?还是在某些情况下可以是 Charlie )。它可以作为预处理步骤,后处理步骤完成,也可以编译为搜索算法(使用换能器代替自动机)。

您可能还想使用令牌regexes in Stanford NLP。或Apache Lucene。