我的表弟创建了一个语义搜索引擎,他声称他的搜索引擎是最准确的。
我见过很多语义搜索引擎,它们对我来说看起来都一样,因为它们的设计目的不是根据您输入的关键字为您提供结果。
那么如果你正在创建一个语义搜索引擎,如何确定其结果的准确性呢?
文本挖掘 (NLP) 中的情绪(正面和负面)和情绪有什么区别?例如,愤怒是负面情绪,也是负面情绪,两者似乎是一样的。Vijay Nadadur,SentiRank 的创建者,一种对文本中的情绪进行排名的算法,建议生物情绪可以以一种简单的方式主要以二进制格式(+ve 和 -ve)表示。进一步说,你可能会有不同程度的 +ve 和 -ve 情绪,也许是中性的。然而,情绪有多个维度。愤怒肯定是情绪,悲伤也是,但它们并不完全相同。
更具体地说,关于文本挖掘(基于 NLP),进行情感分析要简单得多,但进行情感分析却非常困难。情感分析的下一个层次是意图分析领域,很少有研究人员致力于从文本块中挖掘意图,这似乎具有很高的商业价值。
如何使用WordNet确定python中两个文本之间的语义相似度?
明显的预处理将是删除停止词和词干,但那又是什么?
我能想到的唯一方法是计算两个文本中每个单词之间的WordNet路径距离.这是unigrams的标准.但这些是大型(400字)文本,即自然语言文档,其中的单词不具有任何特定顺序或结构(除英语语法强加的单词外).那么,你会在文本之间比较哪些词?你会如何在python中做到这一点?
我在野牛中创建了上下文无关文法,在Flex中创建了扫描仪。现在我还想进行语义检查,例如,假设输入是这样的:
int m=5;
c=c+5;
Run Code Online (Sandbox Code Playgroud)
该输入在语法上是正确的,但是使用了一个未声明的变量,即“ c”。我该如何进行语义检查?我应该从哪里开始?我应该用flex还是野牛写代码?如果有人可以提供帮助,我深表感谢。谢谢。
compiler-construction yacc bison semantic-analysis flex-lexer
我遇到了几种使用WordNet结构和层次结构测量语义相似性的方法,例如Jiang和Conrath measure(JNC),Resnik measure(RES),Lin measure(LIN)等.
使用NLTK测量它们的方式是:
sim2=wn.jcn_similarity(entry1,entry2,brown_ic)
sim3=entry1.res_similarity(entry2, brown_ic)
sim4=entry1.lin_similarity(entry2,brown_ic)
Run Code Online (Sandbox Code Playgroud)
如果WordNet是计算语义相似度的基础,那么Brown Corpus的用途是什么?
根据我的理解,隐式转换是在语义分析中完成的,但是 clang AST 命令clang -Xclang -ast-dump -fsyntax-only file.cpp会在 AST 中生成类型转换信息,如下两个:
...
`- ImplicitCastExpr 0x7fdc27050558 <col:14> 'int' <LValueToRValue>
......
ImplicitCastExpr 0x7f878884c2d0 <col:19> '无符号整数' <IntegralCast>
...
因此这个问题。
compiler-construction parsing compilation clang semantic-analysis
我一直在尝试到处寻找示例,但是却徒劳无功。
我正在尝试编写基本的Ruby解释器。为此,我编写了一个弹性词法文件,其中包含标记识别语句和一个语法文件。
我希望我的语法包含语义类型检查。
我的语法文件包含例如:
arg : arg '+' arg
Run Code Online (Sandbox Code Playgroud)
这应该是整数和浮点数的有效规则。
根据阅读的内容,我可以为arg等非终端指定类型,如下所示:
%type <intval> arg
Run Code Online (Sandbox Code Playgroud)
其中“ intval”在联合类型中,并且与int C类型相对应。
但这仅适用于整数,我不确定如何使该规则对浮点数有效。我考虑过要制定两个不同的规则,一个用于整数,一个用于浮点数,例如:
argint : argint '+' argint
argfloat : argfloat '+' argfloat
Run Code Online (Sandbox Code Playgroud)
但是我敢肯定,这样做的方法要好得多,因为这种拙劣的行为要求我制定规则,允许在浮点数和整数之间进行加法运算。
我发现的所有示例都只有一种类型(在类似计算器的示例中通常为整数)。
如何实现指定诸如加法之类的规则可以将int和float用作参数的方法?
非常感谢你。
假设C引用一组容器{c1,c2,c3....cn},其中每个容器包含一组有限的整数{i1,i2,i3...im}.此外,假设整数可能存在于多个容器中.给定一组有限的整数S {s1,s2,s3...sz},找到C包含所有整数的最小子集的大小S.
请注意,可能有数千个容器,每个容器有数百个整数.因此,蛮力很难解决这个问题.
我尝试使用Greedy算法解决问题.也就是说,每次我选择集合中整数最多的容器时S,我都失败了!
有谁能建议这个问题的快速算法?
nlp ×4
bison ×2
java ×2
parsing ×2
python ×2
wordnet ×2
yacc ×2
algorithm ×1
c++ ×1
clang ×1
compilation ×1
corpus ×1
emotion ×1
flex-lexer ×1
nltk ×1
semantic-web ×1
semantics ×1
similarity ×1
text-mining ×1