求一文本信息抽取java代码(对于您来说很简单)
有一个文本文件,内容为科学文献的元数据,内容格式如下:
-----------------------------
【文件序号】文献一序号
【来源篇名】文献一题名
【来源作者】文献一作者
【期刊】文献一期刊
【年代卷期】yyyy
参考文献:
1.作者.题名.期刊.=第一作者PM=/题名/QK=期刊ND=出版时间(yyyy格式)
2.author.title.journal.=first authorPM=/title/QK=journalND=yyyy
3.
4.
.
.
.
-----------------------------
【文件序号】文献二序号
【来源篇名】文献二题名
【来源作者】文献二作者
【期刊】文献二期刊
【年代卷期】yyyy
参考文献:
1.作者.题名.期刊.=第一作者PM=/题名/QK=期刊ND=出版时间(yyyy格式)
2.author.title.journal.=first authorPM=/title/QK=journalND=yyyy
3.
4.
.
.
.
-----------------------------
【文件序号】文献二序号
【来源篇名】文献二题名
【来源作者】文献二作者
【期刊】文献二期刊
【年代卷期】yyyy
参考文献:
1.作者.题名.期刊.=第一作者PM=/题名/QK=期刊ND=出版时间(yyyy格式)
2.author.title.journal.=first authorPM=/title/QK=journalND=yyyy
3.
4.
.
.
.
说明:
1、每篇文献有零至多篇参考文献;
2、每一条参考文献中,每个项目(作者、题名、期刊等等)之间的分割符号是“.”;
3、参考文献中有英文文献和外文作者,外文作者的名称有简写情况,如“Kevin,D.”,名字里面这个“.”是简写,不是分隔符。这类文献
的可能是这样表示的“1.Kevin,D..Title Comes here.Journal Comes here.PM=/title/QK=journalND=yyyy”
4、文中的期刊“Journal”其含义是“文献来源”的意思,大多数情况下是期刊,还有可能是互联网,可能是这种情
况:“1.Kevin,D..Title Comes
here.http://www.abc.com/papers/xyz.html.PM=/title/QK=http://www.abc.com/papers/xyz.htmlND=yyyy”,这种情况把“www.abc.com
”截出来就好了。
要求:
1、抽取出所有文献(包括来源文献和参考文献)的“作者、题名、来源期刊和出版年份”;
2、抽取出所有文献之间的引用关系,分别使用两个vector存起来;
3、我建了两个类(java):Document(文献类)和Reference(引用),其定义如下:
public class Document{ String title; String author; String journal; String date;}public class Reference{ Document citingDoc;//引用文献 Document citedDoc;//被引文献}