スペイシーがテキスト内の名前付きエンティティを識別する方法、特に私の場合は日付を正確に理解しているかどうかはわかりません。
テキストドキュメントで教育とそれぞれの日付を抽出しようとしています。私はこのようなものを持っています
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 を使用しています。日付は非常に多くの異なる形式になる可能性があるため、現在は正規表現を使用していません (年のみ、開始年 - 終了年、場合によっては月と日など)。