精华内容
下载资源
问答
  • 用于中文文本分词,去停用词,包含基本的停用词词典,可根据需要进行扩充。
  • 对于文本分词,此处使用的是python自带的jieba包进行,首先我们要先读取我们所需要分词的文章,然后使用jieba.cut进行分词,注意分词时要将这些段落归并成同一个字符串,然后输出的是一个列表。最后写入一个文件中 ...

    对于文本分词,此处使用的是python自带的jieba包进行,首先我们要先读取我们所需要分词的文章,然后使用jieba.cut进行分词,注意分词时要将这些段落归并成同一个字符串,然后输出的是一个列表。最后写入一个文件中

    import jieba.analyse
    test1 =""
    fencilist=[]
    with open(r"testtxt",'r',encoding="UTF-8") as test:
        for line in test:
            line.strip()
            test1+=line
    fencilist=jieba.cut(test1)
    fencilist=list(set(fencilist))
    with open(r"fenciescult",'w',encoding="UTF-8") as f:
        for i in fencilist:
            f.write(i+'\n')

    在去除停用词时,我们可以将停用词进行提取,并存放在一个列表中,然后将分好的词存放在一个列表中,用for循环进行一个一个判断是否在停用词库中,如果不在,就存放在一个新的列表中,得到最终结果。

    stopwordlist=[]
    fencilist=[]
    resultlist=[]
    
    with open(r"stopwords",'r',encoding="UTF-8") as f:
        for i in f:
            stopwordlist.append(i)
    with open(r"fenciescult",'r',encoding="UTF-8") as test:
        for line in test:
            fencilist.append(line.strip())
    for i in fencilist:
        if(i not in stopwordlist):
            resultlist.append(i)
    with open(r"result",'w',encoding="UTF-8") as xx:
        for x in resultlist:
            xx.write(x+'\n')
    

    展开全文
  • 文本处理,将原文件中出现的停用词去除4.根据用户web 表单输入,检索出包含用户输入参数的句子代码实现:1.文件读取,分词,源文件词频统计python 读取 西班牙语文本编码:encoding='ISO-8859-1'1 #csv 文件读取,...

    简单描述程序功能:python+flask

    1.停用词为csv文件

    2.源文件为txt文件

    3.文本处理,将原文件中出现的停用词去除

    4.根据用户web 表单输入,检索出包含用户输入参数的句子

    代码实现:

    1.文件读取,分词,源文件词频统计

    python 读取 西班牙语文本编码: encoding='ISO-8859-1'

    1 #csv 文件读取,此处编码为西班牙语

    2 def csvfile():

    3 file_path = os.path.join(upload_path, "SpanishStopWords.csv")

    4 with open(file_path,'r',encoding='ISO-8859-1') as f:

    5 reader = csv.reader(f)

    6 fieldnames = next(reader)#获取数据的第一列,作为后续要转为字典的键名 生成器,next方法获取

    7 # print(fieldnames)

    8 data1=[]

    9 csv_reader = csv.DictReader(f,fieldnames=fieldnames) #self._fieldnames = fieldnames # list of keys for the dict 以list的形式存放键名

    10 for row in csv_reader:

    11 dic1={}

    12 for k,v in row.items():

    13 dic1[k]=v

    14 data1.append(dic1)

    15 return data1

    16 #txt文件读取

    17 def eachcount():

    18 file_path = os.path.join(upload_path, "Alamo.txt")

    19 txt = open(file_path, 'r', encoding='ISO-8859-1').read()

    20 #分词

    21 txt = txt.replace(',', ' ').replace('.', ' ')

    22 txt = txt.split()

    23 counts = {} # 定义一个空字典类型

    24 print(txt)

    25 for word in txt:

    26 counts[word] = counts.get(word, 0) + 1 # 获取word当前有几个,如果word不存在则为0

    27 items = list(counts.items())

    28 # 对一个列表按照键值对的两个元素的第二个元素进行排序,由大到小的倒排,词频排序

    29 items.sort(key=lambda x: x[1], reverse=False)

    30 return items

    2.显示在原文件中出现的所有停用词

    #显示在源文件中出现过的所有停用词@application.route('/listsearch/', methods=['GET', 'POST'])def listsearch(): file_path = os.path.join(upload_path, "SpanishStopWords.csv") txt = open(file_path, 'r', encoding='ISO-8859-1').read() # txt = txt.replace(',', ' ').replace('.', ' ') txt = txt.split() filelist=txt # filelist=csvfile() filelist2=docu2() # wordlist=["my","name","boy","chirs","Dave"] result=[] result2=[] # for j in wordlist: # for i in filelist: # if i[0]== j : # result.append(i) for j in filelist: for i in filelist2: if j== i : result2.append(j) return render_template('index.html',result2=result2)前端代码展现:

    search

    result

    {% for line2 in result2 %}

    {{ line2}}

    {% endfor %}

    3.显示原文件中所有含有数字的句子

    1 @application.route('/test1/', methods=['GET', 'POST'])

    2 def test1():

    3 file_path = os.path.join(upload_path, "Alamo.txt")

    4 txt = open(file_path, 'r', encoding='ISO-8859-1').read()

    5 # txt = txt.replace(',', ' ').replace('.', ' ')

    6 txt = txt.split('.')

    7 filelist=txt

    8 result2=[]

    9 for j in filelist:

    10 #使用正则表达式匹配数字

    11 if re.match('.*[0-9].*', j) != None:

    12 result2.append(j)

    13 return render_template('index.html',result9=result2)

    4.用户web 表单输入参数,根据用户输入,显示源文件中包含用户输入参数的句子。

    1 @application.route('/test2/', methods=['GET', 'POST'])

    2 def test2():

    3 word = request.args.get("word10")

    4 file_path = os.path.join(upload_path, "Alamo.txt")

    5 txt = open(file_path, 'r', encoding='ISO-8859-1').read()

    6 # txt = txt.replace(',', ' ').replace('.', ' ')

    7 txt = txt.split('.')

    8 filelist=txt

    9 result=[]

    10 result2=[]

    11 for j in filelist:

    12 if word in j :

    13 result2.append(j)

    14 return render_template('index.html',result10=result2)

    前端代码展现:

    1

    2 submit

    3 {% for li in result9 %}

    4

    {{ li}}

    5

    6 {% endfor %}

    7

    8

    9

    11

    13 submit

    14 {% for li in result10 %}

    15

    {{ li}}

    16

    17 {% endfor %}

    18

    展开全文
  • 上github搜索中文停用词就有很多版本,百度、哈工大等。(自行下载,下面推荐一个,现在github windows平台应该要一些操作或fanqiang才能上,linux系统能直接上) https://github.com/goto456/stopwords 代码 ...

    停用词表

    上github搜索中文停用词就有很多版本,百度、哈工大等。(自行下载,下面推荐一个,现在github windows平台应该要一些操作或fanqiang才能上,linux系统能直接上)

    https://github.com/goto456/stopwords


    代码

    import jieba
    import json
    
    
    # 读取停用词列表
    def get_stopword_list(file):
        with open(file, 'r', encoding='utf-8') as f:    # 
            stopword_list = [word.strip('\n') for word in f.readlines()]
        return stopword_list
    
    
    # 分词 然后清除停用词语
    def clean_stopword(str, stopword_list):
        result = ''
        word_list = jieba.lcut(str)   # 分词后返回一个列表  jieba.cut()   返回的是一个迭代器
        for w in word_list:
            if w not in stopword_list:
                result += w
        return result
    
    
    if __name__ == '__main__':
        stopword_file = '../Dataset/stopwords-master/hit_stopwords.txt'
        process_file = '../Dataset/stopwords-master/LCSTS_test.json'
        stopword_list = get_stopword_list(stopword_file)    # 获得停用词列表
        sents = json.load(open(process_file))  # 打开要处理的文件
        """
            由于我的文件式json格式,里面每一行是一个字典{'src':****, 'tgt':*****}
            现实场景适当改动读取方式
        """
        for s in sents:
            print(s['src'])
            print(clean_stopword(s['src'], stopword_list))
    

    欢迎学习指教。
    展开全文
  • Python文本文档去重、去停用词

    千次阅读 2020-05-20 10:25:53
    我很好 今天怎么样 今天怎么样 今天怎么样 今天怎么样 今天怎么样 今天怎么样 今天怎么样 今天怎么样 首先 高兴 是不是 说说 stopword.txt 首先 高兴 是不是 说说 对test.txt去重并去除stopword.txt定义的停用词 ...

    问题描述

    test.txt

    你好吗
    我很好
    今天怎么样
    今天怎么样
    今天怎么样
    今天怎么样
    今天怎么样
    今天怎么样
    今天怎么样
    今天怎么样
    首先
    高兴
    是不是
    说说
    

    stopword.txt

    首先
    高兴
    是不是
    说说
    

    test.txt去重并去除stopword.txt定义的停用词




    解决方案

    1. 使用生成器对文档进行读取,防止一次性读取超大文档内存不足




    代码

    def file_unique(filename, savefile, stopword='', encoding='utf-8'):
        '''文本文档去重去停用词
    
        :param filename: 需要处理的文本文档
        :param savefile: 保存路径
        :param stopword: 停用词文本文档
        :param encoding: 编码
        :return: 处理后的行数
        '''
    
        def read(filename, encoding='utf-8'):
            '''读取文本文档生成器'''
            with open(filename, encoding=encoding) as f:
                for line in f:
                    yield line.strip()  # 去除空格换行
    
        file = set(list(read(filename, encoding)))
        if stopword:
            stopword = set(list(read(stopword, encoding)))
        newfile = []
        for i in file:
            if i not in stopword:
                newfile.append(i)
        with open(savefile, mode='w', encoding=encoding) as f:
            for i in newfile:
                f.write(i + '\n')
        return len(newfile)
    
    
    if __name__ == '__main__':
        print(file_unique(filename='test.txt', savefile='out1.txt', encoding='utf-8'))
        print(file_unique(filename='test.txt', savefile='out2.txt', stopword='stopword.txt', encoding='utf-8'))
    

    结果

    out1.txt

    你好吗
    我很好
    今天怎么样
    首先
    高兴
    是不是
    说说
    

    out2.txt

    你好吗
    我很好
    今天怎么样
    

    根据拼音排序

    from itertools import chain
    from pypinyin import pinyin, Style
    
    
    def to_pinyin(s):
        '''转拼音
    
        :param s: 字符串或列表
        :type s: str or list
        :return: 拼音字符串
        >>> to_pinyin('你好吗')
        'ni3hao3ma'
        >>> to_pinyin(['你好', '吗'])
        'ni3hao3ma'
        '''
        return ''.join(chain.from_iterable(pinyin(s, style=Style.TONE3)))
    
    newfile = sorted(newfile, key=to_pinyin)  # 根据拼音排序
    




    改进思路

    1. 不用newfile改用del file某个元素




    参考文献

    1. io — 处理流的核心工具
    2. Python列表去重
    3. Python根据拼音对中文排序
    展开全文
  • Python - 删除停用词

    2020-11-20 22:43:40
    停用词是英语单词,对句子没有多大意义。在不牺牲句子含义的情况下,可以安全地忽略它们。例如,像,他,等等的单词已经在名为语料库的语料库中捕获了这些单词。我们首先将它下载到我们的python环境中。import ...
  • 原博文2015-11-10 15:20 −python 去除停用词 结巴分词 import jieba #stopwords = {}.fromkeys([ line.rstrip() for line in open('stopword.txt') ]) stopwords = {}.f...相关推荐2016-07-18 13:47 −利用结巴分词...
  • Python 中文分词并去除停用词

    万次阅读 2019-09-29 14:42:20
    # 创建停用词list def stopwordslist(filepath): stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()] return stopwords # 对句子进行分词 def seg_senten...
  • 当然停用词过滤,是文本分析中一个预处理方法。它的功能是过滤分词结果中的噪声。比如:的、是、啊等。在英文里,我们经常会遇到比如“the”,“an”,“their”等这些都可以作为停用词来处理,但是也考虑自己的应用...
  • 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#encoding=utf-8import sysimport reimport codecsimport osimport shutilimport jiebaimport jieba...
  • 前言 jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能... 1 精确模式,试图将句子最精确地切开,适合文本分析;  2 全模式,把句子中所有的可以成的词语都扫描出来, 速度非常快
  • 适用于分词、nlp等过程的英文停用词
  • 中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的。分词模块jieba,它是python比较好用的分词模块。待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接...
  • python 文本聚类分析案例说明摘要1、结巴分词2、去除停用词3、生成tfidf矩阵4、K-means聚类5、获取主题词 / 主题词团 说明 实验要求:对若干条文本进行聚类分析,最终得到几个主题词团。 实验思路:将数据进行预处理...
  • 3) 样本的top(20)为: (‘I‘, 3) 样本的top(20)为: (‘you‘, 3) 样本的top(20)为: (‘你们‘, 3) 样本的top(20)为: (‘人‘, 3) 样本的top(20)为: (‘它‘, 3) 样本的top(20)为: (‘也许‘, 3) ...
  • python 去除停用词 结巴分词

    万次阅读 2016-10-27 10:42:35
    #coding:gbk import jieba #stopwords = {}.fromkeys([ line.rstrip() for line in open('stopword.txt') ]) stopwords = {}.fromkeys(['的', '附近']) segs = jieba.cut('北京附近的租房', cut_all=False) ...
  • PYTHON3.6对中文文本分词、去停用词以及词频统计

    万次阅读 多人点赞 2017-09-28 18:33:51
    一点微小的文本预处理工作(涉及相关为:中文结巴分词、停用词处理、词频统计)
  • 我正在尝试从文本字符串中删除停用词:123from nltk.corpus import stopwordstext = 'hello bye the the hi'text = ' '.join([word for word in text.split() if word not in (stopwords.words('english'))])我正在...
  • 读写文件把待读取的文本存在info.txt中,content类型为strwith open('info.txt', 'r', encoding="UTF-8") as file1: # with as操作读取文件很okcontent = "".join(file1.readlines())待写入文件为 output.txt,...
  • 对于一个由中文句子组成的列表,现在需要去除一切标点符号及数字,仅保留中文并将句子输出为列表。 sentence 0 巴林新增3例新冠肺炎确诊病例 累计确诊50例 1 稳外资外贸 中国这样做 2 工信部:每天保障湖北地区...
  • 使用Python中的NLTK和spaCy删除停用词文本标准化

    千次阅读 多人点赞 2019-09-08 23:46:32
    概述 了解如何在Python中删除停用词文本标准化,这些是自然语言处理的基本... 在Python中使用NLTK,spaCy和Gensim库进行去除停用词文本标准化 介绍 多样化的自然语言处理(NLP)是真的很棒,我们以前从未...
  • 上一篇文章介绍了利用python进行SEO词库去重,去重后需要对现有的词库进行去停止操作,这里我们主要利用到了jieba分词的搜索引擎模式cut_for_search() .去停止主要利用了停止词库进行去重set(jiebas)-set...
  • 我认为预处理文本以删除停用词是不合适的,因为我仍然需要将索引字符串作为语法语言的实例。基本上,我问是否有一种更简单的方法来做到这一点,而不是为停用词创建一个停用词计数器,将值设置为低,然后再制作另一...
  • 然后来介绍使用nltk如何删除英文的停用词:由于一些常用字或者词使用的频率相当的高,英语中比如a,the, he等,中文中比如:我、它、个等,每个页面几乎都包含了这些词汇,如果搜索引擎它们当关键字进行索引,那么...
  • 内含7kb的停用词词典、源码、测试数据;词典共收录了1208个常见停用词,源码基于python3,下载解压后即可运行测试数据,且效率非常高。欢迎下载使用,如在使用过程中有任何问题,欢迎留言交流。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,299
精华内容 1,719
关键字:

python文本停用词去除

python 订阅