#LLM入门|Prompt#1.6_文本转换_Transforming

2024-02-23 06:52

本文主要是介绍#LLM入门|Prompt#1.6_文本转换_Transforming,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 功能介绍
    • 大语言模型具备强大的文本转换能力,包括但不限于多语言翻译、拼写纠正、语法调整、格式转换等任务。
  • 典型应用
    • 多语言翻译:将一种语言的文本翻译成另一种语言。
    • 拼写纠正:检测并修正文本中的拼写错误。
    • 语法调整:调整文本的语法结构以提高可读性或准确性。
    • 格式转换:将文本从一种格式转换成另一种,如Markdown转HTML。
  • 编程调用API接口实现
    • 通过编程调用大语言模型的API接口,可以实现各种文本转换任务。
    • 代码示例可帮助读者学习将输入文本转换成所需输出格式的具体方法。
  • 技能掌握与应用场景
    • 掌握调用大语言模型接口进行文本转换的技能,是开发各种语言类应用的重要一步。
    • 应用场景广泛,可用于开发转换功能强大的程序,满足不同用户需求。

一、文本翻译

  • 传统机器翻译与大语言模型对比
    • 传统机器翻译:倾向于直接替换词汇,语序保持原文结构,可能导致译文不地道、语序不顺畅。
    • 大语言模型:利用深度学习在大规模高质量平行语料上进行 Fine-Tune,学习语言间的词汇、语法、语义对应关系,能够进行更加自然、流畅的翻译,实现意义传递的精准转换。
  • 英译汉翻译优势
    • 动态结构转换:大语言模型学习英汉两种语言的语法区别,能够进行动态的结构转换,使译文更贴近目标语言的语言习惯。
    • 上下文理解:通过上下文理解原句意图,选择合适的词汇进行转换,避免生硬的字面翻译,提高译文的地道度和流畅度。
  • 优势体现
    • 地道性:生成的中文文本更加地道、自然。
    • 流畅度:翻译结果更加流畅,语义更加贴近原文意图。
    • 准确性:意义传递更加精准,避免直译的问题。
  • 跨语言交流的推动者
    • 打通多语言之间的壁垒,促进高质量的跨语言交流和沟通。

1.1 翻译为西班牙语

from tool import get_completionprompt = f"""
将以下中文翻译成西班牙语: \ 
```您好,我想订购一个搅拌机。```
"""
response = get_completion(prompt)
print(response)

1.2 识别语种

prompt = f"""
请告诉我以下文本是什么语种: 
```Combien coûte le lampadaire?```
"""
response = get_completion(prompt)
print(response)

1.3 多语种翻译

prompt = f"""
请将以下文本分别翻译成中文、英文、法语和西班牙语: 
```I want to order a basketball.```
"""
response = get_completion(prompt)
print(response)

1.4 同时进行语气转换

prompt = f"""
请将以下文本翻译成中文,分别展示成正式与非正式两种语气: 
```Would you like to order a pillow?```
"""
response = get_completion(prompt)
print(response)Copy to clipboardErrorCopied
正式语气:您是否需要订购一个枕头?
非正式语气:你想要订购一个枕头吗?

1.5 通用翻译器

user_messages = ["La performance du système est plus lente que d'habitude.",  # System performance is slower than normal         "Mi monitor tiene píxeles que no se iluminan.",              # My monitor has pixels that are not lighting"Il mio mouse non funziona",                                 # My mouse is not working"Mój klawisz Ctrl jest zepsuty",                             # My keyboard has a broken control key"我的屏幕在闪烁"                                             # My screen is flashing
]
import time
for issue in user_messages:time.sleep(20)prompt = f"告诉我以下文本是什么语种,直接输出语种,如法语,无需输出标点符号: ```{issue}```"lang = get_completion(prompt)print(f"原始消息 ({lang}): {issue}\n")prompt = f"""将以下消息分别翻译成英文和中文,并写成中文翻译:xxx英文翻译:yyy的格式:```{issue}```"""response = get_completion(prompt)print(response, "\n=========================================")
原始消息 (法语): La performance du système est plus lente que d'habitude.中文翻译:系统性能比平时慢。
英文翻译:The system performance is slower than usual. 
=========================================
原始消息 (西班牙语): Mi monitor tiene píxeles que no se iluminan.中文翻译:我的显示器有一些像素点不亮。
英文翻译:My monitor has pixels that do not light up. 
=========================================
原始消息 (意大利语): Il mio mouse non funziona中文翻译:我的鼠标不工作
英文翻译:My mouse is not working 
=========================================
原始消息 (这段文本是波兰语。): Mój klawisz Ctrl jest zepsuty中文翻译:我的Ctrl键坏了
英文翻译:My Ctrl key is broken 
=========================================
原始消息 (中文): 我的屏幕在闪烁中文翻译:我的屏幕在闪烁
英文翻译:My screen is flickering. 
=========================================

二、语气与写作风格调整

prompt = f"""
将以下文本翻译成商务信函的格式: 
```小老弟,我小羊,上回你说咱部门要采购的显示器是多少寸来着?```
"""
response = get_completion(prompt)
print(response)

三、文件格式转换

轻松实现 JSON 到 HTML、XML、Markdown 等格式的相互转化

data_json = { "resturant employees" :[ {"name":"Shyam", "email":"shyamjaiswal@gmail.com"},{"name":"Bob", "email":"bob32@gmail.com"},{"name":"Jai", "email":"jai87@gmail.com"}
]}
prompt = f"""
将以下Python字典从JSON转换为HTML表格,保留表格标题和列名:{data_json}
"""
response = get_completion(prompt)
print(response)
<table><caption>resturant employees</caption><thead><tr><th>name</th><th>email</th></tr></thead><tbody><tr><td>Shyam</td><td>shyamjaiswal@gmail.com</td></tr><tr><td>Bob</td><td>bob32@gmail.com</td></tr><tr><td>Jai</td><td>jai87@gmail.com</td></tr></tbody>
</table>

将上述 HTML 代码展示出来如下:

from IPython.display import display, Markdown, Latex, HTML, JSON
display(HTML(response))Copy to clipboardErrorCopied
nameemail
Shyamshyamjaiswal@gmail.com
Bobbob32@gmail.com
Jaijai87@gmail.com

四、拼写及语法纠正

在使用非母语撰写时,拼写和语法错误比较常见,进行校对尤为重要。例如在论坛发帖或撰写英语论文时,校对文本可以大大提高内容质量。

利用大语言模型进行自动校对可以极大地降低人工校对的工作量

for i in range(len(text)):time.sleep(20)prompt = f"""请校对并更正以下文本,注意纠正文本保持原始语种,无需输出原始文本。如果您没有发现任何错误,请说“未发现错误”。例如:输入:I are happy.输出:I am happy.```{text[i]}```"""response = get_completion(prompt)print(i, response)
prompt = f"校对并更正以下商品评论:```{text}```"
response = get_completion(prompt)
print(response)

引入 Redlines 包,详细显示并对比纠错过程:

# 如未安装redlines,需先安装
!pip3.8 install redlinesCopy to clipboardErrorCopied
from redlines import Redlines
from IPython.display import display, Markdowndiff = Redlines(text,response)
display(Markdown(diff.output_markdown))

五、综合样例

语言模型具有强大的组合转换能力,可以通过一个Prompt同时实现多种转换,大幅简化工作流程。
下面是一个示例,展示了如何使用一个Prompt,同时对一段文本进行翻译、拼写纠正、语气调整和格式转换等操作。

prompt = f"""
针对以下三个反引号之间的英文评论文本,
首先进行拼写及语法纠错,
然后将其转化成中文,
再将其转化成优质淘宝评论的风格,从各种角度出发,分别说明产品的优点与缺点,并进行总结。
润色一下描述,使评论更具有吸引力。
输出结果格式为:
【优点】xxx
【缺点】xxx
【总结】xxx
注意,只需填写xxx部分,并分段输出。
将结果输出成Markdown格式。
```{text}```
"""
response = get_completion(prompt)
display(Markdown(response))

【优点】

  • 超级柔软可爱,女儿生日礼物非常受欢迎。
  • 成人也喜欢熊猫,我也很喜欢它。
  • 提前一天到货,让我有时间玩一下。

【缺点】

  • 一只耳朵比另一只低,不对称。
  • 价格有点贵,但尺寸有点小,可能有更大的同价位选择。

【总结】 这只熊猫玩具非常适合作为生日礼物,柔软可爱,深受孩子喜欢。虽然价格有点贵,但尺寸有点小,不对称的设计也有点让人失望。如果你想要更大的同价位选择,可能需要考虑其他选项。总的来说,这是一款不错的熊猫玩具,值得购买。
通过这个例子,我们可以看到大语言模型可以流畅地处理多个转换要求,实现中文翻译、拼写纠正、语气升级和格式转换等功能。
利用大语言模型强大的组合转换能力,我们可以避免多次调用模型来进行不同转换,极大地简化了工作流程。这种一次性实现多种转换的方法,可以广泛应用于文本处理与转换的场景中。

这篇关于#LLM入门|Prompt#1.6_文本转换_Transforming的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737847

相关文章

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题: