在stanford nlp中,我使用了一个模式来匹配regexner中的电话号码。但NER过度将其写为数字。
如果我删除了ner注释,那么它显示为PHONE_NUMBER。 请你们中的任何一个人帮助我。
先谢谢。
这是我的regexner系列:
^(?:(?:\+|0{0,2})91(\s*[\-]\s*)?|[0]?)?[789]\d{9}$ PHONENUMBER
答案 0 :(得分:0)
java命令:
java -Xmx10g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner -file phone-number-example.txt -outputFormat text -ner.fine.regexner.mapping phone-number-regex.rules
示例文字:
I will call him at 555-555-5555
规则文件的格式:
555-555-5555 PHONE_NUMBER NUMBER 1
(注意列是制表符分隔的)
细粒度NER将在统计NER之后应用。您还可以构建自定义regexner
并在统计模型之后运行它。关键是告诉它覆盖NUMBER标记(在第三列中指出)。
答案 1 :(得分:0)
^(?:(?:\+|0{0,2})91(\s*[\-]\s*)?|[0]?)?[789]\d{9}$ PHONENUMBER NUMBER
这使CUSTOM NER列之后的列覆盖了