赵灵越 2024-04-19 23:19 采纳率: 99.3%
浏览 1
已结题

来个人,分词结果,和命名问题


# 检测文件编码
file_encoding = detect_encoding(file_path)
print(f"读取到的文件编码为: {file_encoding}")

# 尝试使用读取到的编码格式打开文件
try:
    with open(file_path, 'r', encoding=file_encoding) as file:
        content = file.read()
        print(f"成功使用读取到的 {file_encoding} 编码格式打开文件。\n")
        print(content)
        final_encoding = file_encoding
except Exception as e:
    print(f"尝试使用读取到的 {file_encoding} 编码格式时出现错误:{e}")
    final_encoding = None

    # 常见的中文编码格式
    common_encodings = ['utf-8', 'gbk', 'gb2312', 'gb18030']

    for encoding in common_encodings:
        if encoding != file_encoding:  # 如果常见编码与读取到的编码不一致,则尝试使用该编码打开文件
            try:
                with open(file_path, 'r', encoding=encoding) as file:
                    content = file.read()
                    print(f"成功使用常见的 {encoding} 编码格式打开文件。\n")
                    print(content)
                    final_encoding = encoding
                    break  # 如果成功读取文件,则停止尝试其他编码格式
            except Exception as e:
                print(f"尝试使用 {encoding} 编码格式时出现错误:{e}")

# 输出最终使用的是什么编码打开了文件
if final_encoding:
    print(f"最终使用的是 {final_encoding} 编码格式打开文件。")
else:
    print("无法打开文件,请检查文件是否损坏或编码格式是否正确。")

# 输出读取到的文件编码
print(f"读取到的文件编码为: {file_encoding}")


import os
import jieba.posseg as pseg

# 分词并提取动词及对应的动词英文名(缩写)
def extract_verbs(text):
    words = pseg.cut(text)
    verb_dict = {}
    for word, flag in words:
        if flag.startswith('v'):  # 判断词性是否为动词
            verb_dict[word] = get_verb_abbreviation(word)
    return verb_dict

# 获取动词的英文名(缩写)
def get_verb_abbreviation(verb):
    # 在这里你可以编写一个函数来获取动词的英文名(缩写)
    # 这里只是一个示例,具体的获取方法可能需要根据实际情况来设计
    # 这里暂时使用一个简单的示例来返回一个固定的缩写
    # 你可以根据你的实际需求来修改这个函数
    return "VB"

# 将动词及对应的动词英文名(缩写)按照指定的命名规则进行命名
def rename_verbs(verb_dict):
    renamed_verbs = {}
    for verb, abbreviation in verb_dict.items():
        renamed_verb = f"{verb}_{abbreviation}"
        renamed_verbs[verb] = renamed_verb
    return renamed_verbs

# 主处理函数
def process_text(text):
    # 提取动词及对应的动词英文名(缩写)
    verb_dict = extract_verbs(text)
    # 将动词进行重命名
    renamed_verbs = rename_verbs(verb_dict)
    return renamed_verbs

# 测试
if __name__ == "__main__":
    # 测试文本
    text = "我说不要什么V 什么n 我看不懂"
    # 处理文本
    renamed_verbs = process_text(text)
    # 输出结果
    for verb, renamed_verb in renamed_verbs.items():
        print(f"{verb}: {renamed_verb}")

jieba.posseg.cut 用这个
jieba.posseg.cut 用这个
jieba.posseg.cut 用这个
jieba.posseg.cut 用这个
jieba.posseg.cut 用这个


动词+动词英文名(缩写)
我说
不要什么V 什么n
我看不懂

命名规则:中文+英语(英语缩写)

动词+动词英文名(缩写)

我说
不要什么V 什么n
我看不懂

命名规则:中文+英语(英语缩写)
  • 写回答

6条回答 默认 最新

  • 赵灵越 2024-04-20 17:50
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月19日

悬赏问题

  • ¥20 ic卡dump文件校检码解密
  • ¥15 关于:接收到的数据不是有效的JSON格式
  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题: