🚀 マルチ言語句読点予測モデル
このモデルは、英語、イタリア語、フランス語、ドイツ語、オランダ語のテキストの句読点を予測します。音声文字起こしデータの句読点を復元するために開発されました。
🚀 クイックスタート
このモデルは、SEPP - NLG Shared Taskが提供するEuroparlデータセットと、オランダ語に関してはSoNaRデータセットを用いて学習されています。なお、このデータセットは政治演説から構成されているため、他のドメインのテキストではモデルの性能が異なる可能性があります。
モデルは以下の句読点マーカーを復元します:"." "," "?" "-" ":"
✨ 主な機能
- 複数言語のテキストに対する句読点予測
- 任意の長さのテキストを処理可能なPythonパッケージの提供
📦 インストール
まずは、pypiからパッケージをインストールしましょう。
pip install deepmultilingualpunctuation
💻 使用例
基本的な使用法
from deepmultilingualpunctuation import PunctuationModel
model = PunctuationModel(model="oliverguhr/fullstop-punctuation-multilingual-sonar-base")
text = "My name is Clara and I live in Berkeley California Ist das eine Frage Frau Müller"
result = model.restore_punctuation(text)
print(result)
出力
My name is Clara and I live in Berkeley, California. Ist das eine Frage, Frau Müller?
高度な使用法
from deepmultilingualpunctuation import PunctuationModel
model = PunctuationModel(model="oliverguhr/fullstop-punctuation-multilingual-sonar-base")
text = "My name is Clara and I live in Berkeley California Ist das eine Frage Frau Müller"
clean_text = model.preprocess(text)
labled_words = model.predict(clean_text)
print(labled_words)
出力
[['My', '0', 0.99998856], ['name', '0', 0.9999708], ['is', '0', 0.99975926], ['Clara', '0', 0.6117834], ['and', '0', 0.9999014], ['I', '0', 0.9999808], ['live', '0', 0.9999666], ['in', '0', 0.99990165], ['Berkeley', ',', 0.9941764], ['California', '.', 0.9952892], ['Ist', '0', 0.9999577], ['das', '0', 0.9999678], ['eine', '0', 0.99998224], ['Frage', ',', 0.9952265], ['Frau', '0', 0.99995995], ['Müller', '?', 0.972517]]
📚 ドキュメント
各言語のモデル性能
ラベル |
英語 |
ドイツ語 |
フランス語 |
イタリア語 |
オランダ語 |
0 |
0.990 |
0.996 |
0.991 |
0.988 |
0.994 |
. |
0.924 |
0.951 |
0.921 |
0.917 |
0.959 |
? |
0.825 |
0.829 |
0.800 |
0.736 |
0.817 |
, |
0.798 |
0.937 |
0.811 |
0.778 |
0.813 |
: |
0.535 |
0.608 |
0.578 |
0.544 |
0.657 |
- |
0.345 |
0.384 |
0.353 |
0.344 |
0.464 |
マクロ平均 |
0.736 |
0.784 |
0.742 |
0.718 |
0.784 |
ミクロ平均 |
0.975 |
0.987 |
0.977 |
0.972 |
0.983 |
利用可能なモデル
メインモデル
コミュニティモデル
以下のようにmodel
パラメータを設定することで、異なるモデルを使用できます。
model = PunctuationModel(model = "oliverguhr/fullstop-dutch-punctuation-prediction")
🔧 技術詳細
このマルチ言語モデルは、SEPP - NLG Shared Taskが提供するEuroparlデータセットで学習されており、オランダ語に関してはSoNaRデータセットを追加で使用しています。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
引用方法
@article{guhr-EtAl:2021:fullstop,
title={FullStop: Multilingual Deep Models for Punctuation Prediction},
author = {Guhr, Oliver and Schumann, Anne-Kathrin and Bahrmann, Frank and Böhme, Hans Joachim},
booktitle = {Proceedings of the Swiss Text Analytics Conference 2021},
month = {June},
year = {2021},
address = {Winterthur, Switzerland},
publisher = {CEUR Workshop Proceedings},
url = {http://ceur-ws.org/Vol-2957/sepp_paper4.pdf}
}
@misc{https://doi.org/10.48550/arxiv.2301.03319,
doi = {10.48550/ARXIV.2301.03319},
url = {https://arxiv.org/abs/2301.03319},
author = {Vandeghinste, Vincent and Guhr, Oliver},
keywords = {Computation and Language (cs.CL), Artificial Intelligence (cs.AI), FOS: Computer and information sciences, FOS: Computer and information sciences, I.2.7},
title = {FullStop:Punctuation and Segmentation Prediction for Dutch with Transformers},
publisher = {arXiv},
year = {2023},
copyright = {Creative Commons Attribution Share Alike 4.0 International}
}