我有tokenregex作爲如何修改StanfordNLP中的TokenRegex規則?
$EDU_FIRST_KEYWORD = (/Education/|/Course[s]?/|/Educational/|/Academic/|/Education/ /and/?|/Professional/|/Certification[s]?/ /and/?)
$EDU_LAST_KEYWORD = (/Background/|/Qualification[s]?/|/Training[s]?/|/Detail[s]?/|/Record[s]?/)
tokens = { type: "CLASS", value: "edu.stanford.nlp.ling.CoreAnnotations$NamedEntityTagAnnotation" }
{ ruleType: "tokens", pattern: ($EDU_FIRST_KEYWORD $EDU_LAST_KEYWORD ?), result: "EDUCATION" }
我想匹配EDU_FIRST_KEYWORD
隨後EDU_LAST_KEYWORD
規則文件。如果它不匹配兩個部分,則檢查EDU_FIRST_KEYWORD
是否與給定字符串匹配。
E.g. 1.培訓課程&
匹配的輸出:教育(因爲它匹配的課程,這是不應該的)
預期輸出:無輸出
這是因爲它不匹配,要麼第一部分字符串或完整字符串。
- 教育背景
匹配的輸出:教育
預期輸出:教育
我試圖改變pattern: ($EDU_FIRST_KEYWORD $EDU_LAST_KEYWORD ?)
到 pattern: ($EDU_FIRST_KEYWORD + $EDU_LAST_KEYWORD ?)
但它並不能幫助。
我試過stanfordNLP tokenregex文檔,但無法得到如何實現這一點。有人可以幫我改變規則文件嗎? 在此先感謝。
在培訓和課程,爲什麼它不」的原因數學是因爲我認爲。您的模式:($ EDU_FIRST_KEYWORD $ EDU_LAST_KEYWORD?)不會爲其他任何關鍵字留下空間。嘗試更改爲$ EDU_FIRST_KEYWORD(?:/和|或|&/)*?$ EDU_LAST_KEYWORD?)並查看它是否有效。 – serendipity