我最近一直在读NLP,到目前为止,我已经对一切工作方式有了一个(非常)基本的概念,从句子分割到POS标记,以及知识表示.
我知道有很多种NLP库(主要是Java或Python)并且已经找到了.NET实现(SharpNLP).实际上这很棒.无需编写任何自定义处理逻辑; 只是使用他们的功能和瞧!用户输入分离良好且带有POS标记.
我不明白的是从这里开始,如果我的主要动机是建立一个问答系统(类似于聊天机器人).我可以使用哪些库(最好是.NET)?如果我想构建自己的KB,我应该如何表达我的知识?我是否需要将POS标记的输入解析为我的数据库可以理解的其他内容?如果我使用MS SQL,是否有任何库可以帮助将POS标记输入映射到数据库查询?或者我是否需要编写自己的数据库查询逻辑,根据程序语义(我读过)?
当然,下一步是制定一个构造良好的答复,但我想我可以留待以后再做.现在困扰我的是这个领域缺乏资源(知识表示,NLP到KB/DB检索),如果你们中的任何人能够提供你的专业知识,我真的很感激:)
.net sql-server nlp artificial-intelligence nlp-question-answering
好吧,我是线程新手,所以我的问题可能相当愚蠢.但我要问的是,我有这个类,让我们说它的名字是MyClass.java.然后在其中一个方法中使用callThread(),我想打印出来,睡眠,并将控制权返回给MyClass.java的方法.我怎么做?
目前,我的代码是这样的:
class MyClass {
void method()
{
MyThread thread = new MyThread();
thread.run();
// do some other stuff here...
}
}
Run Code Online (Sandbox Code Playgroud)
然后,这将是MyThread:
class MyThread implements Runnable {
public void run()
{
while (true)
{
System.out.println("hi");
this.sleep(1000);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望MyThread会打印"hi",将控制权交给MyClass,然后在一秒钟之后再打印"hi".相反,MyThread会冻结我的整个程序,因此在那里使用它根本不起作用...
有没有办法解决?
我想格式化文档:给它缩进和类似的东西.
Ctrl KCtrl D/FVisual Studio中的+ 不适用于F#,是否有任何解决方法?它适用于C#虽然......
编辑:我想做的是从外部源复制粘贴一些代码.我通常使用Ctrl K+ Ctrl D来格式化它,它适用于C#.但是,在.fs文件中,它似乎不起作用.最重要的是,缩进似乎是F#的必备条件......
我一直想知道这个问题:您是否支持在方法中仅使用对象作为参数?我这样做的原因是超载.目前,我试图创建一个迎合许多不同的数据类型的方法:string,decimal,DateTime...这样的例子不胜枚举.
虽然它有点乱,所以我想做以下事情
public void GenericMethod(object val)
{
if (val is string)
// process as string
else if (val is decimal)
// process as decimal
else if (val is DateTime)
// do something for dt
else
// ...
}
Run Code Online (Sandbox Code Playgroud)
你觉得这样的方法怎么样?它会产生不必要的开销吗?(在类型检查期间)你实现了吗?告诉我...
编辑:是的,只是一个旁注,我有点熟悉超载.但是当有超过10次超载时会有点恼人......
我想在F#中执行以下操作:
let index = 5
let sequence = [0..10]
let fifthElement =
sequence
|> .[index]
Run Code Online (Sandbox Code Playgroud)
但是,最后一行无效.我想要做的是实际检索索引为5的元素sequence.我做错了吗?
根据我的理解,流水线操作有助于反转函数调用,但我不确定如何使用流水线技术检索特定索引处的元素.
我想做一个可以将多个变量与单个字符串进行比较的LINQ查询.我已经看过LINQ for LIKE查询数组元素,它很有用,但并不完全.我需要反过来.
我想做的是以下内容:假设我有Company两个Name和的对象Address.我也有一个字符串keyword.然后,我想找到所有Company的列表具有S keyword在任何他们Name或Address.在SQL中它会......
SELECT * FROM Company
WHERE Name LIKE '%keyword%' OR Address LIKE '%keyword%'
Run Code Online (Sandbox Code Playgroud)
我一直在使用Entity Framework,我尝试了以下内容:context.Companies.Where(x => new string[] { x.Name, x.Address }.Contains(keyword),以及context.Companies.Where(x => new string[] { x.Name, x.Address }.Any(r => r.Contains(keyword)),但都没有成功.第一个给了我一个IN条款,第二个给了我......我不知道它做了什么,但它没有给我我想要的东西.
对不起,我对表达式还没有非常深入的了解(还); 我希望我能够从头开始编写我自己的自定义表达式,但是我还不能抓它 ...有人可以帮助我这个吗?
c# ×2
f# ×2
.net ×1
format ×1
java ×1
linq ×1
linq-to-sql ×1
methods ×1
nlp ×1
object ×1
parameters ×1
sequence ×1
sql ×1
sql-server ×1