精华内容
下载资源
问答
  • ngram

    2021-09-18 17:06:11
    ngram 理论知识 工具使用 得到ngram ngram-count -order 3 -vocab wordlist -text corpus -lm 3gram -gt1min 1 -gt2min 1 -gt3min 1 -help 帮助信息 -version 版本信息 -order 最大阶数 -vocab 读取词典vocab_file。...

    ngram 理论知识

    工具使用

    得到ngram

    ngram-count -order 3 -vocab wordlist -text corpus -lm 3gram -gt1min 1 -gt2min 1 -gt3min 1
    -help 帮助信息
    -version 版本信息
    -order 最大阶数
    -vocab 读取词典vocab_file。生成语言模型时,如果计数文件中或者训练文件中,如果出现了词典vocab_file之外的词(OOV),则这些词会被替换为。
    -text 语料
    -lm 生成的语言模型

    算ppl

    ngram -lm lm -order 4 -ppl txt -debug 0
    -lm 测试ppl 的语言模型
    -order 阶数。比如用4gram测3阶ppl跟4gram先降成3gram再测ppl结果是一样的
    -ppl 要测试ppl的文本,干净,分好词,一行一句
    -debug 0:输出总的结果; 1: 输出每一句的结果; 2: 输出每一个词的结果

    参考
    https://blog.csdn.net/GavinLiu1990/article/details/81363936

    展开全文
  • NGram

    2014-03-14 13:37:00
    2019独角兽企业重金招聘Python工程师标准>>> NGram 转载于:https://my.oschina.net/u/138995/blog/208204
    NGram

    转载于:https://my.oschina.net/u/138995/blog/208204

    展开全文
  • ngram-源码

    2021-03-06 05:28:32
    ngram
  • NGram NGram Model smooth new word 该项目实现了NGram模型,但主要实现2元和3元语法模型,主要涉及的技术包括NGram生成、起始字符统计、平滑技术,此外还包括一些应用,比如新词发现。 目前该项目还有待完善。
  • ngram 算法 尝试

    2018-11-11 17:21:02
    ngram 尝试算法 希望下载的人能继续编写下去。可以互相讨论
  • Google Ngram Viewer的人类可读单位。 Google图书Ngram Viewer上的单位显示为百万分之一,而不是百分比。 支持语言:English
  • ****************************************************** *********引用Google Ngram Viewer的常见问题解答:“我正在根据您的结果撰写论文。我如何引用您的工作?如果您要将这些数据用于学术出版物,请引用原始...
  • 从存储在 json 文件中的文本数据中使用 N-gram 分析文本的工具 json文件规范 json 文件的描述示例是一对 id 和 text,如 input/test.json 所示。...使用 ngram 将键映射到结构体并对每个文本数据单元进行评分
  • Ngram5. Ngram Tokenizer6. Ngram Token Filter7. Edge Ngram 1. Analysis 简介 理解elasticsearch的ngram首先需要了解elasticsearch中的analysis。在此我们快速回顾一下基本原理: 当一个文档被索引时,每个field...


    1. Analysis 简介

    理解elasticsearch的ngram首先需要了解elasticsearch中的analysis。在此我们快速回顾一下基本原理:

    当一个文档被索引时,每个field都可能会创建一个倒排索引(如果mapping的时候没有设置不索引该field)。倒排索引的过程就是将文档通过analyzer分成一个一个的term,每一个term都指向包含这个term的文档集合。当查询query时,elasticsearch会根据搜索类型决定是否对query进行analyze,然后和倒排索引中的term进行相关性查询,匹配相应的文档

    analyzer = CharFilters(0个或多个) + Tokenizer(恰好一个) + TokenFilters(0个或多个)
    

    2. index analyzer VS search analyzer

    如果mapping中只设置了一个analyzer,那么这个analyzer会同时用于索引文档和搜索query。当然索引文档和对query进行analysis也可以使用不同的analyzer

    一个特殊的情况是有的query是需要被analyzed,有的并不需要。例如match query会先用search analyzer进行分析,然后去相应field的倒排索引进行匹配。而term query并不会对query内容进行分析,而是直接和相应field的倒排索引去匹配

    3. Analyze API

    Analyze API是一个有效的方式查看分析后的结果:

    POST _analyze
    {
        "analyzer" : "standard",
        "text" : "hello, world"
    }
    

    输出的结果如下所示,即[hello, world]

    4. Ngram

    在机器学习和数据挖掘领域,ngram通常指的是n个词的序列。不过在elasticsearch中,ngram代表的是n个字符的序列。可以把ngram理解成长度为n的滑动窗口,在文档中滑动产生的序列

    5. Ngram Tokenizer

    POST _analyze
    {
      "tokenizer": "ngram",
      "text": "Quick Fox"
    }
    

    ngram分词器默认会产生最小长度为1,最大长度为2的N-grams序列。上述查询语句的输出是
    [ Q, Qu, u, ui, i, ic, c, ck, k, "k ", " “, " F”, F, Fo, o, ox, x ]

    也可以自定义ngram tokenizer的一些配置:

    • min_gram: 指定产生的最小长度的字符序列,默认为1

    • max_gram: 指定产生的最大长度的字符序列,默认为2

    • token_chars: 指定生成的token应该包含哪些字符.对没有包含进的字符进行分割,默认为[],即保留所有字符

      • letter - eg: a,b,字
      • digit - eg: 3,7
      • whitespace - eg: " ", “\n”
      • punctuation - eg: !, "
      • symbol - eg: $,√

    定义min_grammax_gram应该按照使用场景来定。使用ngram的一个常见场景就是自动补全。如果单个字符也进行自动补全,那么可能匹配的suggestion太多,导致没有太大意义。
    另一个需要考虑的便是性能,产生大量的ngram占用空间更大,搜索时花费的事件也更多。

    假如现在需要将ngrams生成的token都转换成小写形式,可以使用如下形式

    PUT my_index
    {
       "settings": {
          "analysis": {
             "tokenizer": {
                "ngram_tokenizer": {
                   "type": "nGram",
                   "min_gram": 4,
                   "max_gram": 4,
                   "token_chars": [ "letter", "digit" ]
                }
             },
             "analyzer": {
                "ngram_tokenizer_analyzer": {
                   "type": "custom",
                   "tokenizer": "ngram_tokenizer",
                   "filter": [
                      "lowercase"
                   ]
                }
             }
          }
       }
    }
    POST my_index/_analyze
    {
      "analyzer": "ngram_tokenizer_analyzer",
      "text": "Hello, World!"
    }
    生成的结果序列是[ello, hell, orld, worl]
    

    6. Ngram Token Filter

    上述的例子也可以使用Ngram Token Filter,配上standard的分词器和lower-case的过滤器。
    原文本被standard分词器以whitespace和punctuation分割成token,然后通过lowercase过滤器转换成小写形式,最后通过ngram filter生成长度为4的字符序列

    PUT /my_index
    {
       "settings": {
          "analysis": {
             "filter": {
                "ngram_filter": {
                   "type": "nGram",
                   "min_gram": 4,
                   "max_gram": 4
                }
             },
             "analyzer": {
                "ngram_filter_analyzer": {
                   "type": "custom",
                   "tokenizer": "standard",
                   "filter": [
                      "lowercase",
                      "ngram_filter"
                   ]
                }
             }
          }
       }
    }
    
    POST my_index/_analyze
    {
      "analyzer": "ngram_filter_analyzer",
      "text": "Hello, World!"
    }
    

    上述mapping也会和ngram tokenizer产生同样的效果,具体实际应用如何选择应该视场景而定。假如想匹配的term中可以包含特殊字符,那么你应该使用ngram tokenizer。因为standard的tokenizer会过滤掉这些特殊字符。

    7. Edge Ngram

    Edge Ngram和ngram类似,只不过Edge Ngram产生的序列都是从代索引文档的开头延伸出去的。

    POST _analyze
    {
      "tokenizer": "edge_ngram",
      "text": "Quick Fox"
    }
    

    会产生[ Q, Qu ]

    Edge Ngram也有着和ngram相同的配置

    • min_gram: 指定产生的最小长度的字符序列,默认为1

    • max_gram: 指定产生的最大长度的字符序列,默认为2

    • token_chars: 指定生成的token应该包含哪些字符.对没有包含进的字符进行分割,默认为[],即保留所有字符

      • letter - eg: a,b,字
      • digit - eg: 3,7
      • whitespace - eg: " ", “\n”
      • punctuation - eg: !, "
      • symbol - eg: $,√
        对于如下的mapping
    PUT my_index
    {
      "settings": {
        "analysis": {
          "analyzer": {
            "my_analyzer": {
              "tokenizer": "my_tokenizer"
            }
          },
          "tokenizer": {
            "my_tokenizer": {
              "type": "edge_ngram",
              "min_gram": 2,
              "max_gram": 10,
              "token_chars": [
                "letter",
                "digit"
              ]
            }
          }
        }
      }
    }
    POST my_index/_analyze
    {
      "analyzer": "my_analyzer",
      "text": "2 Quick Foxes."
    }
    

    产生的token序列为[ Qu, Qui, Quic, Quick, Fo, Fox, Foxe, Foxes ]

    参考连接:
    https://njucz.github.io/2017/12/20/elasticsearch%20ngram,edgengram%E7%AC%94%E8%AE%B0/

    展开全文
  • ngram-语言模型 一个 HMM Ngram 语言模型在 Python 中的实现。 目前实现了基本的 NGram 分析,并提供了一个接口来从你最喜欢的语料库中创建采样器。 使用 run_sampling_from_corpus.py 在文本文件中的语料库上创建...
  • Bible Ngram-开源

    2021-05-27 13:16:48
    在所选章节范围内最多显示10个ngram的频率。
  • Ngram Statistics软件包(ngram)是一套Perl程序,它使用许多不同的关联测试来识别书面文本中的重要多词单元(并置)。 NSP / ngram允许用户以最小的努力添加自己的测试
  • 提取ngram

    2020-10-07 15:38:51
    def extract_ngram(all_sentences, min_feq=0): # all_sentences = [['迈','向','充','满','希','望','的','新','世','纪','-','-','一','九','九','八','年',...],[...],...] n_gram_dict = {} new_all_...
    import re
    def extract_ngram(all_sentences, min_feq=0):
    	# all_sentences = [['迈','向','充','满','希','望','的','新','世','纪','-','-','一','九','九','八','年',...],[...],...]
    	n_gram_dict = {}
    	new_all_sentences = []
    	for sen in all_sentences:
    		str_sen = ''.join(sen)
    		new_sen = re.split(u'[^\u4e00-\u9fa50-9a-zA-Z]', str_sen)
    		for s in new_sen:
    			if len(s) > 0:
    				new_all_sentences.append(s) #二维列表转换为一维列表
    	for sentence in new_all_sentences:
    		for i in range(len(sentence)):
    			for n in range(1, 6):
    				if i + n > len(sentence):
    					break
    				n_gram = ''.join(sentence[i:i+n])
    				if n_gram not in n_gram_dict:
    					n_gram_dict[n_gram] = 1
    				else:
    					n_gram_dict[n_gram] += 1
    	new_ngram_dict = {gram: c for gram, c in n_gram_dict.items() if c > min_feq}
    	return new_ngram_dict	
    
    展开全文
  • Elasticsearch-edge_ngramngram的区别

    千次阅读 2020-06-15 20:33:54
    edge_ngramngram是elasticsearch内置的两个tokenizer和filter 实例 步骤 自定义两个分析器edge_ngram_analyzer和ngram_analyzer 进行分词测试 创建测试索引 PUT analyzer_test { "settings": { "refresh_...
  • ngram-指纹 视窗 Mac/Linux 描述的 Open Refine 项目中 ngram-fingerprint 算法的 JavaScript 实现。 算法 该算法与 Google Refine 的算法略有不同。 扩展西文字符的替换已经在第三步而不是最后一步完成。 这样做...
  • python-ngram-开源

    2021-04-25 23:37:08
    ngram是一个模块,用于计算两个字符串之间的相似度。 它与python的“ difflib.SequenceMatcher”不同,因为它更关心两个字符串的大小。 ngram是perl模块的端口和扩展,称为“ String :: Trigram”
  • Google ngram下载器 是下的免费资源,该提供了Google扫描的图书的ngram计数。 数据是如此之大,以至于几乎不可能存储它。 但是,有时您需要整个数据集上的汇总数据。 例如,建立共现矩阵。 该程序包提供了对存储...
  • ElasticSearch一看就懂之分词器edge_ngramngram的区别 1 year ago edge_ngramngram是ElasticSearch自带的两个分词器,一般设置索引映射的时候都会用到,设置完步长之后,就可以直接给解析器analyzer的tokenizer...
  • edge_ngramngram是ElasticSearch自带的两个分词器,一般设置索引映射的时候都会用到,设置完步长之后,就可以直接给解析器analyzer的tokenizer赋值使用。 场景 用 Elasticsearch 处理通配符查询不太适合,推荐用...
  • 语言:English Google Ngram查看器的人为可读单元。Google书籍中的单位以百万显示为百万的部分而不是百分比。
  • ngram:快速n-Gram标记化
  • ngram viewer-crx插件

    2021-04-04 19:09:36
    此工具确实的确实是将您连接到“Google Ngram查看器”,这是一个看过去,过去使用给定的单词的使用如何增加或减少的工具。作为讲英语作为第二语言的人,我使用ngrams的个人目的一直在检查我正在学习的新词。有时候...
  • 除了crf+ngram这种基于统计纠错的方法外还有一种基于深度学习的seq2seq方法,有简单的注释,有训练集和测试集数据,属于很基础的模型。
  • 在 Python 中聚类 ngram。 聚类是使用。 用法 cluster_ngrams(ngrams, compute_distance, max_dist, method) 返回每个集群中的 ngram 列表。 ngrams : [list] 要聚类的 ngram 列表。 例如:[['my', 'cat', 'ran'],...
  • 使用n-gram语言模型的逐步API使用帮助 如所述,使用n-gram语言模型实现软件工程推荐... < id>sebastian-ngram-recommender < url>https://packagecloud.io/sebastian/ngram-recommender/maven2</ url> < enab
  • Function ‘ngram‘ is not defined

    千次阅读 2021-07-05 09:36:55
    Mariadb执行sql语句抛出错误 :Function ‘ngram’ is not defined 环境 Mariadb10.3.27 原因 Ngram MySQL ngram全文解析器简介MySQL内置的全文解析器使用空格确定单词的开始和结束。当涉及汉语,日语或韩语等表意...
  • 文字预测 使用ngram模型进行文本预测。
  • 函数说明: 1 CountVectorizer(ngram_range=(2, 2)) 进行字符串的前后组合,...Ngram模型表示的是,对于词频而言,只考虑一个词,这里我们在CountVectorizer统计词频时,传入ngram_range=(2, 2)来构造新的词向量的...
  • 用于检索在 Google Books Ngram Viewer 上绘制的轨迹背后的数据的基本 Python 代码:books.google.com/ngrams。 只需键入与在 books.google.com/ngrams 上键入的字符串完全相同的字符串,然后以 tsv 格式检索数据。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,087
精华内容 3,234
关键字:

ngram