yasuokaの日記: huggingface_hubのInferenceApiでbert-base-japanese-uposを動かすには
8月27日の日記で公開したbert-base-japanese-uposだが、少しばかり無理を言ってhuggingface_hubのInferenceApiで動くようにしてもらった。これで、インターネットに繋がってさえいれば、UPOSによる品詞付与が簡単にできる。とりあえず、huggingface_hubをインストールしよう。
$ pip3 install -U huggingface_hub
インストールできたら「難儀な難儀は難儀する」に品詞付与してみよう。
$ python3
>>> from huggingface_hub.inference_api import InferenceApi
>>> api=InferenceApi("KoichiYasuoka/bert-base-japanese-upos")
>>> r=api(inputs="難儀な難儀は難儀する")
>>> import json
>>> print(json.dumps(r,indent=2,ensure_ascii=False))
[
{
"entity_group": "ADJ",
"score": 0.6918697953224182,
"word": "難 儀",
"start": null,
"end": null
},
{
"entity_group": "AUX",
"score": 0.995212972164154,
"word": "な",
"start": null,
"end": null
},
{
"entity_group": "NOUN",
"score": 0.9972944259643555,
"word": "難 儀",
"start": null,
"end": null
},
{
"entity_group": "ADP",
"score": 0.9995647072792053,
"word": "は",
"start": null,
"end": null
},
{
"entity_group": "VERB",
"score": 0.6875597238540649,
"word": "難 儀",
"start": null,
"end": null
},
{
"entity_group": "AUX",
"score": 0.9953439235687256,
"word": "す る",
"start": null,
"end": null
}
]
BertJapaneseTokenizerがreturn_offsets_mappingをサポートしていないため、startとendがnullになってしまっているものの、「難儀な」がADJ+AUX、「難儀は」がNOUN+ADP、「難儀する」がVERB+AUXになっているのがわかる。通信に少しばかり時間がかかるかもしれないが、ぜひ試してみてほしい。
huggingface_hubのInferenceApiでbert-base-japanese-uposを動かすには More ログイン