pynlpir icon indicating copy to clipboard operation
pynlpir copied to clipboard

加载用户自定义词典

Open Jackie127 opened this issue 6 years ago • 4 comments

如何加载用户自定义的词典或者如何修改默认的词典列表?

Jackie127 avatar Oct 16 '18 07:10 Jackie127

NLPIR说

用户词典需要注意的事项还包括:
1. 如果用户词有空格,需要采用[]括起来,例如: [Bill Clinton] nrf
2. 如果需要该用户词作为文章的关键词输出,必须用户词性标注为:key,如:科学发展观 key
3. 如果将一个词是人名,同时又希望作为关键词输出,则需要标注为 key_nr,如 钟南山 key_nr
4. 如果将一个词是地名,同时又希望作为关键词输出,则需要标注为 key_ns,如 钓鱼岛 key_ns
5. 如果将一个词是机构名,同时又希望作为关键词输出,则需要标注为 key_nr,如 国安 委 key_nt

例子:

  • https://github.com/NLPIR-team/NLPIR/blob/master/NLPIR%20SDK/NLPIR-ICTCLAS/projects/ICTCLAS_Java/Data/UserDefinedDict.lst
  • https://github.com/NLPIR-team/NLPIR/blob/a632f29b2452195d338e8e5e69a49be31dd69604/NLPIR-ICTCLAS/Data/UserDefinedDict.lst
import pynlpir

pynlpir.open()
pynlpir.nlpir.ImportUserDict(b'path/to/dict')

Related:

  • https://github.com/tsroten/pynlpir/issues/60
  • https://github.com/tsroten/pynlpir/issues/41
  • https://github.com/tsroten/pynlpir/issues/78

tsroten avatar Oct 19 '18 01:10 tsroten

你好: 我在UserDefinedDict.lst加入 | 幸福 happ | | | 遗憾 sorr | | | 北京理工大学 nt | | | 长春 nz | | | 奇虎 nt | | | 周鸿祎 nr | | | 万科 nt | | | 谷歌 nt | | 阿里巴巴 nt | 开心 happ 这些词后,运行下列代码

import pynlpir

pynlpir.open() pynlpir.nlpir.ImportUserDict(b'path/to/dict') pynlpir.segment("北京理工大学") 分词结果为[(‘北京’,’noun‘)] 不是北京理工大学,这个要如何解决

| |

在 2018-10-19 09:54:03,"Thomas Roten" [email protected] 写道:

NLPIR说:

用户词典需要注意的事项还包括:

  1. 如果用户词有空格,需要采用[]括起来,例如: [Bill Clinton] nrf
  2. 如果需要该用户词作为文章的关键词输出,必须用户词性标注为:key,如:科学发展观 key
  3. 如果将一个词是人名,同时又希望作为关键词输出,则需要标注为 key_nr,如 钟南山 key_nr
  4. 如果将一个词是地名,同时又希望作为关键词输出,则需要标注为 key_ns,如 钓鱼岛 key_ns
  5. 如果将一个词是机构名,同时又希望作为关键词输出,则需要标注为 key_nr,如 国安 委 key_nt

例子:

https://github.com/NLPIR-team/NLPIR/blob/master/NLPIR%20SDK/NLPIR-ICTCLAS/projects/ICTCLAS_Java/Data/UserDefinedDict.lst https://github.com/NLPIR-team/NLPIR/blob/a632f29b2452195d338e8e5e69a49be31dd69604/NLPIR-ICTCLAS/Data/UserDefinedDict.lst import pynlpir

pynlpir.open() pynlpir.nlpir.ImportUserDict(b'path/to/dict')

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

Jackie127 avatar Oct 19 '18 02:10 Jackie127

你好: 我在UserDefinedDict.lst加入 | 幸福 happ | | | 遗憾 sorr | | | 北京理工大学 nt | | | 长春 nz | | | 奇虎 nt | | | 周鸿祎 nr | | | 万科 nt | | | 谷歌 nt | | 阿里巴巴 nt | 开心 happ 这些词后,运行下列代码 import pynlpir pynlpir.open() pynlpir.nlpir.ImportUserDict(b'path/to/dict') pynlpir.segment("北京理工大学") 分词结果为[(‘北京’,’noun‘)] 不是北京理工大学,这个要如何解决 | | 在 2018-10-19 09:54:03,"Thomas Roten" [email protected] 写道: NLPIR说: 用户词典需要注意的事项还包括: 1. 如果用户词有空格,需要采用[]括起来,例如: [Bill Clinton] nrf 2. 如果需要该用户词作为文章的关键词输出,必须用户词性标注为:key,如:科学发展观 key 3. 如果将一个词是人名,同时又希望作为关键词输出,则需要标注为 key_nr,如 钟南山 key_nr 4. 如果将一个词是地名,同时又希望作为关键词输出,则需要标注为 key_ns,如 钓鱼岛 key_ns 5. 如果将一个词是机构名,同时又希望作为关键词输出,则需要标注为 key_nr,如 国安 委 key_nt 例子: https://github.com/NLPIR-team/NLPIR/blob/master/NLPIR%20SDK/NLPIR-ICTCLAS/projects/ICTCLAS_Java/Data/UserDefinedDict.lst https://github.com/NLPIR-team/NLPIR/blob/a632f29b2452195d338e8e5e69a49be31dd69604/NLPIR-ICTCLAS/Data/UserDefinedDict.lst import pynlpir pynlpir.open() pynlpir.nlpir.ImportUserDict(b'path/to/dict') — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

您后来解决了吗

My-captain avatar Mar 14 '19 06:03 My-captain

@My-captain @Jackie127 这个问题同另一个issue中提到的一样,都是没有加句号导致的。 我添加了相同的词表后,结果为:

# 不加句号
In: pynlpir.segment('我爱北京理工大学')
Out: [('我', 'pronoun'), ('爱', 'verb'), ('北京', 'noun')]

# 加上句号
In: pynlpir.segment('我爱北京理工大学。')
Out:
[('我', 'pronoun'),
 ('爱', 'verb'),
 ('北京理工大学', 'noun'),
 ('。', 'punctuation mark')]

参考: #132

joenahm avatar Mar 24 '22 07:03 joenahm