【问题标题】:NLP- Sentiment Processing for Junk Data takes timeNLP-垃圾数据的情感处理需要时间
【发布时间】:2015-05-23 14:31:29
【问题描述】:

我正在尝试查找输入文本的 Sentiment。这个测试是一个垃圾句子,当我试图找到 Sentiment 时,Annotation 来解析句子大约需要 30 秒。对于普通文本,它需要不到一秒钟的时间。如果我需要处理大约数百万个数据,它将增加处理时间。对此的任何解决方案。

String text = "Nm n n 4 n n bkj nun4hmnun Onn njnb hm5bn nm55m nbbh n mnrrnut but n rym4n nbn 4nn65 m nun m n nn nun 4nm 5 gm n my b bb b b rtmrt55tmmm5tttn b b bb g bn nn n h r ret n nun bn d. B bbbbbbbbbbr bung NHnhn nn nk, v v v n gain t g 4gnyhimmigration ndn nb NVnb bin uny 7 nbbbbbnn vv bbvb ninn njnj n4 nm n km n n n cb j bun. Nhfnt bn nn. N hm nn nun m bum my b mmmnbjk nn n by nn nun nun n nun nn bn n nhn n nn n n m NH nb4mnm mkn 4 n n n n hm r b rnfngg4d in b nut mmmkmmm5 bbjn n n ij BBM 8u8i by nun n.nn hm n. n4n By 4n4n bunny RN bny hm j mi. Nymmn FBT not mn n n nm g by n n nnm? Rnyb vCard n5 Yu nn n n n n nt .nm mn nt n nb n n n n by y5nnnhyyh h b b nt njj n m f4n re";
Properties props = new Properties();
            props.setProperty("annotators","tokenize, ssplit, pos,parse,sentiment");
            StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
            Annotation annotation = pipeline.process(text);

对于 NLP 情绪计算,我必须解析数据,我认为这就是它需要时间的原因。

谢谢

【问题讨论】:

    标签: nlp stanford-nlp sentiment-analysis pos-tagger


    【解决方案1】:

    是的,标准的 PCFG 解析器(默认运行且未指定任何其他选项的解析器)会因这种冗长的无意义数据而窒息。使用shift-reduce constituency parser 可能会更好,它比 PCFG 快得多并且几乎一样准确。

    【讨论】:

    • 感谢 jon。我正在使用不支持 shift reduce 的 3.4.1。任何其他想法。感谢您的帮助
    • props.setProperty("annotators","tokenize, ssplit, pos,parse,sentiment"); props.put("parse.model", "com/toyota/nlp/englishSR.ser.gz");
    • 我已将解析模型更改为 shift reduce。但它在 edu.stanford.nlp.parser.shiftreduce.ShiftReduceParserQuery 的线程“main”java.lang.NullPointerException 中抛出空指针异常。
    • 谢谢乔恩。我认为问题已解决,因为我更改为 shift reduce 并且执行速度必须更快。这仅在加载文件时需要时间。我得到的错误只是模型的错误版本。感谢所有帮助
    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 2023-03-28
    • 1970-01-01
    • 2022-08-14
    • 2021-12-26
    • 2017-06-26
    • 2012-04-14
    • 1970-01-01
    相关资源
    最近更新 更多