问题标签 [natural-language-processing]

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 投票
2 回答
1498 浏览

python - 用于单词对共现计数的高效 Python?

我想要一种有效的 Pythonic 方法来计算文本中的相邻单词对。高效,因为它需要很好地处理更大的数据集。

计数的方式也很重要。

考虑这个简化的例子:

我可以使用以下方法创建相邻对:

然后我可以使用 Python 来计算它们

这给了我

请注意'apple''apple'不是相邻对。

但我希望成对的顺序不计算在内。这意味着('apple', 'banana')and('banana', 'apple')应该被认为是相同的,并且计数应该是

我找不到一种不需要我访问单词列表中每个项目的 Pythonic 方式,这对于较大的文本来说效率很低。

我也很乐意使用常见的 scipy、numpy 和 pandas 作为库。

0 投票
2 回答
198 浏览

java - 将单词标记为古吉拉特语的音节(古吉拉特语字符)

我正在尝试将Gujarati(一种Indian语言)单词标记为字符。

示例:વાનર 是单词,然后我想要 [વા, ન, ર] 等字符列表

我试过java.text.BreakIterator了,Gujarati locale但没有用。虽然它非常适用于Hindi.

这是代码:

输出:

是否有任何图书馆可以正确地做到这一点?我对其他语言很好Java

0 投票
3 回答
201 浏览

python - 将具有多种拼写的单词映射到关键字列表的最佳方法?

我有一堆可变拼写的 ngram,我想将每个 ngram 映射到已知所需输出列表中的最佳匹配词。

