您好hankcs老师,
想请问一下Chapter 9.3 关键短语提取这一块,如果我想用SP分词器而不是默认的Viterbi该怎么弄呢?好像python里面不太好实现。是不是要修改NotionalTokenizer的代码才行?谢谢!
哦,谢谢,不过这个貌似是关键词的?我想问关键短语提取的,extractPhrase那个。谢谢
你可以自定义
谢谢!关键词提取换个分词器我会弄,但这个关键短语我研究了一下,还是没弄懂。还请hankcs老师能再具体指点一下。
(1)是不是NotionalTokenizer里面可以这样设置分词器,就是设置实例的SEGMENT字段?
NotionalTokenizer = SafeJClass(“com.hankcs.hanlp.tokenizer.NotionalTokenizer”)
notionaltokenizer = NotionalTokenizer()
notionaltokenizer.SEGMENT = HanLP.newSegment(‘perceptron’)
(2)但是没法把这个设置通过MutualInformationEntropyPhraseExtractor类的构造函数传递过去,请教一下该怎么弄?貌似必须修改代码、增加一个实例构造函数?
MutualInformationEntropyPhraseExtractor = SafeJClass(“com.hankcs.hanlp.mining.phrase.MutualInformationEntropyPhraseExtractor”)
extractor = MutualInformationEntropyPhraseExtractor()
这样的话,貌似和直接phrase_list = HanLP.extractPhrase(text, 5)是等价的。
麻烦hankcs老师能再指点一下,谢谢!
NotionalTokenizer.SEGMENT是一个全局变量,不需要传参。
哎是啊,它是public的。谢谢啊。那看来我的用法是对的,可能我用的书上的测试用例里面Viterbi和SP的分词结果非常一致,所以关键短语提取结果也非常一致。我以为用错了。谢谢!