Как я могу использовать результаты сегментации текста на китайском языке jieba для анализа зависимостей с stanfordnlp в nltk? - PullRequest
0 голосов
/ 12 июля 2019

Я хочу использовать результат китайской сегментации текста jieba, чтобы получить разбор зависимостей с помощью stanfordnlp в nltk. Но, похоже, не работает.

Я попытался найти способ передачи объекта Tokenizer.cut в объект GenericCoreNLPParser.tokenize, но не удалось.

from nltk.parse.corenlp import CoreNLPDependencyParser
from nltk.tree import Tree
import jieba
parser = CoreNLPDependencyParser(url='http://localhost:9000')

s = '龙卷风的英文名是什么'

print('stanfordnlp 分词+依存句法分析 :')
print(parser.tokenize(s))
print(list(parser.tokenize(s)))
s_dep0, = parser.parse(parser.tokenize(s))
for governor, dep , dependent in s_dep0.triples():
    print(governor, dep , dependent)

print('\n')    
print('jieba 分词+依存句法分析 :')
print(jieba.cut(s))
print(list(jieba.cut(s)))
sdep1, = parser.parse(jieba.cut(s))
for governor, dep , dependent in sdep1.triples():
    print(governor, dep , dependent)

print('\n') 
print('jieba 分词+依存句法分析 :')
print(jieba.lcut(s))
sdep2, = parser.parse(jieba.lcut(s))
for governor, dep , dependent in sdep2.triples():
    print(governor, dep , dependent)

Это результат:

stanfordnlp 分词+依存句法分析 :
<generator object GenericCoreNLPParser.tokenize at 0x000000000A5A9D58>
['龙卷风', '的', '英文', '名', '是', '什么']
('什么', 'PN') nsubj ('名', 'NN')
('名', 'NN') nmod:assmod ('龙卷风', 'NN')
('龙卷风', 'NN') case ('的', 'DEG')
('名', 'NN') compound:nn ('英文', 'NN')
('什么', 'PN') cop ('是', 'VC')


jieba 分词+依存句法分析 :
<generator object Tokenizer.cut at 0x000000000A5A9D58>
['龙卷风', '的', '英文名', '是', '什么']
('什么', 'PN') nsubj ('名', 'NN')
('名', 'NN') nmod:assmod ('龙卷风', 'NN')
('龙卷风', 'NN') case ('的', 'DEG')
('名', 'NN') compound:nn ('英文', 'NN')
('什么', 'PN') cop ('是', 'VC')


jieba 分词+依存句法分析 :
['龙卷风', '的', '英文名', '是', '什么']
('什么', 'PN') nsubj ('名', 'NN')
('名', 'NN') nmod:assmod ('龙卷风', 'NN')
('龙卷风', 'NN') case ('的', 'DEG')
('名', 'NN') compound:nn ('英文', 'NN')
('什么', 'PN') cop ('是', 'VC')

Я ожидаю, что слова при разборе зависимостей будут результатом сегментации текста на китайском языке Джибы.

...