2016-05-12 3 views
-2

NLTKを初めて使用しています。 私は構造化されていないテキストを持つファイルを持っています。テキストから私はコース名や教育を定義するフレーズを抽出したい。nltkとpythonを使用してコース名を検索

例: TEXT 1:私はコンピュータサイエンス工学の

を私の卒業を完了していると私は抽出したい単語は唯一の「メカニカルエンジニア」と「コンピュータサイエンス・エンジニアリング」している:私は機械エンジニア TEXT午前2時。

これはどのように行うことができますか? できるだけ一致する正規表現を作成する方法。

答えて

1

取り出したいすべてが「機械エンジニア」と「コンピュータサイエンス工学」、そしてちょうどreをインポート(ないNLTK)を検索している場合は、次の場合は"[mM]echanical [eE]ngineer""[cC]computer [sS]cience [eE]ngineering".

、一方、あなたは大学が提供しているすべての専攻でこれをやりたければ、WordNetを見てください。それはngrams(複数の単語にまたがるアイデア)をトークン化/ lemmatizingするためのサポートを持っています。

0

あなたが求めているもののためのショートカットはありません。あなたが与える例からちょうど、文脈を見るだけでメジャーを掘ることはできないことがわかります。 (「私は機械工学者です」は「私はカナダ人のゴルファー」のように見えます)。シソーラスに基づくアプローチが必要です。

私は、異なる大学のメジャーの少数のリストを収穫することから始めます(または、すべてのデータが1つの場所にある場合は、該当するリストを収穫します)。これらの名前を検索することができますが、通常、メジャー(「CSE」、「biochem」など)を非公式に参照する方法があります。これらのリストを取得するには、別の名前のソースが必要になるか、またはあなたが持っているデータから重要なコーパスを手動で注釈する必要があります。 あなたはあなたのリストの名前をどのように一致させるか、そしてバリエーションを認識する方法を心配することができます。

関連する問題