机器学习日语文本处理3案例

1.OCR识别从左至右横排日语文本(预先将PDF图书转成识别效果最佳的PNG图片)
使用tesseract4.0.0及2018版的日文训练集效果最好,但是还是会有误字需要人工核对。
可以在CloudStudio提供的工作空间中运行。
apt-get install tesseract-ocr
pip3 install Pillow
pip3 install pyocr
需要下载好jpn.traineddata移动至tessdata目录下,使用以下Linux命令查找对应目录。
find / -name tessdata
测试图片以及识别效果如下:


2.对txt格式日语文本自动分句
使用stanfordnlp,只需下载分句模型ja_gsd_tokenizer.pt即可,对日文引号书名号判断易出错,需要人工修正。另外引入mojimoji模块可对输入文本进行处理将数字标点符号统一为半角格式。
可以在CloudStudio提供的工作空间中运行。
pip3 install torch==1.8.1 stanfordnlp
pip3 install mojimoji
下载速度慢可以使用:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch==1.8.1 stanfordnlp
需要下载好日文分句模型ja_gsd_tokenizer.pt移动至stanfordnlp_resources/ja_gsd_models目录下。


测试用日语文本内容如下:
英語が得意な彼女は中国語、
日本語、英語の歌、なんでも
歌う。例えば日本語の歌なら
「名探偵コナン」のエンディ
ング「Your Best Friend」がお気に入りだ。
明るくて人懐っこい
彼女はホストファミ
リーのお母さんとも仲
が良い。
ボランティア活動も
されているお母さんは
とてもオープンな方で、
心ちゃんに話しかける口調はまるで本当の家族のよう。
よそよそしさは全くない。心ちゃんも安心しているこ
とが伝わってくる。
将来は高校の先生になりたいと話してくれた心ちゃ
んの、日本での留学生活はもうすぐ半分を終えようと
している。
执行代码后分句效果如下:

对案例1中识别出来的的日语文本进行分句效果如下:

3.OCR识别从上至下竖排日语文本(预先将PDF图书转成识别效果最佳的PNG图片)
使用Kindai-OCR代码及所提供的训练集,需要事先微调参数,效果不好误字多难处理。
程序运行时计算量大,CPU负荷超载导致进程被终止,即使限制进程数为1也无法在CloudStudio提供的工作空间中运行。
pip3 install torch torchvision opencv-python scikit-image scipy Polygon3 Pillow Numpy
远程服务器运行代码:
python3 test.py --cuda=False
代码运行完毕后,在data目录下生成result.xml文本文件,data/result/目录下生成res_t.jpg图片和res_t.txt文本文件。根据res_t.txt数据容错提取result.xml文本数据即可。
测试图片及识别效果如下:



运行Kindai-OCR耗时:
./pretrain/vgg16_bn-6c64b313.pth
Loading text detection model from checkpoint ./pretrain/synweights_4600.pth
total words/phones 5748
./data/test/1.png/data/test/1.png
infer/postproc time : 3.928/0.061
save image
./data/test/2.png/data/test/2.png
infer/postproc time : 2.503/0.073
save image
./data/test/3.png/data/test/3.png
infer/postproc time : 2.405/0.077
save image
./data/test/4.png/data/test/4.png
infer/postproc time : 2.600/0.056
save image
./data/test/5.png/data/test/5.png
infer/postproc time : 2.816/0.050
save image
./data/test/6.png/data/test/6.png
infer/postproc time : 2.148/0.034
save image
./data/test/7.png/data/test/7.png
infer/postproc time : 2.847/0.050
save image
elapsed time : 86.77478384971619s
附加:
案例3机器识别竖排日语文本图片用tesseract4.0.0和针对竖排日文强化过的训练集jpn_ver5.traineddata效果更优。
测试图片以及识别效果如下:




以上