Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
|
3 |
+
import json
|
4 |
+
from functools import partial
|
5 |
+
from typing import Callable, Dict, List
|
6 |
+
import transformers
|
7 |
+
from transformers import (
|
8 |
+
BartForConditionalGeneration,
|
9 |
+
AutoModelConditionalGeneration,
|
10 |
+
AutoTokenizer,
|
11 |
+
pipeline
|
12 |
+
)
|
13 |
+
|
14 |
+
model = BartForConditionalGeneration.from_pretrained(
|
15 |
+
'airesearch/wangchanbart-large',
|
16 |
+
revision='finetuned@xl-sum',
|
17 |
+
)
|
18 |
+
tokenizer = AutoTokenizer.from_pretrained(
|
19 |
+
'airesearch/wangchanbart-large',
|
20 |
+
)
|
21 |
+
|
22 |
+
text_summarize_pipeline = pipeline(tokenizer=tokenizer,
|
23 |
+
model=model)
|
24 |
+
|
25 |
+
css_text = """<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">"""
|
26 |
+
|
27 |
+
# def render_html(items: List[Dict]):
|
28 |
+
# html_text = ''
|
29 |
+
# for item in items:
|
30 |
+
|
31 |
+
# label, score = item['label'], item['score']
|
32 |
+
# label_id = LABEL_MAPPING_REVERSED[label]
|
33 |
+
|
34 |
+
# progress_bar_class_text = CSS_PROGRESS_BAR_MAPPING[label_id]
|
35 |
+
|
36 |
+
# html_text += f'<span>{label.replace(" ", " ")}: {(score*100):8.2f}%<span>' + \
|
37 |
+
# f'<div class="w3-light-grey w3-round"><div class="{progress_bar_class_text} w3-round" style="height:19px;width:{round(score*100,2)}%"></div></div><div style="height:8px;"></div>'
|
38 |
+
|
39 |
+
# return '<div class="w3-container">' + html_text + '</div>'
|
40 |
+
|
41 |
+
def summarize(text: str):
|
42 |
+
|
43 |
+
results = text_summarization_pipeline(text)[0]
|
44 |
+
print(f'results:\n {results}')
|
45 |
+
# for i, result in enumerate(results):
|
46 |
+
# results[i]['label'] = LABEL_MAPPING[result['label']]
|
47 |
+
# results[i]['score'] = float(round(float(result['score']), 4))
|
48 |
+
html_text = css_text + results
|
49 |
+
print(html_text)
|
50 |
+
return json.dumps(results, ensure_ascii=False, indent=4), html_text
|
51 |
+
|
52 |
+
|
53 |
+
demo = gr.Interface(fn=classify_text,
|
54 |
+
inputs=gr.Textbox(lines=5, placeholder='Input text in Thai', label='Input text'),
|
55 |
+
examples=[
|
56 |
+
['แผ่นบันทึกข้อมูลทองคำที่ส่งไปกับยานวอยเอเจอร์ 1 และ 2 เมื่อกว่า 40 ปีก่อน ศ. รีเบกกา ออร์ชาร์ด และ ศ. เชรี เวลส์-เจนเซน จากมหาวิทยาลัย Bowling Green State University ในรัฐโอไฮโอของสหรัฐฯ เสนอต่อที่ประชุมสมาคมอวกาศแห่งชาติในนครลอสแอนเจลิสเมื่อวันเสาร์ (26 พ.ค.) ที่ผ่านมาว่า แทนที่ข้อมูลในแผ่นบันทึกดังกล่าวจะช่วยยืนยันว่ามนุษย์เป็นผู้รักสงบและมีภูมิปัญญาสูงส่ง ความสับสนในการสื่อสารและการแปลความหมายของสัญลักษณ์ต่าง ๆ อาจทำให้สิ่งมีชีวิตต่างดาวเข้าใจคลาดเคลื่อนไปจากที่มนุษย์ต้องการเป็นอย่างมาก "แผ่นบันทึกข้อมูลทองคำแสดงถึงภาพลักษณ์ในแบบที่มนุษย์ปรารถนาจะให้ผู้อื่นมองตนเช่นนั้น แต่เราต้องไม่ลืมว่าสิ่งมีชีวิตที่จะเข้าใจข้อมูลนี้ได้ จะต้องมีความสามารถในการรับรู้และประสาทสัมผัสเทียบเท่ากับมนุษย์โดยทั่วไป หากขาดประสาทสัมผัสทางใดทางหนึ่งเช่นการได้ยิน หรือมีประสาทสัมผัสพิเศษอื่น ๆ เพิ่มมา การตีความจะคลาดเคลื่อนทันที" ศ. ออร์ชาร์ดกล่าว แผ่นบันทึกข้อมูลนี้ทำจากแผ่นทองแดงที่เคลือบผิวด้วยทองคำ ขนาดเส้นผ่านศูนย์กลาง 30 เซนติเมตร บันทึกข้อมูลภาพ 117 ภาพ และเสียงต่าง ๆ ที่เป็นตัวแทนของธรรมชาติบนโลกและอารยธรรมของมนุษย์ ซึ่งรวมถึงเสียงร้องเรียกของวาฬหลังค่อม เสียงคนกล่าวทักทายในภาษาต่าง ๆ 54 ภาษา และเสียงดนตรีจากวัฒนธรรมต่าง ๆ ทั่วโ��กนาน 90 นาที หากเอเลียนที่ทรงภูมิปัญญามีอยู่จริง และได้เปิดอ่านข้อมูลจากแผ่นบันทึกดังกล่าว หนึ่งในความผิดพลาดที่อาจเกิดขึ้นคือเข้าใจไปว่าเสียงกล่าวทักทายในภาษาต่าง ๆ คือเสียงคนโต้เถียงกัน เนื่องจากมีการเรียบเรียงบันทึกเสียงไว้ในลักษณะที่คล้ายโครงสร้างบทสนทนาโต้แย้ง ทำให้อาจตีความไปได้ว่า มนุษย์คือเผ่าพันธุ์ที่ชอบทะเลาะถกเถียงกัน และมีภาษาพูดซึ่งไม่มีแบบแผนไวยากรณ์ที่แน่นอน นอกจากนี้ อาจมีการจับคู่ข้อมูลภาพและเสียงซึ่งบันทึกแยกด้านกันไว้ผิด จนทำให้มีการตีความได้ว่า ดอกไม้ที่งดงามบนโลกอาจส่งเสียงร้องดังลั่นเหมือนเลื่อยยนต์ได้ ศ. ออร์ชาร์ดยังกล่าวอีกว่า "เสียงดนตรีจากทั่วโลกที่มีตั้งแต่ดนตรีคลาสสิก ไปจนถึงวงกาเมลันของชาวเกาะชวานั้น ยิ่งสร้างความสับสนและยากจะตีความได้ สำหรับผู้ที่ไม่คุ้นเคยกับมนุษย์และเสียงที่มนุษย์สร้างขึ้น" ขณะนี้แผ่นบันทึกข้อมูลทองคำที่อยู่กับยานวอยเอเจอร์ 1 อยู่ห่างจากโลกไป 12,000 ล้านไมล์ และเป็นวัตถุที่มนุษย์สร้างขึ้นซึ่งอยู่ห่างจากโลกมากที่สุด โดยต้องใช้เวลาอีกราว 40,000 ปี กว่าที่ยานนี้จะเข้าใกล้ระบบสุริยะอื่น ๆ ที่ไม่ใช่ของเราได้'],
|
57 |
+
['นักวิจัยซึ่งเผยแพร่งานวิจัยในวารสาร Psychological Science ศึกษาเรื่องนี้โดยการใช้แบบสำรวจและสแกนสมองคน 264 คน เพื่อดูว่าเป็นคนที่มีแนวโน้มจะรีบจัดการกับภารกิจตรงหน้าอย่างรวดเร็วแค่ไหน นักวิจัยพบว่ามีสมองอยู่สองส่วนที่เป็นตัวกำหนดว่าเราจะลงมือทำภารกิจตรงหน้าให้เสร็จ หรือเลื่อนเวลาออกไปเรื่อย ๆ งานวิจัยพบว่าคนที่ชอบผัดวันประกันพรุ่งนั้น มีสมองส่วนที่เรียกว่า อมิกดาลา (amygdala) ซึ่งมีลักษณะคล้ายเมล็ดอัลมอนด์ ทำหน้าที่ควบคุมเหตุผลและอารมณ์ ใหญ่กว่า และการเชื่อมต่อของสมองส่วนที่เรียกว่าอมิกดาลา กับส่วนล่างของสมองบริเวณที่เรียกว่า anterior cingulate cortex ไม่ดีเท่าคนอื่น ซึ่งจะมีผลให้สามารถจัดการกับอารมณ์และสิ่งเร้าที่เข้ามารบกวนน้อยกว่า อันจะส่งผลต่อความแน่วแน่ในการจัดการกับภารกิจตรงหน้า การผัดวันประกันพรุ่งเป็นเรื่องการจัดการ "อารมณ์" ไม่ใช่ "เวลา" แอร์ฮัน เก็นค์ หนึ่งในผู้เขียนงานวิจัยนี้ ซึ่งประจำอยู่ที่มหาวิทยาลัยรัว เม���องโบคุม ระบุว่า คนที่มีสมองส่วนอมิกดาลาใหญ่กว่าคนอื่นอาจจะวิตกกังวลว่าหากตัวเองลงมือทำอะไรแล้วจะเกิดผลลัพธ์ที่ไม่ดีตามมา ดังนั้นคนเหล่านี้จึงมีแนวโน้มที่จะลังเลและผัดวันประกันพรุ่ง ศ. ทิม พิชชิล จากมหาวิทยาลัยคาร์ลตัน ที่เมืองออตตาวา ผู้ศึกษาเรื่องการผัดวันประกันพรุ่งมาหลายทศวรรษ เชื่อว่า นี่เป็นปัญหาของการจัดการกับอารมณ์มากกว่าจัดการเวลา โดยบอกว่า งานวิจัยชิ้นนี้ได้ชี้ให้เห็นว่า ผู้ที่ชอบผัดวันประกันพรุ่งมีปัญหาเรื่องการควบคุมอารมณ์ และสมองส่วนที่ใช้ในการจัดการอารมณ์สามารถครอบงำความสามารถในการจัดระเบียบตัวเองได้ ศ.พิชชิล บอกต่ออีกว่า การเปลี่ยนแปลงของสมองเกิดขึ้นได้ และเคยมีงานวิจัยที่ชี้ให้เห็นว่าการฝึกสติและทำสมาธิมีความเกี่ยวข้องกับการหดตัวของสมองส่วนอมิกดาลา และการขยายตัวของส่วนหน้าของสมองกลีบหน้าผาก (pre-frontal cortex) และทำให้การเชื่อมต่อระหว่างสมองทั้งสองส่วนนั้นอ่อนแอลง ดร.แคโรไลน์ ชลึทเทอร์ หัวหน้าทีมวิจัยในครั้งนี้ บอกว่า สมองของคนเรามีความสามารถในการตอบสนอง และเปลี่ยนแปลงได้ตลอดชีวิต คำแนะนำสำหรับผู้ชอบผัดวันประกันพรุ่ง -หากคุณไม่มีกำหนดเส้นตาย ก็ให้กำหนดเวลาในการทำงานแทน เช่น ทำงาน 25 นาที และหยุดพัก 5 นาที หรือพักนานกว่านั้น หากกำหนดเวลาทำงานไว้ 90 นาที -เขียนภารกิจที่คุณต้องทำทั้งหมด จากนั้นแบ่งภารกิจแต่ละอย่างออกเป็นส่วน ๆ เพื่อให้ทำงานแต่ละชิ้นเสร็จง่ายขึ้น -พยายามลดสิ่งที่จะมารบกวนความสนใจ เช่น ปิดเสียงเตือนอีเมล ปรับโทรศัพท์มือถือให้เป็นโหมดสำหรับขึ้นเครื่องบิน หรือไปทำงานในที่ ๆ คุณจะไม่ถูกรบกวน -แทนที่จะทำงานที่ต้องทำ เราอาจจะเอาเวลาไปทำอย่างอื่น และบอกตัวเองว่าเราไม่ว่าง แต่หากจริง ๆ แล้วคุณมีเวลา คุณก็ต้องลงมือทำงานนั้นเสีย'],
|
58 |
+
['ลิงกังญี่ปุ่นหรือ "ลิงหิมะ" เป็นตัวดึงดูดนักท่องเที่ยวให้มาชมความน่ารักขณะแช่ตัวในบ่อน้ำพุร้อน เจ้าหน้าที่ของสวนสัตว์ชี้แจงว่า จำต้องฉีดยาให้ลิงกลุ่มนี้ตายเพื่อปกป้องระบบนิเวศของท้องถิ่น เพราะลิงวอกนั้นถือเป็นสัตว์ต่างถิ่นที่ต้องห้ามไม่ให้นำมาเลี้ยงหรือครอบครองตามกฎหมายของญี่ปุ่น นอกจากนี้ การเลี���ยงสัตว์ที่เกิดจากการผสมข้ามพันธุ์กับสัตว์ต่างถิ่นก็ถือว่าผิดกฎหมายด้วย ทางสวนสัตว์จัดให้มีการทำบุญอุทิศส่วนกุศลแก่ลิงหิมะกลุ่มนี้ ที่วัดพุทธแห่งหนึ่งในบริเวณใกล้เคียง โดยผู้คนต่างมองว่าเป็นเรื่องน่าเศร้าอย่างยิ่งที่ต้องกำจัดลิงกลุ่มนี้ เพราะลิงหิมะนั้นเป็นลิงที่ชาวญี่ปุ่นและชาวต่างประเทศรู้จักกันเป็นอย่างดี จนภาพฝูงลิงแช่ตัวในบ่อน้ำพุร้อนกลางหิมะของฤดูหนาวกลายเป็นสัญลักษณ์หนึ่งของญี่ปุ่นที่โด่งดังไปทั่วโลก และเป็นสิ่งดึงดูดให้นักท่องเที่ยวเดินทางมาชมความน่ารักของพวกมันปีละเป็นจำนวนมาก เจ้าหน้าที่จากสำนักงานบริหารจัดการสัตว์สายพันธุ์ต่างถิ่น สังกัดกระทรวงสิ่งแวดล้อมของญี่ปุ่นชี้แจงว่า ไม่อาจหลีกเลี่ยงการกำจัดลิงพันธุ์ผสมกลุ่มนี้ด้วยการทำให้ตายได้ เพราะลิงอาจหลบหนีจากสวนสัตว์เปิดเข้าไปแพร่พันธุ์ในธรรมชาติ จนสร้างความเสียหายต่อระบบนิเวศในวงกว้างตามมาได้ ด้านนายจุนคิจิ มิมะ ผู้แทนกองทุนสัตว์ป่าโลก (WWF) บอกกับสำนักข่าวเอเอฟพีว่า กรณีที่เกิดขึ้นนั้นมาจากสายพันธุ์ต่างถิ่นที่เป็นปัญหา โดยสัตว์ต่างถิ่นที่บุกรุกเข้ามานี้อาจผสมพันธุ์กับสัตว์สายพันธุ์ประจำถิ่น ซึ่งนับว่าเป็นภัยต่อสภาพแวดล้อมตามธรรมชาติและระบบนิเวศของญี่ปุ่น'],
|
59 |
+
],
|
60 |
+
|
61 |
+
outputs=[gr.Textbox(), gr.HTML()])
|
62 |
+
|
63 |
+
print(f'\nINFO: transformers.__version__: {transformers.__version__}')
|
64 |
+
|
65 |
+
demo.launch()
|