你将收获

掌握词向量技术,能够自然应用词向量框架word2vec、fasttext、glove。

适用人群

自然语言处理爱好者、自然语言处理从业者、人工智能从业者、机器学习从业者

课程介绍

自然语言处理教程,该课程着重讲解词向量(Word embedding),词向量是深度学习技术在自然语言处理中应用的基础,因此掌握好词向量是学习深度学习技术在自然语言处理用应用的重要环节。本课程从One-hot编码开始,word2vec、fasttext到glove讲解词向量技术的方方面面,每个技术点环节都有相应的小案例,以增加同学们学习兴趣。同时在课程最后整合案例的方式给大家展示词向量技术在相似度计算中的典型应用。希望我们的课程能帮助更多的NLPper。

课程目录

学员评价

3.6
  • 58%
  • 0%
  • 14%
  • 0%
  • 28%

正在加载中...

同学笔记

  • abc18300079453 2020-10-08 10:54:03

    来源:项目实战之utils模块中文本预处理方法编写 查看详情

    # 清除不在词汇表中的词语

    def clear_word_from_vocab(word_list,vocab):

         new_word_list = []

         for word in word_list:

              if word in vocab:

                 new_word_list.append(word)

              return new_word_list

     

    # 文本预处理

    def preprocessing_test_pd(text_dir, after_process_text_dir,stop_words):

           stop_words = get_stop_words(stop_words_dir)

            sentences = []

            df = pd.read_csv(text_dir)

            for index, row in df.iterrows():

                 print(index)

                 title = delete_r_n(row['title'])

                 word_list = jieba_cut(title,stop_words)

                 df.loc[index, 'title'] = " ".join(word_list)

                  sentences.append(word_list)

           df.to_csv(after_process_text_dir,encoding=GrobalParament.encoding)

    return sentences

                 

  • abc18300079453 2020-10-08 10:28:06

    来源:项目实战之utils模块中分词方法封装 查看详情

    # utils.py

    import GrobalParament

    # 去掉回车换行

    def delete_r_n(line):

          return line.replace("\r","").replace("\n","").strip()

    # 读取停用词

    def get_stop_words(stop_words_dir):

          stop_word = []

          with open(stop_words_dir, "r", encoding = GrobalParament.encoding) as f_reader:

          for line in f_reader:

               line = delete_r_n(line)

               stop_words.append(line)

               stop_words = set(stop_words)

           retrun stop_words

    # 结巴精准分词

    def jieba_cut(content, stop_words):

          word_list = []

          if content != "" and content is not None:

          seg_list = jieba.cut(content)

          for word in seg_list:

               if word not in stop_words:

                  word_list.append(word)

              return word_list

    # 结巴搜索引擎分词

    def jieba_cut_for_search(content, stop_words)

          word_list = []

          if content != "" and content is not None:

          seg_list = jieba.cut_for_search(content)

          for word in seg_list:

                if word not in stop_words:

                   word_list.append(word)

            return word_list

    if __name__ == "__main__": 

           stop_words = get_stop_words(GrobalParament.stop_word_dir)

           content = "我毕业于北京理工大学,现就职于中国科学院计算技术研究所。"

            word_list = jieba_cut(content,stop_words)

           print(word_list)

           word_list = jieba_cut_for_search(content, stop_words)

           print(word_list)

  • abc18300079453 2020-10-08 09:33:47

    来源:项目实战之utils模块中读取停用词方法编写 查看详情

    # utils.py

    import GrobalParament

    # 去掉回车换行

    def delete_r_n(line):

          return line.replace("\r","").replace("\n","").strip()

    # 读取停用词

    def get_stop_words(stop_words_dir):

          stop_word = []

          with open(stop_words_dir, "r", encoding = GrobalParament.encoding) as f_reader:

          for line in f_reader:

               line = delete_r_n(line)

               stop_words.append(line)

               stop_words = set(stop_words)

           retrun stop_words

    if __name__ == "__main__": 

           stop_words = get_stop_words(GrobalParament.stop_word_dir)

           print(len(stop_words))

           print(stop_words[:20])

没有更多了