问题标签 [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 投票
1 回答
9270 浏览

machine-learning - NLP 预训练模型(例如 ELMo、Bert)的数据预处理

我计划根据手头的数据(人们输入的笔记)从头开始训练 ELMo 或 Bert 模型。我现在拥有的数据都是由不同的人输入的。句子中存在拼写、格式和不一致的问题。在阅读了 ELMo 和 Bert 论文后,我知道这两个模型都使用了很多类似 Wikipedia 的句子。我找不到任何已处理的训练样本或任何用于 Emlo 或 Bert 模型的预处理教程。我的问题是:

  • Bert 和 ELMo 模型是否具有标准数据预处理步骤或标准处理数据格式?
  • 根据我现有的脏数据,有什么方法可以预处理这些数据,使生成的单词表示更准确?
0 投票
0 回答
544 浏览

python - 无法在 python 3.0 中安装 textacy

我正在尝试安装 textacy 来执行 NLP 任务,但在尝试执行时出错:

点安装文本

在 Anaconda 提示符下。我得到的错误是

错误:需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ 构建工具”获取它:https ://visualstudio.microsoft.com/downloads/

请建议如何克服这个问题,因为我在许多其他 python 库中也面临同样的问题。

0 投票
3 回答
428 浏览

python - 超越关键字依赖的文本分类并推断实际含义

我正在尝试开发一个文本分类器,它将一段文本分类为PrivatePublic。以医疗或健康信息为例。我能想到的典型分类器将关键字视为主要区分器,对吗?像下面这样的场景呢?如果两段文本都包含相似的关键字但具有不同的含义怎么办?

以下一段文字揭示了某人的私人(健康)状况(患者患有癌症):

我去过两个clinics和我的pcp。我ultrasound只有一个被告知它是一个解决方案cyst或一个hematoma,但它变得越来越大并且开始使我的腿achePCP说它不可能是cyst因为它开始太大了,我发誓我从来没有我injured的腿,甚至没有bump。我现在又害怕又害怕cancer。大约 9 个月前,我只有在蹲下时才注意到一种轻微的不适感。3个月前,我蹲下来收拾衣物,这有点像hurt。这pain促使我检查我的leg,那是当我注意到lump我的小腿底部有一个muscle并且弯曲只会让它更加明显。最终经过四次clinic访问,一个ultrasound和一个pcp结果似乎是积极的,而且质量越来越大。
[私人](正确分类)

以下文字是医生的评论,绝对没有透露健康状况。它介绍了典型分类器模型的弱点:

不要害怕,也不要假设有什么不好的cancer。我经历过几个案例,对我clinic来说似乎很熟悉。正如您所提到的,它可能是 acyst或 ahematoma并且它越来越大,它必须需要一些额外的东西diagnosis,例如biopsy. 在那个区域有一个ache或 的大小lump并不能说明任何事情bad。您应该clinics多访问几次专业并进行一些特定的测试,例如,biopsy和在此之前变得更大。[私人](这是错误的分类。应该是[公共])CT scanpcpultrasoundlump

出于显而易见的原因,我目前所有的分类器都将第二段归类为私有。相似的关键词、有效的词序列、主题的存在似乎让分类器非常混乱。甚至,这两个内容都包含诸如IYou(名词,代词)等主题。我从 Word2Vec 到 Doc2Vec,从推断含义到语义嵌入,但想不出最适合这个问题的解决方法。

任何想法,我应该以哪种方式处理分类问题?提前致谢。

迄今为止的进展:
我从公共来源收集的数据,患者/受害者通常会发布自己的情况,医生/好心人会回复这些数据。我假设在爬行时 - 帖子属于我的私人课程,评论属于公共课程。总的来说,我从 5K+5K 的帖子/评论开始,并在没有任何主要预处理的情况下使用朴素贝叶斯分类器获得了大约 60%。我很快就会尝试神经网络。但在输入任何分类器之前,我只想知道如何更好地进行预处理,以便为任一类赋予合理的权重,以便更好地区分。

0 投票
1 回答
813 浏览

python - 为什么 FastText 词嵌入可以从另一种语言生成词的表示?

最近,我从Sentiment140训练了一个 FastText 词嵌入来获得英语单词的表示。但是,今天只是为了试用,我在几个中文单词上运行了 FastText 模块,例如:

它输出:

因此,我真的很想知道为什么从 Sentiment140 训练的FastText 模块可以做到这一点。谢谢!

0 投票
2 回答
963 浏览

python - 构建大型 word-to-index-to-word 词典最有效的数据结构是什么?

我想索引大量的字符串(将每个字符串映射到一个数值),但也能够从其数字索引中检索每个字符串。

由于内存问题,不能使用哈希表或 python dict,所以我决定使用radix trie来存储字符串,我可以非常快速地检索任何字符串的索引并处理大量字符串。

我的问题是我还需要从它们的数字索引中检索字符串,如果我维护一个“反向索引”列表 [string1, string2, ..., stringn] 我将失去 Trie 的内存优势。

我想也许“反向索引”可能是指向某种 Trie 结构的最后一个节点的指针列表,但首先,python 中没有指针,其次我不确定我是否可以有一个“节点级" 访问我当前使用的 Trie 结构。

这种数据结构是否已经存在?如果不是,您将如何在 python 中执行此操作?

0 投票
0 回答
84 浏览

regex - 如何找到与介词相关的名词

给出一个句子“把桌子前面的火熄灭,在凳子的右边,在圆锥的左边,然后去椅子上”

作为人类,我们可以轻松识别与介词相关的名词,例如

在前面->(火,桌子)

->(桌子,凳子)的右侧

朝向->(椅子)

我们已经通过反复试验和实践了解到这一点,但是我如何将其表述为某种模式,该模式适用于所有句子,以在给定介词的情况下找到相关的名词。

所以,我想知道,什么模式(如动词、介词、名词等)可以帮助我获得与给定介词相关的名词谢谢。

0 投票
1 回答
212 浏览

pandas - 将函数应用于列表的数据框列

我有一组文本字符串 (A)。我可以将它们分解为令牌 (B)。我想删除一些标记,以便我最终只得到单词 (C)。我试过了:

但我得到一个错误:

AttributeError:“列表”对象没有属性“isalpha”

我正在将该函数应用于列表,但我想将其应用于列表中的内容。

0 投票
2 回答
12019 浏览

tensorflow - 使用 BERT 进行下一句预测

Google 的BERT在下一句预测任务上进行了预训练,但我想知道是否可以在新数据上调用下一句预测功能。

想法是:给定句子 A 和句子 B,我想要一个概率标签来判断句子 B 是否跟随句子 A。BERT 是在大量数据上进行预训练的,所以我希望将下一个句子预测用于新句子数据。我似乎无法弄清楚是否可以调用下一句预测函数,如果可以,如何调用。谢谢你的帮助!

0 投票
1 回答
42 浏览

text - 指代人类的英语单词列表

我正在尝试自动处理英语句子并检测可能指代人类的单词。例如他、每个人、某人、侄女、我、儿子……我已经在使用 NER,并且还实现了一些简单的启发式规则。但我认为,除了棘手的情况(如果我错误地标记它们很好)之外,可以通过简单的字典查找来解决问题。有我可以使用的英语单词列表吗?

0 投票
1 回答
181 浏览

javascript - Node-nlp 贝叶斯分类器得分很低

我只是按照这个https://github.com/axa-group/nlp.js/issues/126#issuecomment-444852649

但我得到的分数与示例中的不同。https://runkit.com/jesus-seijas-sp/5c0910e71539810012150767

有什么我想念的规则吗?

我只想使用 BayesClassifier

我在用 :"node-nlp": "^2.4.2"

结果