自然语言的处理 nlp

发布时间 2023-09-05 22:55:33作者: black2bi

  分词

  1. 得到语言首先使用分词机器进行分词
  2. 首先使用正则表达式过滤标点 空格,一般使用NLTK进行首次分词
  3. n-gram 相邻的词组成短语,更有意义。
  4. 停用词的过滤 a an the of之类
  5. 大小写转换
  6. 词干还原house houses houseing 还原成house ,nltk.stem.porter包还原成原来的词
  7. 词形归并better good goods best 还原成good,使用nltk.downlad('wordnet') ,需要设定分析的词词性,比如名词还是动词
  8. 基于分词的情感分析,使用vader进行分词检测语句的情感倾向,是高兴还是生气,表情包,语气词等设定特定词的情感得分,会有总体和乐观、悲观、中性四种评分。
  9. 朴素贝叶斯 根据下载的模型设定情感分析分值,用这个来衡量情感,相比vader 不用自己维护情感分值,并且可以基于各个数据集进行评估。

 词中的数学

  1. 词袋无序分词,单个词出现次数/文档中词数量 = 词项频率 分析一个词对一个文档的重要性,数量大重要性大;nltk使用停用词库过滤停用词nltk.download('stopwords',quiet=True),nltk.corpus.stopwords.words('english')完成对英文停用词的下载。
  2. 把词频做成数组,数据就是向量,计算向量之间的余玄值确定两个文档之间描述的内容是否一致。
  3. 齐普夫定律对于一个大型的文档,出现频率最高的词是第二的两倍,是第三的三倍,是第四的四倍,大致遵循随坐标递减的效果。
  4. 相同主题的文档,相同词在文档中出现的频率使用对数更能确定词与文档的相关性;tf=关键字在文档中出现的次数/文档的长度;idf =lg文档总数/包含关键字的文档数;tf-idf =tf*idf得出得结果,即关键词在给定得文档中赋一个重要度值。多个词得重要度组成向量,向量得余弦相似度高我们认为这两个文档相似,可以作为搜索引擎抓取文章得依据。

 词频背后的语义

  1. 使用不同文字描述相同内容的文档,在词频向量上的余玄没有相同,所以描述不了相同的语义,需要使用主题向量来描述用不同语言描述的内容。