# Introduction to Artificial Intelligence # Proposal Requirement ### Problem Statement and Task Definition 我們的團隊計劃開發一個利用ChatGPT API的系統,用於回答網頁上的用戶提出的問題。用戶上傳PDF文件,我們的系統透過這些PDF文件中提取資訊並回答用戶的問題。我們的目標是設計一個系統,能夠根據用戶的需求讀取PDF文件,提取相關信息,並以用戶可理解的方式進行回答。該項目的主要目的是幫助用戶節省閱讀文檔的時間,並為他們提供有關文檔的內容答疑服務。 ### Description of the challenges PDF文件解析:解析PDF文件並提取其中的資訊可能會面臨格式多樣性、文件結構複雜等問題。有些PDF文件可能使用特定的佈局、字體或圖形,需要有效處理這些情況。 自然語言理解:理解使用者提出的問題並從PDF文件中找到相關答案需要良好的自然語言處理能力。這涉及到對問題進行分詞、實體識別、語義理解等方面的處理。 資訊搜尋與配對:在PDF文件中尋找與使用者問題相關的資訊需要進行高效率的資訊搜尋與比對。這可能涉及文件中的關鍵字比對、語意相似度計算等技術。 模型整合與部署:將ChatGPT的API考量與PDF文件解析、資訊檢索等模組進行集成,需要模型的呼叫方式、介面設計、效能最佳化等面向。同時,部署系統可能涉及到伺服器端的架構設計、效能調優等問題。 ### Input/Output Behavior with Concrete Examples 輸入1:使用者在網頁上傳了一份包含大學入學要求的PDF文件。 輸出1:系統從PDF文件中提取了入學要求的相關信息,並以文字形式呈現給用戶。例如,用戶會看到一份列表,列出了入學所需的文件、考試要求和首先日期。 輸入2:用戶在聊天介面上詢問:“我需要準備哪些文件申請提案?” 輸出2:系統分析PDF文件,找到與預算申請相關的信息,並回答使用者的問題。系統可能會匯入預算申請所需的文件清單,並提供了有關預算申請的相關日期和申請程序的說明。 輸入3:用戶上傳了一份公司的年度財務報告PDF文件,並詢問:“公司去年的利潤率是多少?” 輸出3:系統搜尋PDF文件,找到公司去年的財務數據,並回答使用者的問題。系統可能會提供一個圖表或數據表格,顯示公司去年的財務報表、利潤率和其他指標。 ### Related works #### BERT BERT 全名為 Bidirectional Encoder Representations from Transformers,是 Google 以無監督的方式利用大量無標註文本「煉成」的語言代表模型,其架構為 Transformer 中的 Encoder,並解決自然語言處理(Nature Language Processing, NLP)相關問題。 #### Amazon Textract Amazon Textract 是一種機器學習 (ML) 服務,可自動從掃描文件中擷取文字、手寫內容、配置元素與資料。除了簡單的光學字元辨識 (OCR),還可以識別、理解及擷取文件的特定資料。如。Textract 可讓自訂預先訓練的功能,以便滿足您業務特定的文件處理需求。Textract 可以在幾分鐘 (而非數小時或數天) 的時間內擷取資料。 #### OpenAI GPT 生成式預先訓練轉換器 (Chat Generative Pre-trained Transformer, GPT) 是一系列使用轉換程式架構的神經網路模型,是人工智慧 (AI) 為 ChatGPT 等生成式 AI 應用程式提供支援的關鍵進步。GPT 模型可讓應用程式建立類似人類的文字和內容 (影像、音樂等),並以對話方式回答問題。各行各業的組織都使用 GPT 模型和生成式 AI 來處理問答機器人、文字摘要、內容產生和搜尋。 ### Methodology 1. 資料重建:首先,我們對上傳的PDF文件進行重建,包括文字擷取、文字清洗和格式轉換。這一步是為了確保我們能夠從文件中準確地提取資訊。 2. 文字摘要與資訊擷取:接下來,我們將利用自然語言處理技術,如BERT模型或文字摘要演算法,對文件進行分析並提取關鍵資訊。這些資訊可能包括主要內容、關鍵術語、重要資料等。 3. 問答系統建構:我們將建立一個問答系統,利用ChatGPT API來回答使用者提出的問題。系統將利用先前提取的文件資訊來產生答案,並根據問題的複雜程度和內容提供相應的答案。 4. 模型整合和最佳化:我們將進一步優化模型,提高其對不同類型文件的預測和準確性。 ### Evaluation Metrics 我們希望透過以下方法衡量LLM是否有忠於用戶輸入的pdf回答問題,以及是否有產出有意義的回答。 1. Contextual Relevancy : 衡量輸出文本和輸入相關的部份的比例 2. Faithfulness : 用LLM提取生成的文本中的所有聲明,文本聲明事先標記對錯或不確定,計算答案正確的比例 3. Answer Relevancy : 計算答案的句子中實際與問題相關的句子比例 ### Baselines and Oracles 我們的第一個基線是讀取一段文字等,並簡單分類出這是什麼相關的,例如是與昆蟲(某個主題)相關的文章介紹,或是文學報導,教學文章等。 第二個基線是以pdf形式輸入,並同樣是一段文字做同樣的分類,還有把簡單網頁寫出來。 第三個基線是以pdf形式輸入,同樣是一段文字,不過可以根據文章內容作簡單問答。 最後目標就是是以pdf形式輸入文整的內容,根據文章內容作簡單問答。 # Work Plan ### Time schedule | 任務 | 預期完成時間 | | -------- | -------- | | 讀文字並分類(第一基線) | 5/5 | | 輸入改成pdf(第二個基線) | 5/19 | | 完成簡單網頁(第二個基線) | 5/19 | | 完成簡單問答(第三個基線) | 6/2 | | 完成最終目標(第四個基線) | 6/16 | ### Discussion 我們的團隊hackmd網址如下: https://hackmd.io/9cyYu5ChT6qoKkFVYjwrtw ### Repo 我們的團隊github網址如下: https://github.com/IanQQQQQQ/ai-final.git