问题标签 [semantic-analysis]
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.
python - 使用 WordNet 比较两个短语?
我正在尝试比较两个短语的语义。在 Python 中,我使用 nltk 和 difflib。首先,我从短语中删除停用词,然后使用 WordNetLemmatizer 和 PorterStemmer 对单词进行规范化,然后将其余部分与 difflib 的 SequenceMatcher 进行比较。我仍然认为有比使用 difflib 更好的方法。有什么建议或提议吗?在短语之间的比较中是否有任何使用 Wordnet 的库?我正在做的步骤是否正确?
compiler-construction - JavaCC 解释器(AST 到符号表)
我对如何创建 javacc 解释器感到非常困惑,特别是如何从之前生成的 AST 树构建符号表。
像这样的东西,来自这个 AST:
到这张桌子
例如,使用此输入
我现在拥有的,只创建了 AST。
我的大问题是如何定义然后逐一比较树上的类型。
任何帮助都会很棒,包括理论。
谢谢。
java - 优化两个字符串中的关键字搜索
我有两个字符串,我正在检查它们中的特定常用词。我已经有了语义分数;在这种情况下无关紧要,因为这些词是技术缩写并具有特殊强调。他们拥有的常用词集越多,得分越高,距离越近。
有很多方法可以解决这个问题。到目前为止,我想到了两个。
1)我用字符串的单词创建了两个 ArrayList。如果它们同时存在于 ArrayList 中,我必须搜索另一组词。如果他们这样做,我会给他们+1分。
那么我可以有多个条件,比如
2> 取两个字符串并使用正则表达式搜索
还有其他更好的方法吗?我现在更倾向于使用正则表达式。这样做看起来非常有效。
基本上我正在做的是我试图通过将句子与缩写如“ACLS”、“ASHD”、“CXR”(常用医学术语)进行分组来聚类相似的句子,因为我知道这些句子主要讨论这些问题。然后我得到语义分数来对包含这些单词的句子进行分组。错误的方法:/?
谢谢 :)
semantics - 从简单的英语翻译成一套指令
我有一套指令,例如Linux的“ls”、“grep”、“cd”等。
我希望用户能够在不知道确切名称和参数的情况下执行此命令,而是使用类似于它们在简单英语中的含义的内容,例如“显示所有文件夹”、“按名称过滤所有文件”、“转到目录”。或者换句话说:用户输入是“显示所有文件,然后显示所有包含'foo'的文件”要翻译成“ls | grep foo”
我知道我需要一些关于每条指令的元信息,并进行某种评估,用户查询词与每条指令的接近程度。就像是:
那么哪些是重要信息以及如何进行此评估?
任何一般指导方针,我可以如何将用户的输入转换为我的集合中的特定指令?(这听起来对我来说是一个很大的挑战)
unit-testing - 对基于 ANTLR 的树的语义分析访问者进行单元测试
我正在开发一个小型编译器。在过去使用过的编译器中,我只是忽略了单元测试,通过系统测试进行所有测试。它工作得相当好,但我觉得它总是远非完美。这一次我很想尝试以不同的方式制作东西。
现在特别关注语义分析阶段,我希望我的每个访问者都有一组相关的单元测试。但要做到这一点,我必须完成两件事中的一件。我要么:
当我只想对与方法相关的访问者进行单元测试时,以允许我不必定义包、定义类等的方式构建我的语法。一个例子是测试给定方法中没有定义重复的变量——理想情况下,我不需要知道这个方法在包内的类中。遵循这条路径,我的 ANTLR 语法将能够解析诸如
void m() { int x = 1; int y = 2; int x = 3; }
尽管在现实世界中(对于最终用户)这不是允许的源代码,因为在我的语言中,方法必须始终包含在一个类中始终包含在包装中;花时间学习 ANTLR 的来龙去脉,以及如何在我的 junit-tests 中以编程方式创建节点。诸如此类的东西
MethodNode method = new MethodNode(); method.setName("m"); method.addChildren(new VarDecl("x", new IntegerExpr("1"))); method.addChildren(new VarDecl("y", new IntegerExpr("2"))); method.addChildren(new VarDecl("x", new IntegerExpr("3")));
如果 ANTLR 的 API 对这种目的“友好”,这可能是一个合适的解决方案。我查了一下,被节点构造函数中的一些血腥细节吓到了(
ProgramContext(ParserRuleContext parent, int invokingState)
<-这绝对不是我,程序员,但我可能错了..);创建我自己的 AST,作为解析阶段的第一步,我将 ANTLR 的树转换为我的树。一方面这会有点麻烦,另一方面,完全控制树可以促进其他事情。
我只能假设这是编译器开发人员经常关注的问题。您如何处理这种特殊情况?
谢谢
nlp - 查找不同单词之间的语义相似性和关系
我正在从事一个项目,该项目涉及计算不同概念之间的相关性。
示例:“登陆” - 与:“到达;来”和“土地”,“电话” - 与:“电子;电”和“谈话;交流”,“电影” - 相关:“移动;改变”和“图片;图像”等。
我检查了 WordNet 框架和 WordNet::Similarity Perl 模块,但在某些情况下它们不可用,特别是在我需要将名词与动词连接起来的情况下(例如名词“狗”和动词“吠叫”) . 此外,WordNet 以分层结构组织所有同义词集(例如:计算机 -> 机器 -> 设备 -> 仪器),这并不是我在项目中真正需要的(当然,我可能错了)。
问题是 - 哪个框架或数据库,我应该使用什么方法来解决问题?我从哪说起呢?
如果您能给我一些建议,那将非常有帮助。
java - 情绪分析与情绪分析
文本挖掘(NLP)中的情绪(正面和负面)和情绪有什么区别?例如,愤怒是负面情绪,负面情绪似乎都是一样的。Vijay Nadadur,SentiRank 的创建者,一种在文本中对情感进行排序的算法,建议生物情感可以以简单的方式主要以二进制格式(+ve 和 -ve)表示。进一步补充,你可能有不同程度的 +ve 和 -ve 情绪,也许是中性的。然而,情绪是多维度的。愤怒肯定是情绪,悲伤也是情绪,但它们并不完全相同。
更具体地说,关于文本挖掘(基于 NLP),做情感分析要简单得多,但要进行情感分析却很难。情感分析的下一个层次是意图分析领域,很少有研究人员致力于从文本块中挖掘意图,这似乎具有很高的商业价值。
rdf - Freebase 是否支持间接或谓词对象?
Freebase中的间接对象是如何表示的?
我知道谷歌可以给出这个问题的答案:
奥巴马将自由勋章授予了谁?
华盛顿(美国有线电视新闻网)——周三,美国总统巴拉克·奥巴马(Barack Obama)向 16 人授予总统自由勋章——美国最高平民荣誉——从前总统比尔·克林顿和标志性脱口秀主持人奥普拉·温弗瑞到已故宇航员萨莉·莱德(Sally Ride)。
简而言之,这个问题的三重存储或自由基础查询/mql/sparql 是什么?
奥巴马将自由勋章授予比尔克林顿总统。
奥巴马将自由勋章授予奥普拉·温弗瑞。
等等
或者
奥巴马授予比尔克林顿总统自由勋章。
奥巴马授予奥普拉·温弗瑞自由勋章。
等等
我正在尝试了解 Freebase,还有一些其他问题。但最重要的是,间接对象如何存储为三元组?
巴拉克奥巴马在哪里娶了米歇尔?
巴拉克奥巴马在哪里上大学?
尽管最后两个问题在结构上相似,第一个更难回答,而第二个很容易,因为三元组似乎不支持介词或间接宾语,还是我弄错了?
一个简单的三元组似乎只能回答第二组问题,因为married_at 是单个事件并且是介词宾语而不是间接宾语。但是,第一组问题是模棱两可的,因为 buy_for 和 built_at 可以有很多对象。可能谓词可以包括一个实体,如 buy_for_her 或 built_at_beach,但这似乎很尴尬。
同样,如何处理间接对象?
python - 使用 SVM 的语义角色标签系统
谁能告诉我一个基于 SVM 分类器的工作 SRL(语义角色标签)?首选 Python 或 Java。
我的目的是学习在给定谓词动词的情况下,句子中的特征如何表示为向量。
非常感谢!
machine-learning - 文本特征表示作为 SVM 的向量
我正在学习语义角色标签 (SRL) 任务。我已经阅读了很多,现在我遇到了如何将文本特征表示为向量的问题。
例如,对于句子:
We like StackOverflow very much
给定谓词动词: like
,一些特征是:
将这些特征表示为向量的正确方法是什么?
如果可能的话,您能否也给我一些关于如何规范化这些功能的指导?
我基本上想使用SVM
模型来训练具有这些类型特征的数据。