我在文件中有数千个句子。我想找到合适/有用的英语单词。是否可以使用自然语言处理?
示例句子:
〜@ ^。^ @〜tic但有时世界着名的tac Zorooooooooooo
我只想提取像
这样的英文单词任何建议如何实现这一目标。在此先感谢
答案 0 :(得分:5)
您可以使用WordNet API查找字词。
答案 1 :(得分:1)
您需要编译一个停用词列表(一旦您不想在搜索中登记),之后您可以使用该停用词列表过滤搜索。有关详细信息,您应该考虑查看这些维基百科文章
答案 2 :(得分:1)
您可以使用使用字符n-gram统计信息的语言猜测器。通常只需要少量材料(用于训练和分类)。文献和实施的链接可以在这里找到:
http://odur.let.rug.nl/~vannoord/TextCat/
方法很简单:
如果要对文本或句子进行分类,请应用步骤2和3,并将生成的指纹与训练期间收集的指纹进行比较。根据n-gram的等级差异计算得分,得分最低的语言获胜。
答案 3 :(得分:1)
您可以使用Python来实现这一目标。您正在寻找的是过滤英语单词。
首先将句子标记化。 (将句子分成单词)
使用Python langdetect库查看它是否是英文单词
根据langdetect输出过滤所有英文单词。
如何安装库:
$ sudo pip install langdetect
Supported Python versions 2.6, 2.7, 3.x.
>>> from langdetect import detect
>>> detect("War doesn't show who's right, just who's left.")
'en'
>>> detect("Ein, zwei, drei, vier")
'de'
https://pypi.python.org/pypi/langdetect?
P.S。:不要期望这个能够正常工作:
>>> detect("today is a good day")
'so'
>>> detect("today is a good day.")
'so'
>>> detect("la vita e bella!")
'it'
>>> detect("khoobi? khoshi?")
'so'
>>> detect("wow")
'pl'
>>> detect("what a day")
'en'
>>> detect("yay!")
'so'
答案 4 :(得分:0)
package com;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import edu.cmu.sphinx.api.Configuration;
import edu.cmu.sphinx.api.SpeechResult;
import edu.cmu.sphinx.api.StreamSpeechRecognizer;
public class TranscriberDemo {
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
configuration.setAcousticModelPath("en-us");
configuration.setDictionaryPath("Sample Dict File_2.dic");
configuration.setLanguageModelPath("Sample Language Modeller_2.lm");
//configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/en-us");
//configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-us/cmudict-en-us.dict");
//configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/language/en-us.lm.dmp");
StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
InputStream stream = new FileInputStream(new File("test.wav"));
recognizer.startRecognition(stream);
SpeechResult result;
while ((result = recognizer.getResult()) != null) {
System.out.format("Hypothesis: %s\n", result.getHypothesis());
}
recognizer.stopRecognition();
}
}