使用NER使用任何NLP库提取机场代码和航空公司代码?

时间:2015-01-15 09:15:37

标签: nlp nltk apache-spark stanford-nlp opennlp

我想提取机场代码&来自字符串的航空公司代码。机场/城市代码是3个字母的alpha代码。航空公司代码是2个字母的alpha&字母数字代码。

航空公司代码示例

AA ==美国航空公司。

机场代码

JFK ==约翰肯尼迪国际机场

LGA ==拉瓜迪亚机场

我列出了世界上所有机场代码和航空公司代码。 我要提取的字符串类型就像。

JFKAAX / BOSAACHIM100.00Q9USMEXQ125.00YLEE / CH30500.00ENDROE0.56893458

存在歧义,因为KAA也可以被识别为机场。哪个是有效的机场代码。

如何使用NER提取这两个项目。如果NER不合适,还有其​​他任何方式。

1 个答案:

答案 0 :(得分:2)

我使用简单的正则表达式,告诉它​​是否正常:

In [1]: a = 'JFKAAX/BOSAACHIM100.00Q9USMEXQ125.00YLEE/CH30500.00ENDROE0.56893458'
In [4]: import re
In [15]: re.findall('(\w{3})(\d*(\.\d*)?)(\w{2})', a)
Out[15]: 
[('JFK', '', '', 'AA'),
 ('BOS', '', '', 'AA'),
 ('CHI', '', '', 'M1'),
 ('00Q', '9', '', 'US'),
 ('MEX', '', '', 'Q1'),
 ('00Y', '', '', 'LE'),
 ('CH3', '0500.00', '.00', 'EN'),
 ('DRO', '', '', 'E0'),
 ('568', '934', '', '58')]

你能提供你发布的字符串应该输出的内容吗?您可以使用括号标记机场名称和空气管线,例如: X