从文本中提取特定信息

时间:2011-12-28 15:19:42

标签: python nltk

我想从文本文件中获取一些数据。我决定使用Natural Language Toolkit来做,但如果有更好的方法,我愿意接受建议。

以下是一个例子:

  

我需要从纽约到纽约州旧金山的航班。

从这篇文章中,我想得到城市和州的起源和目的地。

这是我到目前为止所做的:

import nltk
from nltk.text import *
from nltk.corpus import PlaintextCorpusReader

def readfiles():    
    corpus_root = 'C:\prototype\emails'
    w = PlaintextCorpusReader(corpus_root, '.*')
    t = Text(w.words())
    print "--- to ----"
    print t.concordance("to")

    print "--- from ----"
    print t.concordance("from")

我可以从一些输入(我的文件中的文件)中读取文本,然后使用concordance method查找它的所有用法。我想提取城市,状态信息来自'to'和'from'。

问题是查看“to”和“from”实例之后的文本的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

也许你最好逐行阅读文件?
然后就像这样简单:

cityState = dataAfterTo.split(",")
city = cityState[0]
state = cityState[1].split()[0]

除非您当然要处理用户生成的内容。