gensim自然语言处理

最近在做词语的相似度做比较,就选用了gensim

首先要安装gensim库,此处省略,参看官网http://radimrehurek.com/gensim/install.html

在网上下了一些词库

{"date": "2016-05-01", "content": "京东家电  沸腾五一\n买家电 上京东4.28-5.7\n邯郸京东帮联动会\n馆陶站   大型文艺汇演\n五一会员狂欢会,凭券入场更实惠\n买家电 ,上京东,突破底线  限时抢购!\n京东帮\n馆陶文卫街服务店\n大型文艺汇演现场\n活动日期2}

import sysimport jiebareload(sys)sys.setdefaultencoding("utf-8")from gensim import corpora,models,similaritiesalist = []

import json

def fenci():    for i_text in open("xaa.json"):   #读取文文件        f_json = json.loads(i_text)        kk = f_json["content"]        item_str = jieba.cut(kk.encode("utf-8"),cut_all=True) #使用jieba分词        a = " ".join(item_str)        alist.append(a)

fenci()

class MyCorpus(object):    def __iter__(self):        for item_str in alist:            yield item_str.split(‘ ‘)

Corp = MyCorpus()dictionary = corpora.Dictionary(Corp)corpus = [dictionary.doc2bow(text) for text in Corp]

tfidf = models.TfidfModel(corpus)

corpus_tfidf = tfidf[corpus]def test_kk(test):    test_cut_raw_1 = jieba.cut(test)    doc_new = " ".join(test_cut_raw_1)    test_corpus_1 = dictionary.doc2bow(doc_new.split())    vec_tfidf = tfidf[test_corpus_1]

index = similarities.MatrixSimilarity(corpus_tfidf)

sims = index[vec_tfidf]    similarit = list(sims)

#print(list(enumerate(sims)))    sims = sorted(enumerate(sims), key=lambda item: -item[1])    print(sims)    #打印出相似度结果

def buss_mian():    while True:        test = raw_input("please input test:")        test_kk(test)

if __name__ == "__main__":

buss_mian()

欢迎指导学习交流!!!!!!!
时间: 2024-10-29 10:48:17

gensim自然语言处理的相关文章

机器学习项目实战----新闻分类任务(二)

五.TF-IDF以及LDA主题模型 TF-IDF关键词提取 import jieba.analyse index = 2400 print(df_news['content'][index]) content_S_str = ''.join(content_S[index]) # 提取关键词 print(" ".join(jieba.analyse.extract_tags(content_S_str,topK=5,withWeight = False))) 可以得到第2400条数据以

Python与自然语言处理(二)基于Gensim的Word2Vec

继续学习摸索,看到很多博客都在研究Word2Vec,感觉挺有意思,我也来尝试一下. 实验环境:Python3,Java8 Word2Vec的输入是句子序列,而每个句子又是一个单词列表,由于没有这样结构的现成输入,所以决定自己动手对原始语料进行预处理. NLPIR是一个汉语分词系统,挺感谢张华平博士,便利了我们的文本处理工作.下载地址:http://ictclas.nlpir.org/newsdownloads?DocId=389 这里还有一个自然语言处理与信息检索共享平台(感觉挺好的,有资料,还

自然语言处理之jieba, gensim模块

一,自然语言处理 自然语言处理(NLP) :自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.自然语言处理是一门融语言学.计算机科学.数学于一体的科学.因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别.自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统.因而它是计算机科学的一部分. 让计算机明白一句话要表

Python自然语言处理工具小结

Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 1 Python 的几个自然语言处理工具 NLTK:NLTK 在用 Python 处理自然语言的工具中处于领先的地位.它提供了 WordNet 这种方便处理词汇资源的借口,还有分类.分词.除茎.标注.语法分析.语义推理等类库. Pattern:Pattern 的自然语言处理工具有词性标注工具(Part-Of-Speech Tagger),N元搜索(n-gram search),情感分析(sentiment a

Python 的十个自然语言处理工具

原文 先mark,后续尝试. 1.NLTK NLTK 在用 Python 处理自然语言的工具中处于领先的地位.它提供了 WordNet 这种方便处理词汇资源的借口,还有分类.分词.除茎.标注.语法分析.语义推理等类库. 网站 http://www.nltk.org/ 安装 安装 NLTK: sudo pip install -U nltk 安装 Numpy (可选): sudo pip install -U numpy 安装测试: python then type import nltk 2.P

我爱自然语言处理[转]

最近试了一下Word2Vec, GloVe 以及对应的python版本 gensim word2vec 和 python-glove,就有心在一个更大规模的语料上测试一下,自然而然维基百科的语料进入了视线.维基百科官方提供了一个很好的维基百科数据源:https://dumps.wikimedia.org,可以方便的下载多种语言多种格式的维基百科数据.此前通过gensim的玩过英文的维基百科语料并训练LSI,LDA模型来计算两个文档的相似度,所以想看看gensim有没有提供一种简便的方式来处理维基

python and 我爱自然语言处理

曾经因为NLTK的 缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python.离 开腾讯创业后,第一个作品课程图谱也 是选择了Python系的Flask框架,渐渐的将自己的绝大部分工作交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本 处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的.其实如果仔细留意微 博,你

用Python做自然语言处理必知的八个工具【转载】

Python以其清晰简洁的语法.易用和可扩展性以及丰富庞大的库深受广大开发者喜爱.其内置的非常强大的机器学习代码库和数学库,使Python理所当然成为自然语言处理的开发利器. 那么使用Python进行自然语言处理,要是不知道这8个工具就真的Out了. NLTK NLTK是使用Python处理语言数据的领先平台.它为像WordNet这样的词汇资源提供了简便易用的界面.它还具有为文本分类(classification).文本标记(tokenization).词干提取(stemming).词性标记(t

自然语言处理-介绍、入门与应用

自然语言处理-介绍.入门与应用 根据工业界的估计,仅仅只有21%的数据是以结构化的形式展现的.数据由说话,发微博,发消息等各种方式产生.数据主要是以文本形式存在,而这种方式却是高度无结构化的.使用这些文本消息的例子包括:社交网络上的发言,聊天记录,新闻,博客,文章等等. 尽管我们会有一些高维的数据,但是它所表达的信息我们很难直接获取到,除非它们已经被我们人工地做了处理(例如:我们阅读并理解了它们).或者,我们可以通过自动化系统来对他进行分析. 为了从文本数据里得到有意义并且可行的深层信息,我们需