前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python识别字符串中的自然语言(单词)

Python识别字符串中的自然语言(单词)

作者头像
里克贝斯
发布2021-05-21 16:49:22
2.4K1
发布2021-05-21 16:49:22
举报
文章被收录于专栏:图灵技术域

生成一个随机字符串(无空格),能否鉴别出这个字符串中是否有自然语言中的单词。比如“ervmothersdclovecsasd”,这个字符串中就存在“mother”和“love”这两个单词。

于是我想到了对输入的词进行划分。这时就要用到了外部字典文件,我把常用的单词导入到txt文件中(不太清楚NTLK是否有类似的功能,寒假再研究一下,这里先把我想要做的实现一下)如图,这样,对每个连续的字符串能够进行自然语言的划分。这里用到的是正向最大匹配算法。

字典文件(最好是一个牛津词典):

需要词典文件下载链接请给我留言。

Python

代码语言:txt
复制
note1 = input("Enter your input: ")
wordlist = []
get_list = []
f = open('C:\\Users\\dell\\desktop\\big.txt', 'r')
 
for line in f:
    nlen = len(line)-1
    wordlist.append(line[:nlen])
f.close()
 
 
def divide_str(note, wordlist):
    i = 100
    head = 0
    flag = 0
    while head <= len(note) - 1:
        if head >= (len(note)-i):
            i = len(note)-head
        for p in range(i):
            rear = head + i - p
            flag = 0
            for each in wordlist:
                if note[head:rear] == each:
                    get_list.append(each)
                    # print(each)
                    head = head + len(each)
                    flag = 1
                    break
            if flag == 1:
                break
        if flag == 0:
            head = head + 1
 
divide_str(note1, wordlist)
print(get_list)

截图显示

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档