例如,['mob', 'MOB', 'mobi', 'MOBIL', 'Mobile] 映射到“mobile”的期望输出。

['desk', 'Desk+Tab', 'Tab+Desk', 'Desktop', 'dsk'] 的每个输入都映射到所需的 'desktop' 输出

我有大约 30 个这样的“输出”单词,还有一堆大约几百万个 ngram(独特的少得多)。

我目前最好的想法是获取所有唯一的 ngram,将其复制并粘贴到 Excel 中并手动构建映射表,耗时太长且不可扩展。第二个想法是模糊(fuzzy-wuzzy)匹配,但匹配得不是很好。

我在自然语言术语或库方面完全没有经验,因此当唯一 ngram 的数量增加或“输出”单词发生变化时,我无法找到如何更好、更快、更可扩展地完成这项工作的答案。

有什么建议吗?

0 投票
1 回答
39 浏览

python - (初学者)NLP:我正在尝试了解如何对文本中的单词进行分类以识别与某个主题相关的所有单词

我已经使用 BeautifulSoup 抓取了一个网站,现在我想分析我抓取的所有文本,并创建一个长长的列表,其中包含该文本中出现的食物项目。

示例文本

如果你是一个素食主义者,并且永远为你不能吃馄饨而感到遗憾,那么这些人就是为你准备的!馅料是用简单的硬豆腐碎混合而成,用盐、生姜、白胡椒和大葱调味。它超级简单,但非常令人满意。确保你把豆腐沥干,并尽可能地把它弄干,这样馅料就不会太湿。你甚至可以更进一步,给它一个压力:在盘子里铺上纸巾,在上面放一些纸巾,然后用另一个盘子把豆腐压下来。这些馄饨最好的一点是馅料是完全煮熟的,所以你可以通过品尝来调整调味料。只要确保馅料比你自己吃的咸一点。馄饨皮没有太多调味料。这些家伙一闪而过,因为你所做的只是煮馄饨皮。一旦你将它们放入沸水中并漂浮到顶部,你就可以走了。把他们扔进辣酱油醋汁里,你就在天堂!

我想从中创建一个长长的列表,其中标识: 馄饨、豆腐、醋、白胡椒、洋葱、盐

如果没有预先存在的食品清单,我不确定如何做到这一点。因此,任何建议都会很棒。寻找可以自动执行此操作而无需太多人工干预的东西!(我对 NLP 和深度学习很陌生,所以你推荐的任何文章/方法都会非常有用!)

谢谢!

0 投票
1 回答
122 浏览

python - 从没有句号的文本中提取句子

我是 NLP 新手,需要帮助从不包含句号的文本中提取句子。

例如:(下面的文字不包含句号)

是否有任何 NLP 库可用于从上面提取句子。

预期输出:

谢谢你。

0 投票
1 回答
169 浏览

python-3.x - 如何使训练和测试测试的正确维度适合 elmo 嵌入模型

我在用维度 x_tr=(43163, 50) 和 y_tr= (43163, 50, 1) 的训练集拟合 elmo 嵌入模型时出错:

如何解决这个错误?

我试图通过使训练样本可被批量大小整除来解决。

用于拟合模型的训练集:

制作模型:

编译模型:

拟合模型:

错误:

0 投票
1 回答
155 浏览

nlp - 我应该使用哪些 NLP 措施来比较某些术语在不同文档中的重要性/中心性?

我可以使用哪些 NLP(自然语言处理)度量来衡量文本或文本集合中不同单词的重要性和中心性?

示例:假设我有两个包含司法意见的语料库。语料库 A 包含法院裁定制造商因疏忽制造产品而承担责任的意见。语料库 B 包含具有相似事实但得出不同结果的观点。可以使用哪些措施来让我说某些术语对语料库 A 中的案例比对语料库 B 中的案例更“重要”或“中心”?

我试过的: - 原始词频 - TF-IDF

我知道还有更多(例如来自图论),但不确定从哪里开始并且背景有限。我将不胜感激有关使用哪些不同措施以及每种措施的利弊的任何建议或解释。FWIW,我正在使用 NTLK,并且对 Spacy 也有点熟悉。

背景:我正在计划一篇学术法律评论文章,试图解释为什么在两个不同的司法管辖区对某个主题的类似案件有不同的判决。我的假设:不同的术语在每组案例中更常见,也更重要。例如,集合 A 中的案例可能比集合 B 中的类似案例更多地使用术语“意图”,这表明第一组案例更关注该概念。

0 投票
1 回答
111 浏览

python - 如何从 nltk.corpus 导入字符串?

我正在尝试从 nltk.corpus 模块加载字符串。但我收到一个错误。

从 nltk.corpus 导入字符串 请参阅此图像中的错误

你们中的任何人都可以在这里指导我吗?提前致谢

0 投票
1 回答
174 浏览

python - 向量化新的文本数据

我已经Word2vec在“棕色语料库”上训练了一个模型。

我想将向量化的单词应用于一个新的文本文档,然后我想通过 way 对其句子进行聚类Affinity Propagation

我的文本文档包含一个请求列表,例如:

我的问题是:

如何将矢量化Brown corpus应用于我自己的文本数据以进行后续聚类?

0 投票
0 回答
18 浏览

parsing - 如何处理具有多个派生树的语法选择集

我需要为具有 lambda 表达式和多个派生树的语法编写一个解析表。我很难找到带有 lambda 表达式的语法的解析表示例。我应该如何开始?

我对选择集的尝试如下:

S-> ABCe = {e,b,c,d}。

(A->bB = {b}, A->lambda, B->cC ={c}, A->lambda, B->lambda, C->d = {d}, A->lambda, B- > lambda, C 转到 lambda = {e})。

A-> bB = {b}

A-> λ = {c,d,e}

B-> cC = {c}

B-> λ = {d,e}

C-> d = {d}

C-> λ = {d}

我有两个问题:

1) 我不知道在解析表或实际解析代码中定义 lambda 时要写什么。

2) 如果 lambda 表达式依赖于字符串中的内容,那么当前标记将确定弹出的内容,对吗?例如,如果 S 去 ABCe,并且当前令牌是 b,那么我会 push(e) 和 push(C) 吗?刚才我也意识到了 lambdas 的其他东西。B 的选择集是相互包含的。因此,例如,仅当 A 处的当前令牌是 b 时,我才会推送“B”,如果当前令牌是 c、d 或 e,我只会 pop()。我真的不知道该怎么写,这只是我的思考过程。但是是否允许使用选择集代替实际的语法规则?