@@ -129,7 +129,7 @@ def to_dict(self):
129129 def __str__ (self ) -> str :
130130 return self .to_json ()
131131
132- def to_conll (self , tok = 'tok' , lem = 'lem' , pos = 'pos' , dep = 'dep' , sdp = 'sdp' ) -> Union [
132+ def to_conll (self , tok = 'tok' , lem = 'lem' , pos = 'pos' , fea = 'fea' , dep = 'dep' , sdp = 'sdp' ) -> Union [
133133 CoNLLSentence , List [CoNLLSentence ]]:
134134 """
135135 Convert to :class:`~hanlp_common.conll.CoNLLSentence`.
@@ -138,6 +138,7 @@ def to_conll(self, tok='tok', lem='lem', pos='pos', dep='dep', sdp='sdp') -> Uni
138138 tok (str): Field name for tok.
139139 lem (str): Field name for lem.
140140 pos (str): Filed name for upos.
141+ fea (str): Field name for feats.
141142 dep (str): Field name for dependency parsing.
142143 sdp (str): Field name for semantic dependency parsing.
143144
@@ -148,6 +149,7 @@ def to_conll(self, tok='tok', lem='lem', pos='pos', dep='dep', sdp='sdp') -> Uni
148149 tok = prefix_match (tok , self )
149150 lem = prefix_match (lem , self )
150151 pos = prefix_match (pos , self )
152+ fea = prefix_match (fea , self )
151153 dep = prefix_match (dep , self )
152154 sdp = prefix_match (sdp , self )
153155 results = CoNLLSentenceList ()
@@ -173,7 +175,8 @@ def get(_k, _i):
173175 if not _dep :
174176 _dep = (None , None )
175177 sent .append (
176- CoNLLUWord (i + 1 , form = _tok , lemma = get (lem , i ), upos = get (pos , i ), head = _dep [0 ], deprel = _dep [1 ],
178+ CoNLLUWord (i + 1 , form = _tok , lemma = get (lem , i ), upos = get (pos , i ), feats = get (fea , i ), head = _dep [0 ],
179+ deprel = _dep [1 ],
177180 deps = None if not get (sdp , i ) else '|' .join (f'{ x [0 ]} :{ x [1 ]} ' for x in get (sdp , i ))))
178181 results .append (sent )
179182 if flat :
0 commit comments