如何为自定义词典(.dic
)和后缀(.aff
)编写名为“纽约”的实体(因此属于诸如LOCATION, PERSON, ORGANIZATION
等类别的单词) ”,“唐纳德·特朗普”,“梅赛德斯·奔驰”等?
当完全不使用词缀规则时,使用像这样的字典
Ferrari/X po:ORGANIZATION
New York/X po:LOCATION
Donald Trump/X po:PERSON
Mercedes-Benz/X po:po:ORGANIZATION
使用New York
进行的测试将返回:
{
index: 8,
word: 'Ferrari',
stems: [ 'Ferrari' ],
suggestion: [],
correct: true,
analysis: [ ' st:Ferrari po:ORGANIZATION' ],
},
{
word: 'York',
stems: [],
suggestion: [ 'New York' ],
correct: false,
analysis: []
}
我实际上没有定义X
规则,它只是一个参考,而我正在将po
(这是语音类别)用作NER
类型的类别( (例如LOCATION
)作为占位符,以获取分析中的类别。
至少有两个问题
对于不大写的单词,即使添加规则(如p
)也与california
之类的类别不匹配
California/SM po:LOCATION
虽然对于像Ferrari
这样的单个单词来说这是可以的,但我又回到了po
中的类别,对于像New York
或Donald Trump
这样的单词,让我们说The Notorious BIG
,因此使用两个以上的单词将无法正常工作。在这种情况下,参考规则应类似于
New York/X po:LOCATION
注意
专有名词要求带有M
标志,而他的S
标志则表示专有名词没有大写。
参考:Hunspell,男人:https://www.systutorials.com/docs/linux/man/4-hunspell/