iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

來創造一個AI角色吧-新手的探尋之路系列 第 28

Day27 [Python]機器人也是需要會查翻譯、Wiki和Google

  • 分享至 

  • xImage
  •  

現在人不需要上知天文,下知地理,精通各國語言,只要會查google、Wiki以及用翻譯。機器人也是,從前幾天的過程,已經具有基本的語言能力,也能夠傾聽和表達出來,然後就是需要基本的知識,而這些可以透過和人一樣使用工具獲得,Python提供各種library可以使用,這邊列舉這些例子。


Google搜尋:
這就和熱門的主題網路爬蟲有關,但如果我們只是要先簡單的google搜尋,那我們可以使用googlesearch-python,安裝如下:

pip install googlesearch-python

另外還有google-search、google(非官方)和python-googlesearch,但我看這3個library討論度較低且近期就已經沒有更新了。另外有文章提到在使用google-search時量太大會被擋,但在googlesearch-python的說明中並沒有提及,簡單的測試一切如常。
簡單的範例如下,我們可搭配Python內建的requests和lxml撈到網頁的標題:

import requests
from lxml.html import fromstring

from googlesearch import search
for result in search("強鹼", num_results=10, lang="zh-tw"):
    print(result)

    r = requests.get(result)
    tree = fromstring(r.content)
    title = tree.findtext('.//title')   
    print(title)

我們查個時事的關鍵字"強鹼"(有興趣可以看相關新聞,因為我昨天也有路過此路段被噴到QQ),列出10個結果,而網頁的標題對新聞的結果具有足夠的資訊量:

https://baike.baidu.hk/item/%E5%BC%B7%E9%B9%BC/9177996
百度百科_全球領先的中文百科全書
https://shopee.tw/search?keyword=%E5%BC%B7%E9%B9%BC
None
https://zh.wikipedia.org/zh-tw/%E7%A2%B1
鹼 - 維基百科,自由的百科全書
https://tw.stock.yahoo.com/news/%E5%8F%B061%E6%BC%8F%E6%BF%BA%E5%BC%B7%E9%B9%BC%E9%87%803%E5%82%B7-%E7%92%B0%E4%BF%9D%E5%B1%80%E9%96%8B%E7%BD%B0%E4%BA%86-231436712.html
台61漏濺強鹼釀3傷 環保局開罰了
https://health.ettoday.net/news/1067154
å¼·é
¸å¼·é¹¼æœ‰é‚£å¹¾ç¨®ï¼ŸæŽ¥è§¸çš®è†šå¥½å¯æ€•è©²å¦‚何處理? | ETtoday健康雲 | ETtoday新聞雲
https://www1.cgmh.org.tw/intr/intr2/c3150/alkali.pdf
None
https://baike.sogou.com/v104560.htm
None
https://terms.naer.edu.tw/detail/457682/
strong base - 強鹼
https://www1.cgmh.org.tw/intr/intr2/c3150/alkali.pdf
None
https://baike.sogou.com/v104560.htm
None
https://terms.naer.edu.tw/detail/457682/
strong base - 強鹼


Wiki:
Wiki可以比較準確的匡列出結果是此詞彙的定義。而Python也有它library:

pip install wikipedia

簡單範例如下:

import wikipedia

wikipedia.set_lang("zh")
print( wikipedia.summary("Wikipedia", sentences=1))
print(wikipedia.search("RNN"))

test = wikipedia.page("強鹼")
print(test.title)
print(test.url)
print(test.content)

除了test.content 的結果非常長就不貼上來,顯示為:

維基百科(英語:Wikipedia,/ˌwɪkɪˈpiːdiə/ 或 /ˌwɪkiˈpiːdiə/)是维基媒体基金会运营的一个多语言的線上百科全書,并以创建和维护作为开放式协同合作项目,特点是自由內容、自由编辑、自由版权。
['循环神经网络', 'Transformer模型', '光学字符识别', '長短期記憶', '層 (深度學習)', 'Q学习', '頭暈', '美因茨-路德维希港铁路', 'WaveNet', '伯恩哈德·萨贝尔']
超强碱
https://zh.wikipedia.org/wiki/%E8%B6%85%E5%BC%BA%E7%A2%B1


翻譯:
翻譯可以使用 googletrans,但要特別注意,如這篇所提,我直接用不指定版本安裝後在使用時會有error,所以要指定特定版本:

pip install googletrans==4.0.0-rc1

範例如下,也是非常方便簡單,同樣需要連網才能使用:

from googletrans import Translator
translator = Translator()

result = translator.translate('請繼續努力', src='zh-tw', dest='ja').text
print(result)

一生懸命働き続けてください


上一篇
Day26 [Python]妳聽得到
下一篇
Day28 [Python]剪輯師、波紋與採譜
系列文
來創造一個AI角色吧-新手的探尋之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言