interfieldpipe.java

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Java 代码 · 共 88 行

JAVA
88
字号
package edu.umass.cs.mallet.projects.seg_plus_coref.coreference;import com.wcohen.secondstring.*;import edu.umass.cs.mallet.base.types.*;import edu.umass.cs.mallet.base.classify.*;import edu.umass.cs.mallet.base.pipe.*;import edu.umass.cs.mallet.base.pipe.iterator.*;import edu.umass.cs.mallet.base.util.*;import java.util.*;import java.lang.*;import java.io.*;public class InterFieldPipe extends Pipe{	public InterFieldPipe () {}	public Instance pipe (Instance carrier) {		NodePair pair = (NodePair)carrier.getData();		Citation s1 = (Citation)pair.getObject1();		Citation s2 = (Citation)pair.getObject2();		double authorVal = 0.0;		double titleVal = 0.0;		double paperVal = 0.0;		double dateVal = 0.0;		double venueVal = 0.0;		double yearsNoMatch = 0.0;		double lowAuthor = 0.0;		authorVal = pair.getFeatureValue("AuthorOverlapLongHigh");		lowAuthor = pair.getFeatureValue("AuthorOverlapLongNone");		titleVal = pair.getFeatureValue("trigramTFIDF_titleHIGH");		paperVal = pair.getFeatureValue("SamePaperType");		dateVal = pair.getFeatureValue("YearsMatch");		yearsNoMatch = pair.getFeatureValue("YearsDoNotMatch");		venueVal = pair.getFeatureValue("VenueSimilarityHIGH");		if (authorVal == 1 && titleVal == 1 && dateVal == 1.0 && venueVal == 1.0)			pair.setFeatureValue("GeneralAgreement1", 1.0);		else if (authorVal == 1 && titleVal == 1 && dateVal == 1.0)			pair.setFeatureValue("TitleAndAuthorAndDateAgree", 1.0);		else if (authorVal == 1 && titleVal == 1)			pair.setFeatureValue("TitleAndAuthorAgree", 1.0);		if (yearsNoMatch == 1 && titleVal == 1)			pair.setFeatureValue("SimilarTitlesButDifferentDates", 1.0);		if (lowAuthor==1 && titleVal==1)			pair.setFeatureValue("SimilarTitlesButDifferentAuthors", 1.0);		if (authorVal==0 && titleVal==0)			pair.setFeatureValue("SimilarAuthorsButDifferentTitles", 1.0);//		if (authorVal > 0.8 && dateVal > 0.8 && titleVal > 0.9 && paperVal > 0.9 && venueVal > 0.9)		/*		if (((!s1.getField(Citation.tech).equals("") && s2.getField(Citation.tech).equals("")) ||				 (!s2.getField(Citation.tech).equals("") && s1.getField(Citation.tech).equals(""))) &&				(pair.getFeatureValue("TitleSimilarity") > 0.9) )		{					System.out.println("TitleSimilarOnlyOneHasTech --> " +			s1.getBaseString() + " :: " + s2.getBaseString());			pair.setFeatureValue("TitleSimilarOnlyOneHasTech", 1.0);		}		if (((!s1.getField(Citation.booktitle).equals("") && s2.getField(Citation.booktitle).equals("")) ||				(!s2.getField(Citation.booktitle).equals("") && s1.getField(Citation.booktitle).equals(""))) &&				(pair.getFeatureValue("TitleSimilarity") > 0.9) )		{			pair.setFeatureValue("TitleSimilarOnlyOneHasBookTitle", 1.0);		}				if (((!s1.getField(Citation.journal).equals("") && s2.getField(Citation.journal).equals("")) ||				 (!s2.getField(Citation.journal).equals("") && s1.getField(Citation.journal).equals(""))) &&				(pair.getFeatureValue("TitleSimilarity") > 0.9) )		{			pair.setFeatureValue("TitleSimilarOnlyOneHasJournal", 1.0);		}		double v1 = ((double)pair.getFeatureValue("TitleSimilarity") *								 (double)pair.getFeatureValue("AuthorOverlap"));								 		if (v1 > 0)			pair.setFeatureValue("AuthorANDTitle", v1);	*/		return carrier;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?