1

スペイシーがテキスト内の名前付きエンティティを識別する方法、特に私の場合は日付を正確に理解しているかどうかはわかりません。

テキストドキュメントで教育とそれぞれの日付を抽出しようとしています。私はこのようなものを持っています

text = 'University of A  2019 - 2020
        University of B  2016 - 2019
        College A        2013 - 2016
        College B        2008 - 2013'
doc = nlp(text)
for ent in doc.ents:
     print(ent.text, ent.label_)

出力として私を与える:

University of A  ORG
University of B  ORG
2016 - 2019      DATE
2013 - 2016      DATE
2008 - 2013      DATE

予想どおり、大学は組織として認識されており、大学名ほど明白ではないため、スペイシーは大学を認識しないと予想していました。ただし、最初の日付を失った理由がわかりませんが、他のすべては正常に機能します。

次のような別のテキストを試しました。

1997 : any text
1998 : any text
1999 : any text
...
2018 : any text

ここでは、2013 年と 2018 年を除くすべての日付が認識されていますが、行の形式は他の日付と同じです。

日付をよりよく認識できるようにスペイシーをトレーニングする方法はありますか、それとも別のツールを使用する必要がありますか? 私はすでに同じプログラムの他の部分に spacy を使用しています。日付は非常に多くの異なる形式になる可能性があるため、現在は正規表現を使用していません (年のみ、開始年 - 終了年、場合によっては月と日など)。

4

1 に答える 1