テキストファイルからデータを取得したいと考えています。私はNatural Language Toolkitを使用してそれを行うことに決めましたが、これを行うより良い方法があれば、私は提案することができます。ここでテキストから特定の情報を抽出する
は一例です:
私はサンフランシスコCAにニューヨークNYからのフライトが必要
このテキストから、私は起源と目的地の都市と州を取得したいと思います。
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'のインスタンスの後のテキストを見ている最善の方法は何ですか?
このような場所をテキストから選ぶことは "名前付きエンティティの認識"として知られています - NLTKはこれを行うことができますが、地名辞典に基づいて独自のバージョンを適応させることもできます(GeoNames.orgはおそらくデータを検索します)。 – winwaed