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

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

一、文本翻译

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

1.1 翻译为西班牙语

from tool import get_completion

prompt = 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, Markdown

diff = 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))

【优点】

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

【缺点】

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

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

  • 16
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值