日本语自然语言处理中的分词库 - GiNZA-3. 使用 GiNZA

示例代码1,

import spacy

print(f"===ja_ginza_electra===")
nlp = spacy.load('ja_ginza_electra')
doc = nlp('夏の全国高等学校野球選手権大会に出場する')
for token in doc:
    print(token)

输出,

夏
の
全国
高等学校
野球
選手権
大会
に
出場
する

示例代码2,

import spacy

# GiNZAでルール追加
nlp = spacy.load('ja_ginza_electra')
nlp.add_pipe(factory_name='entity_ruler', config={"overwrite_ents": True}, last=True)
# Create an EntityRuler with overwrite entities enabled
patterns = [{'label': 'Person', 'pattern': '母'},
            {'label': 'Person', 'pattern': '父'}]
ruler = nlp.get_pipe('entity_ruler')
ruler.add_patterns(patterns)

doc = nlp('小学生のサツキと5歳のメイの二人は、母の療養のために父と一緒に初夏の頃に3丁目に引っ越してくる。')
# Print the entities found in the text
for ent in doc.ents:
    print(
        f"{ent.text},{ent.label_},{ent.label_},{ent.start_char},{ent.end_char}"  # Using f-string for better readability
    )

输出,

小学生,School_Age,School_Age,0,3
サツキ,Name_Other,Name_Other,4,7
5歳,Age,Age,8,10
メイ,Name_Other,Name_Other,11,13
二人,N_Person,N_Person,14,16
母,Person,Person,18,19
父,Person,Person,26,27
初夏,Date,Date,31,33
3丁目,Facility_Part,Facility_Part,36,39

完结!

上一篇:C语言进阶课程学习记录-函数参数的秘密-实验-求平均数


下一篇:【24年物联网华为杯】赛题分析与初步计划