iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
AI & Data

建立FF14資訊Discord chatbot系列 第 3

[DAY 03]物品拍賣價格查詢功能(1/4)

製作FF14 chatbot主要步驟如下:

  1. 功能需求
  2. 資料收集
  3. 資料前處理
  4. chatbot功能能開發
  5. 使用者回饋
  6. 更新功能

接下來的筆記我會照上面步驟進行介紹,單一步驟需要詳細介紹的話我會單獨拉一篇出來

FF14有個系統叫 軍隊籌備 ,每個 生活職業 每天繳交指定物品後會給予職業經驗以及 軍票

由於經驗相當多再加上又有軍票可以拿,如果有新手90天經驗加成光每天繳交籌備物品就能很快地把所有生活職業一起練滿等,CP值很高,繳交的籌備物品在拍賣場都可以買到,因此不要成為盤子買到價格低的物品就是一項很重要的課題

目前可以查詢拍賣的網站叫 universalis ,它提供物品各種價格指標,不過它只能用物品的英文搜尋,這對使用中文或日文介面的人來說還要找物品英文就比較不方便

因此我希望做的功能是在discord上直接輸入中文就能查詢到物品的拍賣價格網址,所以目前第一件要做的事情是對FF14的物品進行命名實體識別(NER),我從github找到有人從官方解包下來的資料:
中文資料
英文資料
如果放官方解包資料不妥的話,麻煩留言通知我,我把連結拿掉

資料裡跟物品有關的檔名是Item.csv,中英都是這個檔名,目前我們只需要#Name這兩個欄位,#就是物品的ID

將中英rawdata合併的程式碼如下給大家參考:

import pandas as pd

if __name__ == '__main__':
    #前處理rawdata,將中英rawdata合併
    endf = pd.read_csv("Item_en.csv",header=1)
    cndf = pd.read_csv("Item_cn.csv",header=1)

    endf = endf[["#","Name"]]
    endf.rename(columns={"Name": "英文","#":"ID"},inplace=True)
    cndf = cndf[["#","Name"]]
    cndf.rename(columns={"Name": "簡體中文","#":"ID"},inplace=True)

    df = pd.merge(cndf,endf, how="left", on=["ID"])
    df.to_csv("FF14_rawitem.csv",encoding="utf-8-sig",index=0)

現在有了ID、中文及英文,還差日文,由於日文目前沒有找到相關解包資料,因此我是從灰機WIKI那邊爬下來的

資料清整好後明天就會分享灰機WIKI的爬蟲介紹


上一篇
[DAY 02]環境建置
下一篇
[DAY 04]物品拍賣價格查詢功能(2/4)
系列文
建立FF14資訊Discord chatbot30

尚未有邦友留言

立即登入留言