首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏灯塔大数据

    谷歌 Ngrams :大数据如何创造错觉?

    在语言和文化中,大数据隆重地在 2011 年出场,那时谷歌发布了它的 Ngrams 工具。 如果 Ngrams 真的反射出了我们的文化,我们也许正在前往一个黑暗的未来。 问题开始于 Ngrams 语料库建立的方式。 :「Lanny」与其他英文小说中常见名字相对比的谷歌 Ngrams 图标 更加糟糕的是 Ngrams 并不是已出版书籍的一种连续的、平衡的缩影。 所有这些都让我们很难相信谷歌的 Ngrams 能够准确地反映出文字文化主流随着时间的变化。 而谷歌 Ngrams 不同的是,它有着让纯粹的数据遮蔽了我们的双眼并导致人们误入歧途的危险。 这种倾向不仅仅出现在对于 Ngrams 的研究中。相似的错误也损害着各种大数据项目。

    1K100发布于 2018-04-09
  • 来自专栏素质云笔记

    极简使用︱Gemsim-FastText 词向量训练以及OOV(out-of-word)问题有效解决

    ngrams (Default 2000000) 额外参数: word_ngrams ({1,0}, optional) If 1, uses enriches word vectors with # n-ngram数量 fasttext_model.wv.min_n # 最小n-gram vectors_ngrams与syn0_ngrams 一致,都是n-grams的词向量矩阵。 word_vec = np.zeros(self.vectors_ngrams.shape[1], dtype=np.float32) ngrams = else: # No ngrams of the word are present in self.ngrams raise KeyError('all ngrams , _ft_hash ngrams = _compute_ngrams('吃了吗',min_n = 3,max_n = 6) >>> ['<吃了', '吃了吗', '了吗>', '<吃了吗', '吃了吗

    3.9K20发布于 2019-05-26
  • 来自专栏短信接收服务

    爬虫系列:数据清洗

    _init_connection = connection_util.ProcessConnection() @staticmethod def ngrams(input_text, n = self.ngrams(content, 2) print(ngrams) print("2-grams count is: " + str(len (ngrams))) if __name__ == '__main__': DataCleaning().get_result() ngrams 函数把一个待处理的字符串分成单词序列(假设所有单词按照空格分开 _init_connection = connection_util.ProcessConnection() @staticmethod def ngrams(input, n): = self.ngrams(content, 2) print(ngrams) print("2-grams count is: " + str(len

    2.1K10编辑于 2022-01-12
  • 来自专栏素质云笔记

    基于腾讯AI Lab词向量进行未知词、短语向量补齐与域内相似词搜索

    = 1, max_n = 3): ''' ngrams_single/ngrams_more,主要是为了当出现oov的情况下,最好先不考虑单字词向量 ''' # 确认词向量维度 word_size = wv_from_text.wv.syn0[0].shape[0] # 计算word的ngrams词组 ngrams = compute_ngrams = 0 ngrams_single = [ng for ng in ngrams if len(ng) == 1] ngrams_more = [ng for ng in ngrams if len(ng) > 1] # 先只接受2个单词长度以上的词向量 for ngram in ngrams_more: if ngram for ngram in ngrams_single: word_vec += wv_from_text[ngram] ngrams_found

    3K42发布于 2019-05-26
  • 来自专栏数据科学(冷冻工厂)

    探索NLP中的N-grams:理解,应用与优化

    import re def generate_ngrams(text,n): # split sentences into tokens tokens=re.split("\\s+" ,text) ngrams=[] # collect the n-grams for i in range(len(tokens)-n+1): temp=[tokens [j] for j in range(i,i+n)] ngrams.append(" ".join(temp)) return ngrams 如果您使用的是 Python,还有另一种使用 NLTK 的方法: from nltk import ngrams sentence = '_start_ this is ngram _generation_' my_ngrams = ngrams

    1.3K10编辑于 2024-02-22
  • 来自专栏Python数据科学

    英伟达小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑

    一种方法是用滑窗来创建: tokens = ['i', 'want', 'to', 'go', 'to', 'school'] def ngrams(tokens, n): length = 只要让 ngrams 函数,用 yield 关键字返回一个生成器,然后内存需求就变成 O(n) 了。 [i:i+n] ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <generator object ngrams at 0x1069b26d0> for ngram in ngrams_generator: print(ngram) ==> ['i', 'want', 'to'] ['want', )) return zip(*slices) ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <zip object

    43621发布于 2019-10-28
  • 来自专栏大数据文摘

    Google扫描1500万册书后,分析出...

    倒不是吓唬谁,这回介绍个神器: Google Books Ngrams。不信不服。 谷歌的两位创始人在斯坦福读书时都在数字图书馆项目里干过活。 到2010年,谷歌已经扫了一千五百万册书,这时谷歌决定将已经扫过的书的某些统计结果公开,这就是Google Books NgramsNgrams是在文本中统计词频的算法。 一开始这些结果只被计算机科学家和计算语言学家所知,但现在越来越多的人文学者也开始玩起Ngrams了,估计用不了多久,这东西会成为字典一样的必备工具。 下面通过几个例子介绍Ngrams的用法。 如果哲学家们还不争气,再过个十年,也许Ngrams真会验证这个预测。 埃顿和米歇尔用Ngrams查了两个词组:“United States are”和“United States is”。

    82040发布于 2018-05-21
  • 来自专栏量子位

    英伟达小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑

    只要让 ngrams 函数,用 yield 关键字返回一个生成器,然后内存需求就变成 O(n) 了。 tokens[i:i+n] 5 6ngrams_generator = ngrams(tokens, 3) 7print(ngrams_generator) 8 9==> <generator object ngrams at 0x1069b26d0> 10 11for ngram in ngrams_generator: 12 print(ngram) 13 14==> ['i', (n)) 4 return zip(*slices) 5 6ngrams_generator = ngrams(tokens, 3) 7print(ngrams_generator) 8 9==> <zip object at 0x1069a7dc8> # zip objects are generators 10 11for ngram in ngrams_generator: 12

    59430发布于 2019-10-25
  • 来自专栏GitHubDaily

    英伟达小姐姐开源 Python 隐藏技巧,上了 GitHub 热榜!

    一种方法是用滑窗来创建: tokens = ['i', 'want', 'to', 'go', 'to', 'school'] def ngrams(tokens, n): length = 只要让 ngrams 函数,用 yield 关键字返回一个生成器,然后内存需求就变成 O(n) 了。 [i:i+n] ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <generator object ngrams at 0x1069b26d0> for ngram in ngrams_generator: print(ngram) ==> ['i', 'want', 'to'] ['want', )) return zip(*slices) ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <zip object

    59110发布于 2019-10-29
  • 来自专栏机器学习与统计学

    NVIDIA工程师小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑

    一种方法是用滑窗来创建: tokens = ['i', 'want', 'to', 'go', 'to', 'school'] def ngrams(tokens, n): length = 只要让 ngrams 函数,用 yield 关键字返回一个生成器,然后内存需求就变成 O(n) 了。 [i:i+n] ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <generator object ngrams at 0x1069b26d0> for ngram in ngrams_generator: print(ngram) ==> ['i', 'want', 'to'] ['want', )) return zip(*slices) ngrams_generator = ngrams(tokens, 3) print(ngrams_generator) ==> <zip object

    62251发布于 2019-11-07
  • 来自专栏作图丫

    绘制旭日图:sunburstR

    可视化来自Peter Norvig的ngram数据 # http://norvig.com/mayzner.html install.packages("pipeR") library(pipeR) ngrams2 <- read.csv( system.file("examples/ngrams2.csv",package="sunburstR"), stringsAsFactors = FALSE) fix (ngrams2) ngrams2 %>>% # let's look at ngrams at the start of a word, so columns 1 and 3 (. [,c(1,3)]) %>>% # split the ngrams into a sequence by splitting each letter and adding - (data.frame [,c(1,letpos)]) %>>% # split the ngrams into a sequence by splitting each letter and adding

    2.4K20编辑于 2022-03-29
  • DeepSeek模型解析:技术创新与应用前景

    ngram_counts[ngram] = ngram_counts.get(ngram, 0) + 1 # 计算重复率 repeated_ngrams = sum(1 for count in ngram_counts.values() if count > 1) total_ngrams = len(ngram_counts) return repeated_ngrams / total_ngrams if total_ngrams > 0 else 0.0 def filter_text(self, text)

    68020编辑于 2025-04-01
  • 来自专栏萝卜大杂烩

    整理了25个Python文本处理案例,收藏!

    # Function to generate n-grams from sentences. def extract_ngrams(data, num): n_grams = ngrams( print("1-gram: ", extract_ngrams(data, 1)) print("2-gram: ", extract_ngrams(data, 2)) print("3-gram: ", extract_ngrams(data, 3)) print("4-gram: ", extract_ngrams(data, 4)) TextBlob from textblob import print("1-gram: ", extract_ngrams(data, 1)) print("2-gram: ", extract_ngrams(data, 2)) print("3-gram: ", extract_ngrams(data, 3)) print("4-gram: ", extract_ngrams(data, 4)) Output: 1-gram: ['A', 'class

    2.3K20编辑于 2022-02-10
  • 来自专栏素质云笔记

    R语言实现︱局部敏感哈希算法(LSH)解决文本机械相似性的问题(二,textreuse介绍)

    TextReuseTextDocument(text, file = NULL, meta = list(), tokenizer = tokenize_ngrams, ..., hash_func 3、多元组——tokenize_ngrams 可能对中文的支持不好,输出的格式是乱码的,所以在这不能示范中文,而是英文。 The answer is blowin' in the wind." > tokenize_ngrams(text, n = 3) [1] "how many roads" "many roads answer is blowin" "is blowin in" "blowin in the" [13] "in the wind" 4、跨越式多元组——tokenize_skip_ngrams > tokenize_skip_ngrams(text, n = 3, k = 2) [1] "how must walk" "many a down" "roads man

    1.2K10发布于 2019-05-26
  • 来自专栏相约机器人

    在几秒钟内将数千个类似的电子表格文本单元分组

    def ngrams_analyzer(string): string = re.sub(r'[,-./]', r'', string) ngrams = zip(*[string[i your vectorizer for building the TF-IDF matrix vectorizer = TfidfVectorizer(analyzer=ngrams_analyzer 第20行传递ngrams_analyzer给将用于构建矩阵的TF-IDF矢量化器。 最后在第23行,构建了文档术语矩阵。 def ngrams_analyzer(string): string = re.sub(r'[,-./]', r'', string) ngrams = zip(*[string[i :] for i in range(5)]) # N-Gram length is 5 return [''.join(ngram) for ngram in ngrams] def

    2.4K20发布于 2019-07-22
  • 来自专栏短信接收服务

    爬虫系列:数据标准化

    get_content: content = get_content.find("div", {"id": "mw-content-text"}).get_text() ngrams = self.getNgrams(content, 2) ngrams = OrderedDict(sorted(ngrams.items(), key=lambda t: t [1], reverse=True)) print(ngrams) print("2-grams count is: " + str(len(ngrams

    62250编辑于 2022-01-12
  • 来自专栏磐创AI技术团队的专栏

    FastText的内部机制

    其中<和>是作为边界符号被添加,来将一个单词的ngrams与单词本身区分开来。再举个例子,如果单词mat属于我们的词汇表,则会被表示为<mat>。 可以通过-minn和-maxn这两个参数来控制ngrams的长度,这两个标志分别决定了ngrams的最小和最大字符数,也即控制了ngrams的范围。 它只要求字符落在窗口以内,但并不关心ngrams的顺序。你可以将这两个值都设为0来完全关闭n-gram,也就是不产生n-gram符号,单纯用单词作为输入。 bucket_size是一个数组的长度大小,这个数组是为所有的ngrams符号分配的。它通过-bucket标志进行设置,默认设置为2000000。 输入向量是原始单词以及该词的所有ngrams的向量表示。通过计算这个损失函数,可以在前向传播的过程中设置权重,然后又一路将影响反向传播传递到输入层的向量。

    1.7K30发布于 2018-07-20
  • 来自专栏数据分析与挖掘

    【自然语言处理】使用朴素贝叶斯进行语种检测

    CountVectorizer( lowercase=True, # lowercase the text analyzer='char_wb', # tokenise by character ngrams ngram_range=(1,2), # use ngrams of size 1 and 2 max_features=1000, # keep the most common 1000 ngrams preprocessor=remove_noise ) vec.fit(x_train) def get_features(x): vec.transform(

    78650发布于 2020-08-26
  • 来自专栏商业模式策划

    永续合约系统开发详细流程丨合约跟单对冲量化系统开发原理及代码

    我们对探索这些N-Grams实际上是很感兴趣的,所以在第一个实例中,我们会使用Scikit-learn的 CountVectorizer 解析我们的tweet数据:def get_ngrams(doc, sorted(word_counts, key=lambda x:x[1], reverse=True)  return word_counts# Get n-gramstop_bigrams = get_ngrams (tweets_df['text'], 2)[:20]top_trigrams = get_ngrams(tweets_df['text'], 3)[:20]

    1K20编辑于 2022-08-30
  • 来自专栏算法channel

    推荐一些数据集

    CLiPS Stylometry Investigation 语料: https://www.clips.uantwerpen.be/datasets/csi-corpus Google Books Ngrams :https://aws.amazon.com/datasets/google-books-ngrams/ 机器翻译:http://statmt.org/wmt11/translation-task.html

    1.8K21发布于 2019-05-16
领券