文字数[2038文字] この記事は3分33秒で読めます.
Proofreading(校正)というリクルートが開発したAPIを使って。
Proofreading(校正)というリクルートが開発したAPIを使って、今まで投稿した記事に誤字がないかを判別してもらった。因みに1000文字を超える文章は対象にならないのでワードプレスで取得した記事を900文字程度で切って判断してもらうことにしています。誤字があった場合、1を最大値として値が渡されるので、その平均値を取ればその文章の誤字率が判定できる。今回は平均値を取らず、最大値を判断材料として文章をスコア化しました。一応、判断した値をCSVで出力するプログラムをちょこちょこと制作したので参考にして頂ければ幸いです。正直なところ、ProofreadingのAPIが制度が良いのか疑わしいものがあるがAPIを取り扱うのが始めてという人は勉強になると思います?。
ソースコードはこちらになります。
<?php
require "../../wp-load.php";
global $wpdb;
$proofreading = function($text=""){
$url = "https://api.a3rt.recruit-tech.co.jp/proofreading/v2/typo";
$params = [
'apikey' => '取得したAPIKEY',
'sentence'=>"$text",
'sensitivity'=>"high"
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
$obj = (object)json_decode($response);
$score = 100;
if($obj->alerts){
$max = 0;
foreach($obj->alerts as $key=>$val){
$max = $max<$val->score?$val->score:$max;
}
$score = 100 - ($max * 100);
}
return $score;
};
if($argv[0]){
file_put_contents("blogscore.csv","");
$query = "SELECT * FROM $wpdb->posts WHERE post_status = 'publish' and post_type = 'post'";
$results = $wpdb->get_results( $wpdb->prepare($query));
foreach($results as $row) {
$id = $row->ID;
$title = $row->post_title;
$score = $proofreading(mb_strimwidth(preg_replace("/[\r|\n]/","",strip_tags($row->post_content)),0,900,"…"));
$str = "'$id'".",'".$title."',"."'$score'";
print $str.PHP_EOL;
file_put_contents("blogscore.csv",mb_convert_encoding($str."\n","SJIS","UTF-8"),FILE_APPEND);
}
}
1967番目の投稿です/60 回表示されています.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 1000, 900, API, CSV, lt, php, Proofreading, quot, require, wp-load, コード, こちら, こと, スコア, ソース, ところ, プレス, プログラム, もの, リクルート, ワード, 人, 今回, 値, 出力, 判別, 判定, 判断, 制作, 制度, 勉強, 参考, 取得, 場合, 対象, 平均, 投稿, 文章, 最大, 材料, 校正, 正直, 記事, 誤字, 開発,