本文整理汇总了Java中edu.stanford.nlp.ling.Word.word方法的典型用法代码示例。如果您正苦于以下问题:Java Word.word方法的具体用法?Java Word.word怎么用?Java Word.word使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edu.stanford.nlp.ling.Word
的用法示例。
在下文中一共展示了Word.word方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: tokeniseSource
import edu.stanford.nlp.ling.Word; //导入方法依赖的package包/类
/**
* Tokenises source file. Assumes <s> and </s> are already placed in source
*/
public void tokeniseSource() {
try {
BufferedReader br = new BufferedReader(new FileReader(source));
String line = "", out = "";
while ((line = br.readLine()) != null) {
out = "";
// for(String s : tokenizer.tokenize(line.substring(HEADER.length(), line.length() - 5))) // ignore <s>'s and </s>
// for(Word w : tokenizer.getTokenizer(new StringReader(line.substring(HEADER.length(), line.length() - 5))).tokenize()) // ignore <s>'s and </s>
for (Word w : tokenizer.getTokenizer(new StringReader(line.contains("<s>")
? line.substring(HEADER.length(), line.length() - 5)
: line)).tokenize()) // ignore <s>'s and </s>
{
String s = w.word();
// tokenisation might give numbers not found previously
out += (replaceNumbers && (s.matches("-\\p{Digit}+|"
+ // negative numbers
"-?\\p{Digit}+\\.\\p{Digit}+")
|| // decimals
s.matches("-?\\p{Digit}+,\\p{Digit}+")
|| // decimals
(s.matches("\\p{Digit}+")
&& // numbers
!(s.contains("am") || s.contains("pm")))) // but not hours!
) ? "<num> " : s + " ";
}
bos.write((HEADER + out + " " + EOS + "\n").getBytes());
}
br.close();
} catch (IOException ioe) {
ioe.printStackTrace();
System.exit(1);
}
}
示例2: process
import edu.stanford.nlp.ling.Word; //导入方法依赖的package包/类
/**
* Returns a new Document with the same meta-data as <tt>in</tt>,
* and the same words except tags are stripped.
*/
public List<Word> process(List<? extends Word> in) {
List<Word> out = new ArrayList<Word>();
boolean justInsertedNewline = false; // to prevent contiguous newlines
for (Word w : in) {
String ws = w.word();
if (ws.startsWith("<") && ws.endsWith(">")) {
if (markLineBreaks && !justInsertedNewline) {
// finds start and end of tag name (ignores brackets and /)
// e.g. <p>, <br/>, or </table>
// se s e s e
int tagStartIndex = 1;
while (tagStartIndex < ws.length() && !Character.isLetter(ws.charAt(tagStartIndex))) {
tagStartIndex++;
}
if (tagStartIndex == ws.length()) {
continue; // no tag text
}
int tagEndIndex = ws.length() - 1;
while (tagEndIndex > tagStartIndex && !Character.isLetterOrDigit(ws.charAt(tagEndIndex))) {
tagEndIndex--;
}
// looks up tag name in list of known block-level tags
String tagName = ws.substring(tagStartIndex, tagEndIndex + 1).toLowerCase();
if (blockTags.contains(tagName)) {
out.add(new Word("\n")); // mark newline for block-level tags
justInsertedNewline = true;
}
}
} else {
out.add(w); // normal word
justInsertedNewline = false;
}
}
return out;
}