NPL---自然语言处理单词界定问题

2.1 单词界定问题

单词定界问题是属于词法层面的消歧任务。在口语中,词与词之间通常是连贯说出来的。在书面语中,中文等语言也没有词与词之间的边界。由于单词是承载语义的最小单元,要解决自然语言处理,单词的边界界定问题首当其冲。特别是中文文本通常由连续的字序列组成,词与词之间缺少天然的分隔符,因此中文信息处理比英文等西方语言多一步工序,即确定词的边界,我们称为“中文自动分词”任务。通俗的说就是要由计算机在词与词之间自动加上分隔符,从而将中文文本切分为独立的单词。例如一个句子“今天天气晴朗”的带有分隔符的切分文本是“今天|天气|晴朗”。中文自动分词处于中文自然语言处理的底层,是公认的中文信息处理的第一道工序,扮演着重要的角色,主要存在新词发现和歧义切分等问题。我们注意到:正确的单词切分取决于对文本语义的正确理解,而单词切分又是理解语言的最初的一道工序。这样的一个“鸡生蛋、蛋生鸡”的问题自然成了(中文)自然语言处理的第一条拦路虎。

复制代码
"""
 author:jjk
 datetime:2018/11/1
 coding:utf-8
 project name:Pycharm_workstation
 Program function: 中文分词
                   结巴分词
 
"""
import jieba # 导入结巴分词包
import jieba.posseg as pseg
import time #  时间

time_Start = time.time()

#f=open("t_with_splitter.txt","r")#读取文本  
#string=f.read().decode("utf-8")

string = '中文自动分词指的是使用计算机自动对中文文本进行词语的切分,' + \
         '即像英文那样使得中文句子中的词之间有空格以标识。' + \
         '中文自动分词被认为是中文自然语言处理中的一个最基本的环节'

words = pseg.cut(string) # 进行分词
result = "" #记录最终结果的变量 
for w in words:
    result += str(w.word) + "/" + str(w.flag) # 加词性标注  
print(result) # 输出结果
f = open("result.txt","w") #将结果保存到另一个文档中 
f.write(result)
f.close()
time_Stop = time.time()
print("分词及词性标注完成,耗时:"+str(time_Stop-time_Start)+"秒。")# 输出结果
复制代码

 

 

posted @   小张睡醒了  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-03-18 Scanner的学习
2022-03-18 我的未来之路
2022-03-18 java数组的学习
点击右上角即可分享
微信分享提示