问题标签 [n-gram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3604 浏览

nlp - 什么时候 n-gram (n>3) 比 bigrams 或 trigrams 更重要?

考虑到计算它们的计算开销,我只是想知道 n-gram (n>3) (及其出现频率)的用途是什么。是否有任何应用程序中二元组或三元组根本不够用?

如果是这样,n-gram 提取的最新技术是什么?有什么建议么?我知道以下几点:

0 投票
0 回答
485 浏览

java-me - 如何在j2me中根据频率对搜索字典结果进行排序

这是我的字典格式:

词频

走了60

去 10

去 30

到目前为止,系统会返回单词,例如以“g”开头的 go30、gos10、goone60 作为列表。(按字母顺序)。我想提高系统的准确性,以便搜索结果基于频率。高频词首先出现。请帮助。

这是逐行读取字典的 Text midlet 类。

SortListModel 类具有从文本字段 datachangeLister 获取前缀的过滤器方法

0 投票
2 回答
244 浏览

linux - Linux 字典

我需要包含所有可用语言的单词表的文件。我搜索了一下,发现ftp.gnu.org主机aspell目录包含很多字典,但是当我提取它们时,我没有找到任何包含单词数据的原始文件。我需要它来生成 n-gram 并可能识别特定文本中的语言。

0 投票
1 回答
1509 浏览

solr - SOLR 中的精确匹配

我正在使用 NGramFilterFactory。我的架构如下所示

我想在 data_s 字段上进行 exatc 短语搜索,例如“Hello World”,但无法做到。如果我给
data_s:hello world
它返回所有有 hello 或 world 或两者都有的记录。如果我给
data_s:"hello world"
它什么也不返回。

我怎样才能对此进行精确的短语搜索。我还需要搜索像“ello”这样的部分文本,这就是我使用 NGramFilterFactory 的原因。

所以我的要求是对确切的短语和部分文本进行搜索。

0 投票
2 回答
2064 浏览

mysql - 在 RDBMS 中存储 uni/bi/trigrams ngram 的正确方法?

我有一个从一堆文档中提取的 unigrams(单个单词)、bigrams(两个单词)和 trigrams(三个单词)的列表。我的目标是静态分析报告以及可以在这些文档上使用的搜索。

ngram 按日期和文档标记。例如,我可以找到二元组之间的关系以及它们的短语首次出现的时间以及文档之间的关系。我还可以搜索包含这些 X 个 un/bi/trigram 短语的文档。

所以我的问题是如何存储它们以优化这些搜索。

最简单的方法是为每个短语创建一个简单的字符串列,然后每次在文档中找到该单词/短语时,我都会将关系添加到 document_ngram 表中。

但是,这意味着如果我想通过三元组搜索单个单词,我必须使用字符串搜索。例如,假设我想要所有带有“夏天”这个词的三元组。

因此,如果我改为拆分单词以便存储在 ngram 中的唯一内容是单个单词,然后添加三列以便所有 1、2 和 3 单词链都可以放入其中document_ngram

这是正确的方法吗?他们有更好的方法吗?我目前正在使用 PostgreSQL 和 MySQL,但我相信这是一个通用的 SQL 问题。

0 投票
3 回答
4414 浏览

python - 使用 NLTK 查找三元组

我对NLTk和 python 不是很熟悉,我必须在一个程序中完成以下任务:

  1. 对输入文本进行标记和小写1
  2. 标记输入文本2
  3. 查找输入文本中的所有三元组1

谁能帮我?

0 投票
3 回答
994 浏览

python - 保存 nltk.ngram.NgramModel 结果

我正在使用 nltk.ngram.NgramModel 在布朗语料库上训练一个 n-gram 模型。它基本上需要永远并使用大量系统内存。我想知道是否有一种方法可以保存模型,以便每次运行代码时都不必再次训练它。我看过对 pickle 和 BerkeleyDB 的引用,但我并不完全理解它们中的任何一个是如何工作的。

谢谢!

***ETA:尽管实施了此处描述的更改并尝试了所有各种泡菜协议选项,但我无法成功泡菜模型。我玩弄了 simplejson(没有运气)和 YAML(需要永远,吃掉我所有的记忆)。

0 投票
1 回答
5084 浏览

c++ - Ngram 实现

如何在 C++ 中实现 ngram?

例如;

文本

二元组:T、TE、EX、XT、T 三元组:TE、TEX、EXT、XT、T__

谢谢你

0 投票
2 回答
3575 浏览

java - Elasticsearch - EdgeNgram + highlight + term_vector = bad highlight

当我使用带有 edgengram (min=3, max=7, front) + term_vector=with_positions_offsets 的分析器时

带有文本的文档 = "CouchDB"

当我搜索“couc”时

我的亮点是“cou”而不是“couc”


看来我的亮点仅在最小匹配令牌“cou”上,而我希望在确切的令牌上(如果可能)或至少在找到的最长令牌上。

无需使用 term_vector=with_positions_offsets 分析文本即可正常工作

删除 term_vector=with_positions_offsets 对性能有什么影响?

0 投票
1 回答
1134 浏览

java - 从模式中提取 n-gram

我试图从从文本文档中提取的模式中提取 ngram,模式具有不同数量的术语。

例如:如果模式 p={t1,t2,t3}

我们需要提取 ngram 3

应该是这样的

我写了一些代码,但效果不佳。

请提供任何帮助,