見出し画像

ゆるプロ!番外編「Yahooテキスト解析WebAPIを利用して自分の書いた文章を校正する」

ゆるいプログラミング講座、略して「ゆるプロ!」
これは気軽に気楽に試せるゆるーいプログラミング学習コンテンツである。今回のお題は「自分の書いた文章を校正する」

前提)

アプリケーションIDを登録すること

校正したいテキストをファイルで用意しておく

画像2

例)自分の書いた文章を校正する

import requests
import urllib.request
from bs4 import BeautifulSoup

#検索文読取
file=open('YahooTextAnalytics.txt', 'r', encoding="utf_8")
fr=file.read()

#Yahoo API(校正支援)のリクエストURLを作成  
url="https://jlp.yahooapis.jp/KouseiService/V1/kousei?appid=***&sentence="
url=url+urllib.parse.quote(fr)

#レスポンスの取得
response = urllib.request.urlopen(url)
text = response.read()

#Beautiful SoupでXMLを解析する
xml_soup = BeautifulSoup(text, 'lxml')
note = []
index = 1
for result in xml_soup.find_all("result"):
   tmp = "指摘No    :" + str(index) + "\n"
   tmp = tmp + "対象文     :" + result.find("surface").getText() +"\n"
   tmp = tmp + "指摘分類    :" + result.find("shitekiinfo").getText() +"\n"
   tmp = tmp + "校正提案     :" + result.find("shitekiword").getText() +"\n"
   note.append(tmp)
   index = index + 1
response.close()
file.close()

#結果を表示する
print("●原文:")
print("-------------------------------------------------------------")
print(fr)
print("-------------------------------------------------------------\n")


print("●指摘内容:")
print("-------------------------------------------------------------")
for result in note:
   print(result)
   
print("""
~指摘分類一覧~
誤変換         例:人事異同→人事異動
誤用          例:煙に巻く→けむに巻く
使用注意        例:外人墓地→外国人墓地
不快語         例:がんをつける→にらむ
機種依存または拡張文字 例:○付き数字、一部の旧字体など
外国地名        例:モルジブ→モルディブ
固有名詞        例:ヤフーブログ→Yahoo!ブログ
人名          例:ベートーヴェン→ベートーベン
ら抜き         例:食べれる→食べられる
当て字         例:出鱈目、振り仮名
表外漢字あり      例:灯籠→灯●
用字          例:曖昧→あいまい
用語言い換え(商標など)例:セロテープ→セロハンテープ
二重否定        例:聞かなくはない
助詞不足の可能性あり  例:学校行く
冗長表現        例:ことができます
略語          例:ADSL→非対称デジタル加入者線(ADSL)
""")
print("-------------------------------------------------------------")

結果)

画像1

参考)

おわり!