[docs]@classmethoddeffrom_fstring(cls,fstring:str,candidate_morphemes:list["Morpheme"])->Optional["NamedEntity"]:"""KNP における素性文字列からオブジェクトを作成."""match=cls.PAT.match(fstring)ifmatchisNone:logger.warning(f"{fstring} is not a valid NE fstring")returnNonecategory:str=match["cat"]ifnotNamedEntityCategory.has_value(category):logger.warning(f"{candidate_morphemes[0].sentence.sid}: unknown NE category: {category}")returnNonename:str=match["name"].replace(r"\>",">")span=cls._find_morpheme_span(name,candidate_morphemes)ifspanisNone:logger.warning(f"{candidate_morphemes[0].sentence.sid}: morpheme span of '{name}' not found")returnNonereturnNamedEntity(NamedEntityCategory(category),candidate_morphemes[span.start:span.stop